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

Авторский канал действующего админа 👨🏼‍💻
Download Telegram
🚀 Быстрый способ отследить «зависшие» TCP-сессии

Иногда сервис «висит», но порты открыты и соединения висят в ESTABLISHED. Классика: приложение не отвечает, но сокеты не закрываются.

🔍 Как проверить:


ss -tnao state established 'sport = :22'


-tnao - TCP, numeric, all, с таймерами;
state established - только активные соединения;
'sport = :22' - фильтр по SSH (меняй на свой порт).

👉 Обрати внимание на колонку timer:

on (keepalive,...) - соединение живое;
on (timewait,...) или долго висит без активности → зомби-сессия.

🛠 Что делать:

1. Сбросить проблемные соединения:


ss -K dport = :22 state established


2. Добавить sysctl-тюнинг, чтобы ядро не держало «мертвяков» вечно:


sysctl -w net.ipv4.tcp_keepalive_time=300
sysctl -w net.ipv4.tcp_keepalive_probes=5
sysctl -w net.ipv4.tcp_keepalive_intvl=60


💡 Это помогает, если юзеры «обрываются» без выхода или при нестабильных VPN.

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

👉 @linux_odmin
👍5🔥2
Знакомая картина? Terraform-код превратился в спагетти, где одни и те же ресурсы копируются из проекта в проект, а малейшее изменение требует правок в десятках файлов. Вроде бы Infrastructure as Code должен упрощать жизнь, но на практике часто получается наоборот — код становится неподдерживаемым монстром.

📅 23 сентября в 20:00 Николай Акулов проведёт открытый вебинар «Terraform: паттерны, антипаттерны и модульность» в рамках курса «DevOps Advanced». Это практическое занятие для тех, кто хочет привести свою IaC в порядок и научиться строить масштабируемую инфраструктуру.

На вебинаре разберут принципы эффективного DRY на практике → как правильно использовать модульность для повышения зрелости Terraform-проектов, какие антипаттерны встречаются чаще всего и как их избежать. Николай покажет лучшие практики работы с Terraform и даст рекомендации по оптимизации CI/CD пайплайнов.

Особенно полезно будет DevOps-инженерам, инфраструктурным разработчикам и всем, кто работает с Infrastructure as Code. Спикер поможет научиться создавать переиспользуемые модули, распознавать ошибки проектирования и внедрять процессы автоматизации.

👉 Вебинар бесплатный, регистрация по ссылке — тема критически важная для эффективной работы с инфраструктурой: https://vk.cc/cPwhWd

🎁 Каждый участник вебинара получит бонус — скидку на полный курс. Главное — успеть записаться.

Реклама. ООО «Отус онлайн‑образование», ОГРН 1177746618576
1
🚨 Иногда сетевой интерфейс «пропадает» после перезагрузки, особенно на серверах с systemd-networkd. Причина - интерфейсы могут переименовываться (например, ens3enp0s3).

Фиксируем имя интерфейса:

🔧 Решение через systemd-link

1. Узнаём MAC-адрес:


ip link show


2. Создаём правило:


cat >/etc/systemd/network/10-persistent.link <<EOF
[Match]
MACAddress=52:54:00:ab:cd:ef

[Link]
Name=lan0
EOF


3. Перезапускаем:


systemctl restart systemd-udevd
systemctl restart systemd-networkd


Теперь интерфейс всегда будет называться lan0.

- Удобнее писать unit-файлы, firewall-правила и netplan-конфиги.
- Избежите «сломанных» сетевых настроек после обновления/замены железа.

👉 Можно использовать Driver= или Path= вместо MAC, если карты одинаковые.

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

👉 @linux_odmin
👍91
Перевод статей из серии «Кунг-фу стиля Linux»:

Удобная работа с файлами по SSH
Мониторинг дисковой подсистемы
Глобальный поиск и замена строк с помощью ripgrep
Упрощение работы с awk
Наблюдение за файловой системой
Наблюдение за файлами
Удобный доступ к справке при работе с bash
Великая сила make
Устранение неполадок в работе incron
Расшаривание терминала в браузере
Синхронизация настроек
Бесплатный VPN по SSH
Превращение веб-приложений в полноценные программы
Утилита marker и меню для командной строки
sudo и поворот двух ключей
Программное управление окнами
Организация работы программ после выхода из системы
Регулярные выражения
Запуск команд
Разбираемся с последовательными портами
Базы данных — это файловые системы нового уровня
О повторении кое-каких событий сетевой истории
PDF для пингвинов
Делаем все и сразу
Файловые системы пользовательского пространства теперь доступны и в Windows
Делиться — это плохо
Автоматическое генерирование заголовочных файлов
Простые конвейеры

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

👉 @linux_odmin
👍4🔥3
Короткий совет по Linux 💡

Если вы хотите очистить пустые каталоги, команда find может упростить эту работу:
$ find . -type d -empty -exec rmdir -v {} +
Параметр -type d выполняет поиск каталогов, -empty выбирает пустые каталоги, а -exec rmdir {} выполняет команду rmdir для их удаления.

