Linux: Системный администратор – Telegram
Linux: Системный администратор
1.92K subscribers
81 photos
8 videos
15 files
25 links
Здесь вы найдете полезные советы, практические материалы и интересные инсайты по администрированию Linux. Погружаемся в мир команд, скриптов и серверов вместе! 🚀

Авторский канал действующего админа 👨🏼‍💻
Download Telegram
📌 Как восстановить удаленные файлы в Linux?

Привет, коллеги! Сегодня разберем одну из самых неприятных ситуаций – случайное удаление важных файлов. 😱

🔹 Первое правило – не паниковать! Главное – не записывать новые данные на диск, откуда был удален файл, иначе его будет сложнее восстановить.

🛠 Способы восстановления:

1️⃣ Корзина (Trash)
Если файл был удален через GUI (например, Nautilus или Dolphin), проверьте ~/.local/share/Trash/.

2️⃣ Команда lsof (если файл еще открыт процессом)
Иногда процесс продолжает использовать удаленный файл:

lsof | grep '(deleted)'

Можно скопировать содержимое из /proc/<PID>/fd/<FD> в новый файл.

3️⃣ Восстановление через extundelete (для ext4)
Если файл был удален с раздела ext4, используем extundelete:

sudo umount /dev/sdX1 # Размонтируем раздел
sudo extundelete /dev/sdX1 --restore-all

Файлы восстанавливаются в папку RECOVERED_FILES.

4️⃣ Photorec – восстановление данных с диска
Подходит для файловых систем ext4, NTFS, FAT и других:

sudo apt install testdisk # Устанавливаем пакет
sudo photorec

Выбираем диск и начинаем поиск удаленных файлов.

5️⃣ grep в raw-данных (если знаем содержимое)
Можно попробовать найти фрагменты файла прямо на диске:

grep -a -b "текст из файла" /dev/sdX

Где -a указывает, что это текст, а -b показывает смещение.

🔥 Лучший способ защиты – бэкапы! Используйте rsnapshot, borg, restic или хотя бы rsync для резервного копирования.

💬 А какие методы восстановления использовали вы? Делитесь опытом в комментариях! 👇

#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin

👉 @linux_odmin
👍6
📌 Топ команд htop, о которых ты мог не знать!

Привет, админы! Сегодня я покажу вам, как выжать максимум из htop – мощного интерактивного монитора процессов. Многие пользуются им для просмотра нагрузки на систему, но знаете ли вы о его скрытых фишках? Давайте разбираться!

🔥 Полезные команды:
1️⃣ F2 (Setup) – Настройка интерфейса. Можно скрыть ненужные столбцы или поменять цветовую схему.
2️⃣ F3 (Search) – Быстрый поиск процесса по имени.
3️⃣ F4 (Filter) – Фильтрация процессов по имени или команде.
4️⃣ F5 (Tree View) – Отображение процессов в виде древовидной структуры. Очень удобно для отладки зависимостей!
5️⃣ F6 (Sort By) – Изменение сортировки (CPU, MEM, PID и т.д.).
6️⃣ F7/F8 – Изменение приоритета (nice) процессов на лету.
7️⃣ F9 (Kill) – Убийство процесса без выхода из htop.

💡 Дополнительные лайфхаки:
🔹 Shift + U – Снимает выделение всех процессов.
🔹 Shift + P / M / T – Быстро сортирует по CPU, памяти или времени выполнения.
🔹 H – Подсветка зависимых процессов (родитель-потомок).
🔹 I – Инвертирует сортировку, полезно при анализе.

А вы знали про эти фишки? Делитесь в комментариях, как используете htop в повседневной работе! 👇🚀

#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin

👉 @linux_odmin
👍5
🚀 Как ускорить загрузку системы в Linux?

Ну и последний на сегодня пост! Разберёмся, как ускорить загрузку Linux-севера, ведь время старта системы — это важный показатель, особенно для критичных сервисов.

🔥 1. Анализируем задержки загрузки
Используем systemd-analyze для проверки времени загрузки:

systemd-analyze

Вы увидите разбивку по этапам загрузки. Чтобы детализировать задержки:

systemd-analyze blame

Эта команда покажет, какие сервисы дольше всего стартуют.

🔥 2. Отключаем ненужные сервисы
Если нашли сервисы, которые загружаются долго и не нужны, их можно отключить:

systemctl disable сервис
systemctl mask сервис # Полное отключение

Например, если у вас сервер без графического интерфейса:

systemctl disable gdm


🔥 3. Оптимизируем файловую систему
Если у вас ext4, можно включить journal_async_commit для ускорения работы:

tune2fs -o journal_async_commit /dev/sdX

А ещё полезно отключить проверку диска при каждом `X`-м запуске:

tune2fs -c 0 /dev/sdX


🔥 4. Настраиваем параллельную загрузку сервисов
Редактируем grub:

nano /etc/default/grub

Добавляем в GRUB_CMDLINE_LINUX_DEFAULT:

quiet splash systemd.legacy_boot=false

После чего обновляем загрузчик:

update-grub


🔥 5. Используем preload
Устанавливаем preload, чтобы кешировать часто используемые библиотеки:

apt install preload -y # Для Debian/Ubuntu
yum install preload -y # Для RHEL/CentOS

Этот сервис будет следить за тем, какие файлы используются чаще всего, и загружать их в память заранее.

👉 А какие ещё способы ускорения загрузки вы используете? Делитесь в комментариях! 💬

#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin

👉 @linux_odmin
👍2🔥1
🔥 Как проверить, какие процессы занимают порт в Linux?

Привет, админы! Сегодня я покажу вам, как быстро проверить, какие процессы используют определенный порт в Linux. Это полезно, когда, например, веб-сервер не стартует, потому что порт уже занят.

🛠 Команда netstat (если у вас установлен пакет net-tools)

netstat -tulnp | grep :80

💡 Опция -tulnp расшифровывается так:
- -t – TCP,
- -u – UDP,
- -l – слушающие порты,
- -n – показывать номера портов,
- -p – показывать процесс, который использует порт.

🛠 Команда ss (современная альтернатива netstat)

ss -tulnp | grep :80


🛠 Использование lsof
Если хотите узнать, какой процесс занимает порт 80:

lsof -i :80

Если lsof не установлен, установите его:

# Debian/Ubuntu
apt install lsof
# CentOS/RHEL
yum install lsof


🛠 Альтернатива через fuser

fuser -v 80/tcp

🔥 Эта команда сразу покажет PID процесса, а с флагом -k можно его принудительно завершить:

fuser -k 80/tcp


Теперь вы знаете, как быстро найти и убить процессы, блокирующие нужные порты. 🚀
А вы каким методом пользуетесь чаще всего? Делитесь в комментариях! 👇

#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin

👉 @linux_odmin
👍61
💡Небольшая шпаргалка по основным командам Linux: Сеть (DNS)

ipcalc – калькулятор сети
ethtool interface – отобразить физическую статистику интерфейса interface;
ping host – пропинговать host и вывести результат
whois domain – получить информацию whois для domain
traceroute host – трассировка маршрута до определенного хоста
ifconfig eth0 – отображение/настройка параметров сетевого интерфейса etho (либо другого, если без указания интерфейса – отобразит конфигурацию всех интерфейсов)
inet ip.add.re.s – задание ip адреса интерфейса (TCP/IP)
mask xxx.xxx.xxx.xxx – задание маски подсети интерфейса
broadkast xxx.xxx.xxx.xxx – задание широковещательного адреса интерфейса
up – запустить интерфейс
down – остановить интерфейс
-a – отображение всех железных интерфейсов (в том числе и не поднятых и поднятых)
route – отображение таблицу маршрутизации
-n – не резолвить имена в адреса
add destination gw gateway metric metric – добавить маршрут (add) для destination (адрес назначения), IP адрес шлюза (gw) – gateway, с метрикой metric
add -net -указание добавить маршрут для сети
add – host -указание добавить маршрут для хоста
del destination – удалить маршрут с назначением destination
mtr host – отображение статистики трассировки до хоста host (красивее чем трасероут )
netcat host port – просмотр, кто слушает порт
nc – TCP/IP швейцарсий нож
-h – отобразить помощь
-l port – прослушивать локальный порт port для входящих соединений.
netstat -отображение статистики сети
-r – таблица маршрутизации
-n – без разрешения IP адресов в имена и сетевых портов в названия
-a – состояние всех (во всех состояниях) соединений на локальной машине
-t – статистика по протоколу TCP
-u – статистика по протоколу UDP
-i – отобразить статистику сетевых интерфейсов
-l – просмотр сокетов, слушающих (LISTEN) соединения (ожидающих соединения)
-p – отобразить имя программы и PID (process ID), с которой взаимодействует сокет

