Терминальные развлечения с ascii.live и parrot.live
Несколько curl-команд для запуска ASCII-анимаций прямо в терминале и ссылки на исходники parrot.live и ascii-live.
BashDays / инженерное медиа
Статьи об администрировании Linux, инфраструктуре, информационной безопасности, автоматизации и разработке — с реальными примерами и без пересказа документации.
Главная статья
Несколько curl-команд для запуска ASCII-анимаций прямо в терминале и ссылки на исходники parrot.live и ascii-live.
Форум Bashdays
Читают сейчас
Несколько curl-команд для запуска ASCII-анимаций прямо в терминале и ссылки на исходники parrot.live и ascii-live.
История о командной ретроспективе, оценке спринта, пустом бэклоге и отчётности, которая важнее незаметно работающего продакшена.
Собираем бесплатную альтернативу Nginx Plus: Nginx принимает запросы через Unix-сокет, а HAProxy проверяет бэкенды и распределяет трафик.
Разбираем цепочку DOCKER-USER, именованный bridge-интерфейс и правила iptables, которые ограничивают доступ к опубликованным портам контейнера.
Шпаргалка по консольным инструментам Linux для наблюдаемости и отладки: от strace и perf до iostat, ss, tcpdump и анализа дисков.
Три онлайн-редактора для Bash: Rextester, MyCompiler и LeetCode. Можно запускать код, работать с временными файлами и делиться результатом.
Используем filefrag, sync и dd, чтобы найти physical_offset файла, прочитать его напрямую с блочного устройства и проверить удалённые данные.
Собираем ctypes.sh, компилируем разделяемую библиотеку на C и вызываем её функции из Bash через dlopen и dlcall.
Ищем фрагменты удалённого crontab на диске через grep, восстанавливаем задания и добавляем защиту crontab -i и ежедневную резервную копию.
Короткий авторский техномем о Bash, Linux и спокойствии разработчика за терминалом.
Практический Bash-скрипт для отправки текстовых сообщений и файлов пользователю или в групповой чат через MAX Bot API. Разбираем параметры запуска, …
Личный опыт переноса shell-скрипта с Linux на OPNsense и BSD. Разбираем различия csh и sh, перенос строк, особенности date и awk, отсутствие /dev/shm …
Разбираем, почему Flask возвращает Not Found при проксировании приложения через location /app в Nginx. На конкретной конфигурации показываем, как …
Практический минимум Git для DevOps-инженера без погружения в редкие команды и сложную теорию. Разбираем clone, pull, commit, push, checkout, ветки и …
Проверяем через strace, как Nautilus определяет тип файла по расширению или содержимому. Создаём файл с сигнатурой BZ2, наблюдаем системные вызовы …
Настраиваем direnv для автоматической загрузки и выгрузки переменных окружения при переходе между каталогами проектов. Устанавливаем hook для Bash, …
Настраиваем личный SOCKS5-прокси через SSH без доступа пользователя к shell и SFTP. Ограничиваем аккаунт в sshd_config, запускаем динамический проброс …
Личный взгляд на переход с VS Code на Vim без толстых книг и бесконечных тренажёров. Почему реальная работа, возникающие вопросы и постепенная …
Показываем, как убрать у переменной Bash атрибут экспорта, не удаляя её из текущей оболочки. Сравниваем громоздкий вариант с unset и короткие решения …
Автоматизируем повторяющуюся цепочку git add, commit и push с помощью shell-алиаса и встроенных алиасов Git. В статье есть готовая команда с датой …
Разбираемся, зачем создавать файл командой touch перед открытием в Vim, если редактор и так умеет сохранить новый файл. Обсуждаем раннюю проверку прав …
Разбираем Bash-скрипт, который при массовом переименовании незаметно теряет половину файлов. На тестовом наборе показываем поведение mv при совпадении …
Разбираем странные права 01411 после вызова chmod в PHP и доказываем источник ошибки через strace. На примерах показываем разницу между десятичным …
Собираем минимальный конфиг-агент на Bash, который синхронизирует эталонные настройки Nginx из Git. Скрипт с cron, rsync и systemctl автоматически …
Личная практика для снижения стресса, когда задач и обязательств становится слишком много. Автор описывает упражнение с точкой на бумаге, фиксацией …
Практический разбор отладки неизвестного бинарника через strace и инъекцию ошибки EACCES. Показываем, как остановить unlink, сохранить временный файл …
Эксперимент с передачей текстовых сообщений между Bash-процессами через сигналы SIGRTMIN. Сервер и клиент кодируют символы по битам, обрабатывают …
Практическая схема размещения GitLab Runner на отдельных серверах без лишней нагрузки на продакшен. Разбираем общие теги, балансировку заданий, …
Объясняем, почему исполняемый файл из текущего каталога запускают через ./ и как оболочка использует PATH. Разбираем безопасность такого поведения, …
Три практических механизма systemd для задач по расписанию, наблюдения за файлами и запуска сервисов по подключению. Примеры юнитов timer, path и …
Знакомимся с doas из OpenBSD как более простой альтернативой sudo. Разбираем установку, правила permit и nopass, доступ для пользователей и групп, а …
Личный опыт показывает, как непредсказуемые годовые премии влияют на мотивацию и атмосферу в команде. Разбираем, почему прозрачные правила …
История о том, как готовая хостинг-панель сломала отлаженный процесс деплоя и заставила разобраться в Linux глубже. Объясняем, почему консольная …
Показываем три способа установить свежую Ubuntu в WSL: импортировать rootfs из Docker, выполнить dist-upgrade или поставить Ubuntu Preview. Внутри — …
Разбираем жёсткий способ проверить DevOps- или SRE-инженера в условиях контролируемой аварии. Фейковый продакшен, мониторинг, документация и разбор …
Экспериментируем с отключением системных журналов Linux, journald, rsyslog и истории Bash. Материал показывает, где остаются логи, какие побочные …
Авторский разбор собеседований в DevOps: финансовая подушка, подготовка по требованиям вакансии, честные ответы и вопросы работодателю. Отдельно …
Практический взгляд на страх переговоров, выступлений и обычного общения после перехода на удалённую работу. Разбираем, почему одних книг недостаточно …
Разбираем несколько способов отделить имя файла от расширения в Bash без громоздких регулярных выражений. Используем подстановку параметров, basename, …
Объясняем разницу между жёстким путём к интерпретатору и конструкцией /usr/bin/env в shebang. На примерах с Bash, Python, PATH и виртуальным …
Пятиминутка стабильности
Из логов айтишной жизни
qter: БЛЯТЬ! НУ И КТО ПОЛОЖИЛ СЕЛЕДКУ С НОВОГО ГОДА В СИС БЛОК? Я сейчас комп включил, куллеры заработали и комната наполнилась не забываым запахом...((((
Несколько curl-команд для запуска ASCII-анимаций прямо в терминале и ссылки на исходники parrot.live и ascii-live.
Шпаргалка по консольным инструментам Linux для наблюдаемости и отладки: от strace и perf до iostat, ss, tcpdump и анализа дисков.
Три онлайн-редактора для Bash: Rextester, MyCompiler и LeetCode. Можно запускать код, работать с временными файлами и делиться результатом.
Используем filefrag, sync и dd, чтобы найти physical_offset файла, прочитать его напрямую с блочного устройства и проверить удалённые данные.
Собираем ctypes.sh, компилируем разделяемую библиотеку на C и вызываем её функции из Bash через dlopen и dlcall.
Ищем фрагменты удалённого crontab на диске через grep, восстанавливаем задания и добавляем защиту crontab -i и ежедневную резервную копию.
Короткий авторский техномем о Bash, Linux и спокойствии разработчика за терминалом.
Личный опыт переноса shell-скрипта с Linux на OPNsense и BSD. Разбираем различия csh и sh, перенос строк, особенности date и awk, отсутствие /dev/shm и набор консольных редакторов.
Проверяем через strace, как Nautilus определяет тип файла по расширению или содержимому. Создаём файл с сигнатурой BZ2, наблюдаем системные вызовы openat и read, а затем сравниваем поведение после добавления расширения txt.
Настраиваем direnv для автоматической загрузки и выгрузки переменных окружения при переходе между каталогами проектов. Устанавливаем hook для Bash, разрешаем .envrc и проверяем изоляцию переменной FOO на практике.
Показываем, как убрать у переменной Bash атрибут экспорта, не удаляя её из текущей оболочки. Сравниваем громоздкий вариант с unset и короткие решения через typeset, declare и export -n.
Разбираемся, зачем создавать файл командой touch перед открытием в Vim, если редактор и так умеет сохранить новый файл. Обсуждаем раннюю проверку прав на запись, обновление времени модификации и применение touch для lock-файлов и …
Разбираем Bash-скрипт, который при массовом переименовании незаметно теряет половину файлов. На тестовом наборе показываем поведение mv при совпадении имён и используем опцию -b для резервных копий.
Разбираем странные права 01411 после вызова chmod в PHP и доказываем источник ошибки через strace. На примерах показываем разницу между десятичным 777, строкой и корректным восьмеричным значением 0777.
Собираем минимальный конфиг-агент на Bash, который синхронизирует эталонные настройки Nginx из Git. Скрипт с cron, rsync и systemctl автоматически восстанавливает конфиги и перезагружает сервис только при изменениях.
История о командной ретроспективе, оценке спринта, пустом бэклоге и отчётности, которая важнее незаметно работающего продакшена.
Собираем бесплатную альтернативу Nginx Plus: Nginx принимает запросы через Unix-сокет, а HAProxy проверяет бэкенды и распределяет трафик.
Разбираем цепочку DOCKER-USER, именованный bridge-интерфейс и правила iptables, которые ограничивают доступ к опубликованным портам контейнера.
Личный опыт переноса shell-скрипта с Linux на OPNsense и BSD. Разбираем различия csh и sh, перенос строк, особенности date и awk, отсутствие /dev/shm и набор консольных редакторов.
Разбираем, почему Flask возвращает Not Found при проксировании приложения через location /app в Nginx. На конкретной конфигурации показываем, как завершающий слэш в proxy_pass меняет путь запроса и устраняет ошибку маршрутизации.
Практический минимум Git для DevOps-инженера без погружения в редкие команды и сложную теорию. Разбираем clone, pull, commit, push, checkout, ветки и типичный рабочий процесс с GitLab или GitHub.
Настраиваем личный SOCKS5-прокси через SSH без доступа пользователя к shell и SFTP. Ограничиваем аккаунт в sshd_config, запускаем динамический проброс порта и подключаем Firefox с передачей DNS-запросов через прокси.
Автоматизируем повторяющуюся цепочку git add, commit и push с помощью shell-алиаса и встроенных алиасов Git. В статье есть готовая команда с датой коммита и набор сокращений для повседневной работы.
Собираем минимальный конфиг-агент на Bash, который синхронизирует эталонные настройки Nginx из Git. Скрипт с cron, rsync и systemctl автоматически восстанавливает конфиги и перезагружает сервис только при изменениях.
Практическая схема размещения GitLab Runner на отдельных серверах без лишней нагрузки на продакшен. Разбираем общие теги, балансировку заданий, регистрацию нескольких раннеров и деплой по SSH.
Три практических механизма systemd для задач по расписанию, наблюдения за файлами и запуска сервисов по подключению. Примеры юнитов timer, path и socket помогают заменить cron, inotify-tools и постоянно работающие службы.
История о том, как готовая хостинг-панель сломала отлаженный процесс деплоя и заставила разобраться в Linux глубже. Объясняем, почему консольная настройка серверов даёт DevOps-инженеру понимание инфраструктуры, которого не дают …
Разбираем жёсткий способ проверить DevOps- или SRE-инженера в условиях контролируемой аварии. Фейковый продакшен, мониторинг, документация и разбор инцидента показывают, как кандидат действует под давлением.
Авторский разбор собеседований в DevOps: финансовая подушка, подготовка по требованиям вакансии, честные ответы и вопросы работодателю. Отдельно обсуждаем роль HR и причины, по которым сильные кандидаты не доходят до технической …
Авторский взгляд на бас-фактор, внедрение новых инфраструктурных процессов и передачу знаний внутри DevOps-команды. История показывает, как экспертиза даёт влияние и почему документация всё равно остаётся необходимой.
Разбираем цепочку DOCKER-USER, именованный bridge-интерфейс и правила iptables, которые ограничивают доступ к опубликованным портам контейнера.
Настраиваем личный SOCKS5-прокси через SSH без доступа пользователя к shell и SFTP. Ограничиваем аккаунт в sshd_config, запускаем динамический проброс порта и подключаем Firefox с передачей DNS-запросов через прокси.
Знакомимся с doas из OpenBSD как более простой альтернативой sudo. Разбираем установку, правила permit и nopass, доступ для пользователей и групп, а также запуск root shell.
Экспериментируем с отключением системных журналов Linux, journald, rsyslog и истории Bash. Материал показывает, где остаются логи, какие побочные эффекты возникают и почему эти приёмы допустимы только в учебной среде.
Пошагово настраиваем вход на Linux-сервер по SSH-ключу: генерируем пару RSA, восстанавливаем публичную часть, копируем её через ssh-copy-id и выставляем права на authorized_keys. Также разбираем подключение под разными …
Семь практических сценариев восстановления доступа к серверу после потери приватного SSH-ключа. Рассматриваем парольный вход, KVM и IPMI, резервную рабочую машину, Rescue Mode и автоматизацию через Ansible или AWX.
Настраиваем встроенный ACME-клиент Angie для автоматического получения и продления SSL-сертификатов Let’s Encrypt. Устанавливаем веб-сервер, добавляем домен, резервные сертификаты и проверяем конфигурацию без certbot и acme.sh.
Настраиваем собственный центр сертификации SSH, чтобы управлять доступом к сотням серверов без ручного обновления authorized_keys. Разбираем доверие к CA, подпись пользовательских ключей, сроки действия сертификатов и их отзыв.
Настраиваем SSH-вызов от системного пользователя без домашнего каталога и убираем бесконечный запрос подтверждения fingerprint. Выносим known_hosts в общий каталог, заполняем его через ssh-keyscan и подключаем с параметром …
Фраза This content is no longer available в обычном текстовом файле вызывает срабатывание Windows Defender на Trojan:Win32/Casdet!rfn.
Bash-скрипт whitepass генерирует пароль из пробелов и других невидимых символов. Экспериментальная идея и необычная проверка форм авторизации.
grep.app ищет строки кода сразу по миллионам публичных Git-репозиториев и заодно показывает последствия случайной публикации API-ключей и приватных данных. Инструмент полезен для аудита открытого кода и проверки собственных …
Suicide Linux запускается в Docker с корнем хоста и удаляет систему после первой ошибочной команды. Опасный эксперимент допустим только в одноразовой изолированной лаборатории.
Команда ssh-keygen помогает понять, тот ли приватный SSH-ключ использует GitLab Runner. Получаем MD5-отпечаток, сравниваем его с GitLab или GitHub и исправляем ошибку доступа к приватному репозиторию.
PDFLinux запускает Linux прямо внутри PDF в Chromium и Firefox благодаря JavaScript, PDFium и эмулятору RISC-V. Смотрим на необычный эксперимент, его ограничения, исходный код и версию Doom в PDF.
Шпаргалка по консольным инструментам Linux для наблюдаемости и отладки: от strace и perf до iostat, ss, tcpdump и анализа дисков.
Используем filefrag, sync и dd, чтобы найти physical_offset файла, прочитать его напрямую с блочного устройства и проверить удалённые данные.
Собираем ctypes.sh, компилируем разделяемую библиотеку на C и вызываем её функции из Bash через dlopen и dlcall.
Практический Bash-скрипт для отправки текстовых сообщений и файлов пользователю или в групповой чат через MAX Bot API. Разбираем параметры запуска, загрузку вложений, формирование JSON через jq и антифлуд-задержку.
Разбираем, почему Flask возвращает Not Found при проксировании приложения через location /app в Nginx. На конкретной конфигурации показываем, как завершающий слэш в proxy_pass меняет путь запроса и устраняет ошибку маршрутизации.
Проверяем через strace, как Nautilus определяет тип файла по расширению или содержимому. Создаём файл с сигнатурой BZ2, наблюдаем системные вызовы openat и read, а затем сравниваем поведение после добавления расширения txt.
Разбираем странные права 01411 после вызова chmod в PHP и доказываем источник ошибки через strace. На примерах показываем разницу между десятичным 777, строкой и корректным восьмеричным значением 0777.
Практический разбор отладки неизвестного бинарника через strace и инъекцию ошибки EACCES. Показываем, как остановить unlink, сохранить временный файл и найти гонку, из-за которой выгрузка становилась пустой.
Показываем три способа установить свежую Ubuntu в WSL: импортировать rootfs из Docker, выполнить dist-upgrade или поставить Ubuntu Preview. Внутри — команды экспорта контейнера, импорта tar-архива и проверки дистрибутивов.
Собираем намеренно сломанный образ Nginx и последовательно отлаживаем Docker-контейнер, который сразу завершается. Используем docker ps, logs, inspect, exec, cp и dive, чтобы найти ошибку в конфигурации, проверить слои и …
Работающее легаси годами приносит бизнесу деньги, пока амбициозный рефакторинг рискует сам превратиться в новый техдолг. Почему безопаснее развивать новый продукт параллельно старому и не ломать действующую систему.
Автор COLODEBUG предлагает использовать встроенную команду Bash : вместо обычного символа комментария #. Такой приём делает пояснения заметными в трассировке скрипта и помогает при отладке.
Утилита Spacer добавляет заметные разделители между всплесками активности в выводе tail -f. Подключаем её к логам Nginx одной командой и упрощаем быстрый просмотр событий.
Bash Style Guide Дэйва Эдди — короткая выжимка о безопасных, предсказуемых и единообразных shell-скриптах. Руководство можно читать в браузере или прямо в терминале через curl, а основные темы разобраны и в видеороликах YSAP.
История аварии MySQL после ручного удаления файлов из var/mysql без остановки базы. Разбираемся, почему ibdata1 нельзя принимать за обычный лог и как подобные действия превращают пятничный вечер в восстановление продакшена.
История о командной ретроспективе, оценке спринта, пустом бэклоге и отчётности, которая важнее незаметно работающего продакшена.
Короткий авторский техномем о Bash, Linux и спокойствии разработчика за терминалом.
Практический минимум Git для DevOps-инженера без погружения в редкие команды и сложную теорию. Разбираем clone, pull, commit, push, checkout, ветки и типичный рабочий процесс с GitLab или GitHub.
Настраиваем direnv для автоматической загрузки и выгрузки переменных окружения при переходе между каталогами проектов. Устанавливаем hook для Bash, разрешаем .envrc и проверяем изоляцию переменной FOO на практике.
Личный взгляд на переход с VS Code на Vim без толстых книг и бесконечных тренажёров. Почему реальная работа, возникающие вопросы и постепенная настройка редактора дают больше, чем изучение Vim в отрыве от практики.
Автоматизируем повторяющуюся цепочку git add, commit и push с помощью shell-алиаса и встроенных алиасов Git. В статье есть готовая команда с датой коммита и набор сокращений для повседневной работы.
Личная практика для снижения стресса, когда задач и обязательств становится слишком много. Автор описывает упражнение с точкой на бумаге, фиксацией отвлекающих мыслей и последующим отсевом лишнего.
Личный опыт показывает, как непредсказуемые годовые премии влияют на мотивацию и атмосферу в команде. Разбираем, почему прозрачные правила вознаграждения важнее разовых выплат и неопределённых обещаний.
Разбираем жёсткий способ проверить DevOps- или SRE-инженера в условиях контролируемой аварии. Фейковый продакшен, мониторинг, документация и разбор инцидента показывают, как кандидат действует под давлением.
Авторский разбор собеседований в DevOps: финансовая подушка, подготовка по требованиям вакансии, честные ответы и вопросы работодателю. Отдельно обсуждаем роль HR и причины, по которым сильные кандидаты не доходят до технической …
Практический взгляд на страх переговоров, выступлений и обычного общения после перехода на удалённую работу. Разбираем, почему одних книг недостаточно и как регулярная практика помогает вернуть уверенность.
Авторский взгляд на бас-фактор, внедрение новых инфраструктурных процессов и передачу знаний внутри DevOps-команды. История показывает, как экспертиза даёт влияние и почему документация всё равно остаётся необходимой.
Разбираемся, почему пользователи и инженеры сопротивляются изменениям даже тогда, когда новое решение объективно эффективнее. На примерах технологий, продукта и A/B-тестов смотрим, когда статус-кво тормозит развитие, а когда …
История внедрения Kubernetes ради моды на примере корпоративного WordPress: быстрый старт, нестабильная база, инциденты и неизбежная переделка. Разбираем, почему оркестратор нужен не каждому проекту и как практический эксперимент …
Знакомимся с консольным таск-трекером Taskwarrior и собираем минимальную систему личных задач без тяжёлого интерфейса. Добавляем и закрываем задачи, делим их на домашний и рабочий проекты, создаём алиасы и намечаем синхронизацию …
Несколько curl-команд для запуска ASCII-анимаций прямо в терминале и ссылки на исходники parrot.live и ascii-live.
Собираем бесплатную альтернативу Nginx Plus: Nginx принимает запросы через Unix-сокет, а HAProxy проверяет бэкенды и распределяет трафик.
Три онлайн-редактора для Bash: Rextester, MyCompiler и LeetCode. Можно запускать код, работать с временными файлами и делиться результатом.
Личный взгляд на переход с VS Code на Vim без толстых книг и бесконечных тренажёров. Почему реальная работа, возникающие вопросы и постепенная настройка редактора дают больше, чем изучение Vim в отрыве от практики.
Знакомимся с консольным таск-трекером Taskwarrior и собираем минимальную систему личных задач без тяжёлого интерфейса. Добавляем и закрываем задачи, делим их на домашний и рабочий проекты, создаём алиасы и намечаем синхронизацию …
Проект Vim Clutch превращает ножную педаль в переключатель между режимом вставки и обычным режимом Vim. Смотрим на необычный способ освободить руки и ускорить работу в редакторе.
Консольный интерфейс tig помогает просматривать историю Git, состояние репозитория, изменения отдельных блоков и результаты поиска. Утилита устанавливается одной командой и дополняет нативные команды Git.
Утилита Spacer добавляет заметные разделители между всплесками активности в выводе tail -f. Подключаем её к логам Nginx одной командой и упрощаем быстрый просмотр событий.
Комбинация Ctrl+X, Y и имени файла zzy запускает пасхалку в GNU nano. Вероятно, это отсылка к чит-коду xyzzy из Colossal Cave Adventure.
ZType превращает тренировку слепой печати в космическую игру. Есть оригинальная версия и модификация с поддержкой русского языка.
You Are the OS предлагает распределять процессы по процессорам, следить за памятью и отправлять задачи на диск. Браузерная игра на выживание ОС.
Bash-скрипт whitepass генерирует пароль из пробелов и других невидимых символов. Экспериментальная идея и необычная проверка форм авторизации.
ssh_commander выполняет команды по SSH сразу на нескольких серверах и умеет читать инструкции из файла. Подходит для быстрых манипуляций без циклов и Ansible.
Небольшой проект psh показывает исходники командной оболочки на Rust. В репозитории всего около десяти файлов, поэтому код удобно изучать.
Bash-скрипт QEMU-QuickBoot упрощает создание и загрузку виртуальных машин QEMU через графический интерфейс Zenity. Можно выбрать физическое устройство, ISO, VHD или другой образ и запустить установку с BIOS либо UEFI.
Практический Bash-скрипт для отправки текстовых сообщений и файлов пользователю или в групповой чат через MAX Bot API. Разбираем параметры запуска, загрузку вложений, формирование JSON через jq и антифлуд-задержку.
Настраиваем личный SOCKS5-прокси через SSH без доступа пользователя к shell и SFTP. Ограничиваем аккаунт в sshd_config, запускаем динамический проброс порта и подключаем Firefox с передачей DNS-запросов через прокси.
Команды stty и tput позволяют отключить эхо клавиатуры и скрыть курсор во время работы Bash-скрипта. Добавляем trap, чтобы терминал корректно восстановился после выхода или прерывания.
Практический разбор неизвестного IP-адреса в небольшой локальной сети с 1С. Используем ss, ping, nmap, arp, arping и временное правило iptables, чтобы определить реальное устройство и его пользователя.
Идея двухлогинной схемы для SSH помогает отделить опасный перебор реальных учётных записей от фонового шума. Дополнительная часть логина также может показать, из какой группы произошла утечка.
Разбираемся, почему Bash воспринимает 08 как некорректное восьмеричное число и как безопасно получить номер месяца без ведущего нуля. Сравниваем решения через date, арифметику Bash, sed и awk с учётом различий между gawk и mawk.
Добавляем и удаляем задания cron прямо из Bash-скрипта. Используем уникальные комментарии для идентификации строк crontab, функции ADD_CRON_TASK и REMOVE_CRON_TASK, а также учитываем переменную PATH.
Сравниваем вероятность неисправимых ошибок чтения у 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, выбор столбцов и ограничение по памяти без обязательной …
Исследуем тернарный оператор Bash внутри арифметической подсистемы и сравниваем его с классической связкой && и ||. Пример показывает работу восьмеричных значений, вычисление обеих ветвей и неочевидные ошибки сравнения.
Практический опыт запуска XRDP на Debian с окружениями XFCE и LXDE и клиентом xfreerdp. Разбираем установку, удобный alias подключения и проблемы с раскладкой, логами, пользовательскими сессиями и 1С.
Функция uTIME измеряет интервалы выполнения Bash-кода в микросекундах с помощью EPOCHREALTIME. Сравниваем функции в текущей оболочке и subshell, а также преобразование даты через printf и внешнюю команду date.
Навигация по знаниям
Скрипты, однострочники, awk, cron, mapfile и практическая автоматизация рутины.
→ DevOps и рабочие процессыCI/CD, инфраструктура, Ansible, пайплайны, рабочие практики и инженерная рутина.
→ Docker, Podman и контейнерыВсе про контейнеры: Docker, Podman, сборки, окружение, управление и смежные инструменты.
→ Linux и администрированиеСистемное администрирование Linux, диагностика, утилиты, права, systemd, файловые системы и сеть.
→
Загружаем свежие комментарии…