Linux Skill - Освой Linux c нуля до DevOps – Telegram
Linux Skill - Освой Linux c нуля до DevOps
11.3K subscribers
67 photos
103 videos
499 links
Освой Linux c нуля до DevOps
Подробный гайд по Linux и море других уроков для системных администраторов

📩 По всем вопросам: @chorapov

РКН https://vk.cc/cMUwm4
Download Telegram
Вопрос №14 из теста Linux Essentials Certification: Какая команда отобразит последнюю строку файла foo.txt?
Anonymous Quiz
17%
last -n 1 foo.txt
3%
head -n foo.txt
12%
tail foo.txt
68%
tail -n 1 foo.txt
👍14🔥2
Media is too big
VIEW IN TELEGRAM
🎥 Как уменьшить размер образа Docker: от 1,2 ГБ до 10 МБ

В этом видео мы расскажем, как оптимизировать образы Docker, чтобы сократить их размер и повысить эффективность. Узнай, как это влияет на стоимость хранения, сроки развертывания и безопасность.

1. Введение и важность уменьшения размера (00:00):
- Уменьшение размера образа Docker с 1,2 ГБ до 10 МБ.
- Советы применимы к любым образам Docker.

2. Выбор базового изображения (00:15):
- Использование образа Alpine для сокращения размера.
- Alpine содержит только необходимые компоненты для запуска приложений.

3. Кэширование слоев (01:40):
- Кэширование слоев для ускорения сборки.
- Оптимизация файла Docker для использования кэширования.

4. Удаление ненужных файлов (03:05):
- Использование Docker Ignore для удаления ненужных файлов.
- Важность очистки кэша и удаления временных файлов.

5. Многоэтапная сборка (05:27):
- Использование многоэтапной сборки для оптимизации размера образа.
- Пример с разделением процесса сборки на этапы.

6. Инструменты для оптимизации Docker (06:26):
- Использование инструментов, таких как Dive и Slim, для оптимизации и отладки сборок.
- Slim позволяет уменьшить размер образа до 30 раз.

Оптимизация образов Docker — это ключ к эффективному управлению ресурсами и повышению безопасности. Применяйте эти советы и инструменты, чтобы улучшить свои Docker-сборки!

📩 Завтра: Когда нужно оборачивать переменные в кавычки в shell скрипте?
Включи 🔔 чтобы не пропустить!
____________________

Дополнительный материал:
🧠 - Не трать время на распаковку! Вот как Zcat покажет всё на лету!
🧠 - Ускоряем загрузку Linux: Разбираемся с systemd-analyze
🧠 - Как использовать команду awk в Linux: обработка текста в пару команд

#Linux_youtube @LinuxSkill #Docker #Optimization #SysAdmin #DevOps
👍12🔥1
🧠 Нужно ли ставить кавычки вокруг переменных в shell-скриптах?

Привет, повелитель терминала! Если ты в скриптах пишешь $var без кавычек — скорее всего, ты (пока что) просто везучий.
Давай разберёмся, когда и зачем переменные в shell-скриптах нужно оборачивать в кавычки.

### Общее правило:
> Оборачивай переменные в двойные кавычки, если не хочешь сюрпризов от пробелов, пустых значений и спецсимволов.

---

### Когда кавычки обязательны:
1. Значение может быть пустым:
   [ "$var" = "value" ]

2. Есть пробелы:
   xdg-open "$URL"

3. В переменной спецсимволы (*, &, ?):
   wget "$link"


---

### Пример бага:
file="My documents/report.pdf"
rm $file # Попытка удалить два файла: 'My' и 'documents/report.pdf'
rm "$file" # Удаляется нужный файл


---

### Когда кавычки можно опустить:
- $?, $#, $0 — безопасны без кавычек.
- Внутри арифметических или логических выражений:
   if [ "$?" -eq 0 ]; then ...


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

🌳 Ветка: https://stackoverflow.com/questions/10067266/when-to-wrap-quotes-around-a-shell-variable

📩 Завтра: Секреты Bash: Как тестировать порты без curl и wget!
Включи 🔔 чтобы не пропустить!
____________________

