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

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

Пишем под *nix

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

Добрый день! Хабарчане.
Каждый в нашем дружном сообществе, рано или поздно сталкивался с тем, что вроде все есть для счастья, но все равно почему-то грустно, и хочется что-то поковырять.
Я всего лишь, решил реализовать свою давнюю мечту...
Пятница. Вспомнился эпизод из сериала, где ФБР врывается в офис, чтобы изьять у Главного героя флешку с секретными файлами, а он судорожно пытается всё стереть на ней.
А что, если решить задачу иначе?
(дисклеймер: всё ниженаписанное - сляпано тяп-ляп, в рамках теоретического решения задачи, и непригодно к продакшену)

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

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

Когда в инфраструктуре десятки сервисов и баз данных разных типов, ручное резервное копирование превращается в кошмар.
Один сервер использует PostgreSQL, другой — MySQL, третий — MongoDB, и для каждого нужны свои команды (pg_dump, mysqldump, mongodump) и свои скрипты.
Проект Dumper решает эту проблему он объединяет все типы баз в один универсальный инструмент.
Dumper написан на Go и работает через CLI, конфигурация задаётся в YAML — поэтому его легко встроить в cron, CI/CD pipelines, GitHub Actions или Docker-окружение.

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

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

Обнаружение бэкдора в 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, чтобы гарантировать его защиту, потому что таких руководств и так уже много.
Это начиналось как эксперимент, но показало определенную практическую полезность.
Старый регистратор, переделанный в сетевое хранилище, вот уже год бесперебойно обеспечивает хранение данных.
Всё бы хорошо, вот только диск в нем внутри - единственный, а USB-порты, чтобы подключить больше дисков - медленные.
Кто еще ни разу не слышал, как в один прекрасный день диск вдруг делает "цок-цок-цок" - и больше диска нет? И когда это произойдет - не предскажет никакой SMART: может, никогда, а может - через пару минут.
Во взрослых системах для этого существуют RAID-массивы, с корзинами дисков, гудением вентиляторов и прочими сопутствующими радостями.
Для SOHO тоже придумали такие ящики, со встроенной корзиной - и непременными вентиляторами. Куда ж без вентиляторов?
Захотелось сделать почти такое же, но маленькое и бесшумное.

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

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

Привет! На связи Слёрм и Кирилл Казарин, DevOps and SRE global manager в RingCentral Inc. Сегодня мы немного рассмотрим мир минималистичных дистрибутивов Linux.
Наша цель — разобраться, какие из них лучше всего подходят для систем, работающих в режиме 24/7/365, с повышенными требованиями к отказоустойчивости, например: встраиваемые устройства, edge-вычисления, контейнерные хосты, сетевые шлюзы и просто о легковесные сервера. Ключевые требования к таким системам: быстрый старт, минимальный след на диске, и, что критически важно, устойчивость к внезапному отключению питания.

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

Представьте: вы получаете алерт "сервер тормозит" или замечаете странные лаги в приложении. Отставить панику)) В этой статье мы разберем, как провести технический осмотр Linux-сервера и найти корень проблемы без углубления в тонны логов.
Сейчас расскажем вам про методику RED S.O.S. - структурированный подход, который превращает хаотичную проверку в системный диагноз. Это ваш чеклист для экстренного реагирования. Он не заменяет системы мониторинга (Prometheus, Zabbix), но дает моментальный снимок здоровья системы.
Фокус здесь на ключевых ресурсах: Resources (Ресурсы), Errors (Ошибки), Dependencies (Зависимости)

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

(Перевод моего выступления на P.I.W.O в июне, слегка подчищенный и приближенный к формату блога).
…звучит как-то не очень. Я сделала все эти слайды в Inkscape с ПК под управлением KDE Linux, плюс я регулярно пользуюсь Firefox. Но это всего лишь я. А что насчёт вас? Вы используете свободное ПО? Поднимите руки! [в аудитории поднимаются руки] Конечно же! Что за чепуха, «Свободное ПО не победило». Кто-то подменил мои слайды… Эй, ведущий конференции!
Ведущий: В другом каталоге.
[Перехожу в каталог с названием другой каталог и открываю файл твои слайды тупица.pdf]
Вот они мои слайды.
Всех приветствую, меня зовут Дорота, и сегодня я буду говорить о том, как …

В мире - множество дистрибутивов Linux. Один из них Zorin OS. Это ОС для тех, кто не хочет ломать голову при переходе с Windows или macOS. Система выглядит привычно, работает быстро и не требует возни с терминалом. 15 октября 2025 года вышла новая версия — Zorin OS 18. В ней ещё больше внимания к удобству, внешнему виду и мелочам, из которых складывается комфорт. Сейчас расскажем, что изменилось и почему эта версия может стать идеальной для тех, кто давно подумывает попробовать Linux.
Итак, перед Вами процессорный модуль отечественной разработки, основой которого является четырёхядерный SoC архитектуры RISC V JH7110 производства Поднебесной.
Расположен SoC примерно в центре платы, ближе к ламельному разъёму, использующемуся для установки процессорного модуля (ну или нескольких, если Вам интересна такая конфигурация) на Вашей несущей плате. На фотографии маркировка на JH7110 прикрыта небольшим радиатором. В случае напряжённого теплового режима единым радиатором с возможностью активного охлаждения вместе с SoC накрываются ещё SDRAM, eMMC и многоканальный преобразователь питания. Для крепления такого умощнённого радиатора предназначены четыре отверстия, расположенные прямоугольником.
Два отверстия по краю платы, противоположному ламелям, предназначены для дополнительной фиксации процессорного модуля в разъёме стандарта DDR4 SODIMM P260. В принципе, плата нормально фиксируется штатными лапками разъёма (для чего по коротким сторонам примерно посередине сделаны прямоугольные вырезы), как положено модулю памяти, но для мобильных применений да ещё и с увеличенным радиатором дополнительное крепление необходимо. Разъёмы SODIMM P260 существуют всякие, горизонтальные, вертикальные и наклонные, с разным расстоянием между модулем и материнской платой, есть даже сдвоенные. Я бы не рекомендовал с нашим модулем использовать наклонные, вертикальные - только с дополнительным креплением противоположного ламелям края. Самое лучшее – горизонтальные, зазор между модулем и несущей выбирайте сами, исходя из высоты установленных под ПМ компонентов. Компоненты модуля, расположенные на нижней стороне платы, укладываются в требования по высоте любого из разъёмов: низкопрофильного, обычного и высокого. Не забудьте только про тепловыделение деталей под модулем – условия вентиляции там – хуже не придумаешь.