linuxskill | Unsorted

Telegram-канал linuxskill - LinuxSkill - Сводки с прода и Шпаргалки

10723

Следим за новостями Linux, DevOps и ИБ, чтобы быть готовым к любым факапам. Бонусом — плотные шпаргалки и чеклисты для ежедневной работы в терминале. 📩 По всем вопросам: @chorapov Зеркало в MAX: https://max.ru/LinuxSkill РКН https://vk.cc/cMUwm4

Subscribe to a channel

LinuxSkill - Сводки с прода и Шпаргалки

🔍 Как объединить логи всех контейнеров в одном месте

Привет, укротитель логов!

Вчера в комментах подсказали инструмент logdy — теперь смотрю все логи через браузер. Один бинарник, никаких зависимостей. Показываю все режимы работы.

Установка за 10 секунд

# curl https://logdy.dev/install.sh | sh


## Простой режим — один лог

# tail -f /var/log/syslog | logdy --ui-ip=0.0.0.0


Или так:
# logdy --ui-ip=0.0.0.0 follow /var/log/syslog


Открывай http://твой-ip:8080 — логи в браузере!

Логи Docker контейнера

# docker logs 761965fa13b2 --follow | logdy --ui-ip=0.0.0.0


Объединение нескольких контейнеров

Запускаем logdy в режиме сокетов:
# logdy --ui-ip=0.0.0.0 socket 8123 8124


Направляем логи каждого контейнера:
# docker logs d20339949095 --follow | logdy forward 8123
# docker logs 761965fa13b2 --follow | logdy forward 8124


Теперь все логи в одном интерфейсе с фильтрацией по источнику!

Для локальной разработки

# node app.js | logdy


В VS Code: Ctrl+Shift+P → "Simple Browser: Show" → http://localhost:8080

API режим с токеном

Запускаем с API:
# logdy --ui-ip=0.0.0.0 --api-key=secrettoken


Отправляем логи через curl:
curl --location --request POST 'http://1.2.3.4:8080/api/log' \
--header 'Authorization: Bearer secrettoken' \
--header 'Content-Type: application/json' \
--data '{"logs": [{"log": "this is a log message as a string" }],"source":"machine identifier"}'


Режим stdin для пайпов

# logdy stdin


Фишки logdy:
- Парсит JSON логи автоматически
- Разбивает на колонки
- Фильтрация и поиск в реальном времени
- Защита паролем через ключи запуска
- Экспорт логов

💡 Где выручает:
- Отладка микросервисов
- Мониторинг нескольких контейнеров
- Быстрый просмотр логов без SSH
- Демо для заказчика

Итог: один инструмент покрывает 90% задач с логами. Особенно круто для Docker-окружения.
____________________

Дополнительный материал:
🧠 - Путешествие LXD: Как Контейнеры LXD Переопределили Виртуализацию
🧠 - Удаление файлов и каталогов без стресса
🧠 - Создание Docker Образов и Магия Сетей: От Одиночных Узлов до Docker Swarm

#Linux_Mastery #logs #devops #docker #monitoring #tools

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

🚨 Всем раздал kubectl? Как не потерять кластер

Привет, хранитель кластера!

Дал разработчикам полный доступ к K8s и теперь не спишь ночами? Александр Кузьмин из КРОК показывает, как правильно настроить RBAC и интегрировать Kubernetes с Active Directory. От теории до практики!

📹 Таймкоды:
00:20 — Почему важно разграничивать доступ
02:49 — Опасности полного доступа
04:46 — RBAC: основы и принципы
07:58 — Создание ролей и привязок
11:31 — Способы аутентификации
12:12 — Клиентские сертификаты
13:40 — Автоматизация через Ansible
15:41 — LDAP-интеграция
16:22 — Dex: простое решение
18:28 — Как работает аутентификация
24:02 — Keycloak: enterprise-вариант
28:19 — Сравнение подходов
31:40 — Работа с несколькими LDAP

🚀 Итог:
Правильная настройка доступа = спокойный сон админа!


🌐 Источник: YouTube - КРОК
____________________

Дополнительный материал:
🧠 - От RPM до Snap: Путешествие через эволюцию систем управления пакетами
🧠 - Linux Deep Dive: Разбираемся с UID и группами
🧠 - Как использовать команду basename для упрощения ваших скриптов Bash

#Linux_youtube #kubernetes #rbac #ldap #security #authentication #vide

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

