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

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

РКН https://vk.cc/cMUwm4
Download Telegram
🔥 Как etckeeper спасает сервер от криворуких админов!

Привет, архитекторы серверов!

Когда из твоего /etc внезапно исчезают изменения — это тревожный звоночек.
Сегодня делюсь реальным кейсом, как на сервере внезапно пропали локейшены в nginx.conf. Всё оказалось банально: в /etc была спрятана .git-папка, а на сервере стоял etckeeper.

Что делает etckeeper?
🛡️ Он автоматически отслеживает любые изменения в /etc через git.
Если кто-то что-то сломал — ты сразу увидишь все изменения и сможешь откатить систему за пару команд.

Как установить и настроить:

sudo apt install etckeeper git
cd /etc
git remote add origin git@github.com:your-repo/etc.git
git push -u origin master


Перед пушем обязательно почисти .gitignore, убрав чувствительные файлы!

✔️ Чтобы зафиксировать изменения:

etckeeper commit "комментарий" && git push


✔️ Чтобы откатить только один файл:

etckeeper vcs checkout <commit_id> /etc/fstab


🎯 Теперь никакие магниты Марса и криворукие тестировщики не навредят твоему серверу!

📩 Завтра: Почему в Linux нужно запускать скрипты через ./ ?
Включи 🔔 чтобы не пропустить!
____________________

Дополнительный материал:
🧠 - Управление процессами: Часть 2
🧠 - Docker с 0 до 100%. Всё, что нужно знать
🧠 - Управление процессами: Перенаправление ввода/вывода и конвейеры

#Linux_Mastery #linux #utils #devops #server
👍13
🔥 Почему в Linux нужно запускать скрипты через ./ ?

Доброе утро, мастера консоли! ☕️

Каждый в начале пути сталкивается с ошибкой:

noscript.sh: command not found


Вроде скрипт есть, права +x есть… а запустить нельзя.
В чём подвох?

💡 Всё просто: оболочка ищет команды только в каталогах, прописанных в $PATH.
Текущая директория (.) туда по умолчанию не входит — из соображений безопасности!

Чтобы запустить скрипт из текущей папки, нужно указать явно:

./noscript.sh


Тем самым ты говоришь системе: "Запусти ЭТОТ конкретный файл, а не ищи его где-то в системных каталогах".

Почему это важно для безопасности:

Представь, ты работаешь под рутом и влетаешь в папку пользователя. А там злой скрипт с именем ls. Без ./ ты бы случайно его запустил вместо нормального ls. Результат: потеря контроля над сервером.

✔️ Для надёжной работы cron-джобов или скриптов в автоматизации всегда указывай полные пути:

/bin/bash /home/user/noscript.sh


Или определяй команды явно:

CAT=$(which cat)
$CAT noscript.sh


И помни — добавлять . в $PATH крайне не рекомендуется! Это открывает брешь для атак.

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

Дополнительный материал:
🧠 - Управление процессами: Конвейер (pipeline)
🧠 - Управление процессами: Создание и выполнение скриптов командной строки
🧠 - Установка Docker

#Linux_Mastery #bash #linux #security
👍23
Вопрос №35 из теста Linux Essentials Certification: Where is the BIOS located? | Где находится BIOS?
Anonymous Quiz
89%
Motherboard
7%
RAM
3%
Hard drive
1%
LCD Monitor
👍5👀5
Media is too big
VIEW IN TELEGRAM
🚀 Урок 12 — Проверка вещественных чисел в Bash + подключение сценариев

Привет, мастер точности! 👋
Сегодня разберёмся, как корректно валидировать вещественные числа в Bash и подключать сторонние сценарии без ошибок. Урок для тех, кто хочет чистого кода даже в дробях!

Зачем смотреть?
Узнаешь, как отличать валидные вещественные числа от некорректных
Освоишь технику подключения внешних сценариев (source .sh)
Поймёшь, как строить функции валидации и повторно использовать код

Таймкоды:
00:03 — Введение: что считаем вещественным числом
01:13 — Подключение внешнего bash-сценария
02:01 — Основная функция: делим число на части
07:24 — Проверка целой части
09:15 — Проверка дробной части: никаких минусов!
13:47 — Обработка чисел без точки
15:22 — Блок тестирования и коды возврата
20:01 — Заключение и демонстрация на практике

🌐 Источник: https://www.youtube.com/watch?v=AC0HidtKpoU

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

Дополнительный материал:
🧠 - Terraform с нуля: как автоматизировать инфраструктуру за пару часов!
🧠 - Terraform: Модули, кластеры и магия автоматизации
🧠 - Почему set -e в bash может сломать тебе всё!

#Linux_youtube #bash #linux #bashскрипты #обучение #Linux\_youtube
👍4
Вопрос №36 из теста Linux Essentials Certification: How can the current directory and its subdirectories be searched for the file name MyFile.xml? | Как найти файл с именем MyFile.xml в текущем каталоге и его подкаталогах?
Anonymous Quiz
22%
grep -r MyFile.xml
13%
search MyFile.xml ./
4%
grep MyFile.xml | find
59%
find . -name MyFile.xml
2%
less MyFile.xml
👍13🔥3
Media is too big
VIEW IN TELEGRAM
🚀 Урок 13 — Проверка введённой даты в Bash: с учётом високосных годов

Привет, хранитель временных данных! 👋
Сегодня научимся проверять правильность введённой даты в Bash — с учётом месяцев, дней и даже високосных годов. Да, февраль — не такой простой, как кажется.

Зачем смотреть?
Узнаешь, как обрабатывать ввод даты и исключать ошибки
Научишься определять високосный год и проверять 29 февраля
Подключишь уже написанные сценарии и повторно используешь функции

Таймкоды:
00:03 — Введение и правила високосного года
00:59 — Импорт нормализации даты
02:15 — Первая функция: дни в месяце
04:05 — Проверка дня и месяца
05:59 — Определение високосного года
09:03 — Основной сценарий и импорт
11:53 — Переменные и запуск проверок
15:35 — Условия для 29 февраля
17:36 — Обработка некорректных дат
19:40 — Разбор функций и сценариев
21:34 — Повторная нормализация
22:28 — Финальная проверка дня и месяца
23:59 — Валидация даты и результат
24:48 — Тестирование на реальных примерах
26:35 — Заключение и прощание

🌐 Источник: https://www.youtube.com/watch?v=OymBqzuOMfY&t

📩 Завтра: Как скопировать только изменённые файлы с помощью rsync?
Включи 🔔 чтобы не пропустить!
____________________

Дополнительный материал:
🧠 - BTRFS: Продвинутые техники для настоящих гуру!
🧠 - LinPEAS: Твой помощник в поиске уязвимостей на Linux
🧠 - 10 возможностей Nginx, о которых ты точно не знал

#Linux_youtube #bash #linux #bashскрипты #обучение #Linux\_youtube
👍5
Как скопировать только изменённые файлы с помощью rsync?

Салют! Сегодня разберём одну крутую задачку! Когда работаешь с большими каталогами, часто возникает задача: обновить только изменённые файлы, не трогая новые.

И тут идеально подходит rsync!

Вот как скопировать только те файлы, которые уже есть в целевой папке и имеют изменения:

rsync --checksum --existing -av source/ dest/


Расшифруем:
- --checksum — сравнивать файлы по содержимому, а не по дате или размеру.
- --existing — копировать только те файлы, которые уже есть в dest, новые не создавать.
- -a — режим архивации (права, симлинки и т.д.).
- -v — подробный вывод.

💡 Если не хотите замедлять процесс вычислением контрольных сумм, можно убрать --checksum, но тогда сравнение будет идти только по дате и размеру.

🌐 Источник: https://unix.stackexchange.com/questions/792314/using-rsync-to-copy-only-files-that-have-changed-not-files-that-are-new

📩 Завтра: ТОП-скрипты для автоматизации Linux задач
Включи 🔔 чтобы не пропустить!
____________________

Дополнительный материал:
🧠 - История UNIX. Часть 1
🧠 - История UNIX. Часть 2
🧠 - Установка и настройка Linux-системы: Astra

#stackoverflow #linux #rsync #bash #файлы #linuxskill
👍9🔥1
🚀 ТОП-скрипты для автоматизации Linux задач

Привет, искатель эффективности! 👨‍💻

Если хочешь меньше тратить время на рутину в Linux — тебе нужны правильные скрипты.

Сегодня делюсь отличной находкой: на GitHub лежит коллекция полезных bash-скриптов для автоматизации повседневных задач.
Проект развивается в духе "всё для жизни", без лишнего хлама.

🔹 Что можно найти:
- Скрипты для резервного копирования и восстановления
- Мониторинг состояния серверов
- Автоматическая очистка мусора и логов
- Сканирование сети
- Управление Docker-контейнерами
- Базовые операции с системными сервисами

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

Почему стоит заглянуть:
- Сэкономишь время на написание велосипедов
- Быстро расширишь свой арсенал инструментов
- Подчистишь и оптимизируешь свои сервера без лишних усилий

🌐 Репозиторий: https://github.com/ggeorgovassilis/linuxnoscripts

Забирай в закладки и используй на практике!

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

Дополнительный материал:
🧠 - Управление пользователями и группами
🧠 - Управление файловой системой и разрешениями доступа
🧠 - Права Доступа и владения файлами и директориями

#Linux_Mastery #linux #bash #devops #automation #github
👍11👎3
📚 Секретная книга знаний для Linux и DevOps

Привет, цифровой исследователь! 🌍

Если ты искал идеальную подборку ресурсов для обучения, автоматизации и развития в Linux, DevOps и кибербезопасности — поздравляю, ты её нашёл!

The Book of Secret Knowledge — это огромная коллекция:
- ⚙️ Bash-скрипты и трюки
- 🛡️ Инструменты для тестирования безопасности
- 🖥️ Гайды по DevOps, CI/CD, облакам
- 🔍 Лучшие источники для быстрого поиска информации
- 🚀 Полезные утилиты для работы с сетью, файлами и системами

Каждая ссылка проверена временем и практикой. Можно сказать — это готовая энциклопедия для тех, кто хочет быть на шаг впереди.

💡 Почему стоит сохранить себе:
- Ускорит решение нестандартных задач
- Сэкономит время на поиске нужных инструментов
- Расширит технический кругозор

🌐 Ссылка на репозиторий: https://github.com/trimstray/the-book-of-secret-knowledge

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

Дополнительный материал:
🧠 - Управление пакетами и обновлениями
🧠 - Что такое TCP/IP
🧠 - Введение: стек сетевых протоколов, независимость и инкапсуляция уровней
🔥12👍3
Вопрос №37 из теста Linux Essentials Certification: What is the preferred source for the installation of new applications? | Какой источник предпочтительнее всего использовать для установки новых приложений в Linux?
Anonymous Quiz
3%
A CD-ROM disk
1%
A retail store
89%
The distribution's package repository
4%
The vendor's version management system
4%
The vendor's website
👍4🔥1
Media is too big
VIEW IN TELEGRAM
🚀 Урок 14 — Bash: произвольные вычисления с точностью до знака

Привет, арифметический архитектор! 👋
Сегодня разберёмся, как делать точные вычисления в Bash: деление, дроби, параметры точности. Простые echo $((1/3)) больше не прокатят 😉

Зачем смотреть?
Освоишь утилиту bc для точных вычислений
Узнаешь, как управлять параметром scale
Напишешь обёртку-сценарий, которая позволяет удобно передавать команды в bc

