Обновить
256K+

Linux *

Пишем под *nix

362,31
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Программисты, ходите на собеседования

Время на прочтение9 мин
Охват и читатели75K

Картинка взята из видеоролика с канала «Воинствующие Аметисты»

Около 10 лет я работал системным программистом под Linux. Это модули ядра (kernel space), различные демоны и работа с железом из пространства пользователя (user space), различные загрузчики (u-boot и др.), прошивки контроллеров и многое другое. Даже иной раз случалось пилить web-интерфейс. Но чаще бывало, что приходилось и с паяльником посидеть, да с проектировщиками печатных плат взаимодействовать. Одна из проблем такой работы это то, что достаточно сложно оценить уровень своей компетенции, поскольку одну задачу ты можешь знать очень глубоко, а рядом можешь не знать совсем. Единственный адекватный способ понять куда идти, и какие течения сейчас есть – это ходить на собеседования.

В данной статье хочу обобщить мой опыт похода по собеседованиям на вакансию системного программиста linux, особенности интервью, работы и как по общению с будущим работодателем оценить личный уровень знаний и чего от этого ожидать не стоит.

В статье будет небольшой конкурс с призами.

Справочная: «философия Unix» — базовые рекомендации, эволюция и немного критики

Время на прочтение3 мин
Охват и читатели5.3K
Расскажем, в чем суть философии, кто её сформулировал, расширял и критиковал по ходу развития.

(Кстати, вчера вышел и наш очередной TL;DR-дайджест про «удаленку» и личную ИБ.)

Читать дальше →

Что нового в ядре Linux

Время на прочтение7 мин
Охват и читатели32K

image


После всех этих лет, разработчики ядра Linux продолжают внедрять новшества. Новые версии будут быстрее и стабильнее.


Linux работает практически на всем: все 500 из 500 самых быстрых суперкомпьютеров мира; большинство общедоступных облаков, даже Microsoft Azure; и 74 процента смартфонов. Действительно, благодаря Android, Linux является самой популярной операционной системой для конечных пользователей, чуть обойдя Windows на 4 процента (39% против 35%).


Итак, что же будет дальше с Linux? После освещения Linux на протяжении всех 29 лет его истории и зная практически любого, кто хоть как-то связан с разработкой Linux, включая Линуса Торвальдса, я думаю, что у меня есть ответ на этот вопрос.

Читать дальше →

Автоматизация системных тестов на базе QEMU (Часть 2/2)

Время на прочтение19 мин
Охват и читатели4.3K

Это вторая часть статьи, посвященной автоматизации системного тестирования на основе виртуальных машин. Первую часть можно найти здесь.


В этой части статьи мы будем использовать навыки, полученные в первой части, для реальной автоматизации системных тестов. В конце статьи мы получим скрипт, который каждый желающий может запустить у себя на компьютере и совершенно с нуля получить развёрнутый стенд из трёх машин, установленным тестируемым приложением, а также пройденными настоящими системными тестами (мы напишем три теста).

Читать дальше →

Нам нужно поговорить про Linux IIO

Время на прочтение11 мин
Охват и читатели18K

IIO (промышленный ввод / вывод) — это подсистема ядра Linux для аналого-цифровых преобразователей (АЦП), цифро-аналоговых преобразователей (ЦАП) и различных типов датчиков. Может использоваться на высокоскоростных промышленных устройствах. Она, также, включает встроенный API для других драйверов.


Читать дальше →

Путешествие в мир Linux и Git

Время на прочтение9 мин
Охват и читатели35K
Во время пандемии я, честно говоря, не собиралась изучать Linux, не думала, что умение работать в этой ОС сделает меня продуктивнее. Но, как оказалось, Linux-навыки, и правда, помогают мне быстрее справляться с делами. Всё началось с того, что мне посоветовали «взглянуть на Linux». Я тогда подумала, что делать мне, всё равно, нечего, да ещё и сентябрьский выпуск #IBelieveinDoing оказался как раз о Linux.

Я почувствовала, что всё у меня получится, и отправилась в путешествие по миру Linux. В том выпуске #IBelieveinDoing были уроки не только по Linux, но и по Git. Между этими системами можно провести некоторые параллели. Linux — это опенсорсная ОС, которой пользуются программисты, а Git — это система управления версиями, которую применяют для отслеживания изменений в исходном коде при разработке программ. Надо отметить, что изучение Linux и Git оказалось весьма увлекательным занятием. Но Git — довольно сложная система, поэтому и освоить её основы было тяжелее, чем основы Linux.