📊 Мониторинг без боли: Prometheus + Grafana одной командой

Привет, строитель мониторинга!

Prometheus проще Zabbix'а в разы — никаких агентов, баз данных, сложных конфигов. 10 минут и у тебя работающий мониторинг с красивыми графиками. Держи готовую шпаргалку.

Установка Docker

# curl https://get.docker.com | bash -


Подготовка файлов

# mkdir ~/prometheus && cd ~/prometheus
# touch docker-compose.yml


Docker-compose конфиг

Создай файл docker-compose.yml:
version: '3.9'
networks:
monitoring:
driver: bridge
volumes:
prometheus_data: {}

services:

prometheus:
image: prom/prometheus:latest
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
- prometheus_data:/prometheus
container_name: prometheus
hostname: prometheus
command:
- '--config.file=/etc/prometheus/prometheus.yml'
- '--storage.tsdb.path=/prometheus'
expose:
- 9090
restart: unless-stopped
environment:
TZ: "Europe/Moscow"
networks:
- monitoring

node-exporter:
image: prom/node-exporter
volumes:
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /:/rootfs:ro
container_name: exporter
hostname: exporter
command:
- '--path.procfs=/host/proc'
- '--path.rootfs=/rootfs'
- '--path.sysfs=/host/sys'
- '--collector.filesystem.mount-points-exclude=^/(sys|proc|dev|host|etc)($$|/)'
expose:
- 9100
restart: unless-stopped
environment:
TZ: "Europe/Moscow"
networks:
- monitoring

grafana:
image: grafana/grafana
user: root
depends_on:
- prometheus
ports:
- 3000:3000
volumes:
- ./grafana:/var/lib/grafana
- ./grafana/provisioning/:/etc/grafana/provisioning/
container_name: grafana
hostname: grafana
restart: unless-stopped
environment:
TZ: "Europe/Moscow"
networks:
- monitoring


Конфиг Prometheus

Создай файл prometheus.yml:
scrape_configs:
- job_name: 'prometheus'
scrape_interval: 5s
scrape_timeout: 5s
static_configs:
- targets: ['localhost:9090']

- job_name: 'node-local'
scrape_interval: 5s
static_configs:
- targets: ['node-exporter:9100']


Запуск всего стека

# docker-compose up -d


Настройка Grafana

1. Открой http://твой-ip:3000
2. Логин: admin / admin
3. Connections → Data sources → Add Prometheus
4. URL: http://prometheus:9090
5. Dashboards → New → Import
6. Введи ID: 1860 (готовый дашборд для Node Exporter)

Добавление удалённого сервера

На удалённом сервере запусти exporter:
# docker run -d --net="host" --pid="host" -v "/:/host:ro,rslave" \
prom/node-exporter:latest --path.rootfs=/host

# Проверка
# ss -tulnp | grep 9100


Добавь в prometheus.yml:
 - job_name: 'node-remote'
scrape_interval: 5s
static_configs:
- targets: ['10.20.1.56:9100']


Перезапусти:
# docker compose restart


💡 Результат: полноценный мониторинг с графиками CPU, RAM, диска, сети. Всё за 10 минут без танцев с бубном!

❗️ Важно: в проде закрой порты файрволом — оставь доступ только нужным IP.
____________________

Дополнительный материал:
🧠 - Мастерство Управления Правами в Linux: От Новичка до Профи
🧠 - Максимизируйте безопасность с минимальными разрешениями в Linux
🧠 - От Slackware до Pacman: Путешествие Систем Управления Пакетами в Linux

#Linux_Mastery #мониторинг #prometheus #devops #grafana #docker

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

🎯 Почему твой Nmap работает медленно: трюки ускорения

Эй, сканер сетей!

Устал ждать, пока Nmap просканирует сеть? Я тоже постоянно забываю нужные ключи и лезу в заметки. Собрал рабочую шпаргалку с трюками ускорения — сохраняй и используй.

Базовое сканирование

Быстрый скан портов до 1024:

nmap 192.168.1.1
nmap 192.168.1.1 192.168.2.1
nmap 192.168.1.1-254
nmap 192.168.1.0/24


Полное сканирование всех 65535 портов:
nmap 192.168.1.1 -p-


Скан хоста, игнорирующего ping:
nmap 192.168.1.1 -Pn


Техники сканирования

nmap 192.168.1.1 -sS  # TCP SYN (по умолчанию)
nmap 192.168.1.1 -sT # TCP connect
nmap 192.168.1.1 -sU # UDP сканирование

