🐧Linux для админов и DevOps
182 subscribers
2 photos
1 file
9 links
Практика Linux, серверов, Bash, Docker, Ansible, Kubernetes, мониторинга и DevOps.
Без воды: команды, разборы ошибок, шпаргалки и реальные кейсы для админов.

По всем вопросам: @Kostyan_00
Download Telegram
🐧 Почему символ Linux — пингвин?
Многие из вас наверняка видели этого милого пингвина, который является символом операционной системы Linux. Но почему именно пингвин стал символом этой популярной ОС? Давайте разберемся!

🔹 История создания
В 1996 году Линус Торвальдс, создатель ядра Linux, объявил конкурс на создание логотипа для своей операционной системы. Среди множества предложений выделился дизайн, созданный Ларри Юманом. Он создал изображение пингвина, которое стало официальным символом Linux.

🔹 Почему именно пингвин?
Линус Торвальдс сам объяснил выбор пингвина. Однажды он рассказал, что в зоопарке его укусил пингвин, и это оставило у него смешанные чувства. С одной стороны, укус был болезненным, но с другой — пингвины ему очень понравились. Этот случай стал основой для выбора символа.

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

🔹 Имя пингвина — Tux
Имя пингвина — Tux. Оно является сокращением от "Tuxedo" (смокинг), так как пингвины напоминают людей в смокингах. Это имя также подчеркивает элегантность и простоту Linux.

🐧 Заключение
Таким образом, пингвин Tux стал символом Linux не случайно. Он отражает философию и дух этой операционной системы, а также связан с личным опытом ее создателя. Пингвин Tux — это не просто символ, а воплощение свободы, открытости и жизнерадостности, которые присущи Linux и его сообществу.
👍4
🛠 Что такое Bash и зачем он нужен в Linux?

Оболочка (shell) в Linux работает подобно официанту в ресторане: принимает ваш заказ (команды), передаёт его повару (ядру системы) и возвращает готовое блюдо (результат). Одна из самых популярных оболочек — Bash. Это стандарт большинства дистрибутивов Linux, обеспечивающий простой доступ к файлам и программам.

🌟 Основные плюсы Bash:

Легко изучать благодаря простым и знакомым командам (cd, pwd, mkdir);
Автодополнение команд сокращает набор длинных названий путём нажатия Tab;
История команд позволяет повторно вызывать прошлые действия клавишами стрелок вверх-вниз.

🎯 Почему именно Bash популярен?

Традиции: большинство пользователей знакомы с Bash;
Совместимость: одинаковая работа на разных версиях Linux;
Широкая поддержка сообщества разработчиков и документации.

🤝 Альтернатива Bash — Zsh и Fish, но Bash остаётся лидером благодаря простоте и гибкости настроек.

Используйте Bash правильно — и ваша работа в Linux станет проще и эффективнее!
👍6
📌 Как происходит загрузка Linux:
Когда вы включаете компьютер с установленной системой Linux, запускается целый каскад событий, завершающийся полным функционалом рабочей среды. Рассмотрим подробно, что происходит на каждом этапе загрузки.

📌 1. BIOS или UEFI
Сразу после нажатия кнопки питания компьютер начинает работу с базовой системы ввода-вывода (BIOS) или UEFI. Ее задачи:
- провести проверку оборудования (POST);
- найти загрузочные устройства (жёсткий диск, SSD, USB-накопители);
- передать управление загрузчику GRUB.

📌 2. GRUB (загрузчик)
GRUB (GNU GRUB boot loader) — это менеджер загрузки, который отображает меню выбора системы и запускает выбранную ОС. GRUB считывает конфигурацию из файла /boot/grub/grub.cfg, загружает ядро Linux и передает ему управление.

📌 3. Загрузка ядра Linux
Когда GRUB передал управление, начинается загрузка ядра. На этом этапе ядро:
- инициализирует драйвера устройств;
- проверяет и монтирует начальную файловую систему (initramfs);
- проводит подготовку для старта системы.

📌 4. Initramfs
Initramfs — временная файловая система, созданная в оперативной памяти. Она содержит модульные драйверы и необходимые инструменты для начальной загрузки системы. В ней ядро находит модули для работы с жёстким диском и другими устройствами.

📌 5. Systemd (инициализация системы)
После готовности ядра стартует systemd — демон, ответственный за запуск и контроль системных сервисов. Он:
- монтирует основную файловую систему;
- запускает необходимые сервисы и демоны;
- разворачивает сеть и периферийные устройства.

📌 6. Графический интерфейс (Display Manager)
Последний этап загрузки — это запуск графического интерфейса (Xorg или Wayland) и открытие окна входа в систему. Менеджер дисплея (например, GDM, LightDM или SDDM) позволяет войти в рабочий стол и начать работу.

📌 Заключение
Каждый этап плавно сменяет предыдущий, обеспечивая бесперебойную работу операционной системы.

#linux #it
👍7
Какая команда выводит список всех существующих пользователей на сервере?
Anonymous Quiz
19%
cat users
21%
listusers
48%
cat /etc/passwd
12%
users
3
🔥 APT-команды Linux: расширяем возможности системы!

⚙️ APT (Advanced Package Tool) — мощный инструмент управления пакетами в дистрибутивах Debian-based (Ubuntu, Mint и др.). Он прост в освоении и чрезвычайно функционален!

Основные команды APT:

🌐 sudo apt update — обновляет список доступных репозиториев и пакетов.
sudo apt install <package> — устанавливает нужный пакет.
✂️ sudo apt remove <package> — удаляет установленный пакет.
📌 sudo apt autoremove — очищает систему от неиспользуемых зависимостей.
🗃 apt search <keyword> — ищет пакеты по ключевому слову.
💡apt show <package> — выводит подробную информацию о пакете.
🔄 sudo apt upgrade — обновляет установленные пакеты до последних версий.
🤝sudo apt full-upgrade — аналогично upgrade, но может удалять конфликтующие пакеты.

🥳 Преимущества APT:
— Простое управление пакетами.
— Удобство обновления системы одним действием.
—Возможность устанавливать сразу группы пакетов.
— Автоматическая очистка мусора.
— Надежность и стабильность благодаря интеграции с репозиториями Ubuntu.

#Linux #APT #КоманднаяСтрока #Debian #Ubuntu
👍6
Всех приветствую!

🌟Я рад анонсировать запуск своего нового курса, посвященного ключевой технологии современной разработки и администрирования.

📚В этом курсе я собрал всё необходимое, чтобы вы могли уверенно работать с контейнеризацией. Вы научитесь:
— Устанавливать и настраивать Docker на Linux Ubuntu
— Освоите ключевые понятия Docker: образы, контейнеры, слои, хранилища.
— Создавать Docker-образы и контейнеры с использованием Dockerfile.
— Управлять контейнерами: запуск, остановка, удаление, мониторинг.
— Применять Docker Compose для быстрого развёртывания многосервисных приложений.
— Использовать best practices для построения эффективных образов и снижения размеров контейнеров.
— Автоматизировать сборку и деплой приложений с Docker Hub.

🎁Стоимость курса 1990 рублей, по ссылке вы можете получить скидку 990 рублей.
Docker: первые шаги в контейнеризацию: https://stepik.org/a/252861/pay?promo=a2c1d919d74f6dad
💰Если скидка не пройдет, напишите мне в личные сообщения.
👍8
🐧Linux для админов и DevOps pinned «Всех приветствую! 🌟Я рад анонсировать запуск своего нового курса, посвященного ключевой технологии современной разработки и администрирования. 📚В этом курсе я собрал всё необходимое, чтобы вы могли уверенно работать с контейнеризацией. Вы научитесь: — Устанавливать…»
Channel name was changed to «Linux для админов и DevOps»
🔥 Процесс жрет 100% CPU — как найти за секунду?

Сервер тормозит, SSH еле отвечает, а top показывает просто python3. Что за процесс? Неизвестно.
Вот одна команда, которая вычислит виновника:
ps aux --sort=-%cpu | head -5

Результат:
USER PID %CPU COMMAND
root 31337 99.7 python3 /opt/miner/xmrig
root 12001 2.3 nginx
Всё — нашел. Майнер или сломавшийся скрипт.

💡 Добавьте в .bashrc алиас: alias topp='ps aux --sort=-%cpu | head -5'— будете пользоваться каждый день.
👍5🔥2
🔥 SSH Config: Один файл, который экономит 10 минут в день

Что это вообще такое?

SSH config — это конфигурационный файл (~/.ssh/config), который хранит настройки подключения к серверам. Вместо того чтобы каждый раз вбивать длинные команды с IP, портами, ключами и пользователями — вы один раз прописываете параметры и дальше подключаетесь по короткому алиасу.

🧲Как это выглядело раньше (боль и страдания)
Допустим, у вас есть сервер на удалённой машине:
ssh root@192.168.1.100 -p 2222 -i ~/.ssh/prod_key

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

💣Как это работает с SSH Config
Создаёте файл ~/.ssh/config (если его нет) и пишете:
Host prod
HostName 192.168.1.100
User root
Port 2222
IdentityFile ~/.ssh/prod_key

Host stage
HostName 192.168.1.101
User deploy

Всё. Дальше заходите одной короткой командой:
ssh prod
ssh stage

