Что такое POSIX и зачем он нужен
POSIX задаёт общий интерфейс операционных систем и помогает создавать переносимые программы и shell-скрипты. Объясняем происхождение стандарта, сертификацию Linux-дистрибутивов и практический смысл POSIX Shell.
BashDays / инженерное медиа
Статьи об администрировании Linux, инфраструктуре, информационной безопасности, автоматизации и разработке — с реальными примерами и без пересказа документации.
Главная статья
POSIX задаёт общий интерфейс операционных систем и помогает создавать переносимые программы и shell-скрипты. Объясняем происхождение стандарта, сертификацию Linux-дистрибутивов и практический смысл POSIX Shell.
Форум Bashdays
Читают сейчас
POSIX задаёт общий интерфейс операционных систем и помогает создавать переносимые программы и shell-скрипты. Объясняем происхождение стандарта, …
Cloudflare Tunnel публикует домашние виртуальные машины и self-hosted-сервисы без белого IP, проброса портов и сложной настройки NAT. Разбираем …
Обычный gzip использует одно ядро, а pigz распараллеливает сжатие и заметно ускоряет архивирование. Сравниваем время на файле 10 ГБ и подключаем pigz …
Переводим десятичную маску 255.255.255.192 в CIDR-префикс /26 без ipcalc и интернета. Простая мнемоника помогает посчитать единицы или нули в двоичной …
Модуль Acme::EyeDrops превращает Perl-программу в ASCII-арт, который остаётся исполняемым кодом. Показываем запуск такого файла и обратное …
Веб-генератор ansicodes помогает мышкой подобрать цвет, фон и стиль терминального текста, а затем получить готовую ANSI-последовательность. …
Компактное решение задачи о восьми ферзях перебором восьмеричных чисел в AWK. Разбираем проверку перестановок без повторений, преобразование цифр в …
Nginx Proxy Manager предоставляет веб-интерфейс для reverse proxy, TLS-сертификатов Let's Encrypt, wildcard DNS Challenge и списков доступа. Сервис …
DevToys объединяет более тридцати офлайн-инструментов для JSON, YAML, JWT, Base64, cron, SQL, XML, хешей и изображений. Есть графическая, портативная …
Atuin заменяет стандартный поиск Ctrl+R, хранит историю shell-команд в SQLite и синхронизирует её между компьютерами. Рассматриваем шифрование, …
Концепт второго фактора для SSH без стороннего сервиса аутентификации. Shell-скрипт после входа выдаёт код, уведомляет администратора, проверяет ответ …
Жёсткий авторский взгляд на отпуск, нелюбимую работу и ожидание волшебной перезагрузки. Почему отдых не устраняет причины выгорания и какую роль …
После обновления конфигурации операции в 1С на PostgreSQL замедлились в несколько раз, тогда как MS SQL работает нормально. Разбираем исходные …
Простой самописный мониторинг через journalctl, logger и cron без связки Prometheus, Grafana и Alertmanager. Bash-скрипты считают события за заданный …
Команда ps с полем lstart показывает точную временную метку запуска процесса. На примере Firefox объединяем ps, pgrep и find -newermt, чтобы находить …
Авторский рассказ о стрессе SRE-инженера во время серьёзной аварии и о том, как опыт меняет реакцию на хаос. Почему пауза, спокойное принятие ситуации …
Разбираем изоляцию CPU-ядер параметрами isolcpus, nohz_full, rcu_nocbs и irqaffinity. Практический случай с taskset, irqbalance, NUMA и разделением …
Две задачи на самый короткий Bash-код: вывести таблицу умножения и нарисовать шахматную доску в терминале. Авторские решения используют brace …
Как разрешить пользователю без пароля перезапускать только PostgreSQL, службы 1С и сервер через sudoers. Практический пример NOPASSWD и разбор …
Эксперимент с XOR-преобразованием слова Linux в PURID и обратно. Разбираем Bash brace expansion, систему счисления по основанию 64, printf, echo и …
Разбираем, как условно добавлять параметр --platform linux/arm64 в Docker-команду внутри pipeline. Сравниваем Bash-конструкцию [[ ]] и …
Сравниваем три способа получить уникальные строки файла: sort с uniq, ассоциативный массив в awk и чистый Bash. Готовый скрипт показывает одинаковый …
Эмоциональный разбор эксплуатации self-hosted GitLab: частые обновления, ручные миграции, переход через промежуточные версии и риск поломки pipeline. …
Настраиваем Cleanup Policies в GitLab Container Registry: расписание очистки, защищённые теги, регулярные выражения и возраст образов. Дополнительно …
Объединяем несколько команд деплоя в одну SSH-сессию внутри GitLab CI pipeline. Многострочный YAML-блок с heredoc снижает риск упереться в MaxSessions …
SPF Surveyor показывает, сколько DNS-запросов требует почтовая SPF-запись и укладывается ли она в лимит 10 lookup. На реальном примере разбираем …
Авторская рекомендация DevOps-инженера с акцентом на самостоятельность, глубокий troubleshooting, документацию и умение быстро осваивать технологии. В …
Добавляем анимированный фон в Windows Terminal и раскрашиваем вывод команд с помощью lolcat. В материале есть параметры backgroundImage для WSL, набор …
Binsider — TUI-инструмент на Rust для статического и динамического анализа ELF-бинарников. Он показывает секции, сегменты, символы, релокации и …
Утилита tee одновременно показывает вывод команды на экране и записывает его в файл, а script сохраняет всю терминальную сессию. Разбираем простые …
Размышление о материальных желаниях, ожиданиях от Нового года и привычке рассчитывать на себя. Почему иногда лучший подарок — самостоятельно закрыть …
Два варианта таймера обратного отсчёта на Bash: с ведущим нулём через tput и упрощённый цикл с управляющими последовательностями терминала. Разбираем …
Perl-скрипт автоматически нумерует системные вызовы в выводе strace и упрощает подготовку инъекций. Разбираем запуск через -o, цветовую подсветку, …
Почему usermod -L блокирует пароль, но не закрывает вход по SSH-ключу, а nologin иногда оставляет доступ через SFTP. Сравниваем /usr/sbin/nologin и …
Простой способ перестать путать команды chmod и chown через понятные смысловые якоря. Разбираем, как связать owner с владельцем, mode с режимом …
В Debian 13 привычные команды last и lastb могут отсутствовать, но историю успешных и неудачных SSH-входов можно собрать через journalctl и gawk. …
Map of GitHub превращает более 400 тысяч открытых репозиториев в интерактивную карту языков, технологий и фреймворков. Разбираемся, как устроены …
Bash-скрипт для автоматического создания дампов PostgreSQL через pg_dump, логирования результата и отправки уведомлений в Telegram. Дополнительно …
Чем отличаются source script.sh, . script.sh и ./script.sh в Bash. На примерах разбираем текущую оболочку, локальные и экспортированные переменные, …
CRIMS0NH4T автоматизирует рутинную настройку Fedora после чистой установки: DNF, RPM Fusion, кодеки, GPU-драйверы и оптимизацию GNOME. Разбираем …
Пятиминутка стабильности
Из логов айтишной жизни
xxx: доставку щас делают бесконтактную, да и продукты - в упаковках yyy: А в упаковку их робот в перчатках укладывал?))) zzz: Ну тогда тебе один выход - вообще не есть, пока эпидемия не закончится. Заодно туалетную бумагу сэкономишь.
POSIX задаёт общий интерфейс операционных систем и помогает создавать переносимые программы и shell-скрипты. Объясняем происхождение стандарта, сертификацию Linux-дистрибутивов и практический смысл POSIX Shell.
Обычный gzip использует одно ядро, а pigz распараллеливает сжатие и заметно ускоряет архивирование. Сравниваем время на файле 10 ГБ и подключаем pigz к tar через pipe и --use-compress-program.
Переводим десятичную маску 255.255.255.192 в CIDR-префикс /26 без ipcalc и интернета. Простая мнемоника помогает посчитать единицы или нули в двоичной записи последнего октета.
Модуль Acme::EyeDrops превращает Perl-программу в ASCII-арт, который остаётся исполняемым кодом. Показываем запуск такого файла и обратное преобразование через B::Deparse.
Веб-генератор ansicodes помогает мышкой подобрать цвет, фон и стиль терминального текста, а затем получить готовую ANSI-последовательность. Рассматриваем self-hosted-вариант, CLI-альтернативу и обязательный флаг --no-color.
Компактное решение задачи о восьми ферзях перебором восьмеричных чисел в AWK. Разбираем проверку перестановок без повторений, преобразование цифр в массив и контроль диагоналей.
Концепт второго фактора для SSH без стороннего сервиса аутентификации. Shell-скрипт после входа выдаёт код, уведомляет администратора, проверяет ответ через почту или Telegram и передаёт управление Bash.
После обновления конфигурации операции в 1С на PostgreSQL замедлились в несколько раз, тогда как MS SQL работает нормально. Разбираем исходные наблюдения, ограничения связки 1С с Linux и вопросы для диагностики.
Простой самописный мониторинг через journalctl, logger и cron без связки Prometheus, Grafana и Alertmanager. Bash-скрипты считают события за заданный интервал и запускают полезную нагрузку при превышении порога.
Команда ps с полем lstart показывает точную временную метку запуска процесса. На примере Firefox объединяем ps, pgrep и find -newermt, чтобы находить файлы, изменённые после старта программы.
Разбираем изоляцию CPU-ядер параметрами isolcpus, nohz_full, rcu_nocbs и irqaffinity. Практический случай с taskset, irqbalance, NUMA и разделением нагрузки между сетевыми прерываниями и Nginx.
Две задачи на самый короткий Bash-код: вывести таблицу умножения и нарисовать шахматную доску в терминале. Авторские решения используют brace expansion, арифметику, printf и ANSI-последовательности.
Как разрешить пользователю без пароля перезапускать только PostgreSQL, службы 1С и сервер через sudoers. Практический пример NOPASSWD и разбор аварийного восстановления после ошибки в конфигурации sudo.
Эксперимент с XOR-преобразованием слова Linux в PURID и обратно. Разбираем Bash brace expansion, систему счисления по основанию 64, printf, echo и альтернативный вариант на Perl.
Разбираем, как условно добавлять параметр --platform linux/arm64 в Docker-команду внутри pipeline. Сравниваем Bash-конструкцию [[ ]] и POSIX-совместимый вариант с [ ], чтобы один сценарий работал на разных архитектурах.
Cloudflare Tunnel публикует домашние виртуальные машины и self-hosted-сервисы без белого IP, проброса портов и сложной настройки NAT. Разбираем назначение cloudflared, домены, автоматический TLS и варианты применения.
Переводим десятичную маску 255.255.255.192 в CIDR-префикс /26 без ipcalc и интернета. Простая мнемоника помогает посчитать единицы или нули в двоичной записи последнего октета.
Nginx Proxy Manager предоставляет веб-интерфейс для reverse proxy, TLS-сертификатов Let's Encrypt, wildcard DNS Challenge и списков доступа. Сервис быстро разворачивается через Docker Compose и поддерживает пользовательские …
Atuin заменяет стандартный поиск Ctrl+R, хранит историю shell-команд в SQLite и синхронизирует её между компьютерами. Рассматриваем шифрование, фильтры и самостоятельный сервер через Docker Compose.
Авторский рассказ о стрессе SRE-инженера во время серьёзной аварии и о том, как опыт меняет реакцию на хаос. Почему пауза, спокойное принятие ситуации и обдуманное решение полезнее суеты.
Разбираем изоляцию CPU-ядер параметрами isolcpus, nohz_full, rcu_nocbs и irqaffinity. Практический случай с taskset, irqbalance, NUMA и разделением нагрузки между сетевыми прерываниями и Nginx.
Разбираем, как условно добавлять параметр --platform linux/arm64 в Docker-команду внутри pipeline. Сравниваем Bash-конструкцию [[ ]] и POSIX-совместимый вариант с [ ], чтобы один сценарий работал на разных архитектурах.
Эмоциональный разбор эксплуатации self-hosted GitLab: частые обновления, ручные миграции, переход через промежуточные версии и риск поломки pipeline. Почему перед апдейтом приходится поднимать клон сервера и выбирать ночное окно …
Настраиваем Cleanup Policies в GitLab Container Registry: расписание очистки, защищённые теги, регулярные выражения и возраст образов. Дополнительно рассматриваем удаление через UI, API, regclient, docker-gc и …
Объединяем несколько команд деплоя в одну SSH-сессию внутри GitLab CI pipeline. Многострочный YAML-блок с heredoc снижает риск упереться в MaxSessions или Fail2ban и делает сценарий развёртывания читаемее.
SPF Surveyor показывает, сколько DNS-запросов требует почтовая SPF-запись и укладывается ли она в лимит 10 lookup. На реальном примере разбираем результат 36/10, удаление mx и a и проблему вложенных include.
Авторская рекомендация DevOps-инженера с акцентом на самостоятельность, глубокий troubleshooting, документацию и умение быстро осваивать технологии. В стеке кандидата — Ansible, GitLab, Docker, HashiCorp, YAML и CI/CD pipeline.
Bash-скрипт для автоматического создания дампов PostgreSQL через pg_dump, логирования результата и отправки уведомлений в Telegram. Дополнительно настраиваем очистку старых файлов через find и cron.
Разбираем формат обучения в Linux Factory для будущих DevOps-инженеров: более 40 уроков и домашних заданий, Docker, Git, пайплайны, мониторинг и Infrastructure as Code. Внутри — личное наставничество, код-ревью, свободный темп и …
Проверяем из Bash, работает скрипт на хосте или внутри Docker-контейнера. Рассматриваем файл /.dockerenv, проверку процесса kthreadd через /proc/2/status и сохранение изменённого контейнера командой docker commit.
Концепт второго фактора для SSH без стороннего сервиса аутентификации. Shell-скрипт после входа выдаёт код, уведомляет администратора, проверяет ответ через почту или Telegram и передаёт управление Bash.
Как разрешить пользователю без пароля перезапускать только PostgreSQL, службы 1С и сервер через sudoers. Практический пример NOPASSWD и разбор аварийного восстановления после ошибки в конфигурации sudo.
Почему usermod -L блокирует пароль, но не закрывает вход по SSH-ключу, а nologin иногда оставляет доступ через SFTP. Сравниваем /usr/sbin/nologin и /usr/bin/false для полной блокировки пользователя Linux.
В Debian 13 привычные команды last и lastb могут отсутствовать, но историю успешных и неудачных SSH-входов можно собрать через journalctl и gawk. Готовые команды формируют таблицу timestamp, IP и логина, поддерживают фильтр по …
Разбираем fork-бомбу на Bash: как рекурсивный запуск процессов приводит к отказу в обслуживании и почему используется конвейер. Показываем читаемую форму функции и ограничение числа процессов через ulimit и limits.conf.
Обсуждаем компромисс между удобством и защитой приватного SSH-ключа паролем. Разбираем модель угроз, гигиену рабочей станции и ситуации, в которых passphrase действительно снижает риск кражи ключа.
Разбираемся, как последовательности Zero Width Joiner позволяют кодировать данные внутри одного видимого эмодзи или символа Unicode. Рассматриваем онлайн-кодер Paul Butler, устройство кодовых точек, сценарии маркировки утечек и …
Настраиваем отдельный SFTP-сервер MySecureShell поверх OpenSSH и ограничиваем пользователей файловой подсистемой. Разбираем установку в Debian, смену оболочки, конфигурацию, управление скоростью и совместимость с SSHFS и rsync.
Разбираемся, зачем в конфигурации Nginx указывают server_name _ и как обрабатываются запросы с неизвестным Host. Сравниваем соглашение с подчёркиванием и параметр default_server, а также показываем заглушку с кодом 444.
Проверяем Linux-сервер с помощью LinPEAS и ищем ошибки конфигурации, SUID-файлы и другие пути повышения привилегий. Показываем запуск без установки через curl или Python и объясняем, почему скрипту не нужен root.
Знакомимся с vlock для блокировки виртуальной консоли Linux без графического окружения. Разбираем блокировку одной или всех консолей, защиту от SysRq, скринсейверы и риск потерять доступ, если пароль пользователя забыт.
Разбираем, почему перенос SSH с порта 22 редко повышает безопасность и лишь усложняет подключения. Вместо security through obscurity используем SSH-ключи, запрет root-входа, отключение паролей и fail2ban.
Разбираем ошибку `bad ownership or modes` при входе по SSH-ключу и роль параметра `StrictModes`. Показываем безопасную диагностику прав `authorized_keys` и объясняем риски временного отключения проверки.
Разбираем необычные права 330 для каталога Linux и их применение на SFTP-сервере. Показываем, как разрешить запись и удаление файлов, но скрыть список содержимого от пользователей одной учётной записи.
Показываем, как strace может раскрыть пароль пользователя при входе по SSH на скомпрометированном сервере. Разбираем параметры трассировки sshd, формат полученного вывода и риск для систем после захвата root-доступа.
POSIX задаёт общий интерфейс операционных систем и помогает создавать переносимые программы и shell-скрипты. Объясняем происхождение стандарта, сертификацию Linux-дистрибутивов и практический смысл POSIX Shell.
Модуль Acme::EyeDrops превращает Perl-программу в ASCII-арт, который остаётся исполняемым кодом. Показываем запуск такого файла и обратное преобразование через B::Deparse.
Веб-генератор ansicodes помогает мышкой подобрать цвет, фон и стиль терминального текста, а затем получить готовую ANSI-последовательность. Рассматриваем self-hosted-вариант, CLI-альтернативу и обязательный флаг --no-color.
DevToys объединяет более тридцати офлайн-инструментов для JSON, YAML, JWT, Base64, cron, SQL, XML, хешей и изображений. Есть графическая, портативная и CLI-версии для разных операционных систем.
Binsider — TUI-инструмент на Rust для статического и динамического анализа ELF-бинарников. Он показывает секции, сегменты, символы, релокации и hex-дамп, извлекает строки и отслеживает системные вызовы.
Perl-скрипт автоматически нумерует системные вызовы в выводе strace и упрощает подготовку инъекций. Разбираем запуск через -o, цветовую подсветку, подсчёт openat и newfstatat и отделение трассировки stderr от вывода программы.
Map of GitHub превращает более 400 тысяч открытых репозиториев в интерактивную карту языков, технологий и фреймворков. Разбираемся, как устроены виртуальные страны Pythonia и Swiftoria, как генерировались их названия и зачем …
Знакомимся с Shell Script Compiler и превращаем Bash-скрипт в C-код и готовый ELF-бинарник. Разбираем установку shc, команду shc -f, созданные файлы и ограничения переносимости между Linux-системами.
Восстанавливаем логику сборки Docker-образа, когда исходный Dockerfile потерян или недоступен. Используем docker history и ключ --no-trunc, изучаем слои через Dive, извлекаем файлы командой docker cp и проверяем образ с помощью …
Изучаем дерево процессов Linux с помощью pstree и разбираем ключи -c, -p и -a. Показываем объединение одинаковых ветвей, вывод PID и аргументов запуска, а также установку пакета psmisc в разных системах.
Знакомимся с HexSpeak — способом составлять слова из допустимых шестнадцатеричных цифр. Разбираем популярные комбинации, культуру магических чисел и происхождение сигнатуры CAFEBABE в class-файлах Java.
Разбираемся, как последовательности Zero Width Joiner позволяют кодировать данные внутри одного видимого эмодзи или символа Unicode. Рассматриваем онлайн-кодер Paul Butler, устройство кодовых точек, сценарии маркировки утечек и …
Знакомимся с Bash-утилитой Kill Port, которая находит и завершает процесс, занявший указанный TCP-порт. Разбираем сценарий локальной разработки, простую ручную установку, запуск через killport и ограничения для процессов уровня …
Разбираем ошибочную конструкцию while с pgrep, command substitution, test и перенаправлением в файл 0. Упрощаем цикл Bash до проверки кода возврата процесса и объясняем, почему лишние квадратные скобки только запутывают условие.
Устанавливаем редактор Zed в Windows через пакетный менеджер Scoop без многочасовой компиляции из исходников. Настраиваем WSL как встроенный терминал, проверяем плагины, удалённую разработку и подключение ИИ-агентов.
Жёсткий авторский взгляд на отпуск, нелюбимую работу и ожидание волшебной перезагрузки. Почему отдых не устраняет причины выгорания и какую роль играют творческий отпуск, финансовая подушка и нормальный сон.
Авторский рассказ о стрессе SRE-инженера во время серьёзной аварии и о том, как опыт меняет реакцию на хаос. Почему пауза, спокойное принятие ситуации и обдуманное решение полезнее суеты.
Эмоциональный разбор эксплуатации self-hosted GitLab: частые обновления, ручные миграции, переход через промежуточные версии и риск поломки pipeline. Почему перед апдейтом приходится поднимать клон сервера и выбирать ночное окно …
Настраиваем Cleanup Policies в GitLab Container Registry: расписание очистки, защищённые теги, регулярные выражения и возраст образов. Дополнительно рассматриваем удаление через UI, API, regclient, docker-gc и …
Объединяем несколько команд деплоя в одну SSH-сессию внутри GitLab CI pipeline. Многострочный YAML-блок с heredoc снижает риск упереться в MaxSessions или Fail2ban и делает сценарий развёртывания читаемее.
Авторская рекомендация DevOps-инженера с акцентом на самостоятельность, глубокий troubleshooting, документацию и умение быстро осваивать технологии. В стеке кандидата — Ansible, GitLab, Docker, HashiCorp, YAML и CI/CD pipeline.
Размышление о материальных желаниях, ожиданиях от Нового года и привычке рассчитывать на себя. Почему иногда лучший подарок — самостоятельно закрыть свои потребности и порадоваться тому, что уже есть.
Разбираемся, чем в Linux отличаются Clipboard, Primary Selection и внутренний буфер приложения. На практическом примере проверяем копирование и вставку через Ctrl+Shift+C, среднюю кнопку мыши, Ctrl+W и Ctrl+Y.
Условия авторского конкурса технических статей: самостоятельный материал, публикация в формате канала и выбор победителей по реакции аудитории. Главный приз — баланс-борд, дополнительные места получают денежные награды.
Разбираем формат обучения в Linux Factory для будущих DevOps-инженеров: более 40 уроков и домашних заданий, Docker, Git, пайплайны, мониторинг и Infrastructure as Code. Внутри — личное наставничество, код-ревью, свободный темп и …
Краткий FAQ о формате наставничества Linux Factory: разбор резюме, помощь с поиском работы, текстовое общение вместо созвонов и возраст при смене профессии. Объясняем, когда начинается работа над резюме и как устроена рекомендация …
Знакомимся с shfmt — форматтером и синтаксическим анализатором shell-скриптов для POSIX, Bash и mksh. Показываем базовый запуск, перезапись файла ключом -w и применение инструмента перед публикацией кода в открытых репозиториях.
Настраиваем Git-хук pre-commit для автоматической проверки Bash-скриптов через ShellCheck. В качестве бонуса адаптируем тот же подход для Ansible-плейбуков и ansible-lint.
Знакомимся с chezmoi для управления `.bashrc`, `.vimrc`, `.gitconfig` и другими dotfiles на нескольких устройствах. Добавляем и редактируем конфиги, смотрим diff, восстанавливаем файлы и синхронизируем репозиторий через Git.
Разговор о бессмысленных задачах на технических собеседованиях, давлении рекрутеров и праве кандидата требовать проверку по будущей роли. Финансовая подушка и практика интервью помогают спокойнее отказываться от неподходящих …
Nginx Proxy Manager предоставляет веб-интерфейс для reverse proxy, TLS-сертификатов Let's Encrypt, wildcard DNS Challenge и списков доступа. Сервис быстро разворачивается через Docker Compose и поддерживает пользовательские …
DevToys объединяет более тридцати офлайн-инструментов для JSON, YAML, JWT, Base64, cron, SQL, XML, хешей и изображений. Есть графическая, портативная и CLI-версии для разных операционных систем.
Atuin заменяет стандартный поиск Ctrl+R, хранит историю shell-команд в SQLite и синхронизирует её между компьютерами. Рассматриваем шифрование, фильтры и самостоятельный сервер через Docker Compose.
После обновления конфигурации операции в 1С на PostgreSQL замедлились в несколько раз, тогда как MS SQL работает нормально. Разбираем исходные наблюдения, ограничения связки 1С с Linux и вопросы для диагностики.
SPF Surveyor показывает, сколько DNS-запросов требует почтовая SPF-запись и укладывается ли она в лимит 10 lookup. На реальном примере разбираем результат 36/10, удаление mx и a и проблему вложенных include.
Добавляем анимированный фон в Windows Terminal и раскрашиваем вывод команд с помощью lolcat. В материале есть параметры backgroundImage для WSL, набор пиксельных GIF и пример случайной смены фона в Terminology через Fish.
Map of GitHub превращает более 400 тысяч открытых репозиториев в интерактивную карту языков, технологий и фреймворков. Разбираемся, как устроены виртуальные страны Pythonia и Swiftoria, как генерировались их названия и зачем …
Тестируем платформу Terminator с бесплатными сессиями Debian 12 и Windows Server 2016 прямо в браузере. Рассматриваем ограничения 15-минутной сессии и сценарии для проверки программ, скриптов, команд и доступности сайтов.
Устанавливаем двухпанельный файловый менеджер FAR в современных дистрибутивах Linux через пакет far2l. Сравниваем его с Midnight Commander, проверяем запуск в WSL и по SSH и вспоминаем эволюцию консольных файловых менеджеров.
Устанавливаем редактор Zed в Windows через пакетный менеджер Scoop без многочасовой компиляции из исходников. Настраиваем WSL как встроенный терминал, проверяем плагины, удалённую разработку и подключение ИИ-агентов.
Используем atool как единый консольный интерфейс для распаковки и создания архивов ZIP, tar.gz, 7z и RAR. Разбираем простые команды извлечения и упаковки, которые избавляют от необходимости помнить синтаксис каждого архиватора.
Сравниваем пакетные менеджеры Snap и APT в Linux. Разбираем переносимость пакетов между дистрибутивами, песочницу, автоматические обновления, зависимости и ситуации, где важнее системная интеграция и производительность.
Ищем одинаковые файлы в Linux с помощью fdupes и удаляем дубликаты в интерактивном или автоматическом режиме. Разбираем ключи `-r`, `-d`, `-N` и сравниваем скорость fdupes с findup и jdupes.
Пошаговый способ зарегистрировать новую учётную запись GitLab из России через постоянный ящик Putsbox и Tor Browser. Разбираем подтверждение почты, повторную верификацию и альтернативу в виде локального GitLab.
Добавляем в чистый Bash автоподсказки и подсветку команд с помощью BLE.sh. Затем устанавливаем oh-my-posh, подключаем темы оформления через профиль оболочки и получаем удобный терминал без Zsh.
Сравниваем вероятность неисправимых ошибок чтения у WD Blue, WD Gold, SAS Toshiba и SSD Micron. Объясняем, почему RAID не всегда защищает от повреждённых данных и как контрольные суммы ZFS помогают обнаруживать ошибки.
Практический опыт подготовки большого самоучителя по Bash сначала в Markdown и Pandoc, а затем в LibreOffice. Разбираем ограничения таблиц, кириллицы, UTF-символов и PDF-вёрстки, которые стали заметны после девятнадцати глав.
Личный опыт постепенного отказа от алкоголя без рекомендаций и универсальных рецептов. Автор рассказывает, какие последствия употребления заставили изменить привычки и почему одна рюмка со временем стала не нужна.
Настраиваем разные правила sshd для пользователей и адресов через блок Match. Рассматриваем парольную аутентификацию последнего шанса, шаблоны условий и проверку итоговой конфигурации командой sshd -T -C.
Показываем, как отфильтровать строки одного текстового файла по списку из другого с помощью конструкции NR == FNR и массива awk. Разбираем работу NR, FNR и next, выбор столбцов и ограничение по памяти без обязательной …
Личный опыт постепенного снижения веса со 130 до 85 килограммов без краткосрочной диеты. Автор рассказывает об изменении питания, размере порций, периодах стабилизации веса и безопасном темпе похудения.
Строим связку из SSH-бастиона и изолированной машины без выхода в интернет для удалённых пользователей. Настраиваем ключи, принудительную оболочку и автоматический переход на внутренний сервер.
Пишем Bash-watchdog, который проверяет доступность интернета и наращивает интервалы попыток восстановления связи. Для физической перезагрузки роутера подключаем недорогое USB-реле и управляем им через последовательный порт.
Сравниваем X11 Forwarding и RDP в Docker для удалённой работы с графическими приложениями на Linux-сервере. Разбираем подключение GPU NVIDIA и AMD, необходимые устройства контейнера и безопасный SSH-туннель.
Разбираем обработку стрелок, Home, End и F1–F12 в интерактивном Bash-скрипте. Функция GET_KEY переводит многобайтные управляющие последовательности терминала в hexadecimal-коды.
Личный опыт снижения веса со 130 до 85 килограммов и его дальнейшего контроля. Ежедневное взвешивание, режим питания и сна, физическая нагрузка и наблюдения о колебаниях веса.
Сценарий отката сетевой конфигурации удалённого Linux-сервера без IPMI и локального администратора. Резервная копия /etc, задание cron после перезагрузки и проверка успешного входа по SSH.
Личный опыт отказа от курения после нескольких неудачных попыток. Автор рассказывает о собственных ошибках, первых тяжёлых месяцах и приёмах, которые использовал в 1998 году.
Автор превращает безвентиляторный Celeron N2840 в домашний роутер и сравнивает pfSense, Debian и IPFire. В материале — проблемы Wi-Fi, реальные замеры iperf3, нагрев корпуса и итог эксперимента.
Знаешь это чувство, когда ждёшь регресс дольше, чем сам работаешь? У меня рантайм был 34 минуты, и две трети времени уходило на очистку QA-стенда. Решение пришло через Docker и Testcontainers — теперь тесты летят за 14 минут, а …
Навигация по знаниям
Скрипты, однострочники, awk, cron, mapfile и практическая автоматизация рутины.
→ DevOps и рабочие процессыCI/CD, инфраструктура, Ansible, пайплайны, рабочие практики и инженерная рутина.
→ Docker, Podman и контейнерыВсе про контейнеры: Docker, Podman, сборки, окружение, управление и смежные инструменты.
→ Linux и администрированиеСистемное администрирование Linux, диагностика, утилиты, права, systemd, файловые системы и сеть.
→
Загружаем свежие комментарии…