Дополнительный материал:
🧠 - Откройте для себя мир Управления Службами в Linux с нашей серией статей
🧠 - Контейнер в контейнере? Да это как матрёшка для айтишников: открываешь, а там ещё больше проблем… но зато все свои!
🧠 - Секретная Команда nsenter! Управляй Контейнерами как Хакер

#stackoverflow @LinuxSkill #Linux #ShellScripting #Quotes #SysAdmin #DevOps
👍14
🚀 Секреты Bash: Как тестировать порты без curl и wget!

Привет, линукс-мастер! Сегодня я расскажу тебе, как тестировать TCP/UDP порты без использования привычных утилит вроде curl или wget. Это особенно полезно в средах, где их нет, например, в Docker-контейнерах. Давай разберемся, как это сделать с помощью Bash!

Проверка портов с Bash:

1. Проверка открытых портов:
   :> /dev/tcp/yourdomain.com/80
:> /dev/tcp/yourdomain.com/443

- Если порт открыт, команда завершится без вывода. Статус можно проверить через echo $?.

2. Добавление таймаута:
   timeout 5s bash -c ':> /dev/tcp/yourdomain.com/80'
timeout 5s bash -c ':> /dev/tcp/yourdomain.com/443'

- Таймаут в 5 секунд поможет избежать долгого ожидания.

3. Что такое :>?
- Это сокращенная версия команды true, которая всегда возвращает успешный код.

4. Отправка UDP запросов:
   :> /dev/udp/localhost/8888

- Синтаксис: /dev/протокол/хост/порт.

5. Получение времени с NIST Time Server:
   cat </dev/tcp/time.nist.gov/13

- Аналогично можно получить время с других NTP серверов.

6. Использование nc для проверки портов:
   nc -zv yourdomain.com 80

- nc или netcat позволяет быстро проверить порты с выводом результата.

Эти методы помогут тебе тестировать порты без сторонних утилит. Пользуйся на здоровье и увидимся в следующем посте!

📩 Завтра: Как правильно зачистить логи Nginx: Избегай ошибок
Включи 🔔 чтобы не пропустить!
____________________

Дополнительный материал:
🧠 - Настрой автосборку RAID с MDADM и забудь о проблемах с дисками
🧠 - Секреты команды cd: автоматизация и удобство в одном флаконе
🧠 - Сделай свои файлы неуязвимыми с командой chattr

#Linux_Mastery @LinuxSkill #Bash #curl #wget
👍25🔥7
Channel name was changed to «Linux Skill - Освой Linux c нуля до DevOps»
🚀 Как правильно зачистить логи Nginx: Избегай ошибок!

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

Ошибка новичка:
На собеседовании кандидат удалил лог-файл Nginx командой rm /var/log/nginx/access.log. Это привело к потере дескриптора файла, и Nginx перестал записывать логи. Не повторяй эту ошибку!

Безопасные способы зачистки логов:

1. Перезапись файла:
   sudo > /var/log/nginx/access.log

- Этот метод сохраняет дескриптор файла, и Nginx продолжает запись.

2. Обрезка файла:
   sudo truncate -s 0 /var/log/nginx/access.log

- Уменьшает размер файла до нуля, сохраняя дескриптор.

3. Сигнал процессу:
   sudo kill -USR1 <pid>

- Отправляет сигнал процессу Nginx, чтобы он закрыл текущий лог и открыл новый.

Используй эти методы, чтобы избежать проблем с логами. Помни, сначала думай, а потом действуй!

📩 Завтра: Вопрос №15 из теста Linux Essentials Certification
Включи 🔔 чтобы не пропустить!
____________________

Дополнительный материал:
🧠 - Как ограничить скорость на Mikrotik и спасти сеть от перегрузки — инструкция, которую ты ждал
🧠 - Ускоряем OpenVPN на MikroTik до максимума: настройки, о которых не говорят
🧠 - Btrfs или XFS? Команды для управления файловыми системами в Linux

#Linux_Mastery @LinuxSkill #Nginx #логи
👍23
Вопрос №15 из теста Linux Essentials Certification: Какая команда подходит для поиска следующего появления слова hidden в man-странице, просматриваемой из командной строки?
Anonymous Quiz
15%
ctrl-f hidden
20%
/? hidden
34%
/hidden
31%
find hidden
👍18
Media is too big
VIEW IN TELEGRAM
📂 Файловая система ZFS: отказоустойчивость, RAID и целостность данных

