Обновить
256K+

Linux *

Пишем под *nix

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

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

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

Разработчики 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.4K
В августе 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 пришлось изучать.
Читать дальше →

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.6K

В какой-то момент начинает требоваться отладить программу, которую нельзя отладить на рабочем компьютере. В моем случае потребовалось отладить программу, общающуюся по 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 мин
Охват и читатели8K
Привет всем в этом блоге! С вами третий пост из серии, в которой мы показываем, как развертывать современные веб-приложения на Red Hat OpenShift.



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

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

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

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

Приветствие


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



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