uk
Feedback
Linux: Системный администратор

Linux: Системный администратор

Відкрити в Telegram

Здесь вы найдете полезные советы, практические материалы и интересные инсайты по администрированию Linux. Погружаемся в мир команд, скриптов и серверов вместе! 🚀 Авторский канал действующего админа 👨🏼‍💻

Показати більше
1 929
Підписники
+124 години
-27 днів
-1030 день
Архів дописів
OSI Model Vs TCP/IP Model #Linux@linux_odmin #Команды@linux_odmin #Шпаргалка@linux_odmin 👉 @linux_odmin
OSI Model Vs TCP/IP Model #Linux@linux_odmin #Команды@linux_odmin #Шпаргалка@linux_odmin 👉 @linux_odmin

Стратегии аварийного восстановления в облаке Эффективный план восстановления после аварии (DR) - это не просто предосторожность, это необходимость. Ключевым моментом любой надежной стратегии DR является понимание и установка двух ключевых показателей: Объекта времени восстановления (RTO) и Объекта точки восстановления (RPO). - Объект времени восстановления (RTO) относится к максимально допустимой продолжительности времени, в течение которой ваше приложение или сеть могут быть отключены после аварии. - Объект точки восстановления (RPO), с другой стороны, указывает на максимально допустимую потерю данных, измеряемую во времени. Давайте рассмотрим четыре широко применяемые стратегии DR: 1. Стратегия резервного копирования и восстановления: Этот метод включает регулярные резервные копии данных и систем для облегчения восстановления после аварии. - Типичный RTO: от нескольких часов до нескольких дней. - Типичный RPO: от нескольких часов до времени последнего успешного резервного копирования. 2. Подход Pilot Light: Поддерживает ключевые компоненты в режиме готовности к активации, обеспечивая быстрое масштабирование в ответ на аварию. - Типичный RTO: от нескольких минут до нескольких часов. - Типичный RPO: зависит от того, насколько часто синхронизируются данные. 3. Решение с горячим резервированием: Создает полус активное окружение с текущими данными для сокращения времени восстановления. - Типичный RTO: обычно от нескольких минут до часов. - Типичный RPO: до последних нескольких минут или часов. 4. Горячее сайт / Конфигурация с несколькими сайтами: Обеспечивает полностью операционную, дублирующую среду, работающую параллельно с основной системой, обеспечивая беспрерывную функциональность. - Типичный RTO: почти мгновенный, часто всего несколько минут. - Типичный RPO: крайне минимальный, обычно всего несколько секунд. #Linux@linux_odmin #Команды@linux_odmin #Шпаргалка@linux_odmin 👉 @linux_odmin

Команда findmnt Это простая утилита командной строки, используемая для отображения списка подключенных файловых систем или поиска файловой системы в /etc/fstab, /etc/mtab или /proc/self/ mountinfo. Для отображения списка подключенных файловых систем, выполните в командной строке следующую команду. По умолчанию команда findmnt отображает файловые системы в древовидном формате. # findmnt Чтобы отобразить информацию в виде обычного списка, используйте параметр -l, как показано ниже # findmnt -l Можно выбрать отображение файловых систем только определенного типа, используя параметр командной строки -t, за которым следует тип файловой системы, такой как XFS или EXT4. # findmnt --fstab -t xfs или # findmnt --fstab -t ext4 Поиск файловой системы, используя точку монтирования. Например, следующая команда отображает все файловые системы /etc/fstab, где каталогом точки монтирования является /mnt/external/disk2. # findmnt --fstab /mnt/external/disk2 # this prints bind mounts where /mnt/external/disk2 is a source или # findmnt --fstab --target /mnt/external/disk2 Выводим все файловые системы /etc/fstab и преобразовываем теги LABEL = и UUID = в реальные имена устройств, добавьте ключ – –evaluate # findmnt --fstab --evaluate Отобразить только точку монтирования, в которой смонтирована файловая система с меткой «/ boot» или «/», используйте следующую команду. # findmnt -n --raw --evaluate --output=target LABEL=/boot или # findmnt -n --raw --evaluate --output=target LABEL=/ Findmnt также позволяет отслеживать действия по монтированию, размонтированию, перемонтированию и перемещению каталога, например, в /mnt/test. # findmnt --poll --mountpoint /mnt/test Если вы хотите больше информации в выводе, используйте ключ –verbose. # findmnt --real --verbose #Linux@linux_odmin #Команды@linux_odmin #Шпаргалка@linux_odmin 👉 @linux_odmin