В этом материале я хочу поделиться с вами тем, что узнала, осваивая Linux и Git.
Читать дальше →

Вышел Puppy Linux 9.5, дистрибутив для устаревших и слабых ПК и ноутбуков

Время на прочтение2 мин
Охват и читатели48K

Разработчики Puppy Linux выпустили новый релиз — 9.5 (FossaPup). Его загрузочный образ занимает всего 409 МБ. Новинка основана на пакетной базе Ubuntu 20.04 и Woof-CE, инструмента, который дает возможность использовать пакетные базы сторонних дистрибутивов.

По словам разработчиков, использование Ubuntu в качестве основы дало возможность сократить время подготовки и тестирования релиза, а также обеспечить максимальную совместимость с репозиториями Ubuntu. При этом сохранена совместимость с пакетами Puppy.

Автоматизация системных тестов на базе QEMU (Часть 1/2)

Время на прочтение12 мин
Охват и читатели8.8K

Эта статья посвящена автоматизации системного (end-to-end) тестирования с использованием виртуальных машин. В статье рассматриваются такие вопросы, как автоматизация развертывания и настройки виртуальных стендов, а также автоматизация запуска процессов внутри виртуальных машин с последующим контролем полученных результатов. В конце статьи мы получим пусть неидеальный (к этому мы ещё вернемся), но простой и понятный скрипт, с помощью которого вы сможете запускать системные тесты одной кнопкой, даже не имея у себя на компьютере ни одной виртуальной машины.


Статья предполагает наличие следующих навыков у читателя:


  • Уверенное пользование ОС семейства Linux;
  • Базовое понимание принципов виртуализации;
  • Знакомство с гипервизором QEMU и графическим клиентом virt-manager