Таймкоды для удобной навигации по видео:

00:00 — Введение в файловые системы
00:56 — Примеры популярных решений
03:06 — Эволюция и расширенные функции
04:31 — Что особенного в ZFS
06:26 — Где можно использовать ZFS
09:57 — Абстракции: ZPool и Datasette
12:18 — Режимы ZPool и RAID-0
13:27 — Работа с пулом и команды zpool
15:00 — Добавление новых дисков
16:49 — Репликация и масштабирование
19:24 — RAID 10: комбинирование отказоустойчивости и скорости
21:36 — RAID Z: отказоустойчивость с экономией
27:51 — RAID Z2 и Z3: максимум надёжности
30:02 — Сжатие и его риски
32:01 — Гарантия целостности в ZFS
33:07 — Проверка и восстановление через zpool scrub
34:46 — Команды scrub и repair
36:29 — Тестирование ZFS под нагрузкой
37:52 — Несколько пулов: когда и зачем
39:54 — Тесты на отказ и восстановление
44:35 — Замена повреждённых дисков
46:46 — Использование hot-spare дисков
47:47 — Кэширование и логирование на SSD
49:29 — Привязка пулов к физическим дискам
50:10 — Резервное копирование и финальные советы
51:10 — Заключение

Что разберём:
- Как ZFS обеспечивает отказоустойчивость с помощью разных уровней RAID
- Почему ZFS проверяет целостность всегда
- Чем RAID-Z отличается от RAID-10 и где их применять
- Как работать с пулами: создавать, расширять, чинить
- Реальные примеры: добавление дисков, репликация, scrub, замена, кеши

Это базовая часть — в следующих видео будет разбор снапшотов, клонирования и deduplication.

Источник: https://youtu.be/ZR6Hvk0H5SA?si=AY_2Sj2HYVTJDxHe

📩 Завтра: Вопрос №16 из теста Linux Essentials Certification
Включи 🔔 чтобы не пропустить!
____________________

Дополнительный материал:
🧠 - Как копировать файлы и папки с исключениями: продвинутые трюки с cp
🧠 - Настраиваем KVM и QEMU: виртуализация на максимум
🧠 - Как мониторить ресурсы Docker-контейнеров с помощью cgroups

#Linux_youtube @LinuxSkill #ZFS #файловаясистема #Linux #RAID #zpool #zfsraid #администрирование #DevOps #SysAdmin #резервноекопирование #диски #устойчивость #zfssetup #безопасностьданных #storage
👍15🔥2
Вопрос №16 из теста Linux Essentials Certification: Какая дистрибуция Linux используется в качестве основы для создания Ubuntu Linux?
Anonymous Quiz
2%
SUSE Linux
3%
Gentoo Linux
2%
Arch Linux
4%
Red Hat Linux
89%
Debian Linux
👍22👀1
Решил принять участие в исследование. Как будет результат на руках расскажу что получилось и что думаю по этому поводу
👍6
Media is too big
VIEW IN TELEGRAM
📁 ZFS: Часть 2 — Работа с данными, снимки, дедупликация и сжатие

Таймкоды для навигации по видео:

00:01 — Введение в ZFS и создание пула
00:58 — Работа с датасетами
04:17 — Иерархия датасетов
05:13 — Моментальные снимки системы
11:30 — Прозрачность и восстановление данных
16:36 — Ограничения при использовании снимков
18:35 — Атрибуты ZFS и их использование
19:25 — Наследование и неизменяемые атрибуты
20:00 — Оптимизация через атрибут atime
21:39 — Квоты и ограничение дискового пространства
24:15 — Изменение точки монтирования
25:34 — Дедупликация: как работает и зачем нужна
29:12 — Эффективность дедупликации на практике
33:17 — Сжатие данных: включение и замеры
35:11 — Почему LZ4 — хороший выбор
37:02 — Дополнительные возможности ZFS: шифрование, iSCSI, NFS
38:01 — Передача снимков и отказоустойчивость
38:44 — Заключение

Что в видео:
- Создание ZFS-пула и организация датасетов
- Моментальные снимки (zfs snapshot) и восстановление удалённых файлов
- Ускорение системы с помощью noatime и алгоритма LZ4
- Ограничения на объём хранения через квоты
- Дедупликация одинаковых блоков и оценка её эффективности
- Доп. функции: шифрование, блочные устройства, iSCSI, экспорт снапшотов

