Чем vi отличается от vim
Vim расшифровывается как Vi Improved и расширяет классический vi подсветкой синтаксиса, визуальным режимом и другими возможностями. Перед сравнением важно проверить, не запускает ли команда vi тот же Vim.
BashDays / инженерное медиа
Статьи об администрировании Linux, инфраструктуре, информационной безопасности, автоматизации и разработке — с реальными примерами и без пересказа документации.
Главная статья
Vim расшифровывается как Vi Improved и расширяет классический vi подсветкой синтаксиса, визуальным режимом и другими возможностями. Перед сравнением важно проверить, не запускает ли команда vi тот же Vim.
Форум Bashdays
Читают сейчас
Vim расшифровывается как Vi Improved и расширяет классический vi подсветкой синтаксиса, визуальным режимом и другими возможностями. Перед сравнением …
Параметр --progress=plain отключает динамическую перерисовку вывода Docker BuildKit и сохраняет весь лог сборки на экране. То же поведение можно …
Один символ @ в конфигурации rsyslog отправляет сообщения по UDP, а два символа переключают передачу на TCP. Разбираемся, чем отличаются эти варианты …
Утилита tac из GNU coreutils читает файл или стандартный ввод снизу вверх. На коротких примерах показываем обратный вывод строк и работу с …
Команда runuser запускает процесс от имени другого пользователя без запроса пароля, когда вызывающий процесс уже обладает правами root. Это делает её …
Автоматический отступ mcedit может превращать вставленный конфиг в лесенку из пробелов и табов. Показываем, какую настройку Midnight Commander …
Небольшой Bash-скрипт перебирает слова из текстового файла, вычисляет длину каждого и сохраняет самый длинный вариант. Решение обходится без awk, sed …
В Bash нет отдельной переменной OFS, но первый символ IFS становится разделителем для параметров внутри "$*". Пример показывает, как собрать …
Два однострочника на Bash читают пароль без отображения символов и печатают звёздочки вместо введённого текста. Второй вариант дополнительно …
Пакет angie-console-light добавляет веб-панель со статистикой HTTP, TCP, DNS и кешей Angie. Показываем установку пакета, конфигурацию location и …
История аварии MySQL после ручного удаления файлов из var/mysql без остановки базы. Разбираемся, почему ibdata1 нельзя принимать за обычный лог и как …
Два инструмента показывают текущую раскладку рядом с текстовым или мышиным курсором. Cursor Layout Indicator работает в Obsidian, а niri-layout-cursor …
Однострочник для автоматического обновления Debian или Ubuntu и перезагрузки только при появлении /var/run/reboot-required. Подход пригодится в …
Две встроенные опции Bash упрощают навигацию по каталогам: cdspell исправляет небольшие ошибки в путях, а autocd позволяет переходить в директорию без …
Tower Networking Inc. предлагает примерить роль инженера небольшого интернет-провайдера: прокладывать кабели, настраивать сетевое оборудование и …
Расширение параметров Bash позволяет удалять префиксы и суффиксы, получать подстроки и выполнять замены без внешних утилит. Разбираем несколько …
HSTR превращает историю команд Bash и Zsh в интерактивный список с удобной фильтрацией. Вместо многократного Ctrl-R можно ввести часть запроса, …
Dedockify анализирует историю Docker-образа и формирует приближённый Dockerfile, сокращая ручную работу при реверсе контейнеров. Показываем запуск …
WatchYourLAN сканирует локальную сеть, показывает найденные устройства в веб-интерфейсе и сообщает о новых подключениях. Утилиту можно запустить в …
inotify-tools позволяет в реальном времени увидеть, где приложение создаёт неизвестный файл. На практическом примере отслеживаем события каталога …
Одна команда strace показывает файлы, которые программа открывает в домашнем каталоге. Практический приём помогает отлаживать приложения, находить …
Dockge предлагает простой веб-интерфейс для управления Docker Compose без перегруженности Portainer. В материале — возможности проекта, готовый …
После клонирования Linux-машин DHCP может выдавать копиям тот же IP-адрес, что и донору. Показываем, как заменить MAC-адрес, пересоздать machine-id и …
ncdu помогает быстро найти каталоги и файлы, занявшие дисковое пространство на Linux-сервере. Разбираем запуск утилиты, навигацию по дереву размеров, …
Suicide Linux запускается в Docker с корнем хоста и удаляет систему после первой ошибочной команды. Опасный эксперимент допустим только в одноразовой …
Тестовая админка после сохранения формы перенаправила авторизованного менеджера на основной домен. Разбираем, как незаметное переключение окружения …
Bash-скрипт может хранить закодированный Base64 блок после основного кода и читать его через sed, base64 и mapfile. Разбираем компактный …
mytop показывает состояние MySQL в реальном времени прямо в терминале: запросы, потоки, нагрузку и медленные операции. Настройка занимает несколько …
Разбираем, почему значение переменной не сохраняется после while в конвейере Bash, как здесь участвует subshell и как исправить код через process …
Git не хранит полную Unix-маску прав файлов. Показываем два Bash-скрипта: первый сохраняет режимы в permissions.txt, второй восстанавливает их после …
Личный взгляд на переход из найма в предпринимательство: почему привычное планирование перестаёт работать и к какому горизонту приходится готовиться.
GameShell превращает знакомство с Linux и командной строкой в текстовый квест с заданиями, подсказками и историей. Подойдёт начинающим и …
Файл .wslconfig позволяет переопределить процессоры, память, swap и другие параметры виртуальной машины WSL2. Показываем минимальный пример и ссылку …
Разбираем два шуточных сервиса, которые превращают обычный URL в нарочито длинную ссылку, и даём прямые ссылки на их исходный код.
Команды stty и tput позволяют отключить эхо клавиатуры и скрыть курсор во время работы Bash-скрипта. Добавляем trap, чтобы терминал корректно …
Онлайн-форматер превращает длинную однострочную Bash-команду в читаемый многострочный вариант с переносами и отступами. Инструмент пригодится для …
Сравниваем циклы for и while при чтении файла в Bash и выясняем, почему вложенный read забирает строки из stdin. Наглядный скрипт показывает разницу …
Почему в новых Git-репозиториях ветка по умолчанию часто называется main, а не master. Коротко разбираемся в происхождении изменения и причине ошибок …
PutsBox создаёт временные почтовые ящики для ручных и автоматизированных тестов. Письма доступны как text, HTML и JSON, а сервис интегрируется с …
UpSnap даёт веб-интерфейс для включения домашних серверов по Wake-on-LAN и показывает устройства, адреса и сервисы. Приводим минимальный Docker …
Пятиминутка стабильности
Из логов айтишной жизни
[MetaLLmaN]: мой интернет идет ко мне из эстонии [MetaLLmaN]: под землей [MetaLLmaN]: и сам копает
Vim расшифровывается как Vi Improved и расширяет классический vi подсветкой синтаксиса, визуальным режимом и другими возможностями. Перед сравнением важно проверить, не запускает ли команда vi тот же Vim.
Один символ @ в конфигурации rsyslog отправляет сообщения по UDP, а два символа переключают передачу на TCP. Разбираемся, чем отличаются эти варианты и когда надёжность доставки логов важнее скорости.
Утилита tac из GNU coreutils читает файл или стандартный ввод снизу вверх. На коротких примерах показываем обратный вывод строк и работу с пользовательским разделителем.
Команда runuser запускает процесс от имени другого пользователя без запроса пароля, когда вызывающий процесс уже обладает правами root. Это делает её удобной для системных скриптов, cron-задач и служб.
Автоматический отступ mcedit может превращать вставленный конфиг в лесенку из пробелов и табов. Показываем, какую настройку Midnight Commander отключить, чтобы текст вставлялся без искажения отступов.
Небольшой Bash-скрипт перебирает слова из текстового файла, вычисляет длину каждого и сохраняет самый длинный вариант. Решение обходится без awk, sed и других внешних утилит.
В Bash нет отдельной переменной OFS, но первый символ IFS становится разделителем для параметров внутри "$*". Пример показывает, как собрать CSV-строку и почему команда set меняет позиционные параметры текущей оболочки.
Два однострочника на Bash читают пароль без отображения символов и печатают звёздочки вместо введённого текста. Второй вариант дополнительно поддерживает удаление символов клавишей Backspace.
Два инструмента показывают текущую раскладку рядом с текстовым или мышиным курсором. Cursor Layout Indicator работает в Obsidian, а niri-layout-cursor переносит индикатор на всю сессию Niri.
Однострочник для автоматического обновления Debian или Ubuntu и перезагрузки только при появлении /var/run/reboot-required. Подход пригодится в самописных установочных скриптах без Ansible и Puppet.
Две встроенные опции Bash упрощают навигацию по каталогам: cdspell исправляет небольшие ошибки в путях, а autocd позволяет переходить в директорию без команды cd. Показываем работу обеих функций на коротких примерах.
Расширение параметров Bash позволяет удалять префиксы и суффиксы, получать подстроки и выполнять замены без внешних утилит. Разбираем несколько коротких примеров и сохраняем полезную шпаргалку по синтаксису оболочки.
HSTR превращает историю команд Bash и Zsh в интерактивный список с удобной фильтрацией. Вместо многократного Ctrl-R можно ввести часть запроса, выбрать нужную команду стрелками и сразу вернуть её в терминал.
inotify-tools позволяет в реальном времени увидеть, где приложение создаёт неизвестный файл. На практическом примере отслеживаем события каталога рекурсивно, находим выгрузку и разбираемся, когда пригодится incrond.
Одна команда strace показывает файлы, которые программа открывает в домашнем каталоге. Практический приём помогает отлаживать приложения, находить используемые конфиги и при необходимости отслеживать операции записи.
Параметр --progress=plain отключает динамическую перерисовку вывода Docker BuildKit и сохраняет весь лог сборки на экране. То же поведение можно включить переменной окружения BUILDKIT_PROGRESS.
Пакет angie-console-light добавляет веб-панель со статистикой HTTP, TCP, DNS и кешей Angie. Показываем установку пакета, конфигурацию location и обязательную защиту страницы через Basic Auth.
История аварии MySQL после ручного удаления файлов из var/mysql без остановки базы. Разбираемся, почему ibdata1 нельзя принимать за обычный лог и как подобные действия превращают пятничный вечер в восстановление продакшена.
Tower Networking Inc. предлагает примерить роль инженера небольшого интернет-провайдера: прокладывать кабели, настраивать сетевое оборудование и обслуживать жильцов. Бесплатная демоверсия доступна в Steam и подходит для знакомства …
Dedockify анализирует историю Docker-образа и формирует приближённый Dockerfile, сокращая ручную работу при реверсе контейнеров. Показываем запуск через Docker и удобный alias для повторного использования.
WatchYourLAN сканирует локальную сеть, показывает найденные устройства в веб-интерфейсе и сообщает о новых подключениях. Утилиту можно запустить в Docker, связать с InfluxDB и Grafana и использовать для домашних сетевых …
Dockge предлагает простой веб-интерфейс для управления Docker Compose без перегруженности Portainer. В материале — возможности проекта, готовый compose-файл, работа с логами, .env и встроенной консолью контейнеров.
После клонирования Linux-машин DHCP может выдавать копиям тот же IP-адрес, что и донору. Показываем, как заменить MAC-адрес, пересоздать machine-id и устранить конфликт в сети.
Тестовая админка после сохранения формы перенаправила авторизованного менеджера на основной домен. Разбираем, как незаметное переключение окружения привело к действиям на проде.
Файл .wslconfig позволяет переопределить процессоры, память, swap и другие параметры виртуальной машины WSL2. Показываем минимальный пример и ссылку на полный список настроек.
UpSnap даёт веб-интерфейс для включения домашних серверов по Wake-on-LAN и показывает устройства, адреса и сервисы. Приводим минимальный Docker Compose для запуска в host network.
Команда ssh-keygen помогает понять, тот ли приватный SSH-ключ использует GitLab Runner. Получаем MD5-отпечаток, сравниваем его с GitLab или GitHub и исправляем ошибку доступа к приватному репозиторию.
Пошаговая установка однонодового Kubernetes-кластера K3s на одной виртуальной машине с 2 vCPU и 2–4 ГБ RAM. Настраиваем kubectl, запускаем Deployment и Service, разбираем ограничения K3s по сравнению с kubeadm и экономим ресурсы …
Простой способ хранить задания crontab в Git и автоматически раскатывать их на серверы без Ansible или Puppet. Скрипт забирает файл supercron из репозитория и целиком импортирует его в пользовательский crontab.
Uptime Kuma проверяет доступность сайтов, API, ключевые слова в ответах и срок действия SSL-сертификатов. Показываю простой Compose-файл для запуска собственного мониторинга с уведомлениями в Telegram.
Suicide Linux запускается в Docker с корнем хоста и удаляет систему после первой ошибочной команды. Опасный эксперимент допустим только в одноразовой изолированной лаборатории.
Команда ssh-keygen помогает понять, тот ли приватный SSH-ключ использует GitLab Runner. Получаем MD5-отпечаток, сравниваем его с GitLab или GitHub и исправляем ошибку доступа к приватному репозиторию.
PDFLinux запускает Linux прямо внутри PDF в Chromium и Firefox благодаря JavaScript, PDFium и эмулятору RISC-V. Смотрим на необычный эксперимент, его ограничения, исходный код и версию Doom в PDF.
Подключение к чужому SSH-серверу может оставить в его логах не только IP, но и имя локального пользователя. Разбираем простой способ не раскрывать рабочий логин при проверке незнакомых SSH-ссылок.
Vim и Vi могут запустить интерактивную оболочку через команды -c и --cmd. Показываем, почему редактор в белом списке команд способен обойти ограниченную оболочку и открыть путь к повышению привилегий.
Идея двухлогинной схемы для SSH помогает отделить опасный перебор реальных учётных записей от фонового шума. Дополнительная часть логина также может показать, из какой группы произошла утечка.
Vaultwarden умеет хранить ключ аутентификатора и генерировать одноразовые TOTP-коды рядом с логином и паролем. Показываем встроенную возможность на примере двухфакторной аутентификации Gitea.
Разбираемся, как Startpage получает поисковую выдачу Google и Bing, скрывая пользовательский запрос за своим сервисом. Обсуждаем практическую приватность, ограничения стороннего поисковика и альтернативу в виде собственного …
Настраиваем подключение к 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.
История аварии MySQL после ручного удаления файлов из var/mysql без остановки базы. Разбираемся, почему ibdata1 нельзя принимать за обычный лог и как подобные действия превращают пятничный вечер в восстановление продакшена.
Два инструмента показывают текущую раскладку рядом с текстовым или мышиным курсором. Cursor Layout Indicator работает в Obsidian, а niri-layout-cursor переносит индикатор на всю сессию Niri.
Dedockify анализирует историю Docker-образа и формирует приближённый Dockerfile, сокращая ручную работу при реверсе контейнеров. Показываем запуск через Docker и удобный alias для повторного использования.
inotify-tools позволяет в реальном времени увидеть, где приложение создаёт неизвестный файл. На практическом примере отслеживаем события каталога рекурсивно, находим выгрузку и разбираемся, когда пригодится incrond.
Одна команда strace показывает файлы, которые программа открывает в домашнем каталоге. Практический приём помогает отлаживать приложения, находить используемые конфиги и при необходимости отслеживать операции записи.
ncdu помогает быстро найти каталоги и файлы, занявшие дисковое пространство на Linux-сервере. Разбираем запуск утилиты, навигацию по дереву размеров, удаление ненужных данных и установку в популярных системах.
Тестовая админка после сохранения формы перенаправила авторизованного менеджера на основной домен. Разбираем, как незаметное переключение окружения привело к действиям на проде.
Личный взгляд на переход из найма в предпринимательство: почему привычное планирование перестаёт работать и к какому горизонту приходится готовиться.
Почему в новых Git-репозиториях ветка по умолчанию часто называется main, а не master. Коротко разбираемся в происхождении изменения и причине ошибок при push по старым инструкциям.
PutsBox создаёт временные почтовые ящики для ручных и автоматизированных тестов. Письма доступны как text, HTML и JSON, а сервис интегрируется с Selenium, Capybara и другими инструментами.
Итоги читательского конкурса с картами «Релиз» и тремя победившими комментариями о передаче дел после увольнения. Подсчитаны реакции, определены призовые места и описан порядок отправки подарков.
Результаты технического конкурса Баланс-батл после подсчёта реакций читателей. Победили материалы про File Descriptors и GDB, освобождение места через inode и отправку логов с systemd-cat.
Практический набор команд для генерации HTTP-трафика и нагрузки на процессор, память и диск. Bombardier и stress помогают проверить графики Prometheus, алерты Alertmanager и поведение сервера при нехватке ресурсов.
Практический разбор неизвестного IP-адреса в небольшой локальной сети с 1С. Используем ss, ping, nmap, arp, arping и временное правило iptables, чтобы определить реальное устройство и его пользователя.
Если systemctl не находит ожидаемое имя сервиса, его можно восстановить по истории команд или списку юнитов. На примере PHP-FPM показываем быстрый поиск реального systemd unit без дополнительных утилит.
Антипродуктивная практика «Тюленинг» переворачивает метод Pomodoro: пять минут работы и тридцать минут отдыха. Личный эксперимент показывает, как скука иногда запускает короткий и очень интенсивный рабочий рывок.
Личный опыт перехода на сплит-клавиатуру Phenom после трёх дней работы без запасной мыши и привычной раскладки. Рассказываю про мышечную память, слои RuEn, кейкапы, трекбол и связку с оконным менеджером niri.
Личный опыт айтишника после МРТ, обнаружившего грыжу и протрузию поясничного отдела. Вопросы о ремиссии, ЛФК, укреплении мышц и поиске проверенной практики у людей с похожим опытом.
Жёсткий авторский взгляд на отпуск, нелюбимую работу и ожидание волшебной перезагрузки. Почему отдых не устраняет причины выгорания и какую роль играют творческий отпуск, финансовая подушка и нормальный сон.
Авторский рассказ о стрессе 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 и применение инструмента перед публикацией кода в открытых репозиториях.
Vim расшифровывается как Vi Improved и расширяет классический vi подсветкой синтаксиса, визуальным режимом и другими возможностями. Перед сравнением важно проверить, не запускает ли команда vi тот же Vim.
Один символ @ в конфигурации rsyslog отправляет сообщения по UDP, а два символа переключают передачу на TCP. Разбираемся, чем отличаются эти варианты и когда надёжность доставки логов важнее скорости.
Автоматический отступ mcedit может превращать вставленный конфиг в лесенку из пробелов и табов. Показываем, какую настройку Midnight Commander отключить, чтобы текст вставлялся без искажения отступов.
Пакет angie-console-light добавляет веб-панель со статистикой HTTP, TCP, DNS и кешей Angie. Показываем установку пакета, конфигурацию location и обязательную защиту страницы через Basic Auth.
HSTR превращает историю команд Bash и Zsh в интерактивный список с удобной фильтрацией. Вместо многократного Ctrl-R можно ввести часть запроса, выбрать нужную команду стрелками и сразу вернуть её в терминал.
mytop показывает состояние MySQL в реальном времени прямо в терминале: запросы, потоки, нагрузку и медленные операции. Настройка занимает несколько минут.
Разбираем два шуточных сервиса, которые превращают обычный URL в нарочито длинную ссылку, и даём прямые ссылки на их исходный код.
Онлайн-форматер превращает длинную однострочную Bash-команду в читаемый многострочный вариант с переносами и отступами. Инструмент пригодится для Docker, gcloud и других громоздких консольных конструкций.
PutsBox создаёт временные почтовые ящики для ручных и автоматизированных тестов. Письма доступны как text, HTML и JSON, а сервис интегрируется с Selenium, Capybara и другими инструментами.
Три браузерных генератора помогают собрать приглашение командной строки Bash без ручного изучения параметров PS1, PS2 и PS3. Подборка Bash Prompt Generator, Prompt Gen и EZprompt для быстрой настройки терминала.
Uptime Kuma проверяет доступность сайтов, API, ключевые слова в ответах и срок действия SSL-сертификатов. Показываю простой Compose-файл для запуска собственного мониторинга с уведомлениями в Telegram.
Разбираемся, как Startpage получает поисковую выдачу Google и Bing, скрывая пользовательский запрос за своим сервисом. Обсуждаем практическую приватность, ограничения стороннего поисковика и альтернативу в виде собственного …
Утилита config-file-validator проверяет JSON, YAML, TOML, XML, INI, ENV, HCL и другие конфигурационные форматы прямо из терминала. Показываем установку бинарника, запуск validator и результат проверки файлов.
Настраиваем автоматическое удаление старых резервных копий из S3-совместимого хранилища по протоколу Swift. Показываем команду rclone delete, конфигурацию Selectel, параметр --min-age и очистку пустых каталогов.
Знакомимся с PC Building Simulator 1–2 — симулятором сборки, диагностики и ремонта компьютеров. В игре есть реальные комплектующие десятков брендов, режим карьеры, клиенты и типичные проблемы компьютерной мастерской.
Сравниваем вероятность неисправимых ошибок чтения у 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, файловые системы и сеть.
→
Загружаем свежие комментарии…