# Полное TCP+UDP (очень долго!)
nmap 192.168.1.1 -sS -sU -p-


Поиск живых хостов

Обнаружение без сканирования портов:
nmap 192.168.1.1/24 -sn


ARP-сканирование в локалке (в разы быстрее!):
nmap 192.168.1.1/24 -PR


Просто список IP без проверки:
nmap 192.168.1.1-15 -sL


Определение сервисов

Быстрая проверка версий (1 порт = 1 строка):
nmap 192.168.1.1 -sV


Полный анализ (ОС, версии, скрипты, traceroute):
nmap 192.168.1.1 -A


🚀 Трюк для ускорения в 10 раз

Вместо долгого полного сканирования — сначала найди открытые порты, потом анализируй только их:

#!/bin/bash
ports=$(nmap -p- --min-rate=500 $1 | grep ^[0-9] | cut -d '/' -f 1 | tr '\n' ',' | sed s/,$//)
nmap -p$ports -A $1


Использование:
./nmap.sh 192.168.1.1


Скорость сканирования

-T0  # paranoid (паранойдный)
-T1 # sneaky (хитрый)
-T2 # polite (вежливый)
-T3 # normal (обычный, по умолчанию)
-T4 # aggressive (для локалки)
-T5 # insane (безумный)


💡 Совет: в локальной сети смело используй -T4, для внешних хостов — -T3 или ниже.

Итог: правильные ключи = экономия времени. Особенно скрипт с двухэтапным сканированием — реально ускоряет работу в разы.
____________________

Дополнительный материал:
🧠 - Путешествие по Виртуальным Интерфейсам и Канальному Уровню в Linux: От Туннелей до Мостов
🧠 - История AppArmor: Как Linux Стал Крепостью Безопасности
🧠 - Linux Mastery: Быстрое создание пакетов файлов для тестирования

#Linux_Mastery #nmap #security #pentesting #networking #linux

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

📈 5 фишек Netdata, которые спасут твой сервер от падения

Привет, хранители серверов! 🛡️

Netdata — это лёгкий, но очень мощный инструмент мониторинга Linux-серверов в реальном времени. И вот 5 фишек, за которые его обожают:

1️⃣ Графики без задержек
Показывает все метрики в реальном времени — от CPU и RAM до дисков, сети и процессов.

2️⃣ Уведомления о сбоях
Netdata сам выявляет аномалии и может уведомить тебя через почту, Slack или другие каналы.

3️⃣ Низкая нагрузка на систему
Процесс мониторинга почти не влияет на производительность сервера. Даже на слабых VPS всё летает.

4️⃣ Готовые интеграции
Легко подключается к Prometheus, Grafana и другим системам для расширенного анализа.

5️⃣ Установка за 5 минут

bash <(curl -Ss https://my-netdata.io/kickstart.sh)

И через пару секунд сервер уже мониторится через браузер:
http://<IP-адрес-сервера>:19999

🎯 Совет: Следи за своими staging и прод-серверами с Netdata, чтобы ловить проблемы ДО того, как они взорвутся!

🌐 Источник: https://github.com/netdata/netdata

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

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

#linux #monitoring #netdata #devops #server

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

😱⚙️ Вас когда-нибудь пугала рутина развёртывания и тестирования приложений вручную?

Курс «DevOps практики и инструменты» от OTUS — ваш путь от теории к практике: знакомство с IaC, CI/CD, системами конфигурации, хранением артефактов и observability (monitoring, logging, tracing). Программа создана практикующими экспертами, материалы регулярно обновляются, а все лекции проходят вживую.

🎁🚀 Пройдите короткое тестирование, чтобы получить доступ к записи вебинара «Организуем CD с помощью Ansible и GitLab CI». Вы увидите, как автоматизировать доставку и развёртывание, структурировать pipeline и защитить чувствительные данные.

👉 Готовы повысить свою ценность на рынке и сэкономить время на рутинных задачах?
Пройдите тест прямо сейчас: https://otus.pw/4qAn/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

🔍 Сисадмин, ты точно знаешь, сколько ты стоишь на рынке?
Как часто ты думаешь, что тебе мало платят за твою работу?
Задаёшься вопросом, почему другим платят больше, чем тебе?

Я решил копнуть глубже:
- проанализировал 39 000+ реальных резюме;
- собрал 3 500+ вакансий.

🤖 Встречай GradeLift — бот от @linuxskill.

💪 Для тех кто ищет работу сейчас:
• Покажет реальную медиану зарплаты по опыту, городу и формату;
• Все свежие вакансии в одном месте;
• Выдаст ТОП навыков, которыми ты должен обладать;
• Подготовит к техническому собеседованию на сисадмина.
• Новостная рассылка — рассказываем, что скрывают вакансии, и показываем неочевидные реалии рынка труда.

⚠️ Даже если ты не ищешь работу тебе точно будет интересно пройди тест, оценить свой уровень и получить фидбек: чего не хватает в скиллах и сколько ты реально стоишь на рынке.

Готов узнать, правду о себе и как расти? 👉 GradeLiftBot

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

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

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

🚀 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

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

🔥 Как убивать скрипты в 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-scripts-after-1-minute-of-no-output

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

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

#stackoverflow #Linux #bash #скрипты #DevOps #администрирование #автоматизация

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

🚀 Урок 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&amp;t=1s

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

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

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

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

🚀 ТОП-скрипты для автоматизации Linux задач

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

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

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

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

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

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

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

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

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

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

#Linux_Mastery #linux #bash #devops #automation #github

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

🚀 Урок 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&amp;t

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

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

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

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

🔥 Почему в Linux нужно запускать скрипты через ./ ?

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

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

script.sh: command not found


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

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

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

./script.sh


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

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

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

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

/bin/bash /home/user/script.sh


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

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


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

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

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

#Linux_Mastery #bash #linux #security

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

💣 Как можно случайно сломать систему, установив ПО вручную?

Привет, линуксоид! 👋

Кажется, что скачать программу с сайта и установить её вручную — это быстро и удобно. Но в Linux это может стоить работоспособности всей системы.

Когда ты устанавливаешь программы через:
- curl | sh
- компиляцию из исходников
- .deb файлы вне репозиториев

⚡ ты обходишь пакетный менеджер (apt, dnf), и:
- система не отслеживает установку
- обновления и удаление могут стать проблемой
- легко получить конфликт версий библиотек

✅ Как безопасно устанавливать ПО:
- Использовать apt или официальные репозитории.
- Для .deb-файлов — sudo apt install ./file.deb (а не dpkg -i).
- Избегать скриптов curl | sh без проверки кода.
- Размещать ручные установки в /usr/local/ или $HOME/.local.

Помни: пакетный менеджер — это твой друг в Linux. 🛡

🌐 Источник: https://unix.stackexchange.com/questions/782971/is-it-safe-to-install-programs-other-than-with-a-distros-package-manager

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

Дополнительный материал:
🧠 - Линус Торвальдс — Человек, который придумал Linux [TED]
🧠 - Карта развития Linux-специалиста
🧠 - Операционная система - общие сведения

#stackoverflow #linux #security #package_manager #apt #bash #linuxskill

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

🔐 Забудь про Nginx для тестов: вот решение проще

Эй, мастер быстрых решений!

Знаешь трюк с HTTP сервером на Python для передачи файлов? А что если нужен HTTPS для тестов, но лень возиться с Nginx? Показываю способ поднять защищённый сервер за минуту.

Классика для HTTP

# python3 -m http.server 8000


## Апгрейд до HTTPS

Генерируем самоподписный сертификат:
# openssl req -new -x509 -keyout localhost.pem -out localhost.pem -days 365 -nodes


Создаём файл webserver.py:
import http.server, ssl

server_address = ('172.20.0.210', 8000)
httpd = http.server.HTTPServer(server_address, http.server.SimpleHTTPRequestHandler)
httpd.socket = ssl.wrap_socket(httpd.socket,server_side=True,certfile='localhost.pem',ssl_version=ssl.PROTOCOL_TLSv1_2)
httpd.serve_forever()


Запускаем HTTPS сервер:
# python3 webserver.py


Проверяем:
# Открываем в браузере
https://172.20.0.210:8000


Что получаем:
- Полноценный HTTPS сервер для тестов
- Файловый браузер по умолчанию
- Или веб-страница, если есть index.html
- Никаких конфигов и лишней возни

💡 Где пригодится:
- Тестирование приложений, требующих HTTPS
- Быстрая передача файлов по защищённому каналу
- Временный сервер для демо
- Проверка SSL/TLS настроек

Совет: сохрани скрипт в /usr/local/bin/ и используй как команду для быстрого запуска HTTPS где угодно.
____________________

Дополнительный материал:
🧠 - Открываем тайны Linux: Почему скрыть файлы от пользователя root невозможно?
🧠 - Как Создать Идеальный Dockerfile: Секреты Эффективности и Лаконичности
🧠 - Ускоряем YouTube и обходим блокировки на Linux: Ваше руководство

#Linux_Mastery #webserver #python #https #quickfix #sysadmin

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

🐳 Почему ты не можешь просто скопировать файл из Docker образа

Привет, укротитель контейнеров!

Знакомая боль: нужен один файл из Docker образа, но запускать контейнер не хочется. Docker почему-то не даёт простого решения. Рассказываю рабочий способ и показываю инструмент для анализа образов.

Извлекаем файл из образа

Скачиваем образ и создаём контейнер БЕЗ запуска:

# docker pull nginx:latest
# docker create --name nginx nginx:latest


Теперь копируем нужный файл:
# docker cp nginx:/docker-entrypoint.d/30-tune-worker-processes.sh ~/


Или выгружаем весь образ:
# docker export nginx -o ~/nginx-docker.tar.gz


Dive — рентген для образов

Утилита показывает слои образа и что в каждом слое изменилось. Запускаем прямо в Docker:

# docker run -ti --rm -v /var/run/docker.sock:/var/run/docker.sock \
wagoodman/dive nginx:latest


Создаём alias для удобства:
alias dive="docker run -ti --rm -v /var/run/docker.sock:/var/run/docker.sock wagoodman/dive"


Теперь просто:
# dive nginx:latest


Проверка раздутости образа

Вместо docker build используй dive build — получишь анализ эффективности сборки:
# dive build -t myapp:latest .


Dive покажет:
- Размер каждого слоя
- Что добавилось/удалилось
- Efficiency Score образа
- Wasted Space (лишнее место)

💡 Фишка: встрой проверку в CI/CD — автоматически отлавливай неоптимальные образы.

Итог: Docker создан для изоляции, поэтому прямого доступа к файлам нет. Но способы есть — используй их правильно.
____________________

Дополнительный материал:
🧠 - Linux Essentials: Понимание относительных и абсолютных путей к файлам
🧠 - Открытие Rancher: Путешествие от Стартапа до Лидера в Контейнеризации
🧠 - Осваиваем Docker: Искусство Сборки Образов и Управления Сетью

#Linux_Mastery #docker #devops #containers #optimization

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

🔥 Kubernetes обязателен для DevOps в 2025. Вот почему

Привет, будущий мастер оркестрации!

Kubernetes стал стандартом для средних и крупных компаний. Без него — никуда. Автор за 100 минут проводит от основ до запуска первого приложения в кластере. Практика на реальном проекте!

📹 Таймкоды:
00:00 — Почему K8s стал стандартом
01:10 — Контейнеризация vs традиционный деплой
03:50 — K8s vs Docker Swarm: кто победил
07:59 — Кому подходит курс
09:40 — Проект: сокращатель ссылок
15:03 — Настройка окружения
18:42 — Установка Kubernetes
23:10 — macOS: Homebrew + Minikube
29:39 — Linux: пошаговая установка
33:23 — Windows: Hyper-V setup
43:07 — Pod — основа всего
45:02 — Services: постоянный доступ
55:07 — Императивный vs Декларативный
01:00:52 — YAML: основы синтаксиса
01:12:08 — Первая конфигурация Pod
01:29:06 — NodePort Service
01:38:50 — Запуск и проверка
01:44:20 — Жизненный цикл Pod

🚀 Результат:
За 1.5 часа запустишь приложение в Kubernetes, поймёшь основные концепции и будешь готов к работе с K8s в продакшене.


🌐 Источник: YouTube - PurpleSchool | Anton Larichev
____________________

Дополнительный материал:
🧠 - SELinux: От Секретного Проекта до Корпоративного Стража
🧠 - Linux Mastery: Настройка разрешений каталогов с помощью chmod
🧠 - Разгадываем тайны архитектуры: Что такое i686 в Ubuntu

#Linux_youtube #kubernetes #k8s #docker #devops #video #yaml

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

❄️ Серверы-снежинки убивают бизнес. Ansible спасёт!

Привет, борец с хаосом!

У тебя есть серверы, которые не перезагружались 2 года? Боишься их трогать? Это "снежинки" — уникальные, хрупкие, невоспроизводимые. Автор показывает, как Ansible превращает хаос в код!

📹 Таймкоды:
00:00 — Что такое DevOps и зачем он нужен
00:23 — Проблема серверов-снежинок
01:20 — Infrastructure as Code: основная идея
02:15 — Обзор инструментов (Ansible, Terraform, Puppet)
02:51 — Что умеет Ansible
04:55 — Почему Ansible: без агентов, только SSH
06:56 — Структура Ansible-проекта
08:14 — Inventory: список серверов
10:59 — Переменные и их приоритеты
11:46 — Tasks и handlers
13:44 — Шаблоны с Jinja2
15:50 — Playbooks и roles
16:34 — Запуск и результат

💡 Почему Ansible побеждает:
- Не нужны агенты на серверах
- Работает через SSH
- Конфиги в YAML (читаемо!)
- Версионирование через Git
- Идемпотентность

🚀 Результат:
Вместо уникальных "снежинок" — воспроизводимая инфраструктура. Упал сервер? Запусти playbook — всё восстановится!

🌐 Источник: YouTube - Слёрм
____________________

Дополнительный материал:
🧠 - История зеленого великана: Как Linux Mint стал символом простоты и элегантности
🧠 - Защита данных в Linux: Как обойти ограничения файловой системы
🧠 - Все, что вам нужно знать о команде ar в Linux

#Linux_youtube #ansible #devops #automation #infrastructure #video #IaC

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

Базовая шпаргалка Pacman
📩 Завтра: 5 фишек Netdata, которые спасут твой сервер от падения
Включи 🔔 чтобы не пропустить!
____________________

Дополнительный материал:
🧠 - Сетевой уровень: адресация и маршрутизация
🧠 - Сетевой уровень: связность и целевая маршрутизация
🧠 - Транспортный уровень: TCP, UDP и не только

#инфографика #linux #Pacman

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

✅ Как за 1 минуту проверить соединение с десятками серверов

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

Если вам нужно просто узнать — открыт порт на хосте или нет, без передачи данных — вот самые эффективные способы:

1. nmap
Быстрый скан нужных портов:

nmap -sT -p 22 192.168.1.1-5


2. netcat (nc)
Минималистичный способ через nc:
timeout 3 nc -zv host1 22
timeout 3 nc -zv host2 22


3. /dev/tcp в bash
Проверка средствами самого bash:
if (exec 3<>/dev/tcp/host/port) 2>/dev/null; then
echo "Порт открыт"
else
echo "Порт закрыт"
fi


4. fping
Если важен только факт доступности по ICMP:
fping -a -r 0 -qs -g 192.168.1.0/24


Все эти методы можно обернуть в скрипт и проверять десятки или сотни хостов автоматически! 🔥

🌐 Источник: https://unix.stackexchange.com/questions/788022/how-to-check-multiple-hosts-for-simple-connectivity

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

Дополнительный материал:
🧠 - Linux команды: file, mv, cp, rmdir, ps, kill 9, find, sort, , clear
🧠 - Linux команды: mv, настройка Терминала
🧠 - Linux команды: cmp, df, apt get install, remove, update, upgrade, chmod

#stackoverflow #Linux #Bash #Скрипты #Сеть #DevOps #Порты #nmap #netcat

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

🚀 Урок 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

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

🚀 Урок 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&amp;t=1s

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

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

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

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

⚡️ 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

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

🚀 Урок 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&amp;t=1s

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

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

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

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

📚 Секретная книга знаний для 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
🧠 - Введение: стек сетевых протоколов, независимость и инкапсуляция уровней

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

⚡ Как скопировать только изменённые файлы с помощью 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

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

🚀 Урок 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

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

🔥 Как 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

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

🚀 Урок 11 — Проверка чисел в диапазоне на Bash: строго, по правилам

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

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

Таймкоды:
00:05 — Введение: зачем нужна проверка диапазона
00:30 — Работа со строками: удаление символов и подстрок
03:36 — Основная функция: параметры, валидация, подготовка
05:30 — Отрицательные числа и символы: защита от "мусора"
10:30 — Сравнение с границами диапазона
14:42 — Вызов функции и вывод результата
19:05 — Тесты: проверка на крайние значения
19:58 — Заключение и прощание

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

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

Дополнительный материал:
🧠 - Как работает export в bash и когда он реально нужен?
🧠 - Прокачай свой namei: секретная опция для идеального вывода!
🧠 - BTRFS: Твой ключ к суперсиле файловых систем!

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

Читать полностью…
Subscribe to a channel