Обновить
408.08

Linux *

Пишем под *nix

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

Файловые дескрипторы 0, 1, 2: полное руководство по работе с потоками

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели8.7K

Привет, Хабр! Конструкции вроде 2>&1 и &> встречаются повсюду — в мануалах, скриптах, инструкциях. Их используют постоянно, но редко понимают до конца. Почему ошибки продолжают появляться в терминале, хотя, казалось бы, должны уходить в файл? Почему конвейер передаёт только часть вывода?

В статье разберём всё от базового синтаксиса до работы с tee и /dev/null - каждая часть будет разобрана и показана на практических примерах.

Читать далее

15 лучших оконных менеджеров для Linux в 2025 году

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели29K

Оконный менеджер — одна из тех вещей в Linux, о которой не задумываешься, пока не попробуешь сменить. Кажется, окна просто открываются и закрываются, а потом ставишь тайлинговый WM и понимаешь, что можно работать быстрее и почти не трогать мышь, или выбираешь плавающий — и ноутбук сразу оживает. Расскажем о 15 самых интересных и востребованных решениях на 2025 год.

Читать далее

Рабочий день инженера на Linux

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели15K

С 1 октября у нас проходит открытое бета-тестирование нативного КОМПАС-3D для ОС на ядре Linux. Мы подумали, а что если провести здесь обзорную экскурсию для нового пользователя ОС Linux, который не имеет отношения к IT-сопровождению и не должен заниматься администрированием систем? Такой сотрудник работает, используя не операционную систему, а доступные в ней программы и инструменты. Цель этой статьи — показать эти инструменты.

Читать далее

История одного патча II: приключения в FreeBSD

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели15K

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

Читать далее

Есть динамит, нет шахты

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели11K

Добрый день! Хабарчане.

Каждый в нашем дружном сообществе, рано или поздно сталкивался с тем, что вроде все есть для счастья, но все равно почему-то грустно, и хочется что-то поковырять.

Я всего лишь, решил реализовать свою давнюю мечту...

курлык-курлык

Очумелые ручки: терабайт на флешке

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

Пятница. Вспомнился эпизод из сериала, где ФБР врывается в офис, чтобы изьять у Главного героя флешку с секретными файлами, а он судорожно пытается всё стереть на ней.

А что, если решить задачу иначе?

(дисклеймер: всё ниженаписанное - сляпано тяп-ляп, в рамках теоретического решения задачи, и непригодно к продакшену)

Читать далее

к.т.н. Страннолюбов, или Как я перестал бояться и провёл соревнование по программированию на Эльбрусе

Уровень сложностиПростой
Время на прочтение32 мин
Охват и читатели12K

Здравствуйте, друзья, меня зовут Ерохин Кирилл, я программист‑любитель, и в этом сентябре я втихаря провёл соревнование по алгоритмическому программированию на C/C++ под платформу «Эльбрус» (e2k), собрав 31 участника со всей России, результатами которого я решил поделиться с вами. А Хабр мне в этом поможет, ему не впервой.

Читать далее

Какие школьные предметы изучать будущему системному администратору

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели14K

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

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

И действительно, на первый взгляд может показаться, что достаточно знать только информатику. Но знание других предметов скрыто в описании задач. Именно поэтому мы сначала определим, что приходится делать системному администратору на практике, а после — выделим учебные дисциплины, которые для этого нужны. Подробности под катом!

Читать далее

Dumper: единый инструмент для резервного копирования баз данных

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели12K

Когда в инфраструктуре десятки сервисов и баз данных разных типов, ручное резервное копирование превращается в кошмар.

Один сервер использует PostgreSQL, другой — MySQL, третий — MongoDB, и для каждого нужны свои команды (pg_dump, mysqldump, mongodump) и свои скрипты.

Проект Dumper решает эту проблему он объединяет все типы баз в один универсальный инструмент.

Dumper написан на Go и работает через CLI, конфигурация задаётся в YAML — поэтому его легко встроить в cron, CI/CD pipelines, GitHub Actions или Docker-окружение.

Читать далее

Как использовать виртуальные сетевые карты SR-IOV в ProxMox VE 8

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели13K

Случается, что виртуальной машине необходимо предоставить доступ к RAW сетевой карте с тегированным трафиком, не разделяя его на VLAN на уровне гипервизора. Например, такое требование есть у OPNsense(firewall и routing) и у контроллеров для отечественной виртуализации Basis Dynamix.

Расскажу, как сделать такой доступ.

Читать далее

Enterprise мониторинг с нуля: Prometheus + Grafana для FastAPI приложения

Уровень сложностиСредний
Время на прочтение17 мин
Охват и читатели9.5K

После того как ваше веб-приложение попадает в продакшн, самый важный вопрос — а как оно работает прямо сейчас? Логи дают ответ постфактум, но хочется видеть проблемы до того, как пользователи начнут жаловаться.

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

Читать далее

Можно ли было обнаружить бэкдор XZ при более продуманной работе с пакетами в Git и Debian?

Уровень сложностиСредний
Время на прочтение23 мин
Охват и читатели5.7K

Обнаружение бэкдора в XZ Utils весной 2024 года поразило опенсорс-сообщество и подняло серьёзные вопросы о безопасности цепочки поставок ПО. В этом посте мы изучим, могло ли улучшение практик работы с пакетами Debian помочь в выявлении этой угрозы, приведём руководство по аудиту пакетов и предложим улучшения на будущее.