Таймкоды:
00:00 — Введение: зачем нужна произвольная точность
00:52 — Утилита bc и переменная scale
02:22 — Создание сценария-обёртки для bc
05:29 — Передача команд в bc через ввод
08:58 — Тестирование с разными значениями
10:13 — Заключение: где и как использовать

🌐 Источник: https://www.youtube.com/watch?v=iShlwjx9j-A&t=1s

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

Дополнительный материал:
🧠 - 5 ошибок в настройке балансировки Nginx и как их избежать
🧠 - Как запросить ввод Yes/No/Cancel в shell скрипте?
🧠 - Топ команды для DevOps: Что спрашивают на собеседованиях?

#Linux_youtube #bash #linux #bashскрипты #обучение #Linux\_youtube
👍4
Вопрос №38 из теста Linux Essentials Certification: Which of the following commands can be used to extract content from a tar file? | Какая из следующих команд используется для извлечения содержимого из tar-архива?
Anonymous Quiz
23%
tar -e
68%
tar -xvf
3%
tar -vf
3%
tar -v
3%
tar -c
👍16🔥1
Media is too big
VIEW IN TELEGRAM
🚀 Урок 15 — Блокировка файлов в Bash: как защититься от гонки процессов

Привет, хранитель системного порядка! 👋
Сегодня научимся ставить «замки» на файлы — чтобы два сценария не лезли в один ресурс одновременно. Это особенно важно в cron-джобах, логах и автоматизации.

Зачем смотреть?
Поймёшь, зачем нужна блокировка и как избежать конфликтов
Освоишь утилиту lockfile и напишешь надёжный скрипт
Научишься обрабатывать ошибки и удалять блокировки вручную

Таймкоды:
00:03 — Зачем нужна блокировка файлов
02:10 — Утилита lockfile: установка и суть
03:56 — Переменные, опции и подготовка
08:22 — Проверка lockfile и запуск логики
10:42 — Обработка действия unlock
14:28 — Тестирование: блок, повторные попытки, удаление
16:33 — Заключение и демонстрация в действии

🌐 Источник: https://www.youtube.com/watch?v=To7_cUhCy4c&t=1s

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

Дополнительный материал:
🧠 - Укроти символические ссылки с namei -n!
🧠 - 7 шагов к безопасному серверу: домен, Nginx, Apache, SSL
🧠 - Bash Урок 1: Введение для новичков

#Linux_youtube #bash #linux #bashскрипты #обучение #Linux\_youtube
👍3🔥3
🔥 Как убивать скрипты в Linux после минуты тишины

Привет, исследователь Linux! Когда скрипт "зависает" и перестаёт выводить данные, сервер может ждать бесконечно... Как автоматически завершить такой скрипт, если нет вывода в течение 1 минуты?

Вот решение:

output_timeout() (
set -o pipefail
export TIMEOUT=$1; shift
sh -c 'echo "$$"; exec stdbuf -oL "$@" 2>&1' sh "$@" | perl -ne '
BEGIN {
$SIG{ALRM} = sub {
warn "No output within $ENV{TIMEOUT} seconds, killing PID $pid";
kill "TERM", $pid;
}
}
alarm $ENV{TIMEOUT};
if (!$pid) {$pid = $_} else {print}'
)


Пример запуска:

output_timeout 60 ./s1.sh
output_timeout 60 ./s2.sh
output_timeout 60 ./s3.sh


Пояснение:
- Если скрипт не выводит ничего 60 секунд, он будет автоматически убит.
- После остановки можно запускать следующий скрипт.
- Стандартные потоки stdout и stderr объединены.

🌐 Источник: https://unix.stackexchange.com/questions/789260/how-to-automatically-terminate-shell-noscripts-after-1-minute-of-no-output

📩 Завтра: 10 навыков командной строки, которые ускорят твою работу в Linux
Включи 🔔 чтобы не пропустить!
____________________

Дополнительный материал:
🧠 - Установка и настройка Linux-системы: Mint
🧠 - Установка и настройка Linux-системы: Kali
🧠 - Linux команды: ls, rm, mkdir, pwd, cd, echo