🚀Работа с серверами превращается из "боли и гугления" в "пара секунд". Экономия времени — колоссальная, рекомендую всем, кто работает с удалёнными машинами.
👍10
🔥 Пинг не проходит — не факт, что сервер упал
ICMP может быть заблокирован файрволом. Проверяйте порты напрямую:
▶️ Netcat
nc -zv 192.168.1.100 22

Где:
-z — режим сканирования без передачи данных
-v — подробный вывод
192.168.1.100 — IP-адрес сервера
22 — порт SSH
Если увидите succeeded! — сервер жив и служба работает.

▶️Bash (без установки утилит)

timeout 2 bash -c 'echo > /dev/tcp/192.168.1.100/22 && echo "Порт открыт"'

Где:
timeout 2 — прервать попытку через 2 секунды, если нет ответа
/dev/tcp/192.168.1.100/22 — встроенный механизм Bash для TCP-соединения
&& echo "Порт открыт" — выведет сообщение только при успешном подключении
✏️Запомните: пинг — это вежливость, порты — это реальность.
👌3👍2
🔥 SSH отвалился, а команда не доделалась — больше никаких потерь
Знакомая боль: запустил apt upgrade, ушёл пить кофе, вернулся — SSH отвалился. Команда оборвалась на середине. И ты такой сидишь и думаешь: «ну и зачем я вообще уходил».

Вот что нужно делать перед любой долгой командой:
nohup apt upgrade -y > upgrade.log 2>&1 &

Всё. Процесс теперь живёт своей жизнью — независимо от вашего соединения. Закройте ноутбук, идите спать, возвращайтесь когда хотите.
🏆Что здесь происходит: — nohup говорит процессу игнорировать обрыв сессии — & отправляет его в фон — > upgrade.log 2>&1 пишет весь вывод в файл
💡Вернулся — проверил:
ps aux | grep apt        # живёт ли процесс
tail -f upgrade.log # что там происходит

Работает с чем угодно: деплои, компиляция, бэкапы, скрипты на несколько часов.

#linux #bash #devops #tips
👍41
🔥 Docker захламил сервер — чистим множество ГБ за 10 секунд
Со временем Docker копит мусор: остановленные контейнеры, висящие образы, кэш сборок.
Одна команда — полная уборка:
docker system prune -af

😳Мой результат только что был вот такой:
Total reclaimed space: 2.957GB

Удалится всё, что не запущено прямо сейчас.
💡 Осторожно: если в контейнерах были важные данные (БД, файлы) — сначала сохрани их. Эта команда не щадит никого.
👍51
🔥 SSH не подключается? Хватит гадать — включите отладку
Вы сидите, смотрите в чёрный терминал и не понимаете: почему ssh user@server молчит или выдаёт ту самую ошибку?
Руки тянутся проверить настройки сервера, порты, файрвол… Стоп. Есть более быстрый путь — включить отладку.
Команда-спасение
ssh -v user@server

Вывод покажет каждый шаг подключения. Смотрите внимательно:
 Offering public key: ... — ваш ключ отправлен
 Authentication succeeded — всё, вы внутри
 Permission denied (publickey) — ключ не подошёл
Если хотите совсем детально (увидеть даже отвергнутые ключи) — добавьте ещё два v:
ssh -vvv user@server

Самая частая причина
🔐 Права доступа. SSH — параноик. Сделайте раз и навсегда:
chmod 700 ~/.ssh && chmod 600 ~/.ssh/*

Больше не придётся гадать — отладка покажет истину.
🏆Сохраните себе, пригодится
4🔥1
🔥 Сайт не открывается? Хватит гадать — проверьте сеть
Вы сидите, браузер грузит, а результата нет. «Упал сервер», «провайдер виноват», «DDoS»…. Есть простой способ узнать правду — curl и dig.
Быстрая проверка доступности:
curl -I https://google.com

✏️Что вы увидите в ответе:
HTTP/2 200 — всё ок
curl: (6) Could not resolve host — DNS не работает
curl: (7) Failed to connect — сервер не отвечает

🎯Проверка DNS:
dig +short google.com

Вы получите IP-адреса (например, 142.250.150.142). Работает? Значит с DNS всё в порядке. Пустой вывод — проблема у провайдера или в настройках вашей системы.

💡Если нужно копнуть глубже
Узнайте, где теряются пакеты:
traceroute 8.8.8.8

Каждая строка — один маршрутизатор. Звёздочки на каком-то шаге? Там пакеты пропадают.

Самая частая причина
🌐 Файрвол на вашей машине или на сервере. Проверить просто:
sudo ufw status

Если выключен — ищите проблему в других местах. Если включён и блокирует — временно отключите (с осторожностью):
sudo ufw disable

Не забудьте потом включить обратно:
sudo ufw enable
👍5
Channel name was changed to «🐧Linux для админов и DevOps»