Бэкдор XZ в версиях 5.6.0/5.6.1 быстро попал во многие крупные дистрибутивы Linux наподобие Debian и Fedora, но, к счастью, не добрался до многих реальных пользователей, потому что благодаря героическому усердию Андреса Фройнда релизы с бэкдором были быстро удалены. Нам крайне повезло, что мы выявили регрессию производительности SSH в полсекунды, уделили время её трассировке, обнаружили зловредный код в загружаемой SSH библиотеке XZ и быстро сообщили о нём различным командам безопасников для принятия быстрых координированных мер защиты.

Этот эпизод заставил разработчиков ПО задаться следующими вопросами:

Почему ни один из упаковщиков дистрибутивов Linux не заметил ничего странного при импорте новой версии XZ 5.6.0/5.6.1 из апстрима?
Легко ли проводить аудит современной цепочки поставок в самых популярных дистрибутивах Linux?
Возможно ли наличие других подобных бэкдоров, которые мы пока не выявили?

Я разработчик Debian Developer, поэтому решил провести аудит пакета xz в Debian, поделиться в этом посте своей методологией и находками, а также предложить способы повышения безопасности цепочки поставок конкретно в Debian.

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

Читать далее

Сетевое хранилище для дома

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

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

Всё бы хорошо, вот только диск в нем внутри - единственный, а USB-порты, чтобы подключить больше дисков - медленные.
Кто еще ни разу не слышал, как в один прекрасный день диск вдруг делает "цок-цок-цок" - и больше диска нет? И когда это произойдет - не предскажет никакой SMART: может, никогда, а может - через пару минут.

Во взрослых системах для этого существуют RAID-массивы, с корзинами дисков, гудением вентиляторов и прочими сопутствующими радостями.
Для SOHO тоже придумали такие ящики, со встроенной корзиной - и непременными вентиляторами. Куда ж без вентиляторов?

Захотелось сделать почти такое же, но маленькое и бесшумное.

Читать далее

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

Systemd-rc — мост для тех кто привык к Systemd

Уровень сложностиСредний
Время на прочтение2 мин
Охват и читатели13K

Мост для тех кто привык к Systemd. Без эмуляции, без Systemd-зависимостей. Только переводит команды.

Читать далее

Библиотека Eremex Controls для Avalonia UI — Версия 1.2 — Октябрь 2025

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели10K

На прошлой неделе мы выпустили обновление кроссплатформенной библиотеки контролов Eremex Controls для Avalonia UI. О новых ее возможностях расскажем в этой статье, но уже в рамках нового корпоративного блога нашей компании Эремекс.

Читать далее

Минималистичные дистрибутивы Linux: как выбрать систему, которая не подведет

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


Привет! На связи Слёрм и Кирилл Казарин, DevOps and SRE global manager в RingCentral Inc. Сегодня мы немного рассмотрим мир минималистичных дистрибутивов Linux.

Наша цель — разобраться, какие из них лучше всего подходят для систем, работающих в режиме 24/7/365, с повышенными требованиями к отказоустойчивости, например: встраиваемые устройства, edge-вычисления, контейнерные хосты, сетевые шлюзы и просто о легковесные сервера. Ключевые требования к таким системам: быстрый старт, минимальный след на диске, и, что критически важно, устойчивость к внезапному отключению питания.

Читать далее

Ускоряем навигацию в 5 раз: CD-меню для частых папок

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели10K

Привет, Хабр! Сколько раз за день Вы вводите cd ~/projects/current-project/src/components/very-long-folder-name, чтобы просто перейти в нужную директорию? Такая навигация в терминале отнимает кучу времени и сил, теряется фокус. В данной статье хочу поделиться простым bash-скриптом, который покажет Вам пронумерованный список избранных папок и позволит переходить в них одной цифрой.

Читать далее

.Net GRPC, или мульти-стек в проекте

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели5.1K

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

Начинали мы с нуля, с эскизов. Задача была реализовать систему, обладающую следующими функциональными и техническими требованиями:

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

Читать далее

Как быстро избавиться от лагов на сервере по методике RED S.O.S

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели8.1K

Представьте: вы получаете алерт "сервер тормозит" или замечаете странные лаги в приложении. Отставить панику)) В этой статье мы разберем, как провести технический осмотр Linux-сервера и найти корень проблемы без углубления в тонны логов.

Сейчас расскажем вам про методику RED S.O.S. - структурированный подход, который превращает хаотичную проверку в системный диагноз. Это ваш чеклист для экстренного реагирования. Он не заменяет системы мониторинга (Prometheus, Zabbix), но дает моментальный снимок здоровья системы.

Фокус здесь на ключевых ресурсах: Resources (Ресурсы), Errors (Ошибки), Dependencies (Зависимости)

Читать далее

Мой первый pet-проект: процесс-менеджер synd3

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели8.5K

Всем привет!

Пишу этот пост, чтобы поделиться своим опытом и получить критику или советы от людей с большим опытом.

Мне 22 года, я из Латвии. По образованию я судовой механик, но уже около 4 лет увлекаюсь программированием. Долгое время это оставалось хобби: пробовал сайты, простые игры — но они не приносили настоящего удовольствия. Я считал, что в программировании нужно было разбираться ещё со школы, и долго не верил, что могу найти себя в этой сфере.

Переломный момент наступил, когда я заинтересовался системным программированием. Каждый раз, когда узнаю, как работает низкоуровневая часть ОС, у меня будто открывается новый мир. Особенно зацепила тема процессорного планирования: все говорят «железо, CPU, видеокарта», но на практике даже реализация планировщика процессов может заметно влиять на производительность.

Читать далее