lshw – список железных компонентов сервера
Команда lshw помогает получить детальную информацию о “железе” сервера: процессоре, памяти, накопителях, сетевых интерфейсах, USB и аудио-устройствах.
Установка lshw
Если команда не исполняется, установите пакет:
CentOS
Debian/Ubuntu
Вывод информации о компонентах
Чтобы получить короткий список оборудования, используйте:
Пример вывода:
Другие полезные команды
Вывод в развернутом виде:
Сохранение в файл:
Информация только о CPU:
Команда lshw помогает получить детальную информацию о “железе” сервера: процессоре, памяти, накопителях, сетевых интерфейсах, USB и аудио-устройствах.
Установка lshw
Если команда не исполняется, установите пакет:
CentOS
sudo yum install lshw
Debian/Ubuntu
sudo apt install lshw
Вывод информации о компонентах
Чтобы получить короткий список оборудования, используйте:
lshw -short
Пример вывода:
H/W path Device Class Description
=====================================================
system Virtual Machine
/0 bus Virtual Machine
/0/5 processor Intel(R) Core(TM) i3-6100T CPU @ 3.20GHz
/0/51 memory 4GiB System Memory
/0/1 scsi2 storage
/0/1/0.0.0 /dev/sda disk 160GB SCSI Disk
/0/1/0.0.0/1 /dev/sda1 volume 500MiB EXT4 volume
/1 eth0 network Ethernet interface
Другие полезные команды
Вывод в развернутом виде:
lshw
Сохранение в файл:
lshw > hardware_info.txt
Информация только о CPU:
lshw -C CPU
👍14❤4
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.Балансировка нагрузки между runqueue разных CPU — критически важная задача. Если один CPU перегружен, а другой простаивает, планировщик может переместить процессы между runqueue. Неправильная балансировка может привести к “CPU starvation” или падению производительности в многопроцессорных системах.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍5❤2
pigz вместо gzip
pigz (parallel implementation of gzip) решает эту проблему — он использует все доступные CPU и значительно ускоряет компрессию.
Пример:
Архив будет создан в формате .gz, совместимом с gzip. Разница только в скорости: на сервере с 8 ядрами сжатие может ускориться в 5–7 раз.
Для распаковки можно использовать как pigz -d, так и обычный gzip -d.
Обычный gzip работает в один поток, поэтому на современных серверах с несколькими ядрами он сжимает большие файлы медленно.
pigz (parallel implementation of gzip) решает эту проблему — он использует все доступные CPU и значительно ускоряет компрессию.
Пример:
pigz backup.sql
Архив будет создан в формате .gz, совместимом с gzip. Разница только в скорости: на сервере с 8 ядрами сжатие может ускориться в 5–7 раз.
Для распаковки можно использовать как pigz -d, так и обычный gzip -d.
👍22❤5
Энтузиасты объединили двенадцать 56K модемов и установили рекорд скорости коммутируемого доступа
Команда The Serial Port объединила двенадцать 56K модемов (Courier V.Everything 56K) через Multilink PPP, чтобы достичь скорости загрузки 668 Кбит/с на ПК с Windows XP и парой PCI-карт с последовательными портами.
Ранее коммерческие решения использовали 2–4 модема, но массового применения не получили из-за сложности подключения и ограничений провайдеров.
⏺ Энтузиасты проверили работу MPPP на современном интернет-провайдере и смогли масштабировать систему до двенадцати модемов, обеспечив стабильную загрузку видео с минимальной задержкой.
Команда The Serial Port объединила двенадцать 56K модемов (Courier V.Everything 56K) через Multilink PPP, чтобы достичь скорости загрузки 668 Кбит/с на ПК с Windows XP и парой PCI-карт с последовательными портами.
Это позволило проверить возможности старого оборудования для стриминга видео и демонстрирует потенциал MPPP для объединения нескольких модемов в один логический канал.
Ранее коммерческие решения использовали 2–4 модема, но массового применения не получили из-за сложности подключения и ограничений провайдеров.
Please open Telegram to view this post
VIEW IN TELEGRAM
😁23❤6👍1
SysRq Magic Key в Linux: экстренное управление системой
Иногда сервер или ноутбук может зависнуть так, что даже kill -9 не помогает.
В Linux для таких случаев есть «волшебная кнопка» — SysRq (System Request).
С её помощью можно отправлять ядру команды напрямую, минуя оболочку и процессы.
Включение SysRq
Обычно функция включена, но можно проверить:
⏺ 0 — выключено
⏺ 1 — включены все команды
⏺ или битовая маска (например, 16 = только sync).
Чтобы включить:
Постоянно (через sysctl):
Как пользоваться
Нужно зажать Alt + SysRq (Print Screen) и нажать нужную клавишу:
• r — вернуть управление клавиатуре (Raw → XLATE)
• e — завершить все процессы (SIGTERM)
• i — убить все процессы (SIGKILL)
• s — сбросить данные на диск (sync)
• u — перемонтировать файловые системы в read-only
• b — немедленная перезагрузка
«Безопасная последовательность» (REISUB)
Если система зависла:
Это поможет корректно завершить процессы, сохранить данные и только потом перезагрузиться.
Иногда сервер или ноутбук может зависнуть так, что даже kill -9 не помогает.
В Linux для таких случаев есть «волшебная кнопка» — SysRq (System Request).
С её помощью можно отправлять ядру команды напрямую, минуя оболочку и процессы.
Включение SysRq
Обычно функция включена, но можно проверить:
cat /proc/sys/kernel/sysrq
Чтобы включить:
echo 1 > /proc/sys/kernel/sysrq
Постоянно (через sysctl):
echo "kernel.sysrq = 1" >> /etc/sysctl.conf
sysctl -p
Как пользоваться
Нужно зажать Alt + SysRq (Print Screen) и нажать нужную клавишу:
• r — вернуть управление клавиатуре (Raw → XLATE)
• e — завершить все процессы (SIGTERM)
• i — убить все процессы (SIGKILL)
• s — сбросить данные на диск (sync)
• u — перемонтировать файловые системы в read-only
• b — немедленная перезагрузка
«Безопасная последовательность» (REISUB)
Если система зависла:
Alt + SysRq + r
Alt + SysRq + e
Alt + SysRq + i
Alt + SysRq + s
Alt + SysRq + u
Alt + SysRq + b
Это поможет корректно завершить процессы, сохранить данные и только потом перезагрузиться.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍11❤6
Какой инструмент позволяет детально отследить утечки памяти в работающем процессе, включая используемые библиотеки?
Anonymous Quiz
9%
top
32%
valgrind
35%
htop
23%
ps aux
👎9👍8🔥2
tuned: профили оптимизации производительности Linux
tuned — это демон и набор профилей, которые позволяют автоматически подстраивать параметры ядра и драйверов под разные сценарии использования.
Вместо того чтобы вручную править sysctl, grub и конфиги драйверов, можно активировать готовый набор оптимизаций.
Например:
⏺ throughput-performance — максимум пропускной способности, полезно для серверов БД и высоконагруженных сервисов;
⏺ latency-performance — снижение задержек для realtime-задач и телеком-сервисов;
⏺ virtual-guest — оптимизация гостевых VM;
⏺ powersave — агрессивная экономия энергии.
Посмотреть список доступных профилей:
Включить нужный:
Если стандартные профили не подходят, можно собрать свой — с настройкой CPU governor, IRQ affinity, параметров сети и дисков.
tuned — это демон и набор профилей, которые позволяют автоматически подстраивать параметры ядра и драйверов под разные сценарии использования.
Вместо того чтобы вручную править sysctl, grub и конфиги драйверов, можно активировать готовый набор оптимизаций.
Например:
Посмотреть список доступных профилей:
tuned-adm list
Включить нужный:
tuned-adm profile throughput-performance
Если стандартные профили не подходят, можно собрать свой — с настройкой CPU governor, IRQ affinity, параметров сети и дисков.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤2🔥2
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍3😁1
chattr: защита файлов от изменений
В Linux есть малозаметный, но очень полезный механизм — атрибуты файловой системы. Один из них — immutable.
Если включить его, файл станет полностью «замороженным»: его нельзя изменить, удалить, перезаписать или даже переименовать, пока не снять атрибут.
Причём это ограничение действует даже для root.
Пример — защита DNS-конфига:
Теперь ни один скрипт автоконфигурации сети не сможет переписать DNS. Проверить флаги:
Снять защиту можно так:
В Linux есть малозаметный, но очень полезный механизм — атрибуты файловой системы. Один из них — immutable.
Если включить его, файл станет полностью «замороженным»: его нельзя изменить, удалить, перезаписать или даже переименовать, пока не снять атрибут.
Причём это ограничение действует даже для root.
Пример — защита DNS-конфига:
chattr +i /etc/resolv.conf
Теперь ни один скрипт автоконфигурации сети не сможет переписать DNS. Проверить флаги:
lsattr /etc/resolv.conf
Снять защиту можно так:
chattr -i /etc/resolv.conf
👍25❤6
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.Основные компоненты:
— Hooks: точки в сетевом стеке, через которые проходят пакеты (PREROUTING, INPUT, FORWARD, OUTPUT, POSTROUTING).
— iptables/nftables: инструменты управления правилами фильтрации и перенаправления трафика.
— Connection Tracking: механизм, позволяющий отслеживать состояние соединений и применять stateful-фильтрацию.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8🔥4
parallel ssh (pssh)
Когда десятки серверов, pssh экономит кучу времени. Вместо ручного обхода выполняем команды сразу везде.
Файл hosts.txt:
Базовые примеры:
Можно запускать скрипты:
А ещё есть pscp для копирования:
Когда десятки серверов, pssh экономит кучу времени. Вместо ручного обхода выполняем команды сразу везде.
Файл hosts.txt:
server1
server2
server3
Базовые примеры:
pssh -h hosts.txt -i "uptime" # посмотреть аптайм всех серверов
pssh -h hosts.txt -i "df -h /" # проверить свободное место на /
pssh -h hosts.txt -i "systemctl status nginx" # проверить nginx
Можно запускать скрипты:
pssh -h hosts.txt -i "bash /tmp/cleanup.sh"
А ещё есть pscp для копирования:
pscp -h hosts.txt local.conf /etc/myapp/config.conf
👍22❤6
screen vs tmux: зачем и в чём разница
Когда вы работаете по SSH и связь внезапно обрывается — все запущенные процессы (сборка, миграция БД, обновление пакетов) падают вместе с сессией.
Чтобы этого избежать, придумали терминальные мультиплексоры — программы, которые запускают «виртуальный терминал» внутри текущего, и процессы продолжают работать даже при отключении.
Два самых популярных инструмента: screen и tmux.
screen — классика Linux
Появился ещё в 1987 году. До сих пор предустановлен на множестве серверов.
Основные команды:
Особенности:
⏺ Работает почти везде «из коробки».
⏺ Очень лёгкий и простой.
⏺ Поддерживает разделение окна, но не очень удобно.
tmux — современный и функциональный
Разработан в 2007 году как альтернатива screen. Сейчас стал «дефолтным выбором» для большинства админов и девопсов.
Основные команды:
Фишки:
⏺ Красивый и настраиваемый статусбар.
⏺ Удобное разделение экрана на панели:
• Ctrl+b " — горизонтально
• Ctrl+b % — вертикально
⏺ Поддержка скриптов и плагинов.
⏺ Легко кастомизировать под свои привычки.
Когда вы работаете по SSH и связь внезапно обрывается — все запущенные процессы (сборка, миграция БД, обновление пакетов) падают вместе с сессией.
Чтобы этого избежать, придумали терминальные мультиплексоры — программы, которые запускают «виртуальный терминал» внутри текущего, и процессы продолжают работать даже при отключении.
Два самых популярных инструмента: screen и tmux.
screen — классика Linux
Появился ещё в 1987 году. До сих пор предустановлен на множестве серверов.
Основные команды:
screen # новая сессия
screen -S mywork # сессия с именем
screen -ls # список активных
screen -r mywork # восстановить сессию
Ctrl+a d # отцепиться
Особенности:
tmux — современный и функциональный
Разработан в 2007 году как альтернатива screen. Сейчас стал «дефолтным выбором» для большинства админов и девопсов.
Основные команды:
tmux new -s mywork # создать сессию
tmux ls # список
tmux attach -t mywork # вернуться
tmux detach # выйтил
Фишки:
• Ctrl+b " — горизонтально
• Ctrl+b % — вертикально
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥7❤3
Что делает команда ss -tulnp?
Anonymous Quiz
10%
Показывает таблицу маршрутов
87%
Отображает сетевые соединения и процессы, их использующие
2%
Меняет MTU
1%
Проверяет DNS
😁12❤2
Сравнение инструментов для анализа дисков: du, ncdu, dust
Обычные ls -lh или du дают базовую информацию, но не всегда позволяют удобно ориентироваться в больших структурах.
На помощь приходят несколько инструментов: du, ncdu и dust. Каждый имеет свои особенности и сценарии использования.
1️⃣ du
Классическая команда Linux для анализа дискового пространства. Позволяет узнать размер каталогов и файлов:
Минус — только текстовый вывод без удобной сортировки и навигации, сложнее работать с большим деревом каталогов.
2️⃣ ncdu
Интерактивный аналог du. Показывает древовидную структуру и позволяет перемещаться по каталогам, удалять или перемещать файлы прямо из интерфейса:
Идеально подходит для серверов с ограниченным SSD и для быстрой очистки логов или временных файлов.
3️⃣ dust
Современная альтернатива du, с более наглядным CLI-выводом. Показывает графики размеров папок и сортирует их по занимаемому пространству:
Когда на сервере заканчивается место, важно быстро понять, какие файлы и каталоги занимают его больше всего.
Обычные ls -lh или du дают базовую информацию, но не всегда позволяют удобно ориентироваться в больших структурах.
На помощь приходят несколько инструментов: du, ncdu и dust. Каждый имеет свои особенности и сценарии использования.
Классическая команда Linux для анализа дискового пространства. Позволяет узнать размер каталогов и файлов:
du -sh /var/log/*
Минус — только текстовый вывод без удобной сортировки и навигации, сложнее работать с большим деревом каталогов.
Интерактивный аналог du. Показывает древовидную структуру и позволяет перемещаться по каталогам, удалять или перемещать файлы прямо из интерфейса:
ncdu /var/log
Идеально подходит для серверов с ограниченным SSD и для быстрой очистки логов или временных файлов.
Современная альтернатива du, с более наглядным CLI-выводом. Показывает графики размеров папок и сортирует их по занимаемому пространству:
dust /home
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17❤4
Выпуск Wine 10.16
3 октября 2025 года вышла экспериментальная версия Wine 10.16 — открытой реализации Win32 API для Linux, macOS и BSD.
Подтверждена стабильная работа более 5 тыс. приложений для Windows, ещё 4 тыс. требуют дополнительных настроек.
Основные изменения:
⏺ Полная поддержка драйвера ntsync для повышения производительности игр через Wine (/dev/ntsync в ядре Linux 6.14).
⏺ Запуск 16-разрядных приложений в режиме WoW64.
⏺ Начальная поддержка объектов D3DKMT для низкоуровневого доступа к графике.
⏺ Генерация и установка файлов WinMD для API WinRT.
⏺ Исправлены баги в приложениях (Lotus Word Pro, Profi Cash, iTunes) и играх (S.T.A.L.K.E.R., Metro 2033, GTA: Vice City, Project CARS и др.).
3 октября 2025 года вышла экспериментальная версия Wine 10.16 — открытой реализации Win32 API для Linux, macOS и BSD.
С момента Wine 10.0 команда проекта обработала 34 отчёта об ошибках и внесла 364 исправления, большая часть работы выполнена 30 контрибуторами.
Подтверждена стабильная работа более 5 тыс. приложений для Windows, ещё 4 тыс. требуют дополнительных настроек.
Основные изменения:
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8❤7
Аварийный режим загрузки (Emergency Mode)
Когда Linux-система не отвечает на обычные команды и даже комбинации Alt + SysRq не помогают, полезно знать про аварийный режим загрузки.
Это минимальная среда, позволяющая восстановить систему, исправить ошибки конфигурации или смонтировать проблемные файловые системы.
Как загрузиться в аварийном режиме:
1️⃣ Перезагрузите систему.
2️⃣ На экране загрузчика GRUB выберите нужное ядро и нажмите e для редактирования параметров.
3️⃣ Найдите строку, начинающуюся с linux и добавьте в конец:
4️⃣ Нажмите Ctrl+X или F10, чтобы загрузиться с изменёнными параметрами.
5️⃣ Система загрузится в однопользовательском режиме с минимальным окружением, предоставив root-доступ без запроса пароля (или с запросом, в зависимости от дистрибутива).
Что можно делать в Emergency Mode:
• Монтировать файловые системы вручную:
• Исправлять ошибки в /etc/fstab или конфигурационных файлах.
• Восстанавливать повреждённые пакеты или ядро.
• Проверять логи через journalctl или dmesg.
После исправления ошибок перезагрузите систему обычным образом:
Когда Linux-система не отвечает на обычные команды и даже комбинации Alt + SysRq не помогают, полезно знать про аварийный режим загрузки.
Это минимальная среда, позволяющая восстановить систему, исправить ошибки конфигурации или смонтировать проблемные файловые системы.
Как загрузиться в аварийном режиме:
systemd.unit=emergency.target
Что можно делать в Emergency Mode:
• Монтировать файловые системы вручную:
mount -o remount,rw /
• Исправлять ошибки в /etc/fstab или конфигурационных файлах.
• Восстанавливать повреждённые пакеты или ядро.
• Проверять логи через journalctl или dmesg.
После исправления ошибок перезагрузите систему обычным образом:
systemctl reboot
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤3
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.Это важно для систем с низкой задержкой, где нужно быстро реагировать на события. Включение preemption позволяет уменьшить время отклика приложений и улучшить интерактивность, но может немного снизить общую пропускную способность из-за увеличения накладных расходов на переключение контекста.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9👍6
Проверка и исправление прав на файлы с ACL
Цель тут убедиться, что файлы и папки имеют корректные права, особенно на веб-серверах или в проектах с несколькими пользователями.
ACL (Access Control List) позволяет задавать детализированный контроль доступа, выходящий за рамки стандартных chmod/chown.
Проверка прав с ACL:
На выходе вы увидите, кто и с каким доступом может читать, писать или выполнять файлы и папки. Это особенно полезно, когда несколько пользователей работают с одним каталогом и нужны гибкие права.
Установка или исправление прав для пользователя:
Здесь мы даём пользователю deploy полный доступ (чтение, запись, выполнение) к папке /var/www/html.
Добавление группы с ограниченными правами:
Группа developers получает права на чтение и выполнение, но не на запись.
Удаление ACL:
Удаляет все ACL, оставляя только стандартные права Unix (rwx для владельца, группы и остальных).
Цель тут убедиться, что файлы и папки имеют корректные права, особенно на веб-серверах или в проектах с несколькими пользователями.
ACL (Access Control List) позволяет задавать детализированный контроль доступа, выходящий за рамки стандартных chmod/chown.
Проверка прав с ACL:
getfacl /var/www/html
На выходе вы увидите, кто и с каким доступом может читать, писать или выполнять файлы и папки. Это особенно полезно, когда несколько пользователей работают с одним каталогом и нужны гибкие права.
Установка или исправление прав для пользователя:
setfacl -m u:deploy:rwx /var/www/html
Здесь мы даём пользователю deploy полный доступ (чтение, запись, выполнение) к папке /var/www/html.
Добавление группы с ограниченными правами:
setfacl -m g:developers:rx /var/www/html
Группа developers получает права на чтение и выполнение, но не на запись.
Удаление ACL:
setfacl -b /var/www/html
Удаляет все ACL, оставляя только стандартные права Unix (rwx для владельца, группы и остальных).
👍11❤4🔥1