#stackoverflow #Linux #bash #скрипты #DevOps #администрирование #автоматизация
👍12👎1
⚡️ 10 навыков командной строки, которые ускорят твою работу в Linux!

👨‍💻 Осваивая Linux, многие застревают на базовых командах. Но есть несколько трюков, которые моментально прокачают твои навыки.

Вот что стоит изучить в первую очередь:

1⃣ Комбинирование команд через &&, || и ; — чтобы цеплять действия друг за другом без лишних скриптов.

2⃣ Работа с выводом с помощью | (пайпов) — перенаправляй результат одной команды в другую.

3⃣ Поиск по содержимому файлов с grep, find, ack или rg — находи информацию молниеносно.

4⃣ Расширенное редактирование в nano, vim, micro — ускорь свои правки без GUI.

5⃣ Менеджмент процессов (top, htop, ps, kill) — следи за загрузкой и оперативно управляй задачами.

6⃣ Создание алиасов — превращай длинные команды в короткие ярлыки.

7⃣ Работа с историей команд через history, Ctrl+R — мгновенный доступ к прошлым командам.

8⃣ Пакетные операции с xargs — передавай результаты поиска в другие команды.

9⃣ Быстрая диагностика сети через ping, traceroute, curl, netcat.

🔟 Навыки работы с файлами: tar, gzip, rsync, scp — бэкапы и переносы без боли.

💡 Не бойся экспериментировать и копить свой арсенал полезных приёмов. Чем глубже знаешь командную строку — тем быстрее решаешь любые задачи.

🌐 Источник: https://github.com/jlevy/the-art-of-command-line

📩 Завтра: 10 упражнений для прокачки навыков DevOps-инженера
Включи 🔔 чтобы не пропустить!
____________________

Дополнительный материал:
🧠 - VirtualBox: Установка и настройка
🧠 - Некоторые сведения о физическом уровне и управлении виртуальными машинами
🧠 - Установка и обзор Linux Ubuntu

#Linux #Bash #Terminal #Productivity #DevOps #github
👍10🔥2
🚀 10 упражнений для прокачки навыков DevOps-инженера

Привет, цифровые архитекторы! 🛠️

Если хочешь поднять свои DevOps-скилы на новый уровень — начни с реальных задач!

✔️ Проект DevOps Exercises — это кладезь практических заданий для всех уровней: от новичка до профи.

В репозитории собраны темы:
- Основы Linux и Bash
- Сетевые протоколы и безопасность
- Docker и Kubernetes
- CI/CD практики
- Работа с облаками (AWS, GCP)
- И многое другое!

✔️ Как использовать:
- Проходи упражнения в свободное время
- Прокачивай слабые зоны перед собеседованиями
- Отрабатывай навыки для реальных проектов

Плюс, вопросы разбиты по уровням сложности — можно расти поэтапно.

🎯 Совет: Пиши свои решения в отдельный репозиторий — будет портфолио для интервью!

🌐 Источник: https://github.com/bregman-arie/devops-exercises

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

Дополнительный материал:
🧠 - Интерфейсный уровень и его представление
🧠 - Интерфейсный уровень: сетевые мосты и VLAN
🧠 - Astra Linux 1.7: Репозитории MAIN, BASE и EXTENDED
🔥1
Вопрос №39 из теста Linux Essentials Certification: The output of the program date should be saved in the variable actdat. What is the correct statement? | Результат выполнения команды date должен быть сохранён в переменную actdat. Какой вариант верный?
Anonymous Quiz
5%
date | acdat
50%
date > $actdat
9%
set actdat='date'
31%
actdat=$(date)
5%
actdat='date'
👍14
Media is too big
VIEW IN TELEGRAM
🚀 Урок 16 — Библиотеки в Bash: меньше кода, больше пользы

Привет, архитектор shell-решений! 👋
Сегодня покажу, как писать свои библиотеки в Bash: переиспользуем код, избавляемся от дублирования и структурируем функции по уму.