Команда rmdir гарантирует, что каталог пуст перед его удалением.

В качестве альтернативы, вы также можете использовать эту команду для выполнения той же задачи:
$ find . -type d -empty -delete

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

👉 @linux_odmin
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
NetAlertX — инструмент для мониторинга сетевой активности и обнаружения изменений в подключенных устройствах. Он помогает администратору отслеживать новые устройства в сети, анализировать подключение и уведомлять о любых подозрительных изменениях. Утилита может быть полезной для повышения безопасности сети и оптимизации управления подключениями.

https://github.com/jokob-sk/NetAlertX

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

👉 @linux_odmin
👍6
Управление виртуальными машинами KVM из консоли

# virsh list – показать список запущенных ВМ

# virsh list --all – показать список всех машин (в том числе выключенных)

# virsh shutdown <vm name> — выключить виртуальную машину

# virsh start <vm name> — запустить виртуальную машину

# virsh suspend <vm name> — приостановить виртуальную машину

# virsh resume <vm name> — запустить приостановленную виртуальную машину

# virsh reboot <vm name> — перезапустить виртуальную машину

# virsh destroy <vm name> — уничтожить виртуальную машину

# virsh undefine <vm name> — удалить машину из списка и удалить все файлы, принадлежащие ей (обычно применяется после выполнения команды virsh destroy).

# virsh vcpuinfo <vm name> — информация о процессоре на виртуальной машине

# virsh domid <vm name> — получить идентификатор виртуальной машины

# virsh domuuid <vm name> — получить UUID виртуальной машины

# virsh dominfo <vm name> — получить сведения о виртуальной машине

# virsh domstate <vm name> — просмотр состояния виртуальной машины

# virsh dumpxml <vm name> — вывести файл конфигурации указанной виртуальной машины в XML формате

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

👉 @linux_odmin
👍8
Команда crontab: опции, ключи и примеры использования

Планировщик cron для запуска задач с заданными интервалом времени от имени текущего пользователя. Формат планирования задачи: "(минута) (час) (день_месяца) (месяц) (день_недели) команда".

Редактирует файл crontab для текущего пользователя:
crontab -e

Выводит список существующих задая для текущего пользоваетеля:
crontab -l

Удаляет все задачи cron для текущего пользователя:
crontab -r

Пример задачи, которая запускается ежедневно в 10:00. * означает любое значение:
0 10 * * * {{path/to/noscript.sh}}

Пример задачи, которая запускается каждую минуту 3-го апреля:
* * 3 Apr * {{path/to/noscript.sh}}

Пример задачи, которая запускается каждую пятницу в 02:30:
30 2 * * Fri {{path/to/noscript.sh}}

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

👉 @linux_odmin
👍6
Операции с файлами в Linux

pwd # Выводит текущий путь;
ls # Выводит список файлов и каталогов. Пример вывода форматированного списка всех файлов и директорий, включая скрытые: ls -laX ;
cd # Переход по директориям. Примеры:
cd # Переход в домашнюю директорию;
cd /home # Пример перехода в /home;
cd .. # Переход в директорию уровнем выше;
cd ~user # Перейти в домашнюю директорию пользователя user ;
touch # Создание пустого файла если нет. Пример: touch test.txt ;
rm # Удаление. Примеры:
rm test.txt # Удаление файла;
rm -rf temp # Удаление директории temp с вложенными файлами;
cp # Копирование. Примеры:
cp test.txt /home/test.txt # Копирует test.txt из текущей директории в /home ;
cp -la /dir1 /dir2 # Копирование директорий;
ln # — создание символической ссылки. Пример: ln -s /var/test.txt /home/test.txt — создать символическую ссылку к файлу /var/test.txt в директории /home;
mkdir # Создание директории. Пример: mkdir temp ;
rmdir # Удаление директории. Пример: rmdir temp ;
mv # ПеремещениеПереименование. Пример переименования директории: mv /dir1 /dir2 (аналогично с файлами);
locate # Поиск. Пример поиска везде всех файлов с именем test.txt: locate test.txt ;
find # Поиск. Примеры:
find /home/it -name test.txt # Найти файлы и директории с именем test.txt в /home/it и вложенных;
find /home/it -name "*.txt" # Найти все файлы и директории в /home/it и вложенных, имена которых оканчиваются на ‘.txt’;
find /usr/bin -type f -atime +100 # Найти все файлы в ‘/usr/bin’, время последнего обращения к которым более 100 дней;
find /usr/bin -type f -mtime -10 # Найти все файлы в ‘/usr/bin’, созданные или изменённые в течении последних 10 дней;
stat # Отображение всей доступной информации об указанном файле. Пример: stat test.txt;
file # Определяет тип файла. Пример: file test.txt ;
chmod # Права доступа;
chown # Меняет владельца файла, пример: chown www:www test.txt;
mc # запуск файлового менеджера;

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

👉 @linux_odmin
👍10🔥1