Обновить
294.88

Linux *

Пишем под *nix

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

Процесс разработки 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.1K
Одно из основных преимуществ Red Hat Ansible Automation Platform заключается в том, что ее язык описания автоматизаций читабелен не только для пары-тройки гуру, но и почти для всех, кто имеет отношение к ИТ. Поэтому вносить свой вклад в автоматизацию могут любые специалисты, что сильно облегчает организацию межкомандного взаимодействия и внедрение автоматизации на уровне корпоративной культуры.



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

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

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

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

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


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


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


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


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


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

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

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

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

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

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

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

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


На конференции 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 мин
Охват и читатели16K


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

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

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

Red Hat Flatpak, DevNation Day, шпаргалка по программированию на Cи и пять вебинаров на русском

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


Полезные ссылки на живые мероприятия, видео, митапы, техтолки и книги – ниже в нашем еженедельном посте.
Читать дальше: Red Hat Flatpak, DevNation Day, шпаргалка по программированию на Cи и ...

Тестируем плату для 4K Android ТВ-приставок на чипе Realtek RTD1395

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


Мы недавно получили посылку от партнеров в Тайване — компании Realtek. Внутри была плата Hercules OTT — 32-битная, с памятью на 2 Гб и предустановленной ОС Android 9. Посмотрим, что она умеет и как ее можно использовать для разработки новых ТВ-приставок.
Читать дальше →

Удаленная отладка Go-кода с VSCode без Remote Development

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

В какой-то момент начинает требоваться отладить программу, которую нельзя отладить на рабочем компьютере. В моем случае потребовалось отладить программу, общающуюся по D-Bus с iwd, демоном, заведующим соединениями по Wi-Fi, на ноутбуке.


В VSCode есть аддон Remote Development, специально предназначенный для подобных случаев. Меня он не устраивал по нескольким причинам:


  1. Автоматическое подписание коммитов GnuPG из VSCode не заработало.
  2. Не заработал SSH-агент (вероятно, из-за отключенного проброса агента).
  3. Не заработало, казалось бы, имеющееся в RD открытие локальной директории на удаленной машине (часть нужных файлов не была включена в версионный контроль, а ручным копированием по сети каждый раз заниматься не хотелось).

Я пишу на Go, так что хак, который я буду описывать, предназначен для отладчика Delve. Сам подход меняется мало вне зависимости от языка программирования; аналогичное можно сделать с используемым в VSCode для Python ptvsd и любым другим отладчиком, позволяющим удаленные соединения.


TL;DR поста
  1. Пишем скрипт, собирающий бинарник с поддержкой отладки, копирующий ее на целевую машину по SCP и запускающий Delve.
  2. Создаем в VSCode профиль отладки, аттачащийся к целевой машине.
  3. Создаем в VSCode таск, запускающий скрипт из п.1 и добавляем его в зависимости профиля отладки.
Читать дальше →

Вышел Linux 5.8 — один из величайших. Более подробный обзор

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

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

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

Современные приложения на OpenShift, часть 3: OpenShift как среда разработки и конвейеры OpenShift Pipelines

Время на прочтение12 мин
Охват и читатели7.8K
Привет всем в этом блоге! С вами третий пост из серии, в которой мы показываем, как развертывать современные веб-приложения на Red Hat OpenShift.



В двух предыдущих постах мы рассказали, как развертывать современные веб-приложения всего за несколько шагов и как использовать новый образ S2I вместе с готовым образом HTTP-сервера, например, NGINX с помощь связанных сборок chained builds для организации продакшн-развертывания.

Сегодня мы покажем, как запустить на платформе OpenShift сервер разработки для своего приложения и синхронизировать его с локальной файловой системой, а также поговорим о том, что такое OpenShift Pipelines и как можно применять в качестве альтернативы связанным сборкам.
Читать дальше: Современные приложения на OpenShift, часть 3: OpenShift как среда разработки...