Зачем смотреть?
Узнаешь, как создавать и подключать Bash-библиотеки
Сделаешь код читаемым и переиспользуемым через source
Освоишь изоляцию переменных и избежишь конфликтов в функциях

Таймкоды:
00:04 — Введение: зачем нужны библиотеки
00:32 — Подключение через точку и поведение переменных
03:37 — Преимущества и удобство повторного использования
06:37 — Создание библиотеки с функциями форматирования
10:18 — Проверка команд и форматированный вывод
16:04 — Обработка больших чисел через библиотеку
21:36 — Проверка високосного года как пример
24:48 — Группировка и подключение библиотек
25:34 — Локальные переменные: зачем нужны
26:10 — Как избежать конфликтов имён
26:48 — Заключение и обсуждение в комментариях

🌐 Источник: https://www.youtube.com/watch?v=v74wzgnnxYQ&t=1s

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

Дополнительный материал:
🧠 - Шпаргалка по циклам в Bash
🧠 - Почему бенчмарки в bash дают разные результаты?
🧠 - Как узнать ВСЁ о железе и системе в Linux за 5 минут
----

#Linux_youtube #bash #linux #bashскрипты #обучение #Linux\_youtube
👍7
Вопрос №40 из теста Linux Essentials Certification: What is the number called that is used to identify a process? | Как называется номер, используемый для идентификации процесса?
Anonymous Quiz
2%
Proc Num
94%
PID
3%
PIN
2%
Process Entry
👍6
SSH-перенаправление портов

Если вы ищете, как просто пробросить порты через SSH, то, скорее всего, наткнётесь на что-то вроде:
ssh -nNT -L 8000:example.com:80 user@bastion.example.com

Или вот это, если вы ещё хотите отправить ssh в фон:
ssh -NT -L 3306:db.example.com:3306 example.com &

Обе эти команды используют как минимум одну лишнюю опцию, а вторая вообще может привести к тому, что SSH не подключится, если вы используете аутентификацию по паролю. Тем не менее, подобные примеры до сих пор кочуют по разным статьям про перенаправление портов через SSH. Я и сам до недавнего времени пользовался первой вариацией, и решил, что стоит написать об этом — может, кому-то пригодится.

Правильный вариант для этого случая - это не -nNT, а просто -N, вот так:
ssh -N -L 8000:example.com:80 user@bastion.example.com

Если вы хотите отправить ssh в фон, то стоит добавить -f, а не использовать &, встроенный в оболочку. Потому что тогда вы сможете ввести пароль в ssh, если это понадобится.

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

https://telegra.ph/SSH-perenapravlenie-portov-06-19

#ит_статьи #linux #network #ssh #forwarding
👍20🔥5
Media is too big
VIEW IN TELEGRAM
🚀 Урок 17 — Отладка Bash-скриптов: как находить и исправлять ошибки

Привет, охотник за багами! 👋
Сегодня будем искать и устранять ошибки в Bash-скриптах: логические, синтаксические, опечатки — ничто не скроется. На примере простой игры разберём пошаговую отладку.

Зачем смотреть?
Освоишь ключевые приёмы для поиска багов в Bash
Узнаешь, как использовать set и отладочные команды
Научишься ловить и устранять как синтаксические, так и логические ошибки

Таймкоды:
00:04 — Введение: типы ошибок в Bash
01:00 — Запуск и анализ скрипта
06:37 — Исправление логических ошибок
08:22 — Отладочные советы: как выводить и проверять значения

🌐 Источник: https://www.youtube.com/watch?v=uyQ0ZakSzGY

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

Дополнительный материал:
🧠 - Bash Урок 2: Переменные, массивы и логика
🧠 - Урок 3 — Освой циклы Bash
🧠 - Процесс с неизвестным именем грузит CPU на 25000%! Что происходит?
----

#Linux_youtube #bash #linux #bashскрипты #обучение #Linux\_youtube
👍6🔥3