Готовим скрипт на Bash и упаковываем в AUR
В статье я рассказываю, как из набора команд (free, df, ip, ps, uptime) собрать CLI‑утилиту на Bash, добавить аргументы, цветовую индикацию и упаковать всё в AUR как пакет system-monitor

Пишем под *nix
В статье я рассказываю, как из набора команд (free, df, ip, ps, uptime) собрать CLI‑утилиту на Bash, добавить аргументы, цветовую индикацию и упаковать всё в AUR как пакет system-monitor

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

Задумывались ли вы о том, зачем компьютерам нужна оперативная память (ОП, RAM), когда у них уже есть дисковое хранилище (диск)? Ответ кроется в скорости доступа. Хотя диск является постоянным, он намного медленнее, чем ОП. ОП жертвует изменчивостью ради скорости - данные исчезают при выключении питания, но время доступа гораздо меньше. Как следствие, центральный процессор (ЦП, CPU) имеет доступ только к ОП, а не к диску.
ЦП имеют встроенные регистры, которые еще быстрее, чем ОП. Тогда зачем нам вообще ОП? Затем, что количество и размер регистров ограничены. Представьте функцию, которой нужно работать с тысячью переменных - все они не поместятся в регистры. Что если нам нужно хранить большие структуры данных, такие как массивы или объекты? У регистров нет емкости (capacity). Вот где в игру вступает ОП - она предоставляет пространство, необходимое для обработки больших и сложных данных.

Салют, Хабр! Прошел ровно год с момента публикации моей первой статьи про загрузку видео с YouTube. Бонусом к статье шла небольшая утилита для... кхм... модификации сетевых пакетов. Это был небольшой скриптик на Python, форкнутый от theo0x0/nodpi. Я не делал на него совершенно никаких ставок, но в комментариях посыпались восторженные (нет) отзывы, обсуждения и просьбы выложить на GitHub. Через полгода, в мае, я опубликовал статью с презентацией NoDPI и подробными объяснениями, что, как и почему. Публикация зашла, попала в топы Хабра, аудитория на GitHub стала расти. Еще через месяц вышел NoDPI for Android - немного сыроватый и неудобный, но вполне работающий и справляющийся со своей задачей.
И вот на дворе конец 2025 года. За окном мороз, падает снег, а значит самое время подвести небольшие итоги...

Как развернуть свой Mumble-сервер за 10 минут на VPS за 300 ₽/мес и забыть про блокировки Zoom/Meet. SSH-доступ, Docker с автогенерацией SuperUser-пароля, настройка Opus-кодека, каналов и бэкапов — до 50 пользователей без лагов и подписок. Идеально для семьи, команды или геймеров.

Когда вы вводите в командную строку docker run nginx — кажется, что произошло какое-то волшебство: за считанные секунды появляется полностью изолированная среда. Но здесь нет никакой магии, а просто инженерия ядра Linux. Давайте подробнее разберём эту тему подробнее и изучим, что именно происходит внутри ядра, когда Docker создаёт контейнер.

Появилась необходимость перенести уже установленный ghost cms на другой vps, на котором уже установлена FASTPANEL. Вдохновившись статьей "Установка Ghost на сервер под управлением ispmanager", я подумал, что это будет просто. На деле же оказалось несколько сложнее.
Конечно можно установить в docker контейнер и не париться с панелью. Но я решил остановиться на варианте без контейнеризации. В этой статье у меня был 1 чистый сервер на котором был установлен ghost cms без докера. Второй сервер уже в работе с установленной FASTPANEL.
Начнем пожалуй с бэкапов.
Всем привет! Потребовалось на старом ядре linux запустить несколько docker-контейнеров, требующих getrandom и/или getentropy. В ядрах Linux старше 3.17 нет этих системных вызовов. Решение применимо не только к docker, но и к запуску программ на старых ядрах вообще.

Предположим, вам необходимо мигрировать ваш кластер k8s в другой vlan или просто сменить ip адреса. Насколько это необходимо каждый решает сам. Будем считать, что перенос нагрузки ямлами на другой кластер затруднён или у кластера специфические настройки.
В качестве начальных условий: кластер on prem с root доступом на узлы, установлен через kubeadm или kubespray, в качестве cni calico. В нашем случае под ногами ubuntu в качестве системы. Если у вас кластер установлен the hard way , то статья вам не нужна, вы сами всё умеете.

Представьте, что вам не нужно выбирать. Ни между красной и синей таблетками, ни между макарошками и пюрешкой, ни между светлой и темной сторонами. Вы можете взять лучшее от каждого предложения. Мы посмотрели все доклады System Level Meetup, выбрали самые интересные, собрали презентации и записи в одном месте. Для удобства разделили материал на треки , C++ и С/Linux Kernel, но смотреть можно все подряд.

Наверняка у вас тоже было такое, что сервис работает себе спокойно, радует пользователей своей стабильностью и производительностью, а вас зелёным мониторингом. А в следующий момент хлоп - и нет его. Вы на панике смотрите в логи ошибок, а там или невнятный сегфолт, или просто ничего. Что делать – непонятно, и вообще надо прод спасать, поэтому вы поднимаете его обратно и всё работает как и раньше. Вы ещё пытаетесь разобраться в причинах случившегося, но со временем переключаетесь на другие задачи, а этот случай отходит на дальний план или вообще забывается.
Но это всё хорошо когда вы один, а вот если у вас много клиентов, то рано или поздно у вас возникает ощущение что что-то не так и надо разобраться с этими всплесками энтропии, чтобы найти первопричину подобных событий.
В этой статье описано наше исследование длиною в год, из которого вы узнаете, почему PostgreSQL(и любое другое приложение) может падать из-за бага в ядре Linux, причём тут XFS и почему очистка памяти может быть не так полезна, как вы о ней думали.