Примеры использования команды grep в Linux Поиск файлов с помощью команды grep # dpkg -l | grep -i python Команда dpkg -l выводит на экран установленные пакеты с расширением *.deb. Результат вывода с помощью символа передается по конвейеру команде grep. При этом опция -i позволяет команде игнорировать регистр в названиях. Фильтрация содержимого файлов с помощью команды grep (игнорирование закомментированных строк) # grep –v "#"  /etc/apache2/sites-available/default-ssl Опция –v указывает команде, что на экран нужно выводить те строки, в которых нет искомого выражения. Обнаружение всех файлов с расширением .mp3 с помощью команды grep # find . –name "*.mp3" | grep –i "ABC" | grep –vi "remix" find — утилита поиска файлов в файловой системе; . — указывает, что поиск следует вести относительно текущего рабочего каталога; –name — проверяет название файлов на соответствие заданному шаблону; "*.mp3" — шаблон, соответствующий файлам искомого формата; | — объединяет команды в конвейер (вывод первой команды передается на ввод второй — и так далее); grep с опцией –i — поиск по выводу команды find с игнорированием регистра; "ABC" — шаблон, по которому осуществляется поиск; grep –vi — поиск по выводу предыдущей команды grep и исключение результатов, соответствующих заданному шаблону; "remix" — шаблон, по которому осуществляется поиск. Отображение строк до или после строки с результатом поиска # ifconfig | grep –A 4 eth0 -A (от англ. After) — указанное количество строк до шаблона; -B (от англ. Before) — указанное количество строк после шаблона. Выведение заданного числа всех соседних строк с помощью команды grep # ifconfig | grep -C 2 lo В том случае, если Вы точно не знаете, какие именно соседние строки (до или после строки, содержащей шаблон) Вам нужны — воспользуйтесь командой grep с опцией -C. Следующая комбинация команд выведет на экран по 2 строки до и после строчки вывода команды ifconfig, содержащей шаблон lo: Подсчет числа строк, содержащих искомое выражение # ifconfig | grep -c inet6 В некоторых случаях Вам могут понадобится не сами строчки, включающие заданное выражение, а их общее количество. В таком случае воспользуйтесь опцией -c. Следующая комбинация команд выведет на экран количество строк в выводе команды ifconfig, включающих шаблон inet6. #Linux@linux_odmin #Команды@linux_odmin #Шпаргалка@linux_odmin 👉 @linux_odmin

Свободное место на диске в Linux Чтобы проверить использование дискового пространства вашей системы, выполните следующую команду: df -h Проверьте использование дискового пространства по файлам и каталогам Если ваша система в настоящее время использует слишком много дискового пространства, выполните следующие действия, чтобы определить файлы для удаления: Чтобы определить, какие файлы и каталоги занимают большую часть места на вашем жестком диске, выполните команду du. du -h Изучите нужный каталог Чтобы просмотреть нужный каталог, выполните команду: du -ch ИМЯ_КАТАЛОГА Чтобы удалить нужные файлы, выполните следующую команду, где filename представляет файл для удаления: rm -f filename Отсортировать по размеру Чтобы отсортировать по размеру можно воспользоваться командой sort du -h /var/log | sort -h Сохранение записей журнала Файлы журналов часто занимают большой объем дискового пространства. Чтобы сохранить самые последние записи системного файла журнала при удалении лишних файлов журнала, выполните следующие действия: Если вы еще не нашли конкретные файлы для удаления из этого каталога, выполните команду du. Изучите выходные данные команды, чтобы определить файлы для удаления. Для каждого файла выполните следующие команды, где filename представляет имя файла. tail -5000 filename > filename.new mv filename.new filename sync To снимите блокировку файла, перезапустите службу, создавшую файл. ИНТЕЛЛЕКТУАЛЬНЫЕ ошибки Чтобы отключить интеллектуальные ошибки, выполните следующие команды: touch /var/cpanel/disablesmartcheck /scripts/upcp #Linux@linux_odmin #Команды@linux_odmin #Шпаргалка@linux_odmin 👉 @linux_odmin

Ваша система Linux, macOS, FreeBSD или Unix не хватает места на диске? Используйте кунг-фу командной оболочки du, чтобы вывес
Ваша система Linux, macOS, FreeBSD или Unix не хватает места на диске? Используйте кунг-фу командной оболочки du, чтобы вывести каталоги и файлы, занимающие больше всего места на диске: du -a -x {/dir1/} | sort -n -r | head -n 10 #Linux@linux_odmin #Команды@linux_odmin #Шпаргалка@linux_odmin 👉 @linux_odmin

