Эмоджи в именах функций Bash
POSIX ограничивает имена переменных в shell буквами, цифрами и подчёркиванием, но функции Bash допускают более необычные символы. Показываем рабочую функцию с эмоджи в имени и объясняем разницу правил.
BashDays / инженерное медиа
Статьи об администрировании Linux, инфраструктуре, информационной безопасности, автоматизации и разработке — с реальными примерами и без пересказа документации.
Главная статья
POSIX ограничивает имена переменных в shell буквами, цифрами и подчёркиванием, но функции Bash допускают более необычные символы. Показываем рабочую функцию с эмоджи в имени и объясняем разницу правил.
Форум Bashdays
Читают сейчас
POSIX ограничивает имена переменных в shell буквами, цифрами и подчёркиванием, но функции Bash допускают более необычные символы. Показываем рабочую …
Утилита config-file-validator проверяет JSON, YAML, TOML, XML, INI, ENV, HCL и другие конфигурационные форматы прямо из терминала. Показываем …
Продолжение диагностики мини-ПК с Proxmox, который внезапно оживает и снова перестаёт отвечать. Проверяем родной и новый блоки питания, температуру, …
Собрали самые просматриваемые, пересылаемые и обсуждаемые публикации Bashdays за октябрь 2023 года. В подборке Bash, Linux, chroot, strace, VIM, …
Ускоряем установку пакетов APT с помощью eatmydata и сравниваем время переустановки Midnight Commander. Объясняем отключение fsync, fdatasync, flock и …
Меняем видимость приватного проекта GitLab на public или internal. Показываем различия облачного и self-hosted GitLab, настройку Visibility level у …
Разбираемся, почему false | true возвращает статус последней команды, и получаем код каждого этапа Bash-конвейера через массив PIPESTATUS. Показываем …
Проверяем потребление RSS текущего процесса Bash до и после заполнения большой переменной. Эксперимент показывает, как память увеличивается и снова …
Настраиваем подключение к MySQL без передачи логина и пароля в командной строке или Bash-скрипте. Используем файл ~/.my.cnf, секцию client, параметр …
Разбираем syslog facility local0–local7 и отделяем логи приложений от системных сообщений auth, daemon, mail и kern. Показываем пример на Python, …
Сравниваем охлаждение дата-центра и обычного дачного участка через чиллеры, кондиционеры и деревья. История о наборе дачника Selectel, природном free …
Сравниваем встроенную команду false в Bash и отдельный бинарник /usr/bin/false. Объясняем, почему даже параметры --help и --version завершаются с …
Личный опыт второй попытки заменить pfSense на OPNsense на периметровом маршрутизаторе. Рассказываем о стабильности, интерфейсе, трёх DHCP-серверах и …
Настраиваем автоматическое удаление старых резервных копий из S3-совместимого хранилища по протоколу Swift. Показываем команду rclone delete, …
На сервере Minecraft спрятаны сто денежных кодов и десять призов на обучение в Linux Factory. Рассказываем правила поиска, регистрацию, координаты и …
Включаем встроенный режим insults в sudo и настраиваем собственное сообщение badpass_message для неверного пароля. Показываем варианты конфигурации …
Мини-ПК с Proxmox и LXC перестал загружаться после примерно сорока дней непрерывной работы. Описываем симптомы, проверку BIOS и блока питания, …
Пробуем установить Proxmox на Raspberry Pi 5 с помощью Pimox7 и сталкиваемся с несовместимыми зависимостями Perl, Ceph и PVE. Разбираем результат …
Знакомимся с PC Building Simulator 1–2 — симулятором сборки, диагностики и ремонта компьютеров. В игре есть реальные комплектующие десятков брендов, …
Утилита jc преобразует вывод iptables, ls, fstab, ping и других Linux-команд в структурированный JSON. Показываем простой конвейер с jq, доступные …
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 и …
Пятиминутка стабильности
Из логов айтишной жизни
Zibx: купил себе вчера телевизор. брался как здоровый монитор, даже антенну втыкать не буду. так эта зараза тянет рекламу по вайфаю, и показывает её мне в меню.
POSIX ограничивает имена переменных в shell буквами, цифрами и подчёркиванием, но функции Bash допускают более необычные символы. Показываем рабочую функцию с эмоджи в имени и объясняем разницу правил.
Продолжение диагностики мини-ПК с Proxmox, который внезапно оживает и снова перестаёт отвечать. Проверяем родной и новый блоки питания, температуру, защиту и возможное влияние операционной системы.
Собрали самые просматриваемые, пересылаемые и обсуждаемые публикации Bashdays за октябрь 2023 года. В подборке Bash, Linux, chroot, strace, VIM, архиваторы и полезные shell-инструменты.
Ускоряем установку пакетов APT с помощью eatmydata и сравниваем время переустановки Midnight Commander. Объясняем отключение fsync, fdatasync, flock и msync, а также риски для целостности данных.
Разбираемся, почему false | true возвращает статус последней команды, и получаем код каждого этапа Bash-конвейера через массив PIPESTATUS. Показываем примеры для двух и трёх команд.
Проверяем потребление RSS текущего процесса Bash до и после заполнения большой переменной. Эксперимент показывает, как память увеличивается и снова уменьшается без отдельного Garbage Collector.
Настраиваем подключение к MySQL без передачи логина и пароля в командной строке или Bash-скрипте. Используем файл ~/.my.cnf, секцию client, параметр --defaults-file и безопасные права доступа.
Разбираем syslog facility local0–local7 и отделяем логи приложений от системных сообщений auth, daemon, mail и kern. Показываем пример на Python, настройку rsyslog и практическую схему категорий.
Сравниваем встроенную команду false в Bash и отдельный бинарник /usr/bin/false. Объясняем, почему даже параметры --help и --version завершаются с кодом 1 и как проверить тип команды.
Включаем встроенный режим insults в sudo и настраиваем собственное сообщение badpass_message для неверного пароля. Показываем варианты конфигурации sudoers и Bash-скрипт со случайными ответами.
Мини-ПК с Proxmox и LXC перестал загружаться после примерно сорока дней непрерывной работы. Описываем симптомы, проверку BIOS и блока питания, температуру 45–50 градусов и временный возврат на Raspberry Pi 5.
Пробуем установить Proxmox на Raspberry Pi 5 с помощью Pimox7 и сталкиваемся с несовместимыми зависимостями Perl, Ceph и PVE. Разбираем результат эксперимента и оставляем ссылку на рабочую инструкцию.
Утилита jc преобразует вывод iptables, ls, fstab, ping и других Linux-команд в структурированный JSON. Показываем простой конвейер с jq, доступные парсеры и вариант использования jc как Python-модуля.
POSIX задаёт общий интерфейс операционных систем и помогает создавать переносимые программы и shell-скрипты. Объясняем происхождение стандарта, сертификацию Linux-дистрибутивов и практический смысл POSIX Shell.
Обычный gzip использует одно ядро, а pigz распараллеливает сжатие и заметно ускоряет архивирование. Сравниваем время на файле 10 ГБ и подключаем pigz к tar через pipe и --use-compress-program.
Продолжение диагностики мини-ПК с Proxmox, который внезапно оживает и снова перестаёт отвечать. Проверяем родной и новый блоки питания, температуру, защиту и возможное влияние операционной системы.
Ускоряем установку пакетов APT с помощью eatmydata и сравниваем время переустановки Midnight Commander. Объясняем отключение fsync, fdatasync, flock и msync, а также риски для целостности данных.
Меняем видимость приватного проекта GitLab на public или internal. Показываем различия облачного и self-hosted GitLab, настройку Visibility level у группы и разблокировку видимости проекта.
Разбираем syslog facility local0–local7 и отделяем логи приложений от системных сообщений auth, daemon, mail и kern. Показываем пример на Python, настройку rsyslog и практическую схему категорий.
Сравниваем охлаждение дата-центра и обычного дачного участка через чиллеры, кондиционеры и деревья. История о наборе дачника Selectel, природном free cooling и акции по высадке леса.
Личный опыт второй попытки заменить pfSense на OPNsense на периметровом маршрутизаторе. Рассказываем о стабильности, интерфейсе, трёх DHCP-серверах и выборе Dnsmasq для домашней сети.
Настраиваем автоматическое удаление старых резервных копий из S3-совместимого хранилища по протоколу Swift. Показываем команду rclone delete, конфигурацию Selectel, параметр --min-age и очистку пустых каталогов.
На сервере Minecraft спрятаны сто денежных кодов и десять призов на обучение в Linux Factory. Рассказываем правила поиска, регистрацию, координаты и режим работы игрового сервера mc.bashdays.ru.
Мини-ПК с Proxmox и LXC перестал загружаться после примерно сорока дней непрерывной работы. Описываем симптомы, проверку BIOS и блока питания, температуру 45–50 градусов и временный возврат на Raspberry Pi 5.
Пробуем установить Proxmox на Raspberry Pi 5 с помощью Pimox7 и сталкиваемся с несовместимыми зависимостями Perl, Ceph и PVE. Разбираем результат эксперимента и оставляем ссылку на рабочую инструкцию.
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-инженера во время серьёзной аварии и о том, как опыт меняет реакцию на хаос. Почему пауза, спокойное принятие ситуации и обдуманное решение полезнее суеты.
Настраиваем подключение к MySQL без передачи логина и пароля в командной строке или Bash-скрипте. Используем файл ~/.my.cnf, секцию client, параметр --defaults-file и безопасные права доступа.
Включаем встроенный режим insults в sudo и настраиваем собственное сообщение badpass_message для неверного пароля. Показываем варианты конфигурации sudoers и Bash-скрипт со случайными ответами.
Концепт второго фактора для 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` и объясняем риски временного отключения проверки.
Утилита config-file-validator проверяет JSON, YAML, TOML, XML, INI, ENV, HCL и другие конфигурационные форматы прямо из терминала. Показываем установку бинарника, запуск validator и результат проверки файлов.
Меняем видимость приватного проекта GitLab на public или internal. Показываем различия облачного и self-hosted GitLab, настройку Visibility level у группы и разблокировку видимости проекта.
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 и ограничения для процессов уровня …
Жёсткий авторский взгляд на отпуск, нелюбимую работу и ожидание волшебной перезагрузки. Почему отдых не устраняет причины выгорания и какую роль играют творческий отпуск, финансовая подушка и нормальный сон.
Авторский рассказ о стрессе 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.
Разговор о бессмысленных задачах на технических собеседованиях, давлении рекрутеров и праве кандидата требовать проверку по будущей роли. Финансовая подушка и практика интервью помогают спокойнее отказываться от неподходящих …
Утилита config-file-validator проверяет JSON, YAML, TOML, XML, INI, ENV, HCL и другие конфигурационные форматы прямо из терминала. Показываем установку бинарника, запуск validator и результат проверки файлов.
Настраиваем автоматическое удаление старых резервных копий из S3-совместимого хранилища по протоколу Swift. Показываем команду rclone delete, конфигурацию Selectel, параметр --min-age и очистку пустых каталогов.
Знакомимся с PC Building Simulator 1–2 — симулятором сборки, диагностики и ремонта компьютеров. В игре есть реальные комплектующие десятков брендов, режим карьеры, клиенты и типичные проблемы компьютерной мастерской.
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. Разбираем переносимость пакетов между дистрибутивами, песочницу, автоматические обновления, зависимости и ситуации, где важнее системная интеграция и производительность.
Сравниваем вероятность неисправимых ошибок чтения у 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, файловые системы и сеть.
→
Загружаем свежие комментарии…