🔥28😁7👍4❤1
grep в Linux как инструмент для администрирования
Примеры использования.
📲 Мы в MAX
👉 @sysadminof
grep — утилита командной строки, используется для поиска и фильтрации текста в файлах, на основе шаблона, который (шаблон) может быть регулярным выражением.Примеры использования.
grep iodmingrep iodmin file.txt поиск iodmin в файле file.txt, с выводом полностью совпавшей строкойgrep -o iodmin file.txt поиск iodmin в файле file.txt и вывод только совпавшего куска строкиgrep -i iodmin file.txt игнорирование регистра при поискеgrep -bn iodmin file.txt показать строку (-n) и столбец (-b), где был найден iodmingrep -v iodmin file.txt инверсия поиска (найдет все строки, которые не совпадают с шаблоном iodmin)grep -A 3 iodmin file.txt вывод дополнительных трех строк, после совпавшейgrep -B 3 iodmin file.txt вывод дополнительных трех строк, перед совпавшейgrep -C 3 iodmin file.txt вывод три дополнительные строки перед и после совпавшейgrep -r iodmin $HOME рекурсивный поиск по директории $HOME и всем вложеннымgrep -c iodmin file.txt подсчет совпаденийgrep -L iodmin *.txt вывести список txt-файлов, которые не содержат iodmingrep -l iodmin *.txt вывести список txt-файлов, которые содержат iodmingrep -w iodmin file.txt совпадение только с полным словом iodmingrep -f iodmins.txt file.txt поиск по нескольким iodmin из файла iodmins.txt, шаблоны разделяются новой строкойgrep -I iodmin file.txt игнорирование бинарных файловgrep -v -f file2 file1 > file3 вывод строк, которые есть в file1 и нет в file2grep -in -e 'python' `find -type f` рекурсивный поиск файлов, содержащих слово python с выводом номера строки и совпаденийgrep -inc -e 'test' find -type f | grep -v :0 рекурсивный поиск файлов, содержащих слово python с выводом количества совпаденийgrep . *.py вывод содержимого всех py-файлов, предваряя каждую строку именем файлаgrep "Http404" apps/**/*.py рекурсивный поиск упоминаний Http404 в директории apps в py-файлах📲 Мы в MAX
👉 @sysadminof
❤7👍5🔥1👌1
This media is not supported in your browser
VIEW IN TELEGRAM
Msldap : LDAP библиотека для аудита MS AD
Функции
Поставляется со встроенным консольным LDAP-клиентом.
Всеми параметрами можно управлять через удобный URL
Поддерживает встроенную проверку подлинности Windows (SSPI) как с NTLM, так и с KERBEROS
Поддерживает привязку каналов (для ntlm и kerberos, кроме SSPI)
Поддерживает шифрование (NTLM/KERBEROS/SSPI)
Поддерживает LDAPS (TODO: фактически проверить сертификат)
Поддерживает прокси SOCKS5
Легковесный
Множество готовых запросов для удобного опроса информации
Легко интегрировать в ваш проект
Установка
через git
или
https://github.com/skelsec/msldap
📲 Мы в MAX
👉 @sysadminof
Функции
Поставляется со встроенным консольным LDAP-клиентом.
Всеми параметрами можно управлять через удобный URL
Поддерживает встроенную проверку подлинности Windows (SSPI) как с NTLM, так и с KERBEROS
Поддерживает привязку каналов (для ntlm и kerberos, кроме SSPI)
Поддерживает шифрование (NTLM/KERBEROS/SSPI)
Поддерживает LDAPS (TODO: фактически проверить сертификат)
Поддерживает прокси SOCKS5
Легковесный
Множество готовых запросов для удобного опроса информации
Легко интегрировать в ваш проект
Установка
через git
python3 setup.py installили
pip install msldaphttps://github.com/skelsec/msldap
📲 Мы в MAX
👉 @sysadminof
❤3👍2
🛠 Навигация в Linux как Pro: Мини-гайд по командам
1. Быстрое перемещение:
🩵
🩵
🩵
2. Осмотр местности:
🩵
🩵
3. Анализ места (актуально для /
🩵
🩵
🩵
4. Поиск «потеряшек»:
🩵
🩵
🩵
5. Просмотр содержимого без открытия редактора:
🩵
🩵
💡 Админский совет: Используйте
#LinuxCommands #Bash #Terminal #SysadminTips #Шпаргалка
📲 Мы в MAX
👉 @sysadminof
1. Быстрое перемещение:
cd - - вернуться в предыдущую директорию (аналог «назад»).cd ~ или просто cd - мгновенно прыгнуть в домашний каталог.pwd - когда потерялся в дебрях /var/lib/docker/overlay2/... и не понимаешь, где ты.2. Осмотр местности:
ls -lah - классика. Показывает скрытые файлы, размеры в человекочитаемом виде (Мб, Гб) и права доступа.tree -L 2 - рисует дерево папок (глубиной в 2 уровня). Очень удобно, чтобы быстро понять структуру нового проекта.3. Анализ места (актуально для /
var и /home):df -h - общая картина по дискам.du -sh * | sort -h - «кто съел место?». Показывает размер каждой папки в текущей директории и сортирует их по весу.ncdu - (если установлена) интерактивный визуализатор занятого места. Must-have для админа.4. Поиск «потеряшек»:
find /etc -name "*.conf" - найти все конфиги в нужной папке.locate filename - мгновенный поиск по базе данных (быстрее, чем find, но нужно делать updatedb).which <command> - показывает полный путь к исполняемому файлу команды (например, which python).5. Просмотр содержимого без открытия редактора:
cat / less - почитать файл.tail -f /var/log/syslog - смотреть за логами в реальном времени.💡 Админский совет: Используйте
alias в своем .bashrc, чтобы не вбивать длинные цепочки флагов. Например: alias ll='ls -lah'.#LinuxCommands #Bash #Terminal #SysadminTips #Шпаргалка
📲 Мы в MAX
👉 @sysadminof
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤5
Основы компьютерных сетей
Тема №1. Основные сетевые термины и сетевые модели
Тема №2. Протоколы верхнего уровня
Тема №3. Протоколы нижних уровней (транспортного, сетевого и канального)
Тема №4. Сетевые устройства и виды применяемых кабелей
Тема №5. Понятие IP адресации, масок подсетей и их расчет
Тема №6. Понятие VLAN, Trunk и протоколы VTP и DTP
Тема №7. Протокол связующего дерева: STP
Тема №8. Протокол агрегирования каналов: Etherchannel
Тема №9. Маршрутизация: статическая и динамическая на примере RIP, OSPF и EIGRP
📲 Мы в MAX
👉 @sysadminof
Тема №1. Основные сетевые термины и сетевые модели
Тема №2. Протоколы верхнего уровня
Тема №3. Протоколы нижних уровней (транспортного, сетевого и канального)
Тема №4. Сетевые устройства и виды применяемых кабелей
Тема №5. Понятие IP адресации, масок подсетей и их расчет
Тема №6. Понятие VLAN, Trunk и протоколы VTP и DTP
Тема №7. Протокол связующего дерева: STP
Тема №8. Протокол агрегирования каналов: Etherchannel
Тема №9. Маршрутизация: статическая и динамическая на примере RIP, OSPF и EIGRP
📲 Мы в MAX
👉 @sysadminof
👍10🔥6❤2
🏎 Разгоняем KVM: Тюнинг производительности
«Из коробки» KVM предлагает безопасные и совместимые настройки, но они - враг высокой производительности. Если ваша БД тормозит или сеть не выдает гигабит, скорее всего, проблема не в железе, а в том, как виртуалка с ним общается.
Вот «святая троица» настроек для High Performance.
1. VirtIO: Забудьте про эмуляцию
По умолчанию гипервизор может подсовывать машине эмулируемую сетевую карту (например, e1000) или IDE-диск. Это создает огромный оверхед: CPU тратит такты на то, чтобы притворяться старым железом.
Решение: Используйте паравиртуализированные драйверы VirtIO. Они позволяют гостевой ОС знать, что она виртуальная, и общаться с гипервизором напрямую.
🩵 Диски: Используйте шину
🩵 Сеть: Модель адаптера
Как проверить в XML (
2. Дисковый кэш и I/O
Если вы используете LVM или raw-файлы, стандартный кэш Linux может создавать лишние копии данных в RAM.
Решение:
1. Cache mode: Ставим
2. IO mode: Ставим
3. CPU Pinning (Привязка ядер)
Самый мощный буст для процессорозависимых задач.
По умолчанию планировщик Linux перекидывает потоки vCPU виртуалки между любыми физическими ядрами хоста. Это убивает L1/L2/L3 кэш процессора (Context Switching).
Решение: Жестко привязать виртуальные ядра к физическим.
Пример для 4-ядерной VM (привязываем к ядрам 2,3,4,5 физического хоста):
🚀 Чек-лист для максимальной скорости:
1. Драйверы: Только VirtIO (net + blk).
2. Диски: Формат RAW (или LVM volume), кэш
3. CPU: Pinning + режим
4. Память: Если у вас сотни Гб RAM, включите Hugepages (страницы по 2Mb или 1Gb вместо 4Kb), чтобы разгрузить таблицу страниц памяти.
А вы заморачиваетесь с тюнингом или для ваших задач хватает дефолтных настроек? Делитесь опытом в комментах!
#sysadmin #kvm #performance #tuning #linux #virtio
📲 Мы в MAX
👉 @sysadminof
«Из коробки» KVM предлагает безопасные и совместимые настройки, но они - враг высокой производительности. Если ваша БД тормозит или сеть не выдает гигабит, скорее всего, проблема не в железе, а в том, как виртуалка с ним общается.
Вот «святая троица» настроек для High Performance.
1. VirtIO: Забудьте про эмуляцию
По умолчанию гипервизор может подсовывать машине эмулируемую сетевую карту (например, e1000) или IDE-диск. Это создает огромный оверхед: CPU тратит такты на то, чтобы притворяться старым железом.
Решение: Используйте паравиртуализированные драйверы VirtIO. Они позволяют гостевой ОС знать, что она виртуальная, и общаться с гипервизором напрямую.
VirtIO (или VirtIO-SCSI).virtio.Как проверить в XML (
virsh edit):
<target dev='vda' bus='virtio'/>
<model type='virtio'/>
Важно: Для Windows-гостей понадобятся драйверы virtio-win.iso.2. Дисковый кэш и I/O
Если вы используете LVM или raw-файлы, стандартный кэш Linux может создавать лишние копии данных в RAM.
Решение:
1. Cache mode: Ставим
none. Это отключает кэширование на хосте (Direct I/O). VM сама управляет своим кэшем, что быстрее и безопаснее для баз данных.2. IO mode: Ставим
native. Использует нативный Linux AIO (Asynchronous I/O).
<driver name='qemu' type='raw' cache='none' io='native'/>
3. CPU Pinning (Привязка ядер)
Самый мощный буст для процессорозависимых задач.
По умолчанию планировщик Linux перекидывает потоки vCPU виртуалки между любыми физическими ядрами хоста. Это убивает L1/L2/L3 кэш процессора (Context Switching).
Решение: Жестко привязать виртуальные ядра к физическим.
Пример для 4-ядерной VM (привязываем к ядрам 2,3,4,5 физического хоста):
<cputune>
<vcpupin vcpu='0' cpuset='2'/>
<vcpupin vcpu='1' cpuset='3'/>
<vcpupin vcpu='2' cpuset='4'/>
<vcpupin vcpu='3' cpuset='5'/>
</cputune>
Pro Tip: Не используйте "ядро 0" хоста — оставьте его для самого гипервизора и системных прерываний.
🚀 Чек-лист для максимальной скорости:
1. Драйверы: Только VirtIO (net + blk).
2. Диски: Формат RAW (или LVM volume), кэш
none.3. CPU: Pinning + режим
host-passthrough (чтобы VM видела все инструкции процессора, включая AES-NI и AVX).4. Память: Если у вас сотни Гб RAM, включите Hugepages (страницы по 2Mb или 1Gb вместо 4Kb), чтобы разгрузить таблицу страниц памяти.
А вы заморачиваетесь с тюнингом или для ваших задач хватает дефолтных настроек? Делитесь опытом в комментах!
#sysadmin #kvm #performance #tuning #linux #virtio
📲 Мы в MAX
👉 @sysadminof
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤3
🏗 KVM + Terraform: Поднимаем виртуалки как код
Мы научились управлять KVM через
На сцену выходит Terraform. Обычно его ассоциируют с облаками (AWS, Azure), но он прекрасно работает и с «железным» гипервизором через провайдер
🛠 Что нам понадобится?
1. Установленный Terraform.
2. Плагин-провайдер
3. Образ системы (Cloud Image), например, Ubuntu Cloud.
📄 Пишем рецепт (
Создайте папку, положите туда файл
🚀 Запускаем магию
В терминале переходим в папку с файлом и выполняем три команды:
1.
2.
3.
🤔 А как удалить?
Не нужно вспоминать имена машин и удалять диски вручную. Просто введите:
И Terraform аккуратно зачистит за собой всё, что создал.
💡 Почему это круто?
🩵 Воспроизводимость: Вы можете отправить этот файл коллеге, и он поднимет точно такую же среду.
🩵 Git: Вы храните конфигурацию инфраструктуры в репозитории. Видна история изменений.
🩵 Cloud-Init: В Terraform можно добавить конфигурацию
👇 Коллеги, какой инструмент IaC вы предпочитаете? Terraform, Ansible или, может быть, Pulumi?
#sysadmin #devops #terraform #kvm #iac #automation
📲 Мы в MAX
👉 @sysadminof
Мы научились управлять KVM через
virsh, но если вам нужно поднять 10 одинаковых серверов для тестов, а потом удалить их одной командой - ручной ввод утомляет.На сцену выходит Terraform. Обычно его ассоциируют с облаками (AWS, Azure), но он прекрасно работает и с «железным» гипервизором через провайдер
libvirt.🛠 Что нам понадобится?
1. Установленный Terraform.
2. Плагин-провайдер
dmacvicar/libvirt (стандарт де-факто для KVM).3. Образ системы (Cloud Image), например, Ubuntu Cloud.
📄 Пишем рецепт (
main.tf)Создайте папку, положите туда файл
main.tf и опишите желаемое состояние:
terraform {
required_providers {
libvirt = {
source = "dmacvicar/libvirt"
}
}
}
# 1. Подключаемся к локальному KVM
provider "libvirt" {
uri = "qemu:///system"
}
# 2. Скачиваем образ диска (или берем локальный)
resource "libvirt_volume" "ubuntu_base" {
name = "ubuntu-base.qcow2"
pool = "default"
# Ссылка на официальный Cloud-образ
source = "https://cloud-images.ubuntu.com/minimal/releases/jammy/release/ubuntu-22.04-minimal-cloudimg-amd64.img"
format = "qcow2"
}
# 3. Описываем Виртуальную Машину
resource "libvirt_domain" "my_web_server" {
name = "terraform-vm-01"
memory = "1024"
vcpu = 1
network_interface {
network_name = "default" # NAT сеть libvirt
}
disk {
volume_id = libvirt_volume.ubuntu_base.id
}
console {
type = "pty"
target_port = "0"
target_type = "serial"
}
graphics {
type = "spice"
listen_type = "address"
autoport = true
}
}
🚀 Запускаем магию
В терминале переходим в папку с файлом и выполняем три команды:
1.
terraform init - Скачает провайдер libvirt.2.
terraform plan - Покажет, что именно он собирается создать (DRY RUN).3.
terraform apply - Boom! Скачивается образ, создается диск, запускается VM.🤔 А как удалить?
Не нужно вспоминать имена машин и удалять диски вручную. Просто введите:
terraform destroyИ Terraform аккуратно зачистит за собой всё, что создал.
💡 Почему это круто?
cloud-init (создать пользователя, добавить SSH-ключ, установить пакеты при первом старте), чтобы получить полностью готовый сервер, в который даже не нужно заходить.👇 Коллеги, какой инструмент IaC вы предпочитаете? Terraform, Ansible или, может быть, Pulumi?
#sysadmin #devops #terraform #kvm #iac #automation
📲 Мы в MAX
👉 @sysadminof
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
👍7🔥2❤1
Media is too big
VIEW IN TELEGRAM
Файловые системы в линуксе | сравнительный тест файловых систем linux ext4 xfs f2fs btrfs zfs
📲 Мы в MAX
👉 @sysadminof
📲 Мы в MAX
👉 @sysadminof
👍7
Media is too big
VIEW IN TELEGRAM
Как стать DevOps Инженером с Нуля, что учить и в каком порядке
00:00 – 1. Вступление
01:06 – 2. Всевозможные компетенции DevOps инженера
10:35 – 3. Кому проще стать DevOps
15:01 – 4. Что учить по минимуму и в каком порядке
30:04 – 4.1. Основы Network TCP/IP
31:36 – 4.2. Администрирование Windows
34:09 – 4.3. Основы Linux
35:54 – 4.4. Ansible
36:48 – 4.5. Git
37:37 – 4.6. GitHub
38:04 – 4.7. Jenkins
38:23 – 4.8. Docker+DockerHub
38:44 – 4.9. Cloud Platform AWS
42:10 – 4.10. CloudFormation + Terraform
43:25 – 5. Курс DevOps Engineering в JohnBryce, Израиль
49:12 – 6. Как стать профессиональным DevOps инженером
54:24 – 7. Эпилог
источник
📲 Мы в MAX
👉 @sysadminof
00:00 – 1. Вступление
01:06 – 2. Всевозможные компетенции DevOps инженера
10:35 – 3. Кому проще стать DevOps
15:01 – 4. Что учить по минимуму и в каком порядке
30:04 – 4.1. Основы Network TCP/IP
31:36 – 4.2. Администрирование Windows
34:09 – 4.3. Основы Linux
35:54 – 4.4. Ansible
36:48 – 4.5. Git
37:37 – 4.6. GitHub
38:04 – 4.7. Jenkins
38:23 – 4.8. Docker+DockerHub
38:44 – 4.9. Cloud Platform AWS
42:10 – 4.10. CloudFormation + Terraform
43:25 – 5. Курс DevOps Engineering в JohnBryce, Израиль
49:12 – 6. Как стать профессиональным DevOps инженером
54:24 – 7. Эпилог
источник
📲 Мы в MAX
👉 @sysadminof
🔥7👍3
Совет дня по Linux 💡
Чтобы команда не регистрировалась в истории bash, введите ее с пробелом перед ней.
📲 Мы в MAX
👉 @sysadminof
Чтобы команда не регистрировалась в истории bash, введите ее с пробелом перед ней.
📲 Мы в MAX
👉 @sysadminof
👍18🔥2