#Linux@linux_odmin #Шпаргалка@linux_odmin #Команды@linux_odmin

👉 @linux_odmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3👎1
🛠️ Как быстро найти и удалить большие файлы в Linux?

Привет, коллеги! Сегодня расскажу, как быстро найти и удалить самые тяжелые файлы в системе. Иногда место на сервере заканчивается в самый неподходящий момент, и админ вынужден срочно искать виновников.

🔍 Поиск самых больших файлов:
Используем команду find, чтобы найти файлы больше 1 ГБ:

find / -type f -size +1G -exec ls -lh {} +

🔹 / – корневая директория, можно заменить на нужный путь
🔹 -type f – ищем только файлы
🔹 -size +1G – файлы больше 1 ГБ
🔹 -exec ls -lh {} + – отображаем размер и путь

🔥 Удаление больших файлов:
Будьте осторожны, сначала убедитесь, что удаляете нужное!

find /var/log -type f -size +500M -delete

🔹 Здесь удаляем файлы больше 500 МБ в /var/log

📌 Дополнительно:
Чтобы найти самые крупные каталоги, используйте:

du -ah / | sort -rh | head -20

Эта команда покажет 20 самых тяжелых объектов.

А какие еще команды вы используете для очистки места? Делитесь в комментариях! 💬

#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin

👉 @linux_odmin
👍4
🛠️ Как быстро проверить загрузку процессора в Linux?

Привет, админы! Сегодня разберём несколько команд, которые помогут моментально оценить нагрузку на CPU. Это полезно, если сервер тормозит или нужно оперативно выяснить, кто жрёт ресурсы.

📊 1️⃣ Используем top

top

В реальном времени покажет загрузку процессора, память и активные процессы. Сортировка по использованию CPU идёт автоматически.

Полезные клавиши в top:
- Shift + P — отсортировать по загрузке CPU.
- 1 — показать загрузку по каждому ядру.
- q — выйти.

📊 2️⃣ htop – удобная альтернатива

htop

Красивый интерфейс, удобное управление, фильтрация процессов. Устанавливаем:

apt install htop # для Debian/Ubuntu
yum install htop # для CentOS
dnf install htop # для Fedora

3️⃣ Быстрый анализ через mpstat

mpstat -P ALL 1 5

Покажет загрузку каждого ядра за последние 5 секунд. Устанавливаем через sysstat:

apt install sysstat # Debian/Ubuntu
yum install sysstat # RHEL/CentOS


🔍 4️⃣ Кто грузит CPU?

ps -eo pid,comm,%cpu --sort=-%cpu | head -n 10

Выведет топ-10 процессов, которые больше всего нагружают процессор.

🔥 А что используете вы для мониторинга CPU? Делитесь инструментами в комментариях! 🚀

#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin

👉 @linux_odmin
👍6
🛠️ Как быстро узнать, какие процессы нагружают систему?

Привет, коллеги! Сегодня расскажу, как быстро выявить "прожорливые" процессы, которые могут нагружать CPU, память или диск. Особенно полезно, когда сервер тормозит, а причина не очевидна.

🔥 ТОП-5 процессов по загрузке CPU:

ps -eo pid,ppid,user,%cpu,%mem,cmd --sort=-%cpu | head -n 6