Утилита systemctl В Systemd есть специальный инструмент для управления службами в Linux - команда systemctl. Эта утилита позволяет делать очень много вещей, начиная от перезапуска службы linux и проверки ее состояния, до анализа эффективности загрузки службы. list-units - посмотреть все службы (юниты) которые сейчас загружены в память, аналог опции -t list-sockets - посмотреть все сокеты служб, которые сейчас загружены в память list-timers - посмотреть список таймеров, загруженных в память start - запустить службу linux stop - остановить службу linux reload - попросить службу перечитать свою конфигурацию из файловой системы restart - перезапустить службу try-restart - перезапустить службу, только если она запущена reload-or-restart - попросить службу обновить свою конфигурацию, если не поддерживается просто выполнить перезапуск службы linux isolate - запустить только одну службу вместе с ее зависимостями, все остальные остановить kill - отправить сигнал завершения процессу используется вместе с опциями --signal и --kill-who clean - удалить все данные, которые касаются указанной службы, сюда входит кэш, логи, данные выполнения is-active - проверить запущена ли служба linux is-failed - проверить не завершилась ли служба с ошибкой status - посмотреть состояние и вывод службы show - посмотреть параметры управления службой в Linux cat - посмотреть содержимое юнит файла в текстовом виде reset-failed - очистить состояние failed для служб, которые завершились с ошибкой list-dependencies - посмотреть зависимости службы linux list-unit-files - вывести все установленные файлы служб enable - добавить службу в автозагрузку disable - удалить службу из автозагрузки is-enabled - проверить если ли уже служба в автозагрузке reenable - сначала выполнить disable потом enable для службы list-jobs - все выполняющиеся задачи Systemd. snapshot - сохранить состояние служб, чтобы потом восстановить daemon-reload - обновить конфигурацию юнитов для всех служб mask - сделать юнит недоступным unmask - вернуть файл службы linux link - добавить юнит файл, который расположен не в стандартной папке для юнитов revert - вернуть юнит до состояния по умолчанию edit - отредактировать параметры службы не изменяя основной файл юнита. #Linux@linux_odmin #Команды@linux_odmin #Шпаргалка@linux_odmin 👉 @linux_odmin

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

Подборка шпаргалок по Linux #Linux@linux_odmin #Команды@linux_odmin #Шпаргалка@linux_odmin 👉 @linux_odmin
+2
Подборка шпаргалок по Linux #Linux@linux_odmin #Команды@linux_odmin #Шпаргалка@linux_odmin 👉 @linux_odmin

Процесс загрузки Linux #Linux@linux_odmin #Команды@linux_odmin #Шпаргалка@linux_odmin 👉 @linux_odmin
Процесс загрузки Linux #Linux@linux_odmin #Команды@linux_odmin #Шпаргалка@linux_odmin 👉 @linux_odmin

Принцип работы HTTPS #Linux@linux_odmin #Команды@linux_odmin #Шпаргалка@linux_odmin 👉 @linux_odmin
Принцип работы HTTPS #Linux@linux_odmin #Команды@linux_odmin #Шпаргалка@linux_odmin 👉 @linux_odmin

Операции с файлами в 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

Команда crontab: опции, ключи и примеры использования Планировщик cron для запуска задач с заданными интервалом времени от им
Команда crontab: опции, ключи и примеры использования Планировщик cron для запуска задач с заданными интервалом времени от имени текущего пользователя. Формат планирования задачи: "(минута) (час) (день_месяца) (месяц) (день_недели) команда". Редактирует файл crontab для текущего пользователя: crontab -e Выводит список существующих задая для текущего пользоваетеля: crontab -l Удаляет все задачи cron для текущего пользователя: crontab -r Пример задачи, которая запускается ежедневно в 10:00. * означает любое значение: 0 10 * * * {{path/to/script.sh}} Пример задачи, которая запускается каждую минуту 3-го апреля: * * 3 Apr * {{path/to/script.sh}} Пример задачи, которая запускается каждую пятницу в 02:30: 30 2 * * Fri {{path/to/script.sh}} #Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin 👉 @linux_odmin

Управление виртуальными машинами 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

NetAlertX — инструмент для мониторинга сетевой активности и обнаружения изменений в подключенных устройствах. Он помогает администратору отслеживать новые устройства в сети, анализировать подключение и уведомлять о любых подозрительных изменениях. Утилита может быть полезной для повышения безопасности сети и оптимизации управления подключениями. https://github.com/jokob-sk/NetAlertX #Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin 👉 @linux_odmin

Короткий совет по Linux 💡 Если вы хотите очистить пустые каталоги, команда find может упростить эту работу: $ find . -type d
Короткий совет по 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

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

🚨 Иногда сетевой интерфейс «пропадает» после перезагрузки, особенно на серверах с 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

Знакомая картина? Terraform-код превратился в спагетти, где одни и те же ресурсы копируются из проекта в проект, а малейшее и
Знакомая картина? 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

🚀 Быстрый способ отследить «зависшие» 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