Настройка качества звука в Linux
Практически в любом дистрибутиве Linux из коробки выставлены минимальные значения качества звука, что обеспечивает совместимость с большим количеством оборудования. А для любителей качественного звучания присутствует возможность повысить параметры под возможностей звуковой карты.
Проверяем какие технические характеристики выдаёт звуковая карта
Настраиваем качество звука
Открываем конфигурацию pulse
(Ctrl + o - сохранить, Ctrl + x - выйти)
Нас интересует два параметра resample-method и default-sample-format
Включаем их (убираем ; в начале строки) и устанавливаем значения.
После сохранения файла перезагружаем систему или убиваем и запускаем pulseaudio
Рекомендованные параметры:
Теперь качество звука в Linux может быть выше чем в Win и с этим трудно поспорить. 👌
В🖥 Блог LinuPark
📱 LinuPark в Telegram | 🖥 Блог LinuPark
Говорят, что качество звука в Linux хуже, чем в Win, и это правда, но...🙂
Практически в любом дистрибутиве Linux из коробки выставлены минимальные значения качества звука, что обеспечивает совместимость с большим количеством оборудования. А для любителей качественного звучания присутствует возможность повысить параметры под возможностей звуковой карты.
Проверяем какие технические характеристики выдаёт звуковая карта
aplay --device hw /dev/urandom --dump-hw-params
Настраиваем качество звука
Открываем конфигурацию pulse
nano /etc/pulse/daemon.conf
(Ctrl + o - сохранить, Ctrl + x - выйти)
Нас интересует два параметра resample-method и default-sample-format
Включаем их (убираем ; в начале строки) и устанавливаем значения.
resample-method имеет значения src-sinc-best-quality, src-sinc-medium-quality, src-sinc-fastest, src-zero-order-hold, src-linear, trivial, speex-float-5, speex-fixed-5, ffmpeg, copy
speex-float и speex-fixed от 1 до 9 (1 -минимальное качество)
default-sample-format имеет значения u8, s16le, s16be, s24le, s24be, s24-32le, s24-32be, s32le, s32be float32le, float32be, ulaw, alaw.
После сохранения файла перезагружаем систему или убиваем и запускаем pulseaudio
pulseaudio --kill && pulseaudio --start
Рекомендованные параметры:
resample-method = speex-fixed-9
default-sample-format = float32le
default-sample-rate = 44100
Теперь качество звука в Linux может быть выше чем в Win и с этим трудно поспорить. 👌
В
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1🔥1
Подкачка зло или добро?😰
Подкачка нужна в первую очередь для сброса излишней информации из оперативной памяти на диск, для этого есть параметр swappiness.
Его можно посмотреть в /proc/sys/vm/swappiness, стандартное значение 60
В данном случае размер и тип подкачки не имеет значения, достаточно будет около 2 Гб в файле (рекомендовано) или отдельным разделом.
Изменить значение swappiness в реальном времени:
Постоянное изменение:
Во втором случае использование режима энергосбережения гибернация и гибридный, расчёт размера подкачки вся ОЗУ+2 Гб.
Таким образом, оценка и наличие подкачки зависит от конкретных задач и условий работы системы.
В🖥 Блог LinuPark
📱 LinuPark в Telegram | 🖥 Блог LinuPark
Вселенская битва за и против не утихает по сей день...
Подкачка нужна в первую очередь для сброса излишней информации из оперативной памяти на диск, для этого есть параметр swappiness.
Swappiness определяет когда ядро начинает сброс в swap (на диск) части информации из оперативной памяти.
Его можно посмотреть в /proc/sys/vm/swappiness, стандартное значение 60
cat /proc/sys/vm/swappiness
0 - никогда, 100 - как только так сразу,
60 - при заполнении оперативной памяти свыше 40% рассматривать возможность сброса на диск
В данном случае размер и тип подкачки не имеет значения, достаточно будет около 2 Гб в файле (рекомендовано) или отдельным разделом.
Изменить значение swappiness в реальном времени:
echo 20 > /proc/sys/vm/swappiness
Постоянное изменение:
echo 'vm.swappiness = 20' >> /etc/sysctl.conf
sysctl -p
Во втором случае использование режима энергосбережения гибернация и гибридный, расчёт размера подкачки вся ОЗУ+2 Гб.
В других случаях, к примеру использование Docker, k8s и некоторых серверов базы данных, наличие подкачки является негативным параметром.
Рекомендовано подкачку отключать вовсе ❌
Таким образом, оценка и наличие подкачки зависит от конкретных задач и условий работы системы.
В
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1🔥1
Планировщик задач в systemd ⏰
Systemd Timers — это unit-файл, предназначенный для планирования запуска другого сервиса. Когда срабатывает таймер, соответствующий сервис запускается.
Основные параметры:
Simple
Calendar
Monotonic
OnActiveSec — срабатывает после активации юнита (systemd-сервиса).
OnBootSec — срабатывает после запуска всей системы.
OnStartupSec — срабатывает после запуска менеджера сервисов.
OnUnitActiveSec — срабатывает после последнего запуска юнита.
OnUnitInactiveSec — срабатывает после последней остановки сервиса.
ConditionPathExists
RandomizedDelaySec
Создадим юнит-service, который будет вызывать скрипт резервного копирования /usr/local/bin/my_backup_script.sh
Добавим параметры:
(Ctrl + o - сохранить, Ctrl + x - выйти)
Создаем юнит-timer файл backup.timer
Добавляем:
(Ctrl + o - сохранить, Ctrl + x - выйти)
Включаем и проверяем работу таймера
Для активации наших таймеров выполните команды:
Проверить состояние таймера можно командой:
Это покажет следующее запланированное выполнение созданного таймера.
В🖥 Блог LinuPark
📱 LinuPark в Telegram | 🖥 Блог LinuPark
Cron хорошо, но есть и другие...
Systemd Timers — это unit-файл, предназначенный для планирования запуска другого сервиса. Когда срабатывает таймер, соответствующий сервис запускается.
Основные параметры:
Simple
Таймер активируется через заданное количество секунд после загрузки системы.
OnActiveSec=60s
Calendar
Запускается в определённое время календаря.
OnCalendar=*-*-* 18:00:00
Monotonic
Активирует событие относительно предыдущего события
OnBootSec=1h
OnActiveSec — срабатывает после активации юнита (systemd-сервиса).
OnBootSec — срабатывает после запуска всей системы.
OnStartupSec — срабатывает после запуска менеджера сервисов.
OnUnitActiveSec — срабатывает после последнего запуска юнита.
OnUnitInactiveSec — срабатывает после последней остановки сервиса.
ConditionPathExists
Активирует событие если существует файл /usr/local/bin/my_backup_script.sh
ConditionPathExists=/usr/local/bin/my_backup_script.sh
RandomizedDelaySec
Использовать случайную задержку перед запуском
RandomizedDelaySec=300
Создадим юнит-service, который будет вызывать скрипт резервного копирования /usr/local/bin/my_backup_script.sh
nano /etc/systemd/system/backup.service
Добавим параметры:
[Unit]
Description=Служба резервного копирования
[Service]
Type=simple
ExecStart=/usr/local/bin/my_backup_script.sh
(Ctrl + o - сохранить, Ctrl + x - выйти)
Создаем юнит-timer файл backup.timer
nano /etc/systemd/system/backup.timer
Добавляем:
[Unit]
Description=Запуск службы каждый день в полночь
[Timer]
OnCalendar=*-*-* 00:00:00
Persistent=true # задача выполнится при загрузке, если была пропущена
[Install]
WantedBy=timers.target
(Ctrl + o - сохранить, Ctrl + x - выйти)
Включаем и проверяем работу таймера
Для активации наших таймеров выполните команды:
systemctl daemon-reload
systemctl enable backup.timer
systemctl start backup.timer
Проверить состояние таймера можно командой:
systemctl list-timers | grep backup
Это покажет следующее запланированное выполнение созданного таймера.
В
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1👌1
System Request в Linux
В Linux существует особый механизм управления системой - System Request (или SysRq). Способ взаимодействия с ядром Linux, позволяющий выполнять критические операции в экстренных ситуациях. Он работает напрямую с ядром, минуя обычные пути управления системой.
Статус режима SysRq отображается в файле /proc/sys/kernel/sysrq
Меняем статус отправляем соответствующую цифру в файл
Основные комбинации клавиш SysRq (Print Screen):
Последовательность действий при зависании системы
В🖥 Блог LinuPark
📱 LinuPark в Telegram | 🖥 Блог LinuPark
Повисла машина? В целом есть шанс что-то спасти...
В Linux существует особый механизм управления системой - System Request (или SysRq). Способ взаимодействия с ядром Linux, позволяющий выполнять критические операции в экстренных ситуациях. Он работает напрямую с ядром, минуя обычные пути управления системой.
Статус режима SysRq отображается в файле /proc/sys/kernel/sysrq
cat /proc/sys/kernel/sysrq
0 - выключен
1 - включен
16 - разрешена команда синхронизации
32 - разрешена команда перемонтировать файловые системы в ro
128 - разрешены перезагрузка и отключение питания
176 - сумма трёх разрешений 16 + 32 + 128
Меняем статус отправляем соответствующую цифру в файл
echo '1' > /proc/sys/kernel/sysrq
⚠️ Перед выполнением убедитесь, что клавиатура захвачена консолью, иначе SysRq выполнится на рабочей станции
Основные комбинации клавиш SysRq (Print Screen):
Alt + SysRq + h — показывает список всех доступных команд
Alt + SysRq + s — синхронизирует файловые системы
Alt + SysRq + u — переводит файловые системы в режим только для чтения (ro)
Alt + SysRq + b — перезагружает систему
Alt + SysRq + r — разблокирует клавиатуру
Alt + SysRq + e — отправка сигнала завершения процессам
Alt + SysRq + i — принудительное завершение процессов
⚠️ Используйте System Request только в случае крайней необходимости, чтобы избежать потери данных, так как системы защиты в данном случае не предусмотрено.
Последовательность действий при зависании системы
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
❤1👍1👌1
Режим гибернации на Ubuntu 24 со swap-файлом
Эту проблему уже придумали как решить - режим гибернации является удобным инструментом энергосбережения, позволяющим быстро сохранить и восстановить рабочее состояние системы. Вместо простого выключения компьютера система сохраняет свое текущее состояние на жесткий диск и отключается. При включении система загружается обратно в сохраненное ранее состояние, позволяя продолжить работу практически с того же места.
Включаем гибернацию на Ubuntu 24 со swap-файлом
Проверяем поддержку гибернации в файле /sys/power/state
Настройка swap-файла
Ищем swap-файлы
Если раздел подкачки отсутствует или недостаточно велик, удалите его и создайте новый swap-файл нужного размера
Создаём swap-файл
Добавьте запись в /etc/fstab для автоматического монтирования swap-файла при загрузке:
Настраиваем GRUB и initramfs
Получаем UUID корня и resume_offset
Правим /etc/default/grub
(Ctrl + o - сохранить, Ctrl + x - выйти)
Создаём /etc/initramfs-tools/conf.d/resume
RESUME=UUID=bd574196-996a-4c31-8044-e83262cc7c40 resume_offset=2199552
Значения UUID и resume_offset подставить свои
(Ctrl + o - сохранить, Ctrl + x - выйти)
Обновляем конфигурацию
Если всё успешно, то перезагружаем систему
Обязательно проверь и отключи secure boot⚠️
Активируем гибернацию
Система должна успешно войти в режим гибернации и полностью выключится, дождитесь полной остановки и включите кнопкой питания.
Как включить управление гибернацией сможешь узнать в🖥 Блог LinuPark
📱 LinuPark в Telegram | 🖥 Блог LinuPark
У тебя Linux и постоянно отвлекают от работы?😤
Вечный выбор - выключить систему или оставить?😅
А если сядет батарея?😳
Эту проблему уже придумали как решить - режим гибернации является удобным инструментом энергосбережения, позволяющим быстро сохранить и восстановить рабочее состояние системы. Вместо простого выключения компьютера система сохраняет свое текущее состояние на жесткий диск и отключается. При включении система загружается обратно в сохраненное ранее состояние, позволяя продолжить работу практически с того же места.
Включаем гибернацию на Ubuntu 24 со swap-файлом
По умолчанию работа режима гибернации отключена в большинстве дистрибутивов Linux, включая Ubuntu.
Проверяем поддержку гибернации в файле /sys/power/state
grep disk /sys/power/state
Файл содержит значение disk, значит ваш система поддерживает режим гибернацию.
Настройка swap-файла
Для правильной работы гибернации необходим достаточный объем пространства в файле подкачки (swap). Рекомендуется иметь размер подкачки равный объему оперативной памяти + 2 Гб или больше.
Ищем swap-файлы
swapon --show
Если раздел подкачки отсутствует или недостаточно велик, удалите его и создайте новый swap-файл нужного размера
Создаём swap-файл
sudo fallocate -l 10G /.swap.img
sudo chmod 600 /.swap.img
sudo mkswap /.swap.img
sudo swapon /.swap.img
Добавьте запись в /etc/fstab для автоматического монтирования swap-файла при загрузке:
echo '/.swap.img none swap sw 0 0' >> /etc/fstab
Настраиваем GRUB и initramfs
Получаем UUID корня и resume_offset
lsblk -f | grep '/$' | awk '{print $(NF-3)}'; sudo filefrag -e /.swap.img | grep ' 0:' | awk '{print $4}' | sed 's/..$//'Пример вывода:
bd574196-996a-4c31-8044-e83262cc7c40 # UUID
2199552 # resume_offset
Правим /etc/default/grub
nano /etc/default/grub
Меняем значение параметра GRUB_CMDLINE_LINUX_DEFAULT
Пример:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=bd574196-996a-4c31-8044-e83262cc7c40 resume_offset=2199552"
Значения UUID и resume_offset подставить свои
(Ctrl + o - сохранить, Ctrl + x - выйти)
Создаём /etc/initramfs-tools/conf.d/resume
nano /etc/initramfs-tools/conf.d/resume
Добавляем в файл строку
Пример значения
RESUME=UUID=bd574196-996a-4c31-8044-e83262cc7c40 resume_offset=2199552
Значения UUID и resume_offset подставить свои
(Ctrl + o - сохранить, Ctrl + x - выйти)
Обновляем конфигурацию
update-grub && update-grub2 && update-initramfs -u -k all
Если всё успешно, то перезагружаем систему
reboot
Обязательно проверь и отключи secure boot
Активируем гибернацию
sudo systemctl hibernate
Система должна успешно войти в режим гибернации и полностью выключится, дождитесь полной остановки и включите кнопкой питания.
Как включить управление гибернацией сможешь узнать в
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2👌2👍1
Утилита BC (Basic Calculator)
BC (Basic Calculator) - Утилита является частью стандартного набора инструментов большинства дистрибутивов Linux и предоставляет широкие возможности для работы с числами.
Основные возможности
Базовое использование
Для запуска калькулятора достаточно ввести в терминале команду:
Или мгновенный расчёт:
Вывод 307
Утилита bc находит применение в различных сценариях:
В🖥 Блог LinuPark
📱 LinuPark в Telegram | 🖥 Блог LinuPark
А почему ваш терминал не умеет в калькулятор? Умеет, смотри как...
BC (Basic Calculator) - Утилита является частью стандартного набора инструментов большинства дистрибутивов Linux и предоставляет широкие возможности для работы с числами.
Основные возможности
- Выполнение арифметических операций
- Работа с целыми и дробными числами
- Поддержка математических функций
- Программирование простых алгоритмов
- Настройка точности вычислений
Базовое использование
Для запуска калькулятора достаточно ввести в терминале команду:
bc
2 + 3 # сложение
5 * 4 # умножение
10 / 2 # деление
15 - 7 # вычитание
Или мгновенный расчёт:
echo 10+300-11/3 | bc
Вывод 307
Утилита bc находит применение в различных сценариях:
- Быстрые математические вычисления в терминале
- Написание простых скриптов для расчётов
- Автоматизация вычислений в shell-скриптах
- Обучение основам программирования
- Работа с большими числами
В
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1🤝1
Структура каталогов корневой файловой системы Linux
В Linux есть понятие файловая систем, ровно, как и в других операционных системах, но с одним отличием, тут она одна и её начало или верхний уровень называется корнем " / ". При подключении других файловых систем, к примеру диска или USB-накопителя, её файловая система своим началом, верхним уровнем (тоже корнем " / " относительно устройства) подключается (правильнее монтируется) к какой-то папке (правильнее каталогу) в системе и становится частью обшей структуры каталогов.
Основные каталоги корневой системы
/
/bin
/boot
/dev
/etc
/home
/lib
/media
/mnt
/opt
/proc
/root
/sbin
/srv
(«только для чтения»)
/tmp
/usr
/var
В🖥 Блог LinuPark
📱 LinuPark в Telegram | 🖥 Блог LinuPark
В Linux нет дисков, как же разобраться? Не совсем так, давай разбираться...
В Linux есть понятие файловая систем, ровно, как и в других операционных системах, но с одним отличием, тут она одна и её начало или верхний уровень называется корнем " / ". При подключении других файловых систем, к примеру диска или USB-накопителя, её файловая система своим началом, верхним уровнем (тоже корнем " / " относительно устройства) подключается (правильнее монтируется) к какой-то папке (правильнее каталогу) в системе и становится частью обшей структуры каталогов.
Основные каталоги корневой системы
/
Корневой каталог, начало дерева каталогов всей файловой системы.
/bin
В нём размещаются системные программы (бинарные файлы).
Например, основные команды ядра Linux (cp, cat, mount и другие).
/boot
В этом каталоге размещается загрузчик системы и некоторые дополнительные файлы, которые нужны для запуска Linux.
/dev
Каталог содержит файлы, которые представляют физические устройства компьютера. Через эти файлы осуществляется интерфейс для устройств.
/etc
В каталоге хранятся системные файлы и конфигурации. Например, здесь хранятся такие файлы как fstab, passwd, hosts и другие.
/home
Домашние каталоги пользователей. У каждого пользователя в /home есть свой определённый каталог, имя которого совпадает с именем пользователя.
/lib
В каталоге размещены системные библиотеки и модули ядра.
/media
В этот каталог обычно монтируются съёмные носители. Для каждого устройства в каталоге /media создаётся отдельный каталог.
/mnt
В этот каталог обычно монтируют на время дополнительные файловые системы.
/opt
В этот каталог обычно устанавливают дополнительное программное обеспечение (ПО), которое является дополнением к базовому ПО дистрибутива.
/proc
В каталоге размещена так называемая псевдофайловая система — виртуальная файловая система информации о ядре и процессах.
/root
Домашний каталог пользователя root. В каталоге размещаются файлы пользователя root.
/sbin
В каталоге размещаются важные системные исполняемые (бинарные) файлы, которые необходимы для запуска системы. Также в каталоге размещаются команды, которые обычно использует только системный администратор.
/srv
(«только для чтения»)
Каталог содержит неизменяемые данные для сервисов, предоставляемых данной системой.
/tmp
В данном каталоге содержатся временные файлы, которые, как правило, удаляются автоматически и после перезагрузки. Многие программы используют данный каталог для хранения временных данных.
/usr
В этом каталоге хранятся исполняемые файлы, библиотеки и файлы документации для внутренних служб, компоненты ядра для функционирования операционной системы, а также данные программ, установленных пользователями.
/var
Каталог содержит различные данные, которые обычно изменяются со временем.
Например, в нём могут размещаться сохранённые данные для игр, файлы регистраций, буферы печати. В нём же хранятся файлы системных журналов (в каталоге /var/log).
В
Please open Telegram to view this post
VIEW IN TELEGRAM
👌2👍1🤝1
Типы баз данных
Реляционные
Самый распространенный тип, где данные хранятся в виде связанных между собой таблиц.
Особенности:
— Структурированное хранение данных
— Использование SQL для управления
— Четкие связи между таблицами
Преимущества:
— Простота организации данных
— Возможность сложных запросов
— Поддержка больших объемов информации
Не реляционные (NoSQL)
NoSQL БД — базы данных, не использующие табличную структуру.
Включают несколько подтипов:
Колоночные
Применение: аналитика больших данных
Плюсы: высокая производительность при работе с большими объемами
Графовые
Применение: социальные сети, логистика, анализ связей
Особенности: хранение и обработка сложных взаимосвязей
Резидентные
Особенности:
— Хранение данных по принципу “ключ-значение”
— Высокая скорость работы
— Работа в оперативной памяти
Документоориентированные
Особенности:
— Хранение данных в формате документов
— Гибкая структура
— Поддержка больших объемов
Иерархические
Особенности:
— Организуют данные в древовидную структуру
— Отношения “один ко многим”
— Строгая структура
— Простота навигации
Каждый тип имеет свои сильные и слабые стороны, поэтому выбор зависит от конкретных задач проекта. В некоторых случаях оптимальным решением может стать комбинация нескольких типов баз данных.
В🖥 Блог LinuPark
📱 LinuPark в Telegram | 🖥 Блог LinuPark
Какие бывают базы данных? По сути 2 типа реляционные и не реляционные, давай поподробнее...
Реляционные
Самый распространенный тип, где данные хранятся в виде связанных между собой таблиц.
Примеры:
MySQL, Oracle DB, PostgreSQL
Особенности:
— Структурированное хранение данных
— Использование SQL для управления
— Четкие связи между таблицами
Преимущества:
— Простота организации данных
— Возможность сложных запросов
— Поддержка больших объемов информации
Не реляционные (NoSQL)
NoSQL БД — базы данных, не использующие табличную структуру.
Включают несколько подтипов:
Колоночные
Примеры:
ClickHouse, Cassandra, HBase
Применение: аналитика больших данных
Плюсы: высокая производительность при работе с большими объемами
Графовые
Примеры:
Neo4j, JanusGraph
Применение: социальные сети, логистика, анализ связей
Особенности: хранение и обработка сложных взаимосвязей
Резидентные
Примеры:
Redis, Memcached
Особенности:
— Хранение данных по принципу “ключ-значение”
— Высокая скорость работы
— Работа в оперативной памяти
Документоориентированные
Примеры:
MongoDB, CouchDB
Особенности:
— Хранение данных в формате документов
— Гибкая структура
— Поддержка больших объемов
Иерархические
Пример:
IMS, TDMS
Особенности:
— Организуют данные в древовидную структуру
— Отношения “один ко многим”
— Строгая структура
— Простота навигации
Каждый тип имеет свои сильные и слабые стороны, поэтому выбор зависит от конкретных задач проекта. В некоторых случаях оптимальным решением может стать комбинация нескольких типов баз данных.
В
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1🔥1👌1
Утилита bpytop
BpyTop - мощный инструмент мониторинга системы, разработанный для Linux и macOS, позволяет отслеживать использование ресурсов в режиме реального времени. Это усовершенствованная версия классического htop и bashtop.
Особенности:
Отображает статистику загрузки процессора, памяти, диска и сети в графическом виде, что облегчает понимание текущих процессов.
Можно просматривать подробную информацию о каждом процессе, включая потребление CPU, RAM, I/O и многое другое.
Большая часть функционала управляется с помощью мыши, что сильно отличается от других утилит.
Установка bpytop
Мониторинг
Мониторинг нагрузки на CPU
BpyTop является удобным инструментом с хорошей визуализацией для любого администратора, работающего с Linux и MacOS системами.
В🖥 Блог LinuPark
📱 LinuPark в Telegram | 🖥 Блог LinuPark
А есть что-то красочнее top и atop? Есть, давай установим...
BpyTop - мощный инструмент мониторинга системы, разработанный для Linux и macOS, позволяет отслеживать использование ресурсов в режиме реального времени. Это усовершенствованная версия классического htop и bashtop.
Особенности:
Графическое представление
Отображает статистику загрузки процессора, памяти, диска и сети в графическом виде, что облегчает понимание текущих процессов.
Детализация
Можно просматривать подробную информацию о каждом процессе, включая потребление CPU, RAM, I/O и многое другое.
Поддержка управления мышью
Большая часть функционала управляется с помощью мыши, что сильно отличается от других утилит.
Установка bpytop
apt install bpytop
Мониторинг
bpytop
Мониторинг нагрузки на CPU
bpytop -b cpu
BpyTop является удобным инструментом с хорошей визуализацией для любого администратора, работающего с Linux и MacOS системами.
В
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2👍1🤝1
Утилита FREE 🆓
Наиболее распространённая утилита, которая всегда присутствует в системе, для просмотра состояния оперативной памяти (ОЗУ) и пространства подкачки (SWAP)
Основные ключи для вывода
Разбираем вывод утилиты
Запускаем утилиту
В🖥 Блог LinuPark
📱 LinuPark в Telegram | 🖥 Блог LinuPark
А как посмотреть оперативную память и подкачку в Linux? Проще не существует...
Наиболее распространённая утилита, которая всегда присутствует в системе, для просмотра состояния оперативной памяти (ОЗУ) и пространства подкачки (SWAP)
Основные ключи для вывода
-m # вывод в Мб
-g # вывод в Гб
-w # раздельный вывод buffers и cache
-s N # периодичность запроса (free -s 3)
-с # количество запросов
Разбираем вывод утилиты
total (всего) # общий объём видимого пространства
used (занят) # используемая память
free (своб) # свободная память
shared (общая) # разделяемая память
buffer (буферы) # память буферов ядра
cache (врем.) # закешированные данные (могут быть удалены без потерь)
available (доступно) # оценочные данные доступной памяти для новых процессов
Запускаем утилиту
free -wm
В
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1👌1
SSH доступ по ssh-ключу
Настраиваем ssh доступ по ssh-ключу
Для начала проверяем наличие ssh-сервиса на рабочей станции или сервере
Если его нет, то устанавливаем и включаем автозапуск:
После генерируем ssh-ключ на машине с которой будет производиться подключение
Копируем публичную часть ключа на удалённую машину, в нашем случае это 192.168.122.128, пользователь user
После закрываем вход по ssh для пользователя root на удалённой машине
Отключаем возможность удалённого входа с помощью пароля для всех на удалённой машине
(Ctrl + o - сохранить, Ctrl + x - выйти)
Проверяем наличие дополнительной конфигурации ssh в /etc/ssh/sshd_config.d/
Перезагружаем сервис ssh
Пробуем подключиться с помощью ключа
В🖥 Блог LinuPark
📱 LinuPark в Telegram | 🖥 Блог LinuPark
Могут ли подобрать пароль по ssh? Да, могут и это скорее вопрос времени... Лучше не использовать пароль, давай настроим вход по ключу...
Настраиваем ssh доступ по ssh-ключу
Для начала проверяем наличие ssh-сервиса на рабочей станции или сервере
systemctl status ssh
# или
systemctl status sshd
Если его нет, то устанавливаем и включаем автозапуск:
apt install ssh -y
systemctl enable ssh
# или
systemctl enable sshd
После генерируем ssh-ключ на машине с которой будет производиться подключение
ssh-keygen
В процессе генерации можно задать фактор-пароль к ключу, но это не обязательно, можно просто нажать Enter
Копируем публичную часть ключа на удалённую машину, в нашем случае это 192.168.122.128, пользователь user
ssh-copy-id user@192.168.122.128
После закрываем вход по ssh для пользователя root на удалённой машине
nano /etc/ssh/sshd_config
Меняем параметр #PermitRootLogin prohibit-password на PermitRootLogin no
Отключаем возможность удалённого входа с помощью пароля для всех на удалённой машине
Меняем #PasswordAuthentication yes на PasswordAuthentication no
(Ctrl + o - сохранить, Ctrl + x - выйти)
Проверяем наличие дополнительной конфигурации ssh в /etc/ssh/sshd_config.d/
Если там есть дополнительное файлы и в них содержится настройка PermitRootLogin и PasswordAuthentication, то их нужно удалить или закомментировать (прописать # в начале строки)
Перезагружаем сервис ssh
systemctl restart ssh
# или
systemctl restart sshd
Пробуем подключиться с помощью ключа
ssh user@192.168.122.128
Если при подключении не было запроса пароля, то аутентификация прошла успешно с помощью ssh-ключа
В
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2👍1🤝1
Создаём SWAP-файл (файл подкачки) на лету в Linux
Проверяем текущий SWAP, отключаем и удаляем его (при необходимости можно не удалять)
Создаём новый файл, выставляем биты доступа и форматируем в SWAP
Включаем SWAP
Добавляем в автоматическое монтирование
Управление приоритетом (опционально), если несколько файлов
Смотрим утилитой free
В🖥 Блог LinuPark
📱 LinuPark в Telegram | 🖥 Блог LinuPark
Можно без перезагрузки добавить swap? Можно не только добавить, но и поменять приоритет, давай покажу...
Проверяем текущий SWAP, отключаем и удаляем его (при необходимости можно не удалять)
swapon -s
swapoff /swapfile
rm /swapfile
Создаём новый файл, выставляем биты доступа и форматируем в SWAP
fallocate -l 4G /.swap.img
chmod 600 /.swap.img
mkswap /.swap.img
Включаем SWAP
swapon /.swap.img
Добавляем в автоматическое монтирование
echo '/.swap.img none swap sw 0 0' >> /etc/fstab
Управление приоритетом (опционально), если несколько файлов
swapon --show=NAME,PRIO # Проверите текущий
swapon /.swap.img -p 100 # Установить новый
Смотрим утилитой free
free -m
В
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2👌1👨💻1
Утилита DF
df - наиболее распространённая утилита для просмотра используемого пространства файловых систем.
Она всегда установлена и вполне информативная, показывает подключенные (правильнее смонтированные) файловые системы.
Основные ключи для удобного вывода
Разбираем вывод утилиты
Запускаем утилиту
В🖥 Блог LinuPark
📱 LinuPark в Telegram | 🖥 Блог LinuPark
Как узнать сколько свободного места на диске? Есть такой способ, давай покажу...
df - наиболее распространённая утилита для просмотра используемого пространства файловых систем.
Она всегда установлена и вполне информативная, показывает подключенные (правильнее смонтированные) файловые системы.
Основные ключи для удобного вывода
-m - вывод в МиБ
-h - вывод в ГиБ
-T - включить в вывод строку тип ФС
-i - вывод Inodes
-H - вывод в Гб (системы СИ из расчёта 1000, а не 1024)
Разбираем вывод утилиты
filesystem - файловая система
size - размер
used - используемое пространство (занятое данными)
avail - свободное (полезное) пространство
use% - используемое пространство (занятое данными) в процентах
mounted on - место монтирования файловой системы
type - тип файловой системы
inodes - количество айнодов
Запускаем утилиту
df -Th
В
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2👌1🤝1
Отключение IPv6 ✔️
Отключаем IPv6
В конфигурационном файле /etc/default/grub дописав ipv6.disable=1 в параметрах GRUB_CMDLINE_LINUX_DEFAULT и GRUB_CMDLINE_LINUX
(Ctrl + o - сохранить, Ctrl + x - выйти)
Обновляем конфигурацию GRUB
Перезагружаем систему
В🖥 Блог LinuPark
📱 LinuPark в Telegram | 🖥 Блог LinuPark
Можно совсем отключить IPv6 в системе? Можно, смотри как это сделать, но есть нюансы...
IPv6 почти всегда включен по умолчанию, но редко когда настроен firewall, настраивают для IPv4, а про отдельный firewall для IPv6 забывают, если он не используется для приложений, то его можно выключить на уровне ядра⚠️
Отключаем IPv6
В конфигурационном файле /etc/default/grub дописав ipv6.disable=1 в параметрах GRUB_CMDLINE_LINUX_DEFAULT и GRUB_CMDLINE_LINUX
(если там уже что-то указано, разделите пробелом)
nano /etc/default/grub
(Ctrl + o - сохранить, Ctrl + x - выйти)
Обновляем конфигурацию GRUB
update-grub && update-grub2
Перезагружаем систему
reboot
⚠️ Для корректной работы многих сервисов, таких, как Nginx и ProxMox, наличие ipv6 обязательно на момент установки, после можно выключить, предварительно настроив такой режим работы самого сервиса
В
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2👌1🤝1
Утилита Stress
Утилита Stress позволяет провести нагрузочное тестирование системы по CPU, ОЗУ, Дискам и системе ввода-вывода, что делает её незаменимой🔥
Устанавливаем утилиту
После установки смотрим сколько в системе ядер
Основные ключи
Ключи можно комбинировать и запускать одновременно несколько тестов
Запускаем тест
Запускаем нагрузку на 8 ядер на 20 секунд
Запускаем нагрузку на ОЗУ в 2 процесса по 256M на 20 секунд
Запускаем нагрузку на ОЗУ в 2 процесса по 512M на 20 секунд
Запускаем нагрузку на диск в 2 процесса по 1Гб на 40 секунд
Запускаем нагрузку на подсистему ввода-вывода с двумя процессами на 40 секунд
В🖥 Блог LinuPark
📱 LinuPark в Telegram | 🖥 Блог LinuPark
Как провести стресс тестирование системы в Linux? Не вопрос, простой способ нагрузить систему имеется, давай покажу...
Утилита Stress позволяет провести нагрузочное тестирование системы по CPU, ОЗУ, Дискам и системе ввода-вывода, что делает её незаменимой
Устанавливаем утилиту
apt install stress
После установки смотрим сколько в системе ядер
grep -c ^processor /proc/cpuinfo
В нашем случае 8 ядерℹ️
Основные ключи
-c - нагрузка на CPU
-m - нагрузка на виртуальную память
-d - нагрузка на диск
-i - нагрузка на подсистему ввода-вывода
-t - время проведения нагрузки
Ключи можно комбинировать и запускать одновременно несколько тестов
Пример:
stress -c 2 -m 4 --vm-bytes 512M -d 4 -t 20
Запускаем тест
Запускаем нагрузку на 8 ядер на 20 секунд
stress -c 8 -t 20
Запускаем нагрузку на ОЗУ в 2 процесса по 256M на 20 секунд
stress -m 2 -t 20
Запускаем нагрузку на ОЗУ в 2 процесса по 512M на 20 секунд
stress -m 2 --vm-bytes 512M -t 20
Запускаем нагрузку на диск в 2 процесса по 1Гб на 40 секунд
stress -d 2 -t 40
Для объёма 2Гб ключ -hdd-bytes 2GBℹ️
Запускаем нагрузку на подсистему ввода-вывода с двумя процессами на 40 секунд
stress -i 2 -t 40
В
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1👌1
Утилита DIG
Утилита Dig (Domain Information Groper) позволяет опрашивать dns серверы, что отражено в её названии, предустановленна в большинстве Linux дистрибутивов, поставляется в пакете dnsutils.
Основные типам DNS-записей A, AAAA (IPv6), MX, NS, CNAME, TXT
Основные опции
Быстрый запрос A записи linupark.ru
Запрос CNAME записи www.linupark.ru
Запрос CNAME записи www.linupark.ru с трассировкой подробно
Отправить запрос CNAME записи www.linupark.ru на конкретный сервер DNS
Отправить запрос A записи linupark.ru на конкретный сервер DNS на порт 950
Произвести запрос обратной зоны DNS (PTR)
В🖥 Блог LinuPark
📱 LinuPark в Telegram | 🖥 Блог LinuPark
Как мне проверить наличие записи dns в Linux? Одной командой, давай разбираться...
Утилита Dig (Domain Information Groper) позволяет опрашивать dns серверы, что отражено в её названии, предустановленна в большинстве Linux дистрибутивов, поставляется в пакете dnsutils.
Основные типам DNS-записей A, AAAA (IPv6), MX, NS, CNAME, TXT
Основные опции
+short - краткий вывод
+trace - трассировка запросов
+all - подробный вывод
@сервер - указание конкретного DNS-сервера (ip или fqdn), (не стандартный порт -p)
-t - тип запрашиваемой записи (не обязательно)
-x - запрос по обратной зоне DNS (IP → домен) PTR
Быстрый запрос A записи linupark.ru
dig linupark.ru;
# или
dig A linupark.ru;
# или
dig -t A linupark.ru;
# Это всё равнозначные команды
В выводе мы получим основную информацию IP, TTL, Сервер (который ответил), время запроса и протокол взаимодействия (по умолчанию UDP)
Запрос CNAME записи www.linupark.ru
dig CNAME www.linupark.ru;
# или
dig -t CNAME www.linupark.ru;
# Это всё равнозначные команды
Запрос CNAME записи www.linupark.ru с трассировкой подробно
dig cname www.linupark.ru +trace +all;
В выводе будет подробный маршрут запросов по шагам
Отправить запрос CNAME записи www.linupark.ru на конкретный сервер DNS
dig CNAME www.linupark.ru @1.1.1.1;
Отправить запрос A записи linupark.ru на конкретный сервер DNS на порт 950
dig linupark.ru @10.10.10.6 -p 950;
DNS сервер должен быть настроен на работу по порту UDP 950
Произвести запрос обратной зоны DNS (PTR)
dig -x 176.57.67.178;
В выводе видим текущую PTR запись установленную провайдером
178.67.57.176.in-addr.arpa. IN PTR
В
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1👌1🤝1
Здоровье диска или основные S.M.A.R.T.-атрибуты
Основные SMART-атрибуты HDD-дисков:
Отображает количество ошибок, возникших при чтении из-за аппаратных неполадок, электрические или механические неисправности.
Время раскрутки дисков до рабочей скорости. Увеличение значения может указывать на износ подшипников двигателя.
Количество переназначенных секторов. Когда жесткий диск обнаруживает неисправный сектор, он автоматически заменяет его резервным. Большое число замещённых секторов сигнализирует о износе диска.
Частота ошибок позиционирования головки. Частые ошибки означают проблемы с механической частью диска, износ механики или повреждение поверхности.
Общее время работы диска. Чем больше часов работы, тем больше утилизация ресурсного времени эксплуатации устройства.
Температура самого диска. Перегрев уменьшает срок службы компонентов, особенно механических частей и микросхем контроллера. Рабочая температура не должны превышать 55–60 градусов.
Ключевые SMART-атрибуты SSD-накопителей:
Показатель износа ресурса NAND-памяти на основе фактического использования устройства и прогнозов производителя определяет процент оставшегося срока эксплуатации SSD-накопителя. 100% означает завершение срока службы или отсутствие ресурса.
Суммарный объём записанных данных на накопитель. Отражает количество данных, которые контроллер должен был записать, в то время как «NAND Writes» показывает объём данных, которые действительно записал контроллер (после сжатия).
Коэффициент увеличения операций записи. Показывает, насколько много реальных физических операций записи производится относительно виртуальных операций.
Количество неудачных попыток стирания блоков NAND. Повышение числа указывает на отказ ячеек памяти накопителя.
Отслеживает равномерность износа ячеек памяти. Если этот показатель высокий, значит некоторые ячейки начали значительно быстрее изнашиваться.
Как интерпретировать показатели ты сможешь узнать в🖥 Блог LinuPark
📱 LinuPark в Telegram | 🖥 Блог LinuPark
S.M.A.R.T. (Self Monitoring Analysis and Reporting Technology) представляет собой технологию самодиагностики жестких дисков и твердотельных накопителей (SSD). Она позволяет отслеживать состояние устройства хранения данных, предупреждая о возможных проблемах до возникновения серьезных сбоев.
Основные SMART-атрибуты HDD-дисков:
Raw Read Error Rate
Отображает количество ошибок, возникших при чтении из-за аппаратных неполадок, электрические или механические неисправности.
Spin Up Time
Время раскрутки дисков до рабочей скорости. Увеличение значения может указывать на износ подшипников двигателя.
Reallocated Sector Count
Количество переназначенных секторов. Когда жесткий диск обнаруживает неисправный сектор, он автоматически заменяет его резервным. Большое число замещённых секторов сигнализирует о износе диска.
Seek Error Rate
Частота ошибок позиционирования головки. Частые ошибки означают проблемы с механической частью диска, износ механики или повреждение поверхности.
Power On Hours (POH)
Общее время работы диска. Чем больше часов работы, тем больше утилизация ресурсного времени эксплуатации устройства.
Temperature
Температура самого диска. Перегрев уменьшает срок службы компонентов, особенно механических частей и микросхем контроллера. Рабочая температура не должны превышать 55–60 градусов.
Ключевые SMART-атрибуты SSD-накопителей:
Percentage Used Endurance Indicator (Percent Lifetime Used)
Показатель износа ресурса NAND-памяти на основе фактического использования устройства и прогнозов производителя определяет процент оставшегося срока эксплуатации SSD-накопителя. 100% означает завершение срока службы или отсутствие ресурса.
Host Writes in Gigabytes
Суммарный объём записанных данных на накопитель. Отражает количество данных, которые контроллер должен был записать, в то время как «NAND Writes» показывает объём данных, которые действительно записал контроллер (после сжатия).
NAND Writes Amplification Factor
Коэффициент увеличения операций записи. Показывает, насколько много реальных физических операций записи производится относительно виртуальных операций.
Erase Failures
Количество неудачных попыток стирания блоков NAND. Повышение числа указывает на отказ ячеек памяти накопителя.
Wear Leveling Count
Отслеживает равномерность износа ячеек памяти. Если этот показатель высокий, значит некоторые ячейки начали значительно быстрее изнашиваться.
Как интерпретировать показатели ты сможешь узнать в
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2👌1👨💻1
Утилита WC
Утилита wc для расчёта, способная посчитать размер, количество строк, слов и символов.
Крайне полезный инструмент😀 .
Основные ключи
Запускаем утилиту
Или перенаправляем вывод на неё
В🖥 Блог LinuPark
📱 LinuPark в Telegram | 🖥 Блог LinuPark
Как посчитать количество строк в Linux? Давай покажу как посчитать размер, количество строк, слов и символов...
Утилита wc для расчёта, способная посчитать размер, количество строк, слов и символов.
Крайне полезный инструмент
Основные ключи
-c - размер в байтах
-m - всего символов
-l - всего строк
-w - всего слов
По умолчанию выводит строки, слова, символы
27 130 807 test.txt
Запускаем утилиту
wc test.txt
Или перенаправляем вывод на неё
grep name /proc/cpuinfo | wc
В
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2👍1👌1