Чем export отличается от переменной Bash
Показываем разницу между обычной переменной Bash и переменной окружения, объявленной через export. Проверяем наследование в подпроцессах и разбираем обходной способ передачи массивов через строку.
Фото: Markus Spiske / Pexels
← Все темы
Статьи о Linux: настройка серверов, оптимизация систем, администрирование и лучшие практики для DevOps инженеров.
Показываем разницу между обычной переменной Bash и переменной окружения, объявленной через export. Проверяем наследование в подпроцессах и разбираем обходной способ передачи массивов через строку.
Контролируем появление новых связок IP и MAC в сетях DMZ и LAN на OPNsense. Скрипты csh и awk сравнивают ARP-таблицу со справочником и отправляют уведомление в Telegram без раскрытия инфраструктуры.
Устанавливаем корневой и подчинённый сертификаты Минцифры в Ubuntu одной shell-командой. Проверяем subject, SHA-1 fingerprint и цепочку OpenSSL, обновляем системное хранилище CA и тестируем HTTPS через curl.
Разбираем числовой errno из лога MySQL с помощью штатной утилиты perror. На примере ошибки 24 находим лимит открытых файлов и проверяем open_files_limit, ulimit и системные ограничения.
Исследуем генератор псевдослучайных чисел RANDOM в Bash на примере безопасной русской рулетки. Разбираем seed, влияние BASH_COMPAT и различия поведения между версиями оболочки.
Отключаем zswap через параметры GRUB и настраиваем сжатие оперативной памяти с помощью zram. Показываем Bash-скрипт и конфигурацию systemd-zram-generator с алгоритмом lz4.
Создаём cgroup для процесса и запрещаем ему использовать swap, не отключая подкачку для всей системы. Разбираем cgcreate, cgclassify, memory.swap.max, OOM и восстановление настроек через systemd.
Разбираем встроенную команду enable в Bash: отключаем shell builtin, переключаемся на дисковую утилиту и загружаем расширения оболочки. Показываем работу с test, mkdir и BASH_LOADABLES_PATH.
Настраиваем IOMMU и PCI passthrough в Proxmox для передачи физических устройств виртуальным машинам. Разбираем параметры GRUB, модули VFIO, изоляцию GPU и проброс диска по стабильному идентификатору.
Разбираем соответствие символьных, двоичных и восьмеричных прав доступа Linux. Показываем сложение битов rwx, генерацию комбинаций в Bash и просмотр режима файлов через stat.
Создаём зомби-процесс на C и Bash, находим его и родительский PID через ps и разбираем завершение процесса. Объясняем, почему kill по PID зомби не помогает и когда такие записи можно не трогать.
Используем strace с измерением времени системных вызовов, чтобы увидеть блокировку записи в Linux pipe. Разбираем сложную команду и находим скачок задержки после заполнения буфера объёмом 65536 байт.
Linux — основная категория BashDays, посвященная системному администрированию, DevOps и эксплуатации серверов.
В разделе публикуются материалы по:
Здесь собраны практические статьи с примерами команд, конфигураций и разбором реальных кейсов из эксплуатации Linux-серверов.