Admin Guides | Сисадмин
11.4K subscribers
1.24K photos
19 videos
34 files
558 links
Обучающий канал по ОС Linux & Windows для начинающих и действующих администраторов.

Админ, реклама: @Ak_Mihail
Биржа: https://telega.in/c/admguides

РКН: https://kurl.ru/nQejS
Download Telegram
💬Вопрос на собеседовании для сисадмина

Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.

Вопрос: Что такое ZFS и какие преимущества он предоставляет для управления хранилищами данных?

Ответ: ZFS (Zettabyte File System) — это файловая система и менеджер томов, изначально разработанная компанией Sun Microsystems. Она предоставляет возможности для управления хранилищами данных с высокими требованиями к масштабируемости, надежности и производительности.
Please open Telegram to view this post
VIEW IN TELEGRAM
11👍7🥴4🗿2
16 полезных примеров использования команды grep

Команда grep — это незаменимый инструмент для работы с текстовыми данными в Unix/Linux-системах.

В этом посте рассмотрим 8 первых примеров из 16 полезных вариантов использования.

1️⃣Поиск среди нескольких файлов

Ищите нужный шаблон сразу в нескольких файлах с помощью подстановочного символа *:

grep "ошибка" /var/log/*


Вывод покажет, в каких файлах найдено совпадение, и строки, содержащие искомое слово.

2️⃣ Регистронезависимый поиск

Если неважно, в каком регистре написан текст, используйте флаг -i:

grep -i "ошибка" file.txt


3️⃣ Поиск только целых слов

Чтобы искать точное совпадение слов (а не подстрок), используйте флаг -w:

grep -w "error" file.txt


4️⃣ Подсчёт числа совпадений

Если нужен только подсчёт количества строк, где есть совпадение, флаг -c сделает это:

grep -c "ошибка" file.txt


5️⃣ Рекурсивный поиск в подкаталогах

Ищите шаблон во всех файлах текущей директории и её поддиректориях:

grep -r "ошибка"


6️⃣ Инверсивный поиск

Чтобы найти строки, не содержащие заданный шаблон, используйте флаг -v:

grep -v "ошибка" file.txt


7️⃣ Нумерация строк в выводе

Для удобства можно добавить номера строк, в которых найдено совпадение:

grep -n "ошибка" file.txt


8️⃣ Ограничение количества строк в выводе

Если нужно вывести только первые N строк с совпадениями, используйте флаг -m:

grep -m 5 "ошибка" file.txt


Пример: выводит первые 5 строк, где найден шаблон.

Продолжим?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍445🔥3👎1
😁38🤣18🤔1🌭1
16 полезных примеров использования команды grep (часть 2)

Продолжаем разбирать возможности команды grep в Unix/Linux.

В этом посте рассмотрим ещё 8 примеров, которые помогут вам максимально эффективно использовать этот инструмент.

9️⃣ Вывод строк с контекстом (до и после совпадения)

Чтобы видеть строки до и/или после совпавших, используйте флаги:
• -A [N] — вывести N строк после совпадения,
• -B [N] — вывести N строк до совпадения,
• -C [N] — вывести N строк до и после.

Пример:

grep -A 2 "ошибка" file.txt  # Покажет 2 строки после совпадения
grep -B 1 "ошибка" file.txt # Покажет 1 строку до совпадения
grep -C 3 "ошибка" file.txt # Покажет 3 строки до и после


1️⃣0️⃣ Печать только названий файлов с совпадениями

Чтобы вывести только имена файлов, в которых есть совпадение, используйте флаг -l:

grep -l "ошибка" *.log


1️⃣1️⃣Точное совпадение строки

Флаг -x позволяет искать строки, которые точно соответствуют указанному шаблону:

grep -x "точный шаблон" file.txt


Пример: найдёт строку, если она полностью совпадает с заданной, без дополнительных символов.

1️⃣2️⃣ Поиск в начале строки

Символ каретки ^ позволяет искать шаблон только в начале строки:

grep "^запуск" file.txt


1️⃣3️⃣ Поиск в конце строки

Чтобы искать совпадения только в конце строки, используйте символ $:

grep "ошибка$" file.txt


1️⃣4️⃣ Использование файла шаблонов

Если вы часто используете сложные шаблоны, запишите их в файл и примените с помощью флага -f:
Содержимое файла patterns.txt:

ошибка
предупреждение


Использование:

grep -f patterns.txt file.txt


1️⃣5️⃣ Поиск по нескольким шаблонам

Для поиска сразу нескольких шаблонов используйте флаг -e:

grep -e "ошибка" -e "предупреждение" file.txt


1️⃣6️⃣ Расширенные регулярные выражения (ERE)

С помощью флага -E (или команды egrep) можно использовать расширенные регулярные выражения:

grep -E "error|warning" file.txt


Пример: ищет строки, содержащие либо error, либо warning. Это эквивалентно использованию egrep.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20🔥41
💬 Вопрос на собеседовании для DevOps-инженера

Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.


Вопрос: Как работают Sidecar-контейнеры в Kubernetes, и какие задачи они решают?

Ответ: Контейнер, работающий в рамках одного Pod’а вместе с основным приложением. Он разделяет с ним сетевой стек, файловую систему и другие ресурсы Pod’а, предоставляя дополнительные функции. Sidecar-контейнеры часто используют для улучшения функциональности без изменения основного приложения.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥3🥱1
Как провести стресс-тестирование вашей системы Linux

Стресс-тестирование Linux — ключевой этап подготовки серверов к реальной работе.

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


Разберем простые методы и мощные инструменты, которые помогут нагрузить систему и оценить её поведение.

Почему важно проводить стресс-тестирование?

Стресс-тестирование полезно для:
Проверки производительности системы при пиковых нагрузках.
Выявления узких мест: медленных процессов, утечек памяти или перебоев в работе ввода/вывода.
Подготовки серверов к реальной эксплуатации: от интенсивного сетевого трафика до выполнения ресурсоемких приложений.

Методы стресс-тестирования Linux

1️⃣Нагрузка через циклы

Создание бесконечных циклов нагружает процессор. Это простой способ проверить систему.

Запуск нагрузки:

for i in 1 2 3 4; do while : ; do : ; done & done


Каждый цикл запускается в фоновом режиме и увеличивает нагрузку на ЦП.

Мониторинг нагрузки:
Запускайте команду uptime каждые 30 секунд, чтобы наблюдать за изменением средней загрузки:

while true; do uptime; sleep 30; done


Остановка нагрузки:
Чтобы завершить циклы, используйте kill, указав номера заданий:

kill %1 %2 %3 %4


2️⃣ Использование утилиты stress

stress — мощный инструмент, который позволяет создавать нагрузку на различные ресурсы системы:
• ЦП
• Память
• Ввод/вывод

Примеры использования stress:
Нагрузка на процессор:

stress --cpu 4


Чем больше указано ядер (--cpu), тем выше нагрузка на систему.

Нагрузка на память:

stress --vm 2


Нагрузка на ввод/вывод (I/O):

stress --io 4


Для анализа работы ввода/вывода используйте iotop:

sudo iotop


3️⃣ Написание скриптов для мониторинга

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

#!/bin/bash
while true
do
free
sleep 30
done


Скрипт отображает использование памяти каждые 30 секунд. Вы можете адаптировать его под свои задачи.

Результаты стресс-тестирования

Проведение стресс-тестов помогает:

• Подготовиться к реальным пиковым нагрузкам.
• Улучшить производительность системы.
• Найти и устранить возможные проблемы на этапе разработки.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍192💘2👏1
Какой командой можно удалить модуль ядра, который используется процессом?
Anonymous Quiz
28%
modprobe -r <имя_модуля>
13%
rmmod <имя_модуля>
33%
modprobe --force-remove <имя_модуля>
26%
rmmod -f <имя_модуля>
👍101
Релиз AlmaLinux 9.5: что нового?

AlmaLinux 9.5 — новое обновление популярного open-source дистрибутива, полностью синхронизированного с Red Hat Enterprise Linux (RHEL) 9.5.

Дистрибутив включает улучшения производительности, обновлённые инструменты и важные патчи безопасности.


Ключевые особенности версии 9.5

Совместимость с архитектурами: x86_64, ARM64, ppc64le, s390x.
Удалены пакеты, связанные с экосистемой RHEL, такие как subscription-manager и insights-client.
Расширенная поддержка оборудования, включая драйверы для RAID-контроллеров (LSI MegaRAID, Dell PERC, Adaptec), сетевых адаптеров (Emulex OneConnect, QLogic ISP) и серверных платформ.
Новый репозиторий Synergy, предлагающий эксклюзивные пакеты, такие как окружение Pantheon от Elementary OS и утилита Warpinator для обмена файлами.

О проекте AlmaLinux

AlmaLinux был создан компанией CloudLinux в 2021 году после прекращения поддержки CentOS 8. Проект развивается под управлением AlmaLinux OS Foundation и обеспечивает полную бинарную совместимость с RHEL.

Дистрибутив:
Бесплатен для всех пользователей.
• Управляется сообществом на открытой платформе.
• Все наработки доступны на GitHub.

Что нового в экосистеме AlmaLinux?

Разработчики также выпустили тестовый дистрибутив Kitten 10 на базе CentOS Stream 10. Это платформа для изучения будущих возможностей RHEL 10 и основа для следующей версии AlmaLinux.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥1
Как узнать причину перезагрузки Linux

Неожиданная перезагрузка Linux-системы может привести к простоям и потерям данных.

Разобраться в причинах — важный шаг для предотвращения таких инцидентов в будущем. Вот основные методы диагностики.

1️⃣Проверка времени перезагрузки

Используйте команды who и last, чтобы определить, когда произошла перезагрузка.

Пример:

who -b   # Показывает последнее время загрузки системы  
last reboot # Список всех перезагрузок с отметками времени


2️⃣ Анализ системных журналов

Системные логи содержат записи о событиях, связанных с завершением работы.
Для CentOS/RHEL: /var/log/messages
Для Ubuntu/Debian: /var/log/syslog

Пример фильтрации:

sudo grep -i 'shutdown|reboot' /var/log/messages /var/log/syslog  


Это позволяет выявить действия, вызвавшие перезагрузку (например, нажатие кнопки питания или команду администратора).

3️⃣ Использование auditd

На системах с включённым auditd можно проверить события перезагрузки с помощью команды ausearch.

Пример:

sudo ausearch -i -m system_boot,system_shutdown | tail -4  


Вывод поможет понять, была ли перезагрузка штатной или аварийной.

4️⃣ Журналы systemd

Если вы используете systemd, сохранённые логи помогут детально изучить события.

Убедитесь, что логи сохраняются:

sudo mkdir /var/log/journal  
sudo systemd-tmpfiles --create --prefix /var/log/journal
sudo systemctl kill --signal=SIGUSR1 systemd-journald


Список перезагрузок:

journalctl --list-boots  


Анализ конкретной загрузки:

journalctl -b {num}  


Где {num} — идентификатор загрузки из предыдущей команды.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥42
Факт?
😁25🤔8👍5👌2
Профили Bash: настройка и использование

Bash — это основная командная оболочка в большинстве Linux-дистрибутивов. Грамотная настройка профилей Bash позволяет автоматизировать задачи и создать комфортную рабочую среду.

Типы профилей

1️⃣Глобальные файлы:
• /etc/profile
• /etc/bash.bashrc или /etc/bashrc
• Скрипты в /etc/profile.d/*.sh
Эти файлы действуют для всех пользователей.

2️⃣ Локальные файлы:
• ~/.bash_profile, ~/.bash_login, ~/.profile — инициализация при входе.
• ~/.bashrc — настройки для работы в терминале.
• ~/.bash_logout — выполняется при выходе.

Последовательность загрузки

1. При входе в систему:
• /etc/profile → локальные файлы: ~/.bash_profile → ~/.bash_login → ~/.profile.
2. При запуске оболочки:
• /etc/bash.bashrc → ~/.bashrc.

Каталог для новых пользователей

В /etc/skel/ находятся файлы и папки, копируемые в домашнюю директорию новых пользователей. Вы можете добавить сюда нужные настройки, чтобы они применялись автоматически.

Как настроить Bash?

1️⃣Добавьте переменные в ~/.bashrc:

export PATH=$PATH:/custom/path  
alias ll='ls -la'


2️⃣ Проверьте файлы профиля:

cat /etc/profile  
cat ~/.bashrc


3️⃣ Настройте стартовые файлы в /etc/skel/:

cd /etc/skel/  
ls -la


Настройка профилей Bash — это простой способ автоматизировать рутинные задачи и упростить работу с системой.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍222
Как можно ограничить максимальное количество процессов, которые может создать конкретный пользователь?
Anonymous Quiz
29%
Использовать файл /etc/security/limits.conf
36%
Установить переменную PROC_LIMIT в /etc/profile
20%
Настроить системный параметр через sysctl -w
15%
Включить контроль через PAM-модуль pam_limits.so
👍12🔥6
Как редактировать файл Hosts на Linux, Windows и Mac

Файл hosts используется для сопоставления доменных имен с IP-адресами. 


Его редактирование полезно, например, при тестировании сети или для обхода DNS-запросов.

Редактирование файла Hosts в Linux

1️⃣Откройте терминал. В большинстве дистрибутивов путь: Приложения → Утилиты → Терминал.
2️⃣ Откройте файл Hosts:

sudo vim /etc/hosts  


Введите пароль, если потребуется.

3️⃣ Добавьте или измените строки:

0.0.0.0 server.domain.com  


• IP-адрес идет первым, затем доменное имя.
• Для комментариев добавьте # в начале строки.

4️⃣ Сохраните изменения и закройте редактор (:wq в Vim).
5️⃣ Проверьте порядок приоритета (опционально):
• Откройте nsswitch.conf:

cat /etc/nsswitch.conf  


• Убедитесь, что files указан перед dns.

Редактирование файла Hosts в Windows

1️⃣Запустите Блокнот от имени администратора: Нажмите Пуск, найдите “Блокнот”, нажмите правой кнопкой → Запуск от имени администратора.

2️⃣Откройте файл Hosts:
• Путь: C:\Windows\System32\drivers\etc\hosts.
• В диалоге открытия измените тип файла на “Все файлы”.

3️⃣Добавьте строки в файл:

0.0.0.0 server.domain.com  


IP-адрес — первый, доменное имя — второй.

4️⃣Сохраните изменения:
Файл → Сохранить.
5️⃣Закомментируйте строки с помощью #, чтобы отключить их:

# 0.0.0.0 server.domain.com  


Редактирование файла Hosts на Mac

1️⃣Откройте терминал: Путь: Приложения → Утилиты → Терминал.
2️⃣ Откройте файл Hosts:

sudo nano /private/etc/hosts  


Введите пароль администратора.

3️⃣ Добавьте строки в файл:

0.0.0.0 server.domain.com  


IP-адрес идет первым, затем имя хоста.

4️⃣ Сохраните изменения и выйдите: Нажмите Command + O, затем Command + X.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥31
💬Вопрос на собеседовании для сисадмина

Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.

Вопрос: Как узнать, какие процессы потребляют больше всего CPU?

Ответ: Для этого можно использовать команду top или ps для анализа загрузки процессора. Вот примеры:

1️⃣top — показывает список процессов в реальном времени, сортируя их по использованию CPU. Просто выполните:

top


2️⃣Чтобы получить список процессов с более детальной информацией, используйте:

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


• ps -eo pid,comm,%cpu — выводит PID, имя процесса и процент использования CPU.
• --sort=-%cpu — сортирует по убыванию загрузки CPU.
• head — ограничивает вывод верхними строками.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍232
7 полезных команд в Linux

Рассмотрим еще 7 команд для эффективной работы в системе Linux.

zipsplit — объединение нескольких .zip-файлов.

zdump — получение информации о часовом поясе.

yacc  утилита, служащая стандартным генератором синтаксических анализаторов (парсеров) в Unix-системах.

xdg-open — используется для открытия файла или URL-адреса в предпочтительном приложении пользователя.

vacation — автоответчик для электронной почты.

unlzma — извлечение файлов из архива, сжатого командой lzma.

unexpand — преобразует каждый пробел в табуляцию, записывая результат в стандартный вывод.
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍4
👍24🤣8🥱1
Общий веб-трафик в России вырос на 40-50% за год

Общий веб-трафик в России за последний год увеличился на 40-50%, что значительно выше предыдущих летних темпов роста (около 20% год от года). 


По данным Cloudflare Radar и точки обмена трафиком MSK-IX, динамика прироста усилилась с конца июля, а в ноябре 2024 года MSK-IX зафиксировала исторический максимум трафика — более 7 Тб/с.

Что повлияло на рост?

1️⃣Контент с зарубежных серверов Google и Telegram:
• Загрузка видеоконтента с YouTube.
• Увеличение активности пользователей Telegram, чьи серверы частично размещены в Европе.
2️⃣ Рост трансграничного IPv6-трафика:
• Активное использование современных протоколов для взаимодействия через зарубежные точки связи.
3️⃣ Изменения в маршрутизации YouTube:
• С августа 2024 года трафик YouTube стал проходить в обход серверов GGC (Global Cache), увеличив нагрузку на магистральные каналы операторов.
• Пользователи стали активно искать обходные пути для доступа к видеоконтенту.

Ситуация с YouTube

Снижение скорости: В августе видеохостинг был замедлен почти в 10 раз по сравнению с июнем. Это вызвало резкое снижение трафика YouTube через провайдеров РФ и рост обходных подключений.
Ответные меры: ГРЧЦ потребовал от операторов связи прекратить вмешательство в трафик для антизамедления YouTube. Невыполнение грозило аннулированием лицензий.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥3
Как устроена файловая система Linux?

Что такое FHS?

FHS (File System Hierarchy Standard) — стандарт организации файловой системы в Linux, обеспечивающий удобство и единообразие для всех пользователей и разработчиков.

Он задаёт структуру каталогов и их предназначение, чтобы пользователь знал, где искать файлы, а программы могли работать в любой системе Linux без модификаций.

Ключевые каталоги Linux:

• /bin — базовые команды, доступные всем пользователям (например, ls, cp). Они необходимы для работы даже в минимальной системе.
• /boot — хранит файлы загрузчика (например, ядро Linux). Обычно это отдельный раздел.
• /dev — содержит устройства как файлы. Здесь вы найдёте всё: от жёстких дисков до виртуальных устройств.
• /etc — конфигурационные файлы системы (например, настройки сети, службы, параметры запуска).
• /home — личные папки пользователей, где хранятся их файлы, настройки и документы.
• /lib — системные библиотеки и модули ядра.
• /media и /mnt — точки монтирования съемных носителей, таких как USB или CD/DVD.
• /opt — директория для стороннего ПО (например, приложений, установленных вручную).
• /proc — виртуальная файловая система с информацией о процессах и системных параметрах.
• /root — домашняя папка суперпользователя (root).
• /tmp — временные файлы (удаляются после перезагрузки).
• /usr — программы и утилиты для пользователей (например, игры, редакторы).
• /var — папка для переменных данных, например, логов, почты, кеша.

Если вы хотите проверить системные логи, они будут находиться в /var/log, а ваши конфигурации сети — в /etc/network/interfaces.


Зачем знать структуру?

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

В следующем посте разберёмся, как эффективно искать файлы и команды в этой структуре.
👍25🔥5
💬 Вопрос на собеседовании для DevOps-инженера

Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.


Вопрос: Что такое Horizontal Pod Autoscaler (HPA) в Kubernetes, и как он работает?

Ответ: HPA — это инструмент Kubernetes, который автоматически масштабирует количество Pod’ов на основе метрик использования ресурсов, таких как CPU и память, или пользовательских метрик.

Принцип работы:
1️⃣Мониторинг метрик: HPA использует данные, собираемые Metrics Server или другими источниками (например, Prometheus).
2️⃣ Анализ нагрузки: Сравнивает текущие метрики с заданными в манифесте целевыми значениями.
3️⃣ Автомасштабирование: Увеличивает или уменьшает количество Pod’ов, чтобы поддерживать заданный уровень производительности.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍61
Эффективный поиск файлов и команд в Linux

Как искать файлы?


1️⃣ find — мощная утилита для поиска файлов по имени, владельцу, дате и другим параметрам.
Пример:

find / -name "example.txt"  


— Ищет файл example.txt по всей системе, начиная с корневого каталога /.
— Полезно для поиска по широким критериям (например, все файлы пользователя).

find / -user siadmin  


2️⃣ locate — быстрый поиск файлов по базе данных.
Пример:

locate example.txt  


— Быстрее, чем find, но требует обновления базы данных с помощью команды updatedb.
— Ищет по индексам, поэтому мгновенно выдаёт результат.

3️⃣ grep — поиск текста внутри файлов.
Пример:

grep "example" файл.txt  


Полезно, если нужно найти конкретные данные в содержимом файлов.

Как искать команды?

1️⃣which — определяет расположение исполняемого файла команды.
Пример:

which ls  


Результат: /bin/ls

2️⃣ type — показывает, как команда интерпретируется оболочкой (алиасы, пути и т.д.).
Пример:

type ls  


Удобно для проверки псевдонимов и ключей, используемых командой по умолчанию.
Например:

ls -> /bin/ls --color=auto  


3️⃣ whereis — более глубокий инструмент для поиска команд, исходников и документации.
Пример:

whereis ls  


Результат: /bin/ls /usr/share/man/man1/ls.1.gz

Сравнение find и locate

• find: универсальная команда, подходит для поиска в реальном времени, но медленнее.
• locate: быстрый инструмент благодаря предварительной индексации файлов. Минус — требует обновления базы (updatedb).

Полезный лайфхак

Если locate не находит новый файл, обновите базу вручную:

sudo updatedb
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥3