Как записать терминал в GIF через VHS
Автоматизируем запись терминала с помощью VHS и сценария `.tape`. Настраиваем размер кадра и команды, запускаем генерацию GIF в Docker и публикуем готовую анимацию.
Фото: Spemone / Pexels
Фото: Markus Spiske / Pexels
← Все темы
Статьи о Linux: настройка серверов, оптимизация систем, администрирование и лучшие практики для DevOps инженеров.
Автоматизируем запись терминала с помощью VHS и сценария `.tape`. Настраиваем размер кадра и команды, запускаем генерацию GIF в Docker и публикуем готовую анимацию.
Фото: Spemone / PexelsИсследуем заголовок tar-архива через hexdump и смотрим, где сохраняются UID, GID, имя владельца и группа. Проверяем `--owner`, `--group` и поведение распаковки для существующих и выдуманных пользователей.
Фото: Polina Tankilevitch / PexelsЗнакомимся с Bandit от OverTheWire — консольной игрой, где уровни проходятся через SSH и команды Linux. Разбираем принцип игры, пользу для отладки и другие хакерские симуляторы вроде Uplink.
Фото: Tima Miroshnichenko / PexelsРазбираем, почему перенос SSH с порта 22 редко повышает безопасность и лишь усложняет подключения. Вместо security through obscurity используем SSH-ключи, запрет root-входа, отключение паролей и fail2ban.
Фото: Jessica Lewis 🦋 thepaintedsquare / PexelsПрактический опыт файловых серверов на FreeNAS, TrueNAS, OMV и чистой Samba. Разбираем различия прав Windows и Linux, сложности ACL и ограничения Samba в небольших и средних организациях.
Фото: Brett Sayles / PexelsЗнакомимся с chezmoi для управления `.bashrc`, `.vimrc`, `.gitconfig` и другими dotfiles на нескольких устройствах. Добавляем и редактируем конфиги, смотрим diff, восстанавливаем файлы и синхронизируем репозиторий через Git.
Фото: Mikhail Nilov / PexelsУтилита `namei` показывает каждый компонент пути, владельца и права доступа, помогая находить ошибки в родительских каталогах. Сравниваем её с `ls -la` на примере недоступной PHP-админки.
Фото: Adika Budiman / PexelsПоказываем, как ограничить время работы systemd-сервиса через `RuntimeMaxSec` и управлять завершением с помощью `TimeoutStopSec`. Разбираем сигналы SIGTERM и SIGKILL, перезапуск через `Restart` и практические шаблоны юнитов.
Фото: Alla on the loose / PexelsОбъясняем, почему `date --iso=seconds` работает, хотя такой аргумент не указан в справке. Разбираем сокращение длинных опций через `getopt_long`, glibc и Gnulib на примерах `date`, `ls` и `sort`.
Фото: Nataliya Vaitkevich / PexelsНеобычные способы получить текущую дату, время и Unix time в Bash без привычной команды date. Используем stat, ps, printf, преобразование `${parameter@P}`, а также переменные EPOCHREALTIME и EPOCHSECONDS.
Фото: Engin Akyurt / PexelsПроверяем существование обычного файла в Bash с помощью test -f и квадратных скобок. Разбираем коды возврата, отрицание, однострочные условия и другие ключи для проверки директорий, сокетов и прав доступа.
Фото: cottonbro studio / PexelsРазбираемся, чем отличаются vt100, xterm и xterm-256color и зачем приложениям переменная TERM. Проверяем управляющие последовательности, цвета, UTF-8 и Midnight Commander, чтобы выбрать современный тип эмуляции терминала.
Фото: Viktorya Sergeeva / PexelsLinux — основная категория BashDays, посвященная системному администрированию, DevOps и эксплуатации серверов.
В разделе публикуются материалы по:
Здесь собраны практические статьи с примерами команд, конфигураций и разбором реальных кейсов из эксплуатации Linux-серверов.