Linux: информация о системе (system info, uptime, dmidecode)

uptime – маленькая утилита. Показывает Uptime, количество юзеров, load average (1, 5, 15 min).
~$ uptime
 16:18:52 up 14 days, 16:17, 1 user, load average: 0.00, 0.01, 0.05

>> load average 20 bad or good
A load average of 20 is bad if your system has fewer than 20 CPU cores, as it indicates that tasks are waiting for CPU time and the system is likely overloaded.


Читать дальше

Linux/BSD: популярные дистрибутивы (general, network)

  • Корпоративный сегмент: грубо говоря 45% debian (ubuntu+debian+raspbian), 45% rhel (centos+rhel+fedora), 10% остальные
  • Популярные дистрибутивы могут выбирать не самую продолжительную (отличную от Long term support, LTS) по поддержке сборку Linux Kernel для своей работы (напр. Fedora, Ubuntu) – чтобы как можно раньше находить баги с новыми версиями.


Читать дальше

Linux: ядро (kernel), процессы /proc в ОС и работа с ними (proc, ps, lsof, nice, kill, killall, top, lscpu, interrupts, smp irq affinity, isolcpus, taskset, cpuset/cset shield), утилизация процессора (user/system/idle/iowait/softirq)

  • kernel parameters /proc/cmdline (можно редактировать конфигом GRUB)
  • kernel parameters modification /etc/sysctl.conf
  • В Linux все рассматривается как файлы, включая устройства (/dev) и процессы (/proc)
  • Любые изменения в /proc директории немедленно применяются kernel
All changes to files in /proc/ are immediately recognized by the kernel.


Читать дальше

Linux: Docker, conrainerd, container security (hardening)

Basics
  • Container security – три основных риска/угрозы/проблемы
    • плохая конфигурация
    • проблемы runtime
    • цепочки поставок
  • Процессы контейнеров видны на “хостовой” машине в ps -aux
  • Применение bestpractice до/после

  • Установка docker на debian12 требует установку репозитория docker в систему.
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian


Читать дальше

Linux: использование rpm/yum/dnf в CentOS (обновление, установка, удаление приложений)

  • Аналог статьи про Ubuntu, Gentoo
  • (Centos, Ubuntu) PackageKit — открытый и свободный набор приложений для обеспечения высокоуровнего интерфейса для различных пакетных менеджеров. Он используется RHEL в качестве графического интерфейса (по факту нескольких интерфейсов/утилит – add/remove software, package updater, settings) управления пакетами.


Читать дальше

Linux: обновление приложений, ОС и драйверов в UBUNTU/Debian, установка системы

  • Аналог статьи про CentOS
  • Debian 10 в web VM: https://webvm.io/
  • (ubuntu/debian, OS loading) В ubuntu есть lifepatching, который позволяет обновить ядро и systemd без перезагрузки как системы, так и сервисов!
  • (Centos, Ubuntu) PackageKit — открытый и свободный набор приложений для обеспечения высокоуровнего интерфейса для различных пакетных менеджеров.


Читать дальше

Linux: top

Командный режим
top -icbn1
 
Интерактивный режим

Заходим в top, нажимаем

“1” – показывает загрузку по ядрам.

“s” – изменяем интервал обновления/сбора статистики (напр.  уменьшаем c 3 секунд до 0.1).

“M” – сортировка процессов по утилизации RAM

“P” – сортировка процессов по утилизации CPU (processor)

“k” – возможность отправить KILL PID (kill -15 / SIGTERM) находясь в TOP

“t” – показываем в виде статус бара

%Cpu0 : 6.2/12.5 19[||||||||||||||||||| ]
%Cpu1 : 11.8/11.8 24[|||||||||||||||||||||||| ]
%Cpu2 : 13.3/20.0 33[||||||||||||||||||||||||||||||||| ]
%Cpu3 : 25.0/18.8 44[|||||||||||||||||||||||||||||||||||||||||||| ]
 
Поэкранный вывод

top –b – вывод каждые три секунды всего top’a.

Читать дальше

Демонизация приложений, делаем демон приложения systemd в CentOS (Debian), работа с сервисами (sysvinit, systemctl)

  • systemctl (system control) без запущенных аргументов выдает список systemd объектов/UNIT (mount, target, service, socket, timers, etc) запущенных в системе. с флагом —type <UNIT> можно отфильтровать конкретные объекты.
# systemctl
UNIT LOAD ACTIVE SUB DESCRIPTION 
proc-sys-fs-binfmt_misc.automount loaded active waiting Arbitrary Executable File Formats File System Automount Point 
sys-devices-pci0000:00-0000:00:07.1-ata2-host1-target1:0:0-1:0:0:0-block-sr0.device


Читать дальше

Скрипт на событие логина по SSH

Пришла идея создания скрипта для логгирования события подключения по SSH в таблицу SQL и уведомления о подключении определенных пользователей определенным пользователям:
  • писать всем пользователям о подключении их самих – сами пользователи знают, когда заходят и заход тогда, когда ты это делать не мог – есть повод обеспокоиться
  • админу писать о подключении всех пользователей, имеющих права на sudo
В целом логгирование в linux встроено по умолчанию – утилита last показывает полный лог авторизаций с момента создания файла /var/log/wtmp и продолжительность pts, а в lastlog есть информация о последнем подключении.


Читать дальше