Коротко:
Если ты работаешь с хранилищами, знаешь про RAID, но ещё не копал ZFS глубже, — это видео покажет, как файловая система может быть умной, гибкой и в то же время безопасной. Всё наглядно и по делу.

Источник: https://youtu.be/V03zyNdEjrY?si=ugwxDJsEDLTZ5lZD

📩 Завтра: Как удалить конкретные правила из iptables (а не всё подряд)?
Включи 🔔 чтобы не пропустить!
____________________

Дополнительный материал:
🧠 - Человек, изменивший интернет: история, которая вдохновляет
🧠 - История, изменившая IT: как Linux стал легендой!
🧠 - Никто не говорил, что анализ данных может быть таким простым! Секрет MAXQDA

#Linux_youtube @LinuxSkill #ZFS #датасеты #zfsdataset #снапшоты #дедупликация #сжатие #Linux #zpool #zfsadmin #хранилище #SysAdmin #DevOps #файловаясистема #ZFSпрактика #оптимизация #zfsperformance
👍7🔥2
🧯 Как удалить конкретные правила из iptables (а не всё подряд)?

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

Способ 1. Удалить правило по содержимому
Повтори ту же команду, но с -D вместо -A:
iptables -D INPUT -i eth0 -p tcp --dport 443 -j ACCEPT

💡 Работает, только если правило совпадает дословно.

🧩 Способ 2. Удалить по номеру
Сначала покажи номера правил:
iptables -L INPUT --line-numbers

Удаление:
iptables -D INPUT 3

Если правило в NAT:
iptables -t nat -L PREROUTING --line-numbers
iptables -t nat -D PREROUTING 1


🛠 Способ 3. Комментарии и iptables-restore
Добавляешь правило с комментарием:
iptables -A INPUT -s 1.2.3.4 -j DROP -m comment --comment "ban_temp"

Потом удаляешь всё с этим тегом:
iptables-save | grep -v "ban_temp" | iptables-restore


🧼 Способ 4. Через iptables -S
Показать все правила:
iptables -S

Удалить нужное вручную (заменив -A на -D):
iptables -D INPUT -p tcp --dport 443 -j ACCEPT


⚠️ Не забудь:
- При удалении по номеру порядок важен: после удаления строки остальные смещаются.
- Не используй iptables -F, если не хочешь снести всё подчистую.

🌳 Ветка: https://stackoverflow.com/questions/10197405/how-can-i-remove-specific-rules-from-iptables

📩 Завтра: iptables: доступ к порту 8000 только с одного IP
Включи 🔔 чтобы не пропустить!
____________________

Дополнительный материал:
🧠 - Эй, ты в курсе, что с Grafana можно раз и навсегда забыть о хаосе в мониторинге серверов?
🧠 - Секретная связка Angie и Grafana для тотального контроля над серверами
🧠 - Неожиданно закончилась память? 3 секрета команды du -h

#stackoverflow @LinuxSkill #iptables #Linux #сетевоеадминистрирование #firewall #DevOps #SysAdmin #безопасность
👍18🔥2
🔐 iptables: доступ к порту 8000 только с одного IP

Привет, хранитель сетей! Если ты хочешь открыть доступ к какому-либо сервису (например, веб-интерфейсу на порту 8000) только для одного IP, не трогая весь остальной трафик — вот как это делается через iptables.

🔧 Пример: разрешить доступ только для 1.2.3.4

iptables -A INPUT -p tcp --dport 8000 -s 1.2.3.4 -j ACCEPT
iptables -A INPUT -p tcp --dport 8000 -j DROP

Так ты явно разрешаешь доступ для IP 1.2.3.4, а все остальные — отсекаешь.

💡 Альтернатива: блокировать всех, кроме одного IP
iptables -A INPUT -p tcp --dport 8000 ! -s 1.2.3.4 -j DROP

Один простой вариант — одна строка, эффект тот же.

📌 Несколько полезных замечаний:
- Для диапазона IP используй:
-s 1.2.3.0/24
- Чтобы снять правило, замени -A на -D (или используй iptables -S и удаляй по номерам).
- Не забудь сохранить конфигурацию, если не хочешь потерять правила после перезагрузки:
  iptables-save > /etc/iptables.rules