Статья разбита на две части: в первой части мы познакомимся с основными инструментами, которые позволят нам создавать, развертывать и управлять виртуальными машинами используя исключительно командную строку. Эти знания нам пригодятся для второй части статьи (которую можно найти здесь: https://habr.com/ru/post/520648/), где мы соединим эти инструменты вместе и попробуем автоматизировать тесты конкретного сетевого приложения.

Читать дальше →

eBPF: современные возможности интроспекции в Linux, или Ядро больше не черный ящик

Время на прочтение18 мин
Охват и читатели47K


У всех есть любимые книжки про магию. У кого-то это Толкин, у кого-то — Пратчетт, у кого-то, как у меня, Макс Фрай. Сегодня я расскажу вам о моей любимой IT-магии — о BPF и современной инфраструктуре вокруг него.

BPF сейчас на пике популярности. Технология развивается семимильными шагами, проникает в самые неожиданные места и становится всё доступнее и доступнее для обычного пользователя. Почти на каждой популярной конференции сегодня можно услышать доклад на эту тему, и GopherCon Russia не исключение: я представляю вам текстовую версию моего доклада.

В этой статье не будет уникальных открытий. Я просто постараюсь показать, что такое BPF, на что он способен и как может помочь лично вам. Также мы рассмотрим особенности, связанные с Go.

Я бы очень хотел, чтобы после прочтения моей статьи у вас зажглись глаза так, как зажигаются глаза у ребёнка, впервые прочитавшего книгу о Гарри Поттере, чтобы вы пришли домой или на работу и попробовали новую «игрушку» в деле.
Читать дальше →

KDE Plasma 5.20 открыли для тестирования. 13 октября выходит финальный релиз

Время на прочтение3 мин
Охват и читатели10K

Несколько дней назад мы писали о релизе GNOME 3.38, а сейчас появилась и новая версия KDE, которая получила название KDE Plasma 5.20. Правда, это лишь доступная для тестирования бета-версия,. Но финальный релиз не за горами — разработчики обещали выпустить его 13 октября.

Под катом — список обновлений и улучшений.
Читать дальше →

Кто займется развитием безопасности открытого ПО — обсуждаем новые проекты и их будущее

Время на прочтение2 мин
Охват и читатели2.3K
В августе Linux Foundation основали фонд OpenSSF. В него вошли — Core Infrastructure Initiative и Open Source Security Coalition. Их участники разработают инструментарий для поиска уязвимостей в коде и верификации программистов, участвующих в его написании. Рассказываем, что к чему.

Читать дальше →

Процесс разработки Linux: стоит ли игра свеч?

Время на прочтение11 мин
Охват и читатели18K
К настоящему моменту Linux существует уже почти три десятка лет. В ранние дни этой ОС Линус Торвальдс сам управлялся с кодом, написанным другими программистами, делающими вклад в развитие Linux. Тогда не было никаких систем контроля версий, всё делалось вручную. В современных условиях те же задачи решаются с использованием git.

Правда, всё это время кое-что оставалось неизменным. А именно, код отправляют в список рассылки (или в несколько списков), а там его проверяют и обсуждают до тех пор, пока он не будет сочтён готовым для включения в ядро Linux.



Но, несмотря на то, что этот процесс работы с кодом успешно использовался многие годы, он постоянно подвергался критике. Например, эта недавняя статья, которую написала Сара Новотны из Microsoft, наделала в интернете много шума. В той статье сказано, что методы совместной работы над кодом, применяемые при разработке ядра Linux, устарели. Там говорится о том, что если сообщество разработчиков Linux хочет привлекать в свои ряды молодых специалистов, эти методы хорошо бы заменить на что-то более современное. В спорах вокруг этих идей схлестнулись их защитники и противники.
Читать дальше →

Не прошло и полгода: вышел GNOME 3.38

Время на прочтение3 мин
Охват и читатели15K
image

Разработчики GNOME наконец-то выпустили новую версию десктоп-окружения. Полгода прошли не зря — в версии 3.38 внесено 28 тысяч изменений. Участие в совершенствовании окружения принял 901 разработчик. Оценить и протестировать GNOME 3.38 можно в Live-сборках на основе openSUSE и Ubuntu.

Следующая версия выйдет под номером 40.0. Это сделано для того, чтобы убрать цифру «‎3»‎ потерявшую актуальность. О новых возможностях и функциях текущей версии, 3.38 можно узнать под катом.

Ближайшие события

Разработка и тестирование Ansible-ролей с использованием Molecule и Podman

Время на прочтение8 мин
Охват и читатели7.3K
Одно из основных преимуществ Red Hat Ansible Automation Platform заключается в том, что ее язык описания автоматизаций читабелен не только для пары-тройки гуру, но и почти для всех, кто имеет отношение к ИТ. Поэтому вносить свой вклад в автоматизацию могут любые специалисты, что сильно облегчает организацию межкомандного взаимодействия и внедрение автоматизации на уровне корпоративной культуры.



Однако, когда делом занимается такая масса народа, очень важно все тщательно тестировать. При разработке Ansible-контента, вроде плейбуков, ролей или коллекций, мы очень рекомендуем предварительно проверять все в тестовой среде, прежде чем выкатывать в продакшн. Цель такого тестирования – удостовериться, что все работает как надо, чтобы избежать неприятных сюрпризов на «боевых» системах.
Читать дальше: Разработка и тестирование Ansible-ролей с использованием Molecule и Podman

Поддерживаю драйвер tp-link t4u для linux

Время на прочтение2 мин
Охват и читатели29K
Когда купил wifi адаптер, думал, что будет работать на моей ubuntu 20.04, потому что в числе поддерживаемых систем значился linux. Оказалось, что не работает. Попробовал решения, которые предлагают на форумах, но адаптер так и не заработал. Пришлось вчера и сегодня заняться поддержкой драйвера.
Читать дальше →

Нужен ли еще один курс по Git?

Время на прочтение1 мин
Охват и читатели3.2K


В жизни разработчика всегда наступает момент, когда надо использовать Git (или другую систему контроля версий). Нам в Слёрме кажется, что Git знает каждый разработчик, но есть подозрение, что это не так.


Админ, который хочет стать девопсом, часто начинает свой путь с изучения «программерского» Гита. И снова есть подозрение, что ещё не все его изучили.


В сети есть хорошие и даже бесплатные курсы по Git, но может быть еще один курс, быстрый, глубокий и с практикой, сделанный под запросы и потребности реальных разработчиков и админов, будет полезен?


Пожалуйста, заполните опрос, и вы поможете нам сделать такой курс, который действительно нужен вам и вашим коллегам. Пожелания к курсу (темы, проблемы, идеи) пишите в комментариях.


UPD: оказалось, в мобильной версии не видно опроса. Вот ссылка на аналогичную гуглоформу: https://forms.gle/YwiReCP1Y8h27PhW7

Как устроена графика в Linux: обзор различных сред оформления рабочего стола

Время на прочтение13 мин
Охват и читатели124K
Эта статья о том, как устроена графика в Linux и из каких компонентов она состоит. В ней много скриншотов с различными реализациями сред рабочих столов. 

Если вы не сильно различаете KDE и GNOME или различаете, но хотели бы узнать, какие еще есть альтернативы, то эта статья для вас. Она обзорная, и хотя в ней много названий и немного терминов, материал будет также полезен начинающим и только посматривающим в сторону Linux.

Тема может заинтересовать и продвинутых пользователей при настройке удаленного доступа и при реализации тонкого клиента. Часто встречаю вполне матерых линуксойдов с утверждениями «на сервере только командная строка, и графику подробнее изучать не планирую, так как это всё нужно для простых пользователей». Но даже знатоки Linux с большим удивлением и радостью открывают для себя опцию «-X» у команды ssh (а для этого полезно понимать работу и функции X-сервера).

Источник
Читать дальше →

Microsoft оптимизирует ядро Linux для серверных ARM

Время на прочтение2 мин
Охват и читатели9.7K


На конференции Linux Plumbers Conference 2020 разработчики Microsoft рассказали о своем экспериментальном проекте — оптимизации ядра Linux для серверных ARM-процессоров. С докладом выступил главный менеджер по разработке программного обеспечения Ян Бирман.

По словам специалиста, проект стартовал по внутреннему запросу компании. Linux уже используется в проектах Azure Cloud, Azure Sphere и Windows Subsystem for Linux. Перед командой Бирмана поставили задачу максимизировать производительность облачного сервиса на Linux при использовании процессоров с архитектурой ARM или x86 с 64-битной разрядностью. Разработчикам позволили скомпилировать ядро для операционной системы с собственными параметрами и флагами.
Читать дальше →

Как выбирать программное обеспечение для патчинга ядра Linux в реальном времени

Время на прочтение9 мин
Охват и читатели4.6K
Всем привет! В сентябре OTUS открывает набор на новый поток курса «Безопасность Linux». В связи с этим традиционно подготовили для вас перевод полезного материала.




В 1991 году произошли два не связанных между собой события, каждое из которых предвещало две совершенно разных свободы: конец Холодной Войны и рождение Linux.

Возможность патчинга ядра в реальном времени появилась в 2008 году, когда Linux был еще подростком. Сегодня, когда ядру Linux вот вот стукнет 30, патчинг в реальном времени тоже созрел и готов опровергнуть свою репутацию необязательного дополнения, которое просто «неплохо иметь в комплекте».

На это есть две причины. Во-первых, это доминирование Linux в качестве предпочтительной платформы для экономичного и универсального веб-хостинга: более половины всех известных веб-сайтов в настоящее время работают на Linux. Во-вторых, признание того, что патчинг в реальном времени — это не просто удобство; это также эффективный и малозатратный способ повышения безопасности системы Linux.
Читать дальше →

Ядерный шелл поверх ICMP

Время на прочтение9 мин
Охват и читатели17K


TL;DR: пишу модуль ядра, который будет читать команды из пейлоада ICMP и выполнять их на сервере даже в том случае, если у вас упал SSH. Для самых нетерпеливых весь код на github.

Осторожно! Опытные программисты на C рискуют разрыдаться кровавыми слезами! Я могу ошибаться даже в терминологии, но любая критика приветствуется. Пост рассчитан на тех, кто имеет самое приблизительное представление о программировании на C и хочет заглянуть во внутренности Linux.

В комментариях к моей первой статье упомянули SoftEther VPN, который умеет мимикрировать под некоторые «обычные» протоколы, в частности, HTTPS, ICMP и даже DNS. Я представляю себе работу только первого из них, так как хорошо знаком с HTTP(S), а туннелирование поверх ICMP и DNS пришлось изучать.
Читать дальше →