📌 Разбор команды:
- -eo — выбираем, какие колонки отображать.
- pid,ppid,user,%cpu,%mem,cmd — показываем ID процесса, родительский процесс, владельца, % загрузки CPU и памяти, команду запуска.
- --sort=-%cpu — сортируем по убыванию нагрузки на процессор.
- head -n 6 — выводим первые 5 строк (плюс заголовок).

📊 ТОП-5 процессов по потреблению памяти:

ps -eo pid,ppid,user,%cpu,%mem,cmd --sort=-%mem | head -n 6

Здесь всё аналогично, но сортируем по памяти.

📂 Самые активные процессы на диске (I/O):

iotop -o -n 5

Эта команда (из пакета iotop) покажет процессы, активно читающие/записывающие данные на диск.

🚀 Завершаем "прожорливый" процесс:
Если нашли виновника, можно его аккуратно завершить:

kill -9 PID

Где PID — это ID процесса. Но будьте осторожны! Убедитесь, что не убиваете важный системный процесс.

💡 А как вы мониторите нагрузку на сервер? Используете htop, atop или что-то ещё? Делитесь в комментариях! 🚀

#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin

👉 @linux_odmin
👍4
🚀 Как запустить сервис автоматически при загрузке Linux?

Привет, админы! Часто сталкиваемся с задачей: нужно, чтобы сервис стартовал автоматически при перезагрузке сервера. Давайте разберем три варианта для разных случаев.

1️⃣ systemd – современный способ
Для систем с systemd (Ubuntu 16+, CentOS 7+, Debian 8+):
Добавить сервис в автозапуск:

systemctl enable nginx

Запустить вручную (если еще не запущен):

systemctl start nginx

Проверить статус:

systemctl status nginx

Если после перезагрузки не стартует – проверьте логи:

journalctl -u nginx --no-pager | tail -20




2️⃣ rc.local – олдскульный способ
Если systemd недоступен (старые системы, embedded):
Добавляем команду в /etc/rc.local перед exit 0:

/usr/bin/python3 /opt/my_noscript.py &

Затем делаем файл исполняемым:

chmod +x /etc/rc.local

Этот метод не идеален, но иногда помогает.



3️⃣ crontab – если сервис не daemonized
Иногда проще запустить процесс через cron, особенно если он не умеет работать в фоне:

crontab -e

Добавляем строку:

@reboot /usr/bin/python3 /opt/my_noscript.py

Теперь скрипт стартует при загрузке.



📌 Вывод
Лучше всего использовать systemd, но в некоторых случаях пригодятся rc.local и cron. Какой метод предпочитаете вы? Пишите в комментариях!

#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin

👉 @linux_odmin
👍5
📌 Как проверить, кто держит файл открытым в Linux?

Бывало у вас такое? Нужно удалить или переместить файл, а система упорно не даёт это сделать, ссылаясь на то, что файл занят каким-то процессом. Разберёмся, как найти виновника!

🔎 Используем lsof

Команда lsof (list open files) покажет нам, какие процессы держат файл:


lsof /путь/к/файлу


Если у вас её нет, установите:
- Debian/Ubuntu: sudo apt install lsof
- RHEL/CentOS: sudo yum install lsof
- Arch: sudo pacman -S lsof

🔥 Освобождаем файл

Допустим, мы нашли процесс, который держит файл. Теперь его можно завершить:


kill -9 PID


Где PID — идентификатор процесса, который мы узнали через lsof.

💡 Альтернативный вариант — fuser

Ещё один способ:


fuser -v /путь/к/файлу


А чтобы принудительно закрыть процесс, можно выполнить:


fuser -k /путь/к/файлу


⚠️ Будьте осторожны с kill -9 и fuser -k, особенно если работа идёт на продакшн-сервере!

А вы часто сталкиваетесь с такими ситуациями? Как обычно решаете проблему? Пишите в комментариях! 💬

#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin

👉 @linux_odmin
👍6
🔥 Оптимизация загрузки системы с systemd-analyze

Привет, коллеги! Сегодня разберем, как ускорить загрузку системы с помощью systemd-analyze. Это инструмент, который помогает выявить медленные сервисы и устранить узкие места в процессе boot.

🚀 Проверяем время загрузки
Запускаем:

systemd-analyze

