BashDays / инженерное медиа

Linux и DevOps на практике — медиа для IT-инженеров

Статьи об администрировании Linux, инфраструктуре, информационной безопасности, автоматизации и разработке — с реальными примерами и без пересказа документации.

Mastodon
Загрузка живой ленты…
linux

Чем BSD в OPNsense отличается от Linux

Личный опыт переноса shell-скрипта с Linux на OPNsense и BSD. Разбираем различия csh и sh, перенос строк, особенности date и awk, отсутствие /dev/shm и набор консольных редакторов.

Свежие комментарии

Все обсуждения ↗

Загружаем свежие комментарии…

ИТ-юмор

Смотреть все →

Цитатник

Все цитаты →

ххх: Нет, он не захочет со мной встречаться, инфа 100%. yyy: Вай? ххх: Он вчера зашел в Нет с моего айфона. А там последние запросы: "оператор switch c++", "ницще ecce homo epub скачать", "планарность графов" и контрольное "как сварить яйцо всмятку".

Linux и администрирование

Смотреть всё →
linux

Чем BSD в OPNsense отличается от Linux

Личный опыт переноса shell-скрипта с Linux на OPNsense и BSD. Разбираем различия csh и sh, перенос строк, особенности date и awk, отсутствие /dev/shm и набор консольных редакторов.

linux

Как файловый менеджер определяет тип файла

Проверяем через strace, как Nautilus определяет тип файла по расширению или содержимому. Создаём файл с сигнатурой BZ2, наблюдаем системные вызовы openat и read, а затем сравниваем поведение после добавления расширения txt.

bash

Как управлять переменными окружения через direnv

Настраиваем direnv для автоматической загрузки и выгрузки переменных окружения при переходе между каталогами проектов. Устанавливаем hook для Bash, разрешаем .envrc и проверяем изоляцию переменной FOO на практике.

DevOps и инфраструктура

Смотреть всё →
linux

Чем BSD в OPNsense отличается от Linux

Личный опыт переноса shell-скрипта с Linux на OPNsense и BSD. Разбираем различия csh и sh, перенос строк, особенности date и awk, отсутствие /dev/shm и набор консольных редакторов.

devops

Почему proxy_pass в Nginx ломает путь к Flask

Разбираем, почему Flask возвращает Not Found при проксировании приложения через location /app в Nginx. На конкретной конфигурации показываем, как завершающий слэш в proxy_pass меняет путь запроса и устраняет ошибку маршрутизации.

devops

Какие команды Git нужны DevOps-инженеру

Практический минимум Git для DevOps-инженера без погружения в редкие команды и сложную теорию. Разбираем clone, pull, commit, push, checkout, ветки и типичный рабочий процесс с GitLab или GitHub.

Безопасность

Смотреть всё →
networks

Как поднять SOCKS-прокси через SSH

Настраиваем личный SOCKS5-прокси через SSH без доступа пользователя к shell и SFTP. Ограничиваем аккаунт в sshd_config, запускаем динамический проброс порта и подключаем Firefox с передачей DNS-запросов через прокси.

linux

doas как минималистичная альтернатива sudo

Знакомимся с doas из OpenBSD как более простой альтернативой sudo. Разбираем установку, правила permit и nopass, доступ для пользователей и групп, а также запуск root shell.

security

Как полностью отключить логирование в Linux

Экспериментируем с отключением системных журналов Linux, journald, rsyslog и истории Bash. Материал показывает, где остаются логи, какие побочные эффекты возникают и почему эти приёмы допустимы только в учебной среде.

Разработка и QA

Смотреть всё →
devops

Почему proxy_pass в Nginx ломает путь к Flask

Разбираем, почему Flask возвращает Not Found при проксировании приложения через location /app в Nginx. На конкретной конфигурации показываем, как завершающий слэш в proxy_pass меняет путь запроса и устраняет ошибку маршрутизации.

linux

Как файловый менеджер определяет тип файла

Проверяем через strace, как Nautilus определяет тип файла по расширению или содержимому. Создаём файл с сигнатурой BZ2, наблюдаем системные вызовы openat и read, а затем сравниваем поведение после добавления расширения txt.

debug

Почему chmod 777 в PHP превращается в 01411

Разбираем странные права 01411 после вызова chmod в PHP и доказываем источник ошибки через strace. На примерах показываем разницу между десятичным 777, строкой и корректным восьмеричным значением 0777.

Карьера и айтишная жизнь

Смотреть всё →
devops

Какие команды Git нужны DevOps-инженеру

Практический минимум Git для DevOps-инженера без погружения в редкие команды и сложную теорию. Разбираем clone, pull, commit, push, checkout, ветки и типичный рабочий процесс с GitLab или GitHub.

bash

Как управлять переменными окружения через direnv

Настраиваем direnv для автоматической загрузки и выгрузки переменных окружения при переходе между каталогами проектов. Устанавливаем hook для Bash, разрешаем .envrc и проверяем изоляцию переменной FOO на практике.

soft

Как перейти с VS Code на Vim

Личный взгляд на переход с VS Code на Vim без толстых книг и бесконечных тренажёров. Почему реальная работа, возникающие вопросы и постепенная настройка редактора дают больше, чем изучение Vim в отрыве от практики.

Инструменты

Смотреть всё →
soft

Как перейти с VS Code на Vim

Личный взгляд на переход с VS Code на Vim без толстых книг и бесконечных тренажёров. Почему реальная работа, возникающие вопросы и постепенная настройка редактора дают больше, чем изучение Vim в отрыве от практики.

soft

Taskwarrior для задач прямо в терминале

Знакомимся с консольным таск-трекером Taskwarrior и собираем минимальную систему личных задач без тяжёлого интерфейса. Добавляем и закрываем задачи, делим их на домашний и рабочий проекты, создаём алиасы и намечаем синхронизацию …

soft

Vim с педалью для переключения режимов

Проект Vim Clutch превращает ножную педаль в переключатель между режимом вставки и обычным режимом Vim. Смотрим на необычный способ освободить руки и ускорить работу в редакторе.

Авторские колонки

Все материалы →
devops

Почему серверные диски надёжнее обычных

Сравниваем вероятность неисправимых ошибок чтения у WD Blue, WD Gold, SAS Toshiba и SSD Micron. Объясняем, почему RAID не всегда защищает от повреждённых данных и как контрольные суммы ZFS помогают обнаруживать ошибки.

bash

Почему самоучитель по Bash не получился в Markdown

Практический опыт подготовки большого самоучителя по Bash сначала в Markdown и Pandoc, а затем в LibreOffice. Разбираем ограничения таблиц, кириллицы, UTF-символов и PDF-вёрстки, которые стали заметны после девятнадцати глав.

workflow

Как я полностью отказался от алкоголя

Личный опыт постепенного отказа от алкоголя без рекомендаций и универсальных рецептов. Автор рассказывает, какие последствия употребления заставили изменить привычки и почему одна рюмка со временем стала не нужна.

Подборки редакции

Все подборки →