Пишем автодополнение для ваших CLI проектов

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

Приветствие


Всем привет! Хочу поделиться своим опытом написания кроссплатформенного проекта на C++ для интеграции автодополнения в CLI приложения, усаживайтесь поудобнее.



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

Paragon открыла свой драйвер NTFS для Linux, предложив включить его в ядро

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


Компания Paragon Software опубликовала набор патчей с полноценной реализаций файловой системы NTFS, открыв код драйвера под лицензией GPL. Драйвер поддерживает работу как в режиме чтения, так и в режиме записи.

По словам разработчиков, эта реализация поддерживает все возможности версии NTFS 3.1.Сейчас в драйвере используется урезанная реализация журнала NTFS. Но в будущем Paragon Software добавит поддержку полного журналирования поверх уже встроенного в ядро универсального блочного устройства JBD, на базе которого организовано журналирование в ext3, ext4, OCFS2.
Читать дальше →

BPF для самых маленьких, часть первая: extended BPF

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

В начале была технология и называлась она BPF. Мы посмотрели на нее в предыдущей, ветхозаветной, статье этого цикла. В 2013 году усилиями Алексея Старовойтова (Alexei Starovoitov) и Даниэля Боркмана (Daniel Borkman) была разработана и включена в ядро Linux ее усовершенствованная версия, оптимизированная под современные 64-битные машины. Эта новая технология недолгое время носила название Internal BPF, затем была переименована в Extended BPF, а теперь, по прошествии нескольких лет, все ее называют просто BPF.


Грубо говоря, BPF позволяет запускать произвольный код, предоставляемый пользователем, в пространстве ядра Linux и новая архитектура оказалась настолько удачной, что нам потребуется еще с десяток статей, чтобы описать все ее применения. (Единственное с чем не справились разработчики, как вы можете видеть на кпдв ниже, это с созданием приличного логотипа.)


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

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

Для Linux появился новый векторный редактор для создания макетов интерфейсов

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

На днях создатели редактора векторной графики Akira, работа над которым ведется вот уже пару лет, опубликовали первые тестовые выпуски. Графический пакет предназначен для создания макетов интерфейсов.

Авторы Akira заявили, что их цель — создание инструмента для профессионалов, при помощи которого можно готовить качественные макеты интерфейсов. Наверное, редактор можно назвать конкурентом Sketch, Figma, Inkscape и Adobe XD, но заточен он исключительно под Linux. От Inkscape он также отличается тем, что не ориентирован на печатный дизайн.
Читать дальше →

Быстрее, выше, сильнее: Clear Linux — самый быстрый дистрибутив для x86-64?

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

На днях ресурс Phoronix опубликовал результаты тестов скорости работы разных дистрибутивов Linux на системе с Core i9 10980XE.

Тестирование проводилось со сборками Clear Linux 33540 (самая новая на момент теста), Clear Linux 31480 (конец 2019 года), Endeavour OS Rolling, openSUSE Tumbleweed 20200727, Debian Buster Testing, Ubuntu 20.04 LTS и тестовая сборка Ubuntu 20.10.

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

Сэмулируй сборку приложения ARM на x86 процессоре на примере Qt

Время на прочтение14 мин
Охват и читатели24K
Мощность современных процессоров растёт, как в стационарных компьютерах, так и в различных embedded устройствах, на борту которых процессоры на базе ARM с операционной системой linux. Сегодня в рамках данной статьи мы запустим эмулятор процессора ARM на x86 компьютере и в нём попробуем собрать Qt из исходников и тестовое приложение, т.е. так сказать сиэмулируем сборку ARM приложения.

В первой части статьи будем использовать эмулятор QEMU для aarch64, во второй части запустим эмулятор Raspberry и проверим работоспособность приложения в нём.

От себя хочу отметить, это все делается не быстро, и если Вы попробуете все это выполнить, то полный цикл займет у вас несколько дней!)


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