Обновить
301.18

Linux *

Пишем под *nix

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

Ubuntu 25.10 Beta: GNOME 49, Wayland и новые горизонты для RISC-V

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

Canonical представила бета-версию Ubuntu 25.10 под кодовым названием "Questing Quokka". Этот промежуточный выпуск, поддержка которого продлитсядевять месяцев, уже заморозил пакетную базу и перешел к финальному этапу тестирования. Полноценный релиз запланирован на 9 октября, так что ждем. Ну а бета-образы доступны для всех редакций: Ubuntu, Ubuntu Server, Lubuntu, Kubuntu, Ubuntu Mate, Ubuntu Budgie, Ubuntu Studio, Xubuntu, UbuntuKylin, Ubuntu Unity, Edubuntu и Ubuntu Cinnamon. Давайте разберем, что нового в этой версии и почему она заслуживает внимания.

Читать далее

Процессорный модуль — что это и зачем

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

Победоносное шествие информационных технологий за последние сорок лет имеет свои объективные причины, ранжировать которые непросто, но, я думаю, в первую тройку их наверняка входит относительная дешевизна этих технологий, причём скорость подешевления последнее время не убывает, а только прирастает с той или иной быстротой. Желающие могут сами погуглить цену килобайтов и производительности в MIPS для IBM System 360, IBM PC и современных образцов.

Одной из главных причин такого постоянного подешевления, кроме технологического роста, является «эффект масштаба» — так называют хорошо известное экономическое явление, заключающееся в том, что одна единица товара при оптовой покупке стоит тем меньше, чем больше партия. Этот эффект всеобщий, хотя и из него есть пара‑другая исключений, если кому интересно, спрашивайте в личку или в комментах. Всё дело в том, что при росте партии капитальные затраты размазываются на всё большее число единиц товара, причём это явление имеет мульпликативный характер. О чём это я? Вот пример: если объём партии выпускаемых ИМС вырос в 10 раз, то и сверхчистого кремния для них понадобилось тоже в 10 раз больше, и эффект масштаба распространился и на поставщиков материалов. И на поставщиков электроэнергии. И упаковок. И транспортников. В общем, эффект масштаба — это хорошо и полезно. Предупреждаю упреки специалистов в экономике, что тут есть и свои сложности и тонкости в расчётах, но в первом приближении дело обстоит так, как я написал выше.

И вот в этот момент мы сталкиваемся с неочевидным на первый взгляд системным противоречием. В чём же оно? Чтобы заставить эффект масштаба играть на своей стороне, надо сделать как можно более универсальный продукт, чтобы им одним закрыть все потребности. С другой стороны, нужно постоянно расширять рынок продукта, втягивая в него всё новые и новые области применения — а для этого нужны специализированные, а не универсальные решения. То есть нужны универсальные и специализированные решения одновременно, а это чистое противоречие.

Читать далее

snapd, 100% загрузка cpu и баг ядра

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

Еще одна поучительная история из жизни с Linux, специально чтобы вы потеряли сон и покой, узнав что такое вообще возможно.

Читать далее

PipeWire с терминала: pw-cli, pw-top, pw-metadata

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

Привет, Хабр!

Сегодня рассмотрим консольные утилиты PipeWire: pw-cli, pw-top, pw-metadata и сопутствующие инструменты.

Для начала напомню, что PipeWire — это мультимедийный сервер низкого уровня, способный обрабатывать и аудио, и видео-потоки с минимальной задержкой. Он заменяет и PulseAudio, и JACK, действуя как ядро мультимедиа-пайплайна. Механизм распределения потоков (routing) отделён от политики: PipeWire занимается неким «трубопроводом», а где соединять и какой девайс использовать — за WirePlumber или другим менеджером сессий.

Читать далее

Distroless приложения (VM/bare-metal)

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