🌳 Ветка: https://stackoverflow.com/questions/7423309/iptables-block-access-to-port-8000-except-from-ip-address

📩 Завтра: Как управлять iptables на лету — без sudo, без потерь
Включи 🔔 чтобы не пропустить!
____________________

Дополнительный материал:
🧠 - Не трать время на конфиги: как упростить работу с WireGuard
🧠 - Неожиданный способ взломать систему: что такое бинарный анализ в Linux?

#stackoverflow @LinuxSkill #iptables #Linux #firewall #порт #безопасность #SysAdmin #DevOps
👍14👀1
🧠 Как управлять iptables на лету — без sudo, без потерь

Привет, сетевой волшебник! Если ты хоть раз пытался автоматически обновлять правила iptables из приложения или скрипта — ты знаешь, насколько это боль.
Сегодня разберём, как это делать программно, безопасно и эффективно — даже без API.

🤯 Проблема: у iptables нет API

- libiptc не предназначена для использования — она нестабильна и может быть удалена в будущем.
- Прямого, документированного API в C, Python, Rust и т.д. не существует.

📌 Официальный ответ от Netfilter:
> “Нет, API не предусмотрен. Используйте system() или iptables-restore.”
Источник: Netfilter FAQ

Что работает на практике:

#1. iptables-restore (атомарная загрузка правил)
Можно применять *весь ruleset сразу*, не теряя соединений:

iptables-restore < my_ruleset.conf


✔️ Безопасно: правила применяются при COMMIT, в один вызов ядра
✔️ Работает из любой программы через stdin


#2. ipset — для добавления IP без пересборки

ipset create allowlist hash:ip
ipset add allowlist 1.2.3.4
iptables -A INPUT -m set --match-set allowlist src -j ACCEPT


✔️ Отлично подходит для динамических списков
✔️ Есть поддержка timeout и swap
✔️ Работает быстро и без потерь


#3. rfw — REST API для iptables (open source)

Позволяет управлять правилами через HTTP-запросы:

PUT /drop/input/eth0/11.22.33.44


👉 Проект: https://github.com/gluczywo/rfw
✔️ Поддерживает JSON, GET, PUT, DELETE, сериализацию
✔️ Работает на localhost без SSL
✔️ Подходит для распределённых систем


#4. python-iptables

Обёртка над libiptc (но будь осторожен):

🔗 https://github.com/ldx/python-iptables
✔️ Удобен для скриптов
Требует осторожности при работе с низкоуровневым API

🛑 Что не делать:

- Не пиши правила через iptables -A в цикле
- Не используй libiptc напрямую в проде
- Не забывай про iptables-save как бэкап перед внесением правок

🌳 Ветка: https://stackoverflow.com/questions/109553/how-can-i-programmatically-manage-iptables-rules-on-the-fly

📩 Завтра: Вопрос №17 из теста Linux Essentials Certification
Включи 🔔 чтобы не пропустить!
____________________

Дополнительный материал:
🧠 - Настрой cron за 5 минут и забудь о ручной работе навсегда!
🧠 - Ты больше никогда не запутаешься в systemd: разбор по шагам!
🧠 - 10 секретов команды ping, которые знают только сетевые гуру

#stackoverflow @LinuxSkill #iptables #ipset #Linux #SysAdmin #DevOps #firewall #rfw #сетибезопасность
👍14
Вопрос №17 из теста Linux Essentials Certification: Как можно записать нормальный вывод команды в файл, отбрасывая вывод ошибок?
Anonymous Quiz
23%
command>2>discard-error>file
19%
command>2>file &1>/dev/null
21%
command> file2>/dev/null
3%
command /dev/null
33%
command> /dev/null 2&>1 output
👍14👎10
Media is too big
VIEW IN TELEGRAM
🌐 DNS — самая недооценённая технология, без которой интернет не работает

👋 Привет, root-человек! Если ты думаешь, что DNS — это просто перевод имён в IP, держись. На самом деле это распределённая база доверия, у которой свои короли, правила и уязвимости.

📺 Видео: DNS // Теория
Разложили всё по битам — от hosts до Cloudflare и DNS-записей, которые выдают больше, чем ты думаешь.

