Как собрать свой метапакет Debian
Пошагово собираем собственный метапакет Debian, который устанавливает заранее выбранный набор утилит. Создаём структуру dh_make, редактируем debian/control, запускаем debuild и проверяем зависимости.
Фото: Markus Spiske / Pexels
← Все темы
Статьи о Linux: настройка серверов, оптимизация систем, администрирование и лучшие практики для DevOps инженеров.
Пошагово собираем собственный метапакет Debian, который устанавливает заранее выбранный набор утилит. Создаём структуру dh_make, редактируем debian/control, запускаем debuild и проверяем зависимости.
Разбираем Reverse Shell через netcat для подключения к серверу без внешнего IP-адреса. Показываем команды для принимающей стороны и закрытого узла, перенаправление потоков и обязательные ограничения безопасности.
Несколько способов завершить интерактивную оболочку Linux: CTRL+D, TMOUT, set -t, set -e, exec и exit. Отдельно разбираем настройку символа EOF через stty.
Разбираемся, зачем скрипту нужен Shebang и что происходит при ошибке ENOEXEC. На примерах показываем, когда Bash способен самостоятельно выполнить файл без привычной строки интерпретатора.
Создаём массив двоичных чисел средствами brace expansion и переводим значения между системами счисления в Bash. Заодно разбираем границы intmax_t и целочисленное переполнение.
Используем printf для получения кодов символов в шестнадцатеричной, восьмеричной и десятичной системах. Проверяем влияние LC_ALL на UTF-8 и сохраняем форматированный результат в переменную.
Сравниваем команды rm и unlink в Linux: системные вызовы, обработку отсутствующих файлов, шаблоны и каталоги. Показываем, когда unlink удобнее для контроля ошибок в Bash-скриптах.
Создаём вложенную структуру каталогов одной командой mkdir с ключом -p и brace expansion. Сравниваем последовательность команд с компактным вариантом и проверяем запуск через strace.
Разбираемся, почему обычный whois не показывает Expires on для доменной зоны .to. Находим WHOIS-сервер зоны, обращаемся к сервису Tonic через curl и получаем дату окончания регистрации.
Практическое сравнение setsid и nohup для запуска Bash-скриптов независимо от текущего терминала. Смотрим дерево процессов через pstree и разбираемся, когда создаётся новый сеанс.
Разбираем назначение разделителя -- в командах Linux и показываем его работу на примерах ssh, cat и rm. Учимся безопасно передавать имена файлов и аргументы, начинающиеся с дефиса.
Настраиваем log_format Nginx для структурированных JSON-логов и отправляем access_log и error_log в systemd journal через syslog. Также разбираем параллельную запись в разные форматы для отладки.
Linux — основная категория BashDays, посвященная системному администрированию, DevOps и эксплуатации серверов.
В разделе публикуются материалы по:
Здесь собраны практические статьи с примерами команд, конфигураций и разбором реальных кейсов из эксплуатации Linux-серверов.