Некоторые языки программирования (например, Go и Zig) позволяют собрать приложение без каких-либо зависимостей, в том числе отвязаться от libc, тем самым создание distroless-контейнера на Go становится тривиальной задачей. Но эта же особенность может быть применена не только для создания контейнера, но и для запуска такого приложения в VM или на реальном хосте не используя какой-либо дистрибутив Linux, а используя только ядро Linux и само приложение, построенное с помощью Go (или, например, Zig). Такая возможность позволяет избавиться от дополнительных зависимостей, которые добавляют потенциальные риски с точки зрения атаки на цепочку поставок (supply chain attack).

Читать далее

Эмуляция сетевых проблем в Linux через tc netem

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

tc netem — инструмент Linux для эмуляции сетевых проблем. Кратко расскажу зачем он нужен, а также примеры использования.

Читать далее

Храним секреты в облаках

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

Как и у любого пользователя Андроид у меня есть аккаунт в Гугле.
А значит, кроме всего прочего, есть аж целых 15 гигабайт облачного хранилища, где можно что‑то хранить, на случай всяких внезапных проблем с локальным оборудованием.

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

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

Вот эти две проблемки попробуем решить.

Читать далее

Часть 2. Rsync — подробное руководство для админов

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

Привет, Хабр! В первой части я разобрал основы rsync: синтаксис, ключевые опции и работу по SSH. Эти аспекты позволяют эффективно пользоваться утилитой на базовом уровне. В этой статье заглянем «под капот» и научимся тонко контролировать весь процесс синхронизации и диагностировать проблемы с производительностью...

Что в статье:

— Фильтрация;
— Экономичные бэкапы;
— Диагностика и решение проблем.

Читать далее

Процессорный модуль Corgi SoM v1 на базе Xilinx Zynq-7000

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

Коллеги, приветствую, обзорная статья работы с Corgi SoM v1 на базе AMD (Xilinx) Zynq-7000. Статья охватывает работу модуля с Vivado IDE, Vitis IDE, подготовку базового образа, работу с Embedded Linux (u-boot, device tree, linux kernel, rootfs). Подготовку образа для SPI NOR памяти, SPI NAND памяти и сопутствующие моменты необходимые для старта работы с данным модулем. Дополнительно статья будет полезно для linux embedded разработчиков, которые делать будут bring-up плат на базе AMD(Xilinx) zynq платформ.

Читать далее

Как написать свой TCP-порт-сканер на Python: опыт, код и примеры использования

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

В этой статье мы разберём, как написать свой многопоточный TCP-порт-сканер на Python. Несмотря на то, что существуют готовые инструменты вроде nmap или masscan, иногда требуется минималистичное решение: встроить проверку в CI/CD, автоматизировать аудит небольшой сети или использовать сканер как обучающий пример. Мы рассмотрим два подхода — на ThreadPoolExecutor и на asyncio, добавим баннер-граббинг, HTTP-проверку и TLS-детекцию. В результате получится компактный инструмент с поддержкой JSON/CSV-вывода, возможностью тонко настраивать параллелизм и таймауты, а также учитывать нагрузку на сеть. Такой сканер удобен для внутренних задач админа и для изучения сетевого программирования.

Читать далее

Часть 1. Rsync: подробное руководство для админов

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

Привет, Хабр! В арсенале системного администратора и разработчика есть множество инструментов для переноса данных. Мы копируем файлы десятки раз в день: cp для локальных копий, scp для удалённых серверов. Но что если задача сложнее? Нужно не просто скопировать, а синхронизировать два дерева файлов, дёргая по сети лишь изменившиеся данные? Или поддерживать в актуальном состоянии зеркало веб‑контента?

О чём эта статья?
— Фундамент: как правильно путями в rsync и почему слеш в конце решает всё;
— Два основных режима работы: локально, с сервером;
— Разбор флага -a: что скрывается под капотом; — Главные опции: как сделать вывод подробным, а работу — безопасной; — Синхронизация поверх SSH: работа с нестандартными портами; — Самые опасные «грабли» и как их избежать.

Читать далее

Linux Open Port: пошаговое руководство по управлению портами фаервола

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