Вы увидите разбиение времени загрузки на три части:
- Firmware – время, затраченное BIOS/UEFI.
- Loader – время загрузчика (GRUB, systemd-boot и т. д.).
- Kernel – загрузка ядра.
- Userspace – время работы systemd перед передачей управления пользователю.

🔍 Выявляем медленные сервисы

systemd-analyze blame

Этот список покажет, какие сервисы загружаются дольше всего. Например:

10.456s mysql.service
5.321s docker.service
3.214s networkd.service

Часто виноваты базы данных, сетевые службы и тяжелые демоны.

Оптимизируем
1️⃣ Отключаем ненужные сервисы

systemctl disable имя_сервиса --now

2️⃣ Используем systemd-analyze critical-chain
Этот инструмент покажет зависимости сервисов и что тормозит загрузку:

systemd-analyze critical-chain

3️⃣ Добавляем noauto или x-systemd.automount` для редко используемых дисков в /etc/fstab
4️⃣ Настраиваем systemd-tmpfiles-clean.timer, чтобы не перегружать систему удалением временных файлов.

После изменений перезагружаемся и проверяем, стало ли быстрее:

systemd-analyze

Если помогло – делимся в комментах! 😉 🚀

#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin

👉 @linux_odmin
👍3
🚀 Как правильно чистить /var/log в Linux?

Привет, коллеги! Сегодня расскажу, как грамотно чистить логи в Linux, чтобы не перегружать систему и не терять важные данные.

🛑 Ошибка новичков – просто удалить файлы из /var/log/. Да, так освободится место, но службы, использующие логи, могут сломаться.

Правильные способы очистки:

🔹 Используем logrotate
Это стандартный инструмент для управления логами в Linux. Настройки хранятся в /etc/logrotate.conf и /etc/logrotate.d/. Можно настроить автоудаление старых логов:

sudo nano /etc/logrotate.conf

Добавляем:

/var/log/*.log {
daily
rotate 7
compress
missingok
notifempty
}

Это означает: чистим ежедневно, храним 7 копий, сжимаем старые файлы.

🔹 Очистка логов вручную
Если нужно срочно освободить место, используем:

sudo truncate -s 0 /var/log/syslog
sudo truncate -s 0 /var/log/auth.log

Эта команда обнуляет файлы, не удаляя их.

🔹 Удаление старых логов
Можно удалить файлы старше 7 дней:

sudo find /var/log -type f -name "*.log" -mtime +7 -delete


📢 А как вы чистите логи? Используете logrotate или предпочитаете скрипты? Делитесь в комментариях! 👇

#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin

👉 @linux_odmin
👍4
🔥 Оптимизация скорости загрузки Linux: Ускоряем boot! 🚀

Привет, админы! Сегодня поговорим про ускорение загрузки Linux. Если ваш сервер или рабочая станция загружаются слишком долго, вот несколько способов исправить это:

1️⃣ Анализируем время загрузки
Используем команду:

systemd-analyze

Она покажет общее время загрузки. А чтобы увидеть, какие службы тормозят запуск:

systemd-analyze blame

Отключите ненужные службы командой:

sudo systemctl disable <service>


2️⃣ Отключаем графический режим (если не нужен)
Если сервер работает без GUI, лучше отключить:

sudo systemctl set-default multi-user.target

А если он всё же включён, можно попробовать легковесные дисплейные менеджеры, например lightdm вместо gdm.

3️⃣ Оптимизируем загрузчик
Редактируем GRUB:

sudo nano /etc/default/grub

Убираем GRUB_TIMEOUT=5 (ставим 1-2 секунды) и добавляем параметр quiet для ускорения загрузки. Затем применяем:

sudo update-grub


4️⃣ Используем Parallel Boot
Добавляем в /etc/systemd/system.conf:

DefaultTimeoutStartSec=10s
DefaultTimeoutStopSec=10s

Это сократит таймауты при запуске и остановке сервисов.

5️⃣ Чистим ненужные модули
Проверяем загружаемые модули:

lsmod

Отключаем ненужные в /etc/modprobe.d/blacklist.conf:

blacklist модуль_название


📢 А у вас долго грузится Linux? Какие методы ускорения помогли вам? Пишите в комментариях!

#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin

👉 @linux_odmin
👍6
🔧 Автоматизация обновлений пакетов в Linux 🛠️

Привет, админы! Сегодня поговорим о автоматизации обновлений пакетов в Linux. Обновления – важная часть безопасности и стабильности системы, но делать их вручную на десятках серверов – это боль. Давайте упростим себе жизнь! 😎

1️⃣ Автообновления в Debian/Ubuntu
Можно настроить unattended-upgrades, чтобы система сама обновляла пакеты:

Установка:

sudo apt update && sudo apt install unattended-upgrades

Включаем автоматическое обновление:

sudo dpkg-reconfigure unattended-upgrades

Далее следуем инструкциям, включаем обновления, и всё!

🔹 Файл конфигурации: /etc/apt/apt.conf.d/50unattended-upgrades
🔹 Логи: /var/log/unattended-upgrades/

2️⃣ Автообновления в CentOS/RHEL/AlmaLinux/Rocky
Здесь нам поможет пакет dnf-automatic:

Установка:

sudo dnf install dnf-automatic -y

Настройка:
Редактируем файл /etc/dnf/automatic.conf
- Ищем строку apply_updates = no
- Меняем на apply_updates = yes

Запускаем сервис:

sudo systemctl enable --now dnf-automatic.timer

🔹 Логи: /var/log/dnf.rpm.log

3️⃣ Обновления по расписанию (Crontab)
Если не хочется ставить дополнительные пакеты, можно сделать простенький cron-запуск:

Пример для Debian/Ubuntu:

echo "0 3 * * * root apt update -y && apt upgrade -y" | sudo tee /etc/cron.d/autoupdate

Этот скрипт будет обновлять систему каждую ночь в 3 часа.


⚠️ Важно:
- Если обновления критичны, тестируйте их сначала на тестовой машине.
- Следите за логами, чтобы не пропустить проблемы.
- Иногда автообновления могут сломать что-то важное (особенно на серверах с нестандартными конфигурациями).

А вы используете автообновления на своих серверах? Или предпочитаете всё делать руками? 💬 Пишите в комментах!

#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin

👉 @linux_odmin
👍6
🛠️ Как исправить "Read-only file system" в Linux?

Столкнулись с ошибкой Read-only file system? Это может случиться из-за внезапного отключения питания, сбоев файловой системы или аппаратных проблем. Как исправить?

🔹 Проверяем логи:

dmesg | tail -50
journalctl -xe

Ищем ошибки типа EXT4-fs error или Remounting filesystem read-only.

🔹 Проверяем монтирование:

mount | grep ro

Если / или нужный раздел примонтирован с ro, значит, система автоматически защитила его от записи.

🔹 Пробуем перемонтировать:

mount -o remount,rw /

Если сработало — отлично. Если нет, едем дальше.

🔹 Проверяем файловую систему:

fsck -y /dev/sdX

Замените sdX на проблемный раздел (df -h поможет определить его). Важно! Лучше выполнять из live-системы или в режиме восстановления.

🔹 Железные проблемы:
Если ошибки указывают на сбой диска (bad sectors), стоит проверить SMART:

smartctl -a /dev/sdX

Много секторов Reallocated, Pending, Offline Uncorrectable? Диск под замену!

Сталкивались с таким? Как решали? Делитесь в комментариях!


#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin

👉 @linux_odmin
👍5
🖥️ Как работает KVM: базовое введение в виртуализацию

Если вы еще не использовали KVM, самое время попробовать! Это встроенная в ядро Linux технология виртуализации, которая позволяет запускать виртуальные машины без установки дополнительных гипервизоров.

🔹 Что нужно для работы KVM?
- 64-битный процессор с поддержкой VT-x (Intel) или AMD-V (AMD).
- Установленные пакеты:

apt install qemu-kvm libvirt-daemon-system virt-manager

- Проверьте поддержку аппаратной виртуализации:

egrep -c '(vmx|svm)' /proc/cpuinfo

Если результат 0 — железо не поддерживает виртуализацию.

🔹 Создание первой виртуальной машины
Используем GUI-интерфейс virt-manager или команду:

virt-install --name testvm --ram 2048 --vcpus 2 --disk size=20 --os-variant ubuntu20.04 --cdrom /path/to/iso

После установки можно управлять машиной через virsh:

virsh list --all
virsh start testvm
virsh shutdown testvm

🔹 Почему KVM лучше?
- Интеграция в ядро Linux
- Поддержка live-миграции
- Высокая производительность
- Простота использования

Вы уже используете KVM? Или предпочитаете VirtualBox, VMware? Давайте обсудим! 🚀

#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin

👉 @linux_odmin
👍8
🔥 Обнаружение и устранение утечек памяти в Linux 🔥

Привет, админы! Сегодня разберем, как выявлять утечки памяти в Linux и не допускать их на продакшене. 🚀

🔍 Как понять, что память утекает?
Частые признаки:
Постепенный рост потребления RAM процессом
ОЗУ забивается, а swap активно используется
Система тормозит, перезапуск помогает, но ненадолго

🛠 Проверяем потребление памяти

🔹 Команда top или htop
Сортируем по памяти (Shift + M в top):

top

или

htop


🔹 Смотрим самые "прожорливые" процессы

ps aux --sort=-%mem | head -10


🔹 Слежка за конкретным процессом

pidstat -r -p <PID> 5

Замените <PID> на ID подозрительного процесса.

🔎 Поиск утечек памяти

🔹 Используем pmap
Показывает детали по памяти процесса:

pmap -x <PID>


🔹 Тестируем valgrind (для C/C++ программ)
Если пишете на C/C++, проверяйте утечки так:

valgrind --leak-check=full ./your_program


🔹 Проверяем с smem
Анализ потребления памяти всеми процессами:

smem -t -k | head -20


🔥 Как предотвратить утечки?
Регулярно перезапускайте сервисы (systemctl restart your_service)
Мониторьте память с prometheus + grafana
Используйте systemd с ограничениями на RAM:

[Service]
MemoryMax=500M


Если у вас были случаи утечек памяти — как справлялись? Делитесь в комментариях! 💬👇

#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin

👉 @linux_odmin
👍5🔥2
🔥 Защита SSH: 5 простых шагов для безопасного сервера

Привет, админы! Сегодня разберёмся, как защитить SSH от взломов и брутфорса. Это критично для любого сервера, ведь атаки на 22-й порт идут постоянно. Держим систему в безопасности! 🛡️

1️⃣ Меняем стандартный порт
По умолчанию SSH слушает 22-й порт, который атакуют боты. Меняем его:

sudo nano /etc/ssh/sshd_config

Находим строку:

#Port 22

Заменяем, например, на:

Port 2222

Сохраняем и перезапускаем SSH:

sudo systemctl restart sshd

Теперь подключаться будем так:

ssh -p 2222 user@server


2️⃣ Запрещаем вход по паролю
Используем только ключи для входа:

PasswordAuthentication no

Чтобы изменения применились:

sudo systemctl restart sshd

Перед этим убедитесь, что у вас уже настроен SSH-ключ!

3️⃣ Ограничиваем доступ по IP
Если у вас статический IP, можно запретить подключение от всех, кроме своего IP:

sudo nano /etc/hosts.allow

Добавляем строку:

sshd: 192.168.1.100

А в /etc/hosts.deny запрещаем остальным:

sshd: ALL


4️⃣ Включаем Fail2Ban
Этот инструмент автоматически блокирует IP-адреса после нескольких неудачных попыток входа:

sudo apt install fail2ban -y

Настраиваем фильтр для SSH:

sudo nano /etc/fail2ban/jail.local

Добавляем:

[sshd]
enabled = true
maxretry = 5
bantime = 3600

Запускаем:

sudo systemctl restart fail2ban


5️⃣ Ограничиваем число подключений
Защитим сервер от DoS-атак с помощью iptables:

sudo iptables -A INPUT -p tcp --syn --dport 2222 -m connlimit --connlimit-above 3 -j REJECT

Это ограничит число одновременных подключений к SSH.

#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin

👉 @linux_odmin
👍11
🛠️ Как найти и исправить битые симлинки в Linux?

Привет, коллеги! Сегодня поговорим о том, как искать и исправлять битые символьные ссылки в Linux. Если в системе есть сломанные ссылки, это может привести к ошибкам в работе приложений и скриптов.

🔍 Как найти битые симлинки?
Используем команду find:

find / -xtype l 2>/dev/null

Она покажет все битые (неработающие) симлинки в системе. Если нужно искать только в определённой директории, указываем путь, например:

find /home -xtype l


🛠 Удаление всех битых ссылок:
Если нужно массово удалить сломанные ссылки, используем:

find / -xtype l -delete

⚠️ Осторожно! Перед удалением лучше проверить список, чтобы случайно не снести нужное.

🔄 Как исправить битый симлинк?
Если нашли сломанную ссылку, можно удалить её и создать заново. Допустим, у нас есть сломанный симлинк /usr/bin/python, который должен вести на /usr/bin/python3:

rm /usr/bin/python
ln -s /usr/bin/python3 /usr/bin/python


🔥 Полезный трюк: Проверка всех симлинков в системе
Хотите узнать, какие симлинки куда ведут? Запускаем:

find / -type l -exec ls -l {} +


Теперь вы знаете, как найти, удалить и исправить сломанные ссылки в Linux. 🚀 Как часто у вас встречаются такие проблемы? Делитесь в комментариях! 👇

#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin

👉 @linux_odmin
👍6🔥2
📌 5 полезных команд для диагностики сети в Linux 🌐

Привет, админы! Сегодня покажу вам 5 мощных команд, которые помогут быстро диагностировать проблемы с сетью в Linux. 🚀

1️⃣ ping – проверяем доступность хоста

ping -c 4 google.com

Отправляет 4 пакета на google.com и показывает, есть ли потери. Если пинг не проходит — проблемы с маршрутизацией или DNS.

2️⃣ traceroute – отслеживаем маршрут пакетов

traceroute google.com

Выводит список узлов, через которые проходит трафик. Полезно, если соединение нестабильное.

3️⃣ netstat / ss – смотрим открытые соединения

netstat -tulnp # для старых систем
ss -tulnp # альтернатива

Отображает открытые порты, какие процессы их используют и какие соединения установлены.

4️⃣ dig – проверяем работу DNS

dig google.com

Показывает IP-адреса и DNS-записи домена. Если резолвинг не работает — проблема в DNS.

5️⃣ tcpdump – анализируем сетевой трафик

tcpdump -i eth0 port 80

Фильтрует HTTP-трафик на интерфейсе eth0. Можно использовать для отладки запросов.

Эти команды — must-have для любого админа! Какие из них используете чаще всего? Делитесь в комментариях! 🔥

#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin

👉 @linux_odmin
👍7
🛠️ Оптимизация journalctl: освобождаем место и ускоряем систему

Сегодня расскажу, как управлять журналами в Linux, чтобы они не разрастались до огромных размеров и не забивали диск. Логи — это хорошо, но когда они занимают десятки гигабайт, это уже проблема.

🔍 Проверяем размер логов
Сначала посмотрим, сколько места занимают журналы systemd:

journalctl --disk-usage

Вы увидите что-то вроде:

Archived and active journals take up 2.3G in total.

Если слишком много, пора чистить!

🗑️ Очищаем журналы
Удаляем все старые логи, оставляя только 500M:

journalctl --vacuum-size=500M

Можно также ограничить по времени, например, оставить только записи за последние 7 дней:

journalctl --vacuum-time=7d


⚙️ Ограничиваем размер логов
Чтобы в будущем избежать разрастания, задаем лимит в /etc/systemd/journald.conf:

[Journal]
SystemMaxUse=500M
SystemMaxFileSize=100M

Применяем изменения:

systemctl restart systemd-journald


🚀 Итог
Теперь логи не будут бесконтрольно расти, а система останется в порядке.

#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin

👉 @linux_odmin
👍7