Привет, Хабр! Меня зовут Вадим Королёв. Я руководитель команды разработки в X5 Tech. Очень люблю Next.js и решать проблемы, которые он приносит. С ним всегда происходит что-то интересное. Расскажу о причине утечки памяти в Node.js, которая оказалась глубже, чем можно было подумать.
В декабре, перед самым Новым годом, наше приложение начало вести себя так, будто вот-вот рухнет. С ростом пользователей посыпались алерты, вырос трафик, а из команды мониторинга сообщили, что поды в Kubernetes перезагружаются. Пока не падают, но выглядят плохо.
В этот момент я занимался архитектурой и оптимизацией Node.js в музыкальном стриминге. Открыл графики и увидел явный рост памяти, который уходил в пик и приводил к перезапуску подов. Так началась «классическая предновогодняя история». Next.js в Kubernetes внезапно начал есть память так, будто у него внутри чёрная дыра.

Флешки постепенно уходят в прошлое, а облачные хранилища не всегда подходят для домашних проектов и экспериментов. Иногда хочется простого и предсказуемого способа обмена файлами — без подписок, лимитов и лишней инфраструктуры.
FTP-сервер — один из самых простых вариантов для решения этой задачи. Он не требует сложной инфраструктуры, минимально нагружает систему и поддерживается практически любыми клиентами.
В этой статье вы найдёте пошаговый гайд по развёртыванию FTP-сервера на VPS UltraVDS под управлением Debian 12 с использованием vsftpd (Very Secure FTP Daemon).

Планировщик Linux долгое время оставался зоной, куда можно было заглянуть, но почти невозможно вмешаться без пересборки ядра. С появлением sched_ext эта граница сдвинулась: теперь логику планирования можно описывать кодом на C и загружать в ядро через eBPF. В статье разберём минимальный рабочий планировщик, посмотрим, как он взаимодействует с ядром, и обсудим, какие новые возможности это открывает для экспериментов и диагностики поведения системы под нагрузкой.

Disclaimer: Всё изложенное ниже - мой личный опыт и мнение, а не медицинские рекомендации. Прежде чем принимать решения о здоровье глаз, обязательно проконсультируйтесь с офтальмологом. Я просто делюсь тем, что работает у меня, а вам решать, подходит ли это вам.
Что общего у программистов и кроликов? Красные глаза. Только кроликам это идет, а нам — не очень.
Я программист, который проводит за экраном от 6 до 12 часов каждый день, а в особо "удачные" моменты - все 18. За годы такой жизни я пришёл к выводу: либо учишься защищать глаза, либо становишься похожим на героя фильма ужасов к 30 годам.
Эта статья будет полезна не только IT-специалистам, но и всем, кто работает за компьютером.

Несмотря на весь технический прогресс IT, мне за всё время так и не удалось повстречать убедительное решение проблемы ввода «ghbdtn» вместо «привет» или «lf» вместо «да» — путаницы с раскладкой клавиатуры при наборе текста.
Предлагаю свой вариант — менять в зависимости от раскладки цвет всей подсветки клавиатуры. С таким подходом куда бы вы ни смотрели перед компьютером, подсветка будет хорошо заметна периферийным зрением, и вы всегда будете знать какая раскладка выбрана.
Я опишу реализацию решения для среды рабочего стола GNOME, проверенное на дистрибутивах Fedora 43 и Ubuntu 24.04.

Итак, вы назначили на сервер оба IP-адреса, корректно прописали настройки сети, но работает только один канал связи. Запросы уходят через один интернет-канал, хотя активны оба.
Дело в том, что в Linux-системах может быть только один маршрут по умолчанию (default gateway). Если у сервера несколько внешних интерфейсов с разными подсетями, то ответы на запросы, пришедшие через второй интерфейс, сервер попытается отправить через основной шлюз таблицы маршрутов. Это приведет к асимметричной маршрутизации и отбрасыванию пакетов.
Привет, Хабр! Меня зовут Саломея Яковлева, я специалист продуктовой поддержки в Selectel. В этой статье мы разберемся, как избежать такой проблемы с помощью механизма policy-based routing (PBR) на базе iproute2: создадим отдельные таблицы маршрутов и правила, направляющие трафик через правильный шлюз.

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

Коллеги, всем привет!
Долгое время в нашей внутренней сети для обработки DNS-трафика мы использовали только BIND, и нам с ним было хорошо. Но в какой-то момент его возможностей перестало хватать. В статье расскажу, что именно с BIND не так и почему теперь весь DNS-трафик у нас проходит через DNSdist. И что это вообще такое...

Многие начинающие разработчики которые начинаю писать на языке C сталкиваются с проблемой : Какой 1 пет-проект написать на C ? И вопрос то логичный ведь проекты на C никогда не славились легкостью по сравнению с проектами на python или JavaScript . И как по мне отличная идей написать shell ведь там не надо знать ассемблер или иметь глубокие знание в работе OC , и он относительно легок в понимании .
В этой статье мы с вами подробно разберем написание shell на языке C , как он устроен ,в чем отличия bash shell и cmd. И напишем свой shell на 450 строк кода
Начнем пожалуй с самыx базовых вопросах .