Открытый порт — это не «дырка в фаерволе», а процесс, который слушает сокет. В материале разбираемся, где заканчивается приложение и начинается сетевой фильтр: как корректно отличать listening от доступности снаружи, чем проверять (ss, lsof, nmap), и как на практике управлять правилами в nftables, firewalld и UFW. Поговорим о well-known портах и CAP_NET_BIND_SERVICE, типовых политиках (allow/deny), логировании и безопасной последовательности действий, чтобы не уронить прод. Текст для системных администраторов и DevOps/SRE, которым нужна понятная и проверяемая методика без мифов и магии.

Читать далее

Подключаем SSL от Let's Encrypt

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

В недавней статье об SSL‑сертификатах, точнее, в комментариях к ней, затронули вопрос, который похоже создает для многих головную боль: как обновлять сертификаты от Let's Encrypt? Ведь сертификаты выдаются на 3 месяца, а потом их надо обновлять.

Конечно, есть Certbot, есть софт, который умеет сам получать и обновлять сертификаты — но вопрос возник именно по тому софту, который сам не умеет (а подключить Certbot почему‑то не получается)

Когда‑то у меня тоже возник такой вопрос, и почему‑то не устроил Certbot — не помню уже точную причину. Решил проблему иначе.

Читать далее

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

Как улучшить мониторинг и не потерять логи: Zabbix + ELK

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

Привет, Хабр! Меня зовут Сергей, я DevOps-инженер в компании Webest. В работе ежедневно сталкиваюсь с задачами мониторинга и анализа логов, и знаю, как иногда трудно разобраться в причине, почему лег прод в 5:21 утра.

Здесь на помощь приходит Zabbix. Он как верный пес: всегда громко «лает», когда что-то идет не так, и даже может «принести» алерт прямо к тебе с тапочками. Но на этом история не заканчивается. Если нужно понять, что именно сломалось и по какой причине, приходится копать глубже — в мир логов, где живет ELK Stack.

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

Читать далее

Pop!_OS: Мой опыт перехода с Windows на Linux

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

Я пользуюсь компьютерами с эпохи Windows 95 и всегда искал баланс между удобством, свободой и стабильностью. Мой выбор — лицензионное или бесплатное программное обеспечение. За годы я перепробовал множество операционных систем: от Windows до различных дистрибутивов Linux. В этой статье я расскажу, почему после долгих экспериментов я остановился на Pop!_OS от System76, какие у него плюсы и минусы, и как я адаптировал его под себя.

Читать далее

BPF CPU Scheduler: не нравится стандартный планировщик в Linux? Напиши свой

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

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

Читать далее

Новости кибербезопасности за неделю с 8 по 14 сентября 2025

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

Всё самое интересное из мира кибербезопасности /** с моими комментариями.

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

Читать далее

Механизм запуска процесса в Linux

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

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

Изучил я этот механизм, когда разрабатывал Zapper — инструмент Linux, удаляющий все параметры командной строки из любого процесса без прав root.

Читать далее

Модернизация древнего драйвера Linux с помощью Claude Code

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

В качестве одного из своих увлечений я помогаю людям восстанавливать данные со старых ленточных кассет, например QIC-80, которые в 90-е годы часто применялись для резервного копирования. Ими пользовались отдельные люди, компании, операторы досок объявлений и не только. К ленточным кассетам я испытываю очень тёплые чувства. Есть нечто особое в том тактильном ощущении, которое возникает, когда держишь эту кассету в руках. Нечто такое, что делает сам процесс её использования приятным несмотря на все огрехи дизайна, которыми славилась технология QIC. Причём, если вникнуть в процесс и воссоздать все необходимые условия, то данные на этих лентах, даже спустя столько времени, вполне можно восстановить.

Читать далее

Напердолил целую игру

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

Уууу, давно хотелось чего-то простого, смешного и без лишних заморочек. Чтобы мемов побольше и можно было с пацанами погонять. В итоге получились "TANKOLINI NAPIERDOLKI".

Старый добрый монохромный экран, тетрис, мультиплеер и редактор карт для каждого. С другой стороны — всё на канвасе, с вручную отрисованными пикселями, без всяких ассетов и движков. Python на бэке, PostgreSQL для карт и Redis для игровых комнат. Обо всём этом — в статье.

Читать далее