⏱️ Таймкоды для удобной перемотки:
00:00 — История DNS: от символьных имён до доверия
08:04 — Почему файл hosts сломался, и появился DNS
14:07 — Как домены стали деньгами
19:05 — Кто управляет интернетом на самом деле
27:02 — DNS = распределённая публичная база данных
36:21 — dig: покажи мне всё
44:23 — Trace: визуальный маршрут от корня до цели
47:12 — Что скрывают A, MX и TXT-записи
56:40 — Cloudflare — щит для твоего DNS
59:24 — DNS как основа сервисов

🧠 Что ты узнаешь:
- Почему DNS жив до сих пор, хотя ему 40 лет.
- Что такое корневые серверы и кто им платит.
- Как dig +trace показывает весь маршрут твоего запроса.
- Какие записи указывают на владельца домена (и могут слить всю инфру).
- Почему Cloudflare стал стандартом де-факто для защиты и ускорения.

🧪 Проверь сам:

dig +noall +answer linux.org
dig +trace linux.org


- Узнай, откуда реально идёт трафик.
- Проверь TTL, A-записи, TXT и MX — а что видит мир про твой домен?

🧩 Вывод:
DNS — это не просто адресная книга. Это доверие, безопасность и контроль над инфраструктурой. Не знаешь, что происходит в твоих DNS-записях — значит, ты вслепую открываешь дверь в продакшн.

Источник: https://youtu.be/a_V23iYheqg?si=CaxvFBk_m-myXPZz

📩 Завтра: Вопрос №18 из теста Linux Essentials Certification
Включи 🔔 чтобы не пропустить!
____________________

Дополнительный материал:
🧠 - Секреты netstat: найди подозрительные соединения за 2 минуты!
🧠 - Ты не используешь curl на полную, пока не знаешь эти трюки
🧠 - Как трое инженеров бросили вызов IBM: История Silicon Cowboys

#Linux_youtube @LinuxSkill #dns #linux #cloudflare #devops #dig #sysadmin #инфраструктура #безопасность #серверы #bash
👍8🔥7
Вопрос №18 из теста Linux Essentials Certification: При добавлении нового пользователя, в каком файле сохраняется его идентификатор (UID) и другая основная информация?
Anonymous Quiz
15%
/etc/shadow
9%
/etc/group
67%
/etc/passwd
8%
/etc/login.defs
👍23
UPD: Исправил ошибку
Media is too big
VIEW IN TELEGRAM
🚀 Подними свой DNS-сервер и забудь про Google DNS

Привет, архитектор сетей!
Если ты уже знаешь, что DNS — это не просто «таблица имён», пора пойти глубже. В этом видео ты шаг за шагом разберёшься, как развернуть собственный DNS-сервер на BIND, протестировать его, перехватывать запросы, настраивать зоны и прокачать безопасность.

📺 Видео: Настройка BIND. DNS Часть 2
Таймкоды для быстрой перемотки:

00:01 — Введение в тему
00:55 — Установка BIND на CentOS
03:24 — Альтернативы: PowerDNS и dnsmasq
07:53 — Первая конфигурация DNS-сервиса
10:18 — Проверка работы через другую машину
15:14 — Поведение кэша при повторных запросах
16:03 — Мониторим DNS через dnsmasq
22:22 — Фильтрация и отключение лишнего
23:33 — Угрозы приватности и защита DNS
28:21 — DNS over HTTPS в действии
33:43 — Настраиваем форвардинг на внешние DNS
36:40 — Создание собственной зоны
41:42 — Внутренние и публичные домены
45:16 — Обновляем список корневых серверов
49:18 — Выводы и идеи для продвинутой настройки

🧩 Что ты освоишь:
- Разворачивание DNS-сервера на BIND
- Правильная настройка named.conf и зон
- Форвардинг, кэширование и анализ запросов
- Защита конфиденциальности с DNS-over-HTTPS
- Работа с dnsmasq для мониторинга и отладки

🧪 Полезные команды:

systemctl enable named --now      # Запуск и автозагрузка BIND
dig example.local # Тестирование своей зоны
dnsmasq --log-queries # Перехват DNS-запросов


💡 Вывод:

Свой DNS — это не только про контроль, но и про обучение.
Ты начинаешь видеть интернет по слоям. А ещё понимаешь, как Google, Cloudflare и провайдеры играют в «доверие».

Источник: https://youtu.be/JlrV1-jd-4w?si=D7ACgJSzlycDqhxZ

📩 Завтра:
Включи 🔔 чтобы не пропустить!
____________________

Дополнительный материал:
🧠 - Настройка CI/CD для бэкапов: простые шаги к защите данных
🧠 - Linux для геймеров: как настроить игры с помощью PortProton за 5 минут
🧠 - Мастер grep: 8 шагов к совершенству в поиске

#Linux_youtube @LinuxSkill #dns #bind #linux #networking #devops #sysadmin #dnsmasq #инфраструктура #интернет #безопасность
👍26👎1
🚀 Как работает export в bash и когда он реально нужен?

Привет, архитектор переменных и властелин скриптов! Задумывался, зачем вообще нужен export в bash и что он делает с переменными? Сегодня разложим по полочкам — коротко, чётко и с пользой!

🧠 Что делает export

Когда ты пишешь:
export MY_VAR=value

ты говоришь bash: “Эй, сделай эту переменную доступной для всех дочерних процессов.”
Например, твой скрипт вызывает python, curl, node — они смогут использовать MY_VAR.

🤔 А если без export?

Вот так:
MY_VAR=value

Переменная будет доступна только внутри текущего shell, но не в дочерних процессах.
Однако есть лайфхак:

MY_VAR=hello node noscript.js

Так переменная временно экспортируется только для выполнения node noscript.js. Удобно? Да!

⚠️ Важное ограничение
Экспорт работает вниз по процессу, но не вверх.
Если ты экспортируешь переменную в скрипте, родительский терминал её не увидит.

🛠 Вывод
Хочешь, чтобы переменная работала в дочерних процессах? Используй export.
Пишешь скрипт с вызовом других программ? Без export будет больно.
Но если переменная нужна только внутри текущего скрипта — не трать лишние байты.


🌳 Ветка: https://stackoverflow.com/questions/1158091/defining-a-variable-with-or-without-export

📩 Завтра: Прокачай свой namei: секретная опция для идеального вывода!
Включи 🔔 чтобы не пропустить!
____________________

Дополнительный материал:
🧠 - Поднимем отказоустойчивое хранилище в Proxmox VE с Ceph
🧠 - Отключи ненужные конфиги в Apache за пару команд!
🧠 - Контролируй трафик в реальном времени! Три утилиты для мониторинга сети в Linux

#stackoverflow @LinuxSkill #Linux #ShellScripting #Export #SysAdmin #DevOps
👍19🔥1
👩‍💻 Прокачай свой namei: секретная опция для идеального вывода!

Привет, повелитель терминала! Готов превратить хаос файловой системы в стройные ряды информации? Сегодня раскрою секрет, как сделать вывод namei красивым и читаемым одним волшебным флагом!

Знакомься с опцией -v для namei. Она не просто показывает путь, она выстраивает информацию по струнке!

Смотри, как это работает:

namei -v /home/himanshu/Downloads/HTF-review/Nodejs-Docker/1.png


И вот что ты получишь:

f: /home/himanshu/Downloads/HTF-review/Nodejs-Docker/1.png
d /
d home
d himanshu
d Downloads
d HTF-review
d Nodejs-Docker
- 1.png


Видишь разницу? Каждый элемент пути теперь на своей строке, идеально выровнен по вертикали. Это не просто красиво – это функционально!

Зачем это нужно?
1. Легче читать длинные пути
2. Быстрее находить нужный элемент
3. Удобнее анализировать структуру директорий

Используй -v всегда, когда работаешь с глубоко вложенными директориями или запутанными путями. Твои глаза скажут тебе спасибо!

📩 Завтра: BTRFS: Твой ключ к суперсиле файловых систем
Включи 🔔 чтобы не пропустить!
____________________

Дополнительный материал:
🧠 - Разбираем chmod: контроль доступа в твоих руках
🧠 - Твои файлы могут быть изменены! Вот как cksum спасёт твои данные
🧠 - Чистый терминал без лишних движений: всё о команде clear

#Linux_Mastery @LinuxSkill
👍15