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 Kernel, Security, Coding practices/релизные циклы)
    Интересное из https://portal.linuxtesting.ru/about-linux-kernel.html#main
    • У ядра Linux примерно двухмесячный релизный цикл. Согласно статистике собранной за 10 последних лет, в работе над каждой версией ядра принимает участие более 1600 различных разработчиков, которые делают в среднем 7 изменений в ядро каждый час (непрерывно в течение 10 лет!),
  Читать дальше

Coding, Network: API и методы работы с ним (SOAP, REST, JSON, XML, YAML, TOML, YANG, TOML, protocol buffers/Apache Thrift, graphQL; SWAGGER, WSDL, WADL; restconf, netconf; Cisco PXGRID)

  • В общем про api и методы взаимодействия с ними (rest, yang, soap, xml, json, restconf/netconf, etc) в отдельной статье
  • CLI зачастую >>> всех других методов, пример яндекс со своей «Аннушкой» работает именно поверх CLI
    • Мы про это расскажем в докладах, но нет, cli – как общий знаменатель для всего.

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

Методы установки приложений, компиляция приложений и ядра, библиотеки

  • Через средство управления пакетами ОС (Ubuntu: apt-get, CentOS: yum, Gentoo: emerge). Пакет чаще всего имеет не последнюю версия приложения/компилятора (ruby, phantomjs), но она почти гарантированно stable и легко ставится.
Для установки приложений в среде операционной системы GNU/Linux лучше всего пользоваться средствами управления пакетами вашего дистрибутива.
  Читать дальше

Linux: инструменты компрессии и архивации (zip/gzip/bzip, tar/7zip/7zz)

Задачи архивации и сжатия делаются зачастую вместе для создания ужатых архивов ряда файлов. Пример чаще всего используемой мной команды:
# АРХИВАЦИЯ БЕЗ СЖАТИЯ И УДАЛЕНИЯ ИСХОДНЫХ ДАННЫХ (БЫСТРЕЕ ДЕЛАЕТСЯ)
tar -cf trex.tgz /opt/trex/*

# АРХИВАЦИЯ СО СЖАТИЕМ GZIP И УДАЛЕНИЕМ ИСХОДНЫХ ДАННЫХ (БЫСТРЕЕ ПЕРЕДАЕТСЯ/ЗАНИМАЕМ МЕНЬШЕ МЕСТА)
tar --remove-files -czf logs.tgz
  Читать дальше

Linux: DPDK, HYPERSCAN, SNABB; NETMAP DNA, PFRING, XDP; hugepages

  • Хорошие таблицы, взяты отсюда https://habr.com/ru/companies/garda/articles/985596/

Производитель Модель Скорость Ключевые особенности Применение
NVIDIA BlueField-3

 

DPU

400 Gbps 16x ARM Cortex-A78,

 

аппаратный eBPF

Cloud security, Zero-Trust
Intel IPU E2000 200 Gbps Интеграция с Open vSwitch, поддержка QAT Виртуализация,

 

SDN

AMD/Xilinx Alveo SN1000 100 Gbps FPGA + ARM-ядра,

 

анализ TLS/SSL

Финансовый мониторинг
Marvell OCTEON 10

 

DPU

100 Gbps 8x ARM Neoverse N2,

 

аппаратный DPI

Телеком (5G UPF)

Программные методы Аппаратные методы
  AF_PACKET PF_RING /

 

PF_RING ZC

DPDK (PMD) DPDK (AF_XDP) FPGA SmartNIC
Скорость До 10 Gbps 10 Gbps

 

40-100 Gbps

До 200+ Gbps До 100 Gbps Многократные 100G порты (400G, 800G) До 200 Gbps

 

на порт

Задержка

 

(Latency)

Высокая Средняя

 

Низкая

Очень низкая Низкая Экстремально низкая детерминированная Очень низкая детерминированная
Сложность реализации Низкая (стандартный

 

API)

Средняя (свои драйверы и библиотеки) Высокая (выделенные ядра, управление памятью) Высокая

 

(работа с еВРЕ)

Очень

 

высокая (HDL/Verilog/V

HDL, RTL-дизайна)

Высокая (ASIC,

 

C/OpenCL)

Стоимость Бесплатно (входит в состав ОС) Бесплатно /

 

Платная

Бесплатно, но мощные CPU

 

совместимые NIC

Бесплатно Очень высокая Высокая
Ключевые особенности Простота использ-ниЯ, стандартность Улучшенная производите-ть.
  Читать дальше

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

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

Linux: работа с текстом (fmt, sed, awk, tr, cut, cat/tac, tee, column, uniq, sort, paste)

GREP в отдельной статье

fmt
  • примеры есть в cheat.sh
  • вариаций форматирования много

Форматирование данных на входе – к примеру по умолчанию fmt осуществит форматирование, которое приведет к лучшему чтению:

    • объединение слов в одну строку если слов мало в каждой строке
    • или наоборот, вместо одной длиной строки сделает несколько коротких
root@serv:~# cat >sw
Hello
world
and
not
world
root@serv:~# fmt sw
Hello world and not world

root@spr:~# cat >sw
Hello world and not world Hello world and not world Hello world and not world Hello world and not world Hello world and not world Hello world and not world
root@spr:~# fmt sw
Hello world and not world Hello world and not 
world Hello world and not world Hello world 
and not world Hello world and not world 
Hello world and not world


paste

paste with delimiter (paste с отличным от default delimiter):

paste -d ';' load.csv
  Читать дальше

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

  • Когда то считалось что Linux самая безопасная ОС, но сейчас – ОС самым большим количеством CVE за год (2025), в 5 раз больше чем у Windows

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

cd, pushd, podd

  • Используйте cd, если вам нужно просто перейти в папку и вы не планируете возвращаться назад в ближайшее время. Это стандарт для обычной навигации.
  • Используйте pushd, если вы работаете в одной папке, но вам нужно перейти в другую (например, чтобы что-то скопировать или скомпилировать) и быстро вернуться обратно.
  Читать дальше

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.
  Читать дальше