linuxacademiya | Unsorted

Telegram-канал linuxacademiya - Linux Academy

-

Subscribe to a channel

Linux Academy

🖥 Cтартовый сетап Linux-сервера перед любым проектом.

Идея простая: за 10 минут ты приводишь систему в “боевое” состояние - обновления, базовые утилиты, безопасность, firewall, SSH, fail2ban, мониторинг и комфорт для работы.

Такой набор закрывает 90% типовых проблем:
- меньше взломов (SSH + fail2ban + firewall)
- меньше “оно не работает” (curl, git, build tools, unzip)
- проще дебажить (htop, ncdu, lsof, net-tools)
- быстрее сопровождать (логирование + мониторинг)


# Ubuntu/Debian - fast server bootstrap
sudo apt update && sudo apt -y upgrade

# Base tools
sudo apt -y install curl wget git unzip zip jq ca-certificates gnupg lsb-release \
htop iotop ncdu lsof net-tools dnsutils ufw fail2ban tmux vim

# Firewall
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw --force enable

# SSH hardening (recommended after adding SSH keys)
sudo sed -i 's/^#\?PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config
sudo sed -i 's/^#\?PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config
sudo systemctl restart ssh

# Fail2ban
sudo systemctl enable --now fail2ban

# Time sync
sudo timedatectl set-ntp true

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

Linux Academy

Когда много лет админишь на одном месте

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

Linux Academy

⚙️ Linux / DevOps: хитрый способ понять, кто занял порт

Иногда деплой падает, а порт остаётся «захваченным».
Новое приложение не стартует — и начинается угадывание: кто же держит порт?

Лучший подход — не перезагружать всё подряд, а:
1) найти процесс
2) понять, к какому сервису он относится
3) аккуратно перезапустить только его


узнать, кто держит порт (пример: 8080)
ss -tulpn | grep :8080

# альтернатива - иногда показывает больше деталей
lsof -i :8080

# посмотреть PID и команду
ps -fp <PID>

# если это systemd-сервис — проверяем состояние
systemctl status <service-name>

# аккуратно перезапускаем только нужный сервис
sudo systemctl restart <service-name>

# мягко завершить зависший процесс
kill -15 <PID>

# крайний случай: принудительно освободить порт
fuser -k 8080/tcp

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

Linux Academy

⚡️ Продвинутый Linux-совет: усиливаем защиту сети и сокращаем поверхность атак

Даже хорошо настроенный сервер можно укрепить ещё сильнее — с помощью сетевых правил, лимитов и мониторинга.
Идея простая: закрыть всё лишнее, ограничить попытки входа и быстро замечать подозрительную активность.
Ниже — набор практичных команд для реальной защиты: firewall, лимиты SSH, обнаружение аномалий и контроль ядра.


показать, какие службы слушают снаружи

ss -tulpen

включить защитные сетевые параметры

sysctl -w net.ipv4.tcp_syncookies=1

запретить IP-форвардинг, если не нужен

sysctl -w net.ipv4.ip_forward=0

включить rp_filter против spoofing

sysctl -w net.ipv4.conf.all.rp_filter=1

базовый deny-by-default в ufw

ufw default deny incoming

разрешить только нужные порты

ufw allow 22/tcp

ограничить частые SSH-подключения

ufw limit 22/tcp

включить ufw

ufw enable

бан по неудачным логинам (fail2ban)

fail2ban-client status sshd

базовый drop всего остального в nftables

nft add rule inet filter input ct state invalid drop

логировать подозрительные пакеты

nft add rule inet filter input limit rate 10/min counter log prefix "NETDROP:"

обнаружение сканов с psad (если установлен)

psad -S

быстро проверить активные соединения

netstat -plant

мониторить сетевые события через journal

journalctl -u ssh -f

проверить изменения firewall

nft list ruleset

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

Linux Academy

👣 lx: маленькая, но мощная Go-утилита для превращения файлов в Markdown-блоки

lx - это лёгкая CLI-утилита на Go, которая превращает файлы в аккуратно оформленные Markdown-блоки. Идеально подходит для заметок, документации, когда нужно быстро создать reproducible-контекст из кода.

Чем полезен lx:

- Оборачивает файлы в markdown-блоки с подсветкой языка по расширению.
- Принимает файлы как аргументами, так и через stdin - удобно использовать вместе с find, fd, rg.
- Показывает только начало, конец или начало+конец файла с опциями -h, -t, -n.
- Может добавлять номера строк - удобно для ссылок или ревью.
- Поддерживает glob-паттерны и выдаёт одинаковый результат при повторном запуске (reproducible output).

Установка


go install github.com/rasros/lx/cmd/lx@latest


https://github.com/rasros/lx

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

Linux Academy

🖥️ Создайте свой собственный ОС с uniOS

uniOS — это хобби-операционная система, созданная с нуля на C++20. Она поддерживает работу с реальным оборудованием x86-64, включает в себя работающую оболочку, сетевые функции TCP/IP и поддержку USB.

🚀Основные моменты:
- Полностью самописный ядро с поддержкой C++20.
- Предоставляет многозадачность и управление памятью через битовые карты.
- Включает собственный стек TCP/IP и драйвер USB 3.0.
- Простая файловая система uniFS и командная оболочка с поддержкой скриптов.

📌 GitHub: https://github.com/unionyxx/uniOS

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

Linux Academy

👣 gitk-go - это реализация классического gitk, но написанная на Go.

Проект нацелен на более современный, быстрый и поддерживаемый просмотр истории Git-репозиториев.

Что это такое
- GUI-инструмент для просмотра истории Git
- альтернатива оригинальному gitk на Tcl/Tk
- написан на чистом Go
- кроссплатформенный

Что умеет
- визуализация коммитов и веток
- просмотр diff-ов
- навигация по истории репозитория
- работа с большими репозиториями

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

gitk-go решает эти проблемы:
- быстрее рендеринг
- современный язык и экосистема
- проще в поддержке и развитии
- хороший пример desktop-приложения на Go

Кому полезно
- тем, кто часто анализирует историю Git
- Go-разработчикам как реальный пример GUI-приложения
- тем, кто хочет легкий и простой Git viewer без IDE

github.com/thiagokokada/gitk-go

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

Linux Academy

⚡️ Быстрый Linux трюк:

Работаешь с CSV прямо в терминале?

Сделай их читаемыми, красиво выровняв колонки командой column:

$ cat inventory.csv | column -t -s,

Флаг -s, говорит использовать запятые как разделители, а -t превращает вывод в аккуратную таблицу.

Идеально для быстрого просмотра данных без открытия таблиц.

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

Linux Academy

🔥На Stepik вышел курс: Linux: полный апгрейд твоих скиллов

Хочешь реально понимать, что происходит под капотом твоей системы, а не просто кликать по GUI?

Без глубокого знания базы ты не инженер - ты просто пользователь.

🔹 В курсе ты:

- Освоишь bash, grep, sed, awk - инструменты, которыми живут админы.
- Разберёшь права, процессы, сеть, файловую систему и научишься чинить всё, что падает.
- Настроишь SSH, firewall, systemd, crontab, демоны и автозапуск.
- Научишься анализировать логи, следить за нагрузкой, и не паниковать при 100% CPU.

💡 Формат: пошаговое объяснение базы и разбор важных практик по работе с Linux.

🎯 После курса ты: будешь чувствовать Linux как родную среду и забудешь, что такое “permission denied”.

🚀 24 часа действует скидка 30%

👉 Учиться со скидкой

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

Linux Academy

⚡️ Полезные инструменты в Linux, которые стоит знать

Небольшой список утилит, которые помогают быстро понять, что происходит с системой и где именно проблема.

pidstat
Мониторит использование ресурсов конкретными процессами или группами процессов.
Показывает загрузку CPU, память, I/O, переключения задач и потоки. Очень удобно для анализа performance-проблем.

netstat
Отображает статистику сетевых протоколов ICMP, IP, TCP и UDP.
Полезен для диагностики сетевых соединений, портов и состояний сокетов.

lsof
Показывает все открытые файлы в системе.
Незаменим, когда нужно понять:
- какой процесс держит файл
- почему нельзя размонтировать диск
- кто слушает порт

iostat
Даёт информацию о загрузке CPU и дисковой подсистемы.
Отлично подходит для выявления I/O bottleneck и проблем с дисками.

vmstat
Показывает общую картину работы системы:
CPU, память, block I/O, процессы, paging и interrupts.
Хороший инструмент для быстрого health-check сервера.

Если умеешь читать вывод этих команд - диагностика Linux становится в разы быстрее.

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

Linux Academy

🧰 Подборка полезных скриптов для опытных Linux-админов

1) 🔍 Быстрый поиск крупных файлов (удобно перед очисткой диска)
du -ah / | sort -rh | head -n 30

2) 🛑 Массовое убийство зависших процессов по шаблону
pkill -f "pattern"

3) 🧼 Очистка старых логов/кэша старше X дней
find /var/log -type f -mtime +7 -delete

4) 🧬 Проверка файловой системы без остановки
fsck -n /dev/sdX

5) 📦 Список пакетов, обновлённых за последние 5 дней
grep "upgrade" /var/log/dpkg.log | tail

6) 🕵 Слежение за открытыми портами в реальном времени
watch -n1 "ss -tulpn"

7) 📊 Сбор top-нагружающих процессов по CPU за минуту
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head

😍 🔁 Авто-рестарт службы при падении
while true; do systemctl restart myservice; sleep 5; done

9) 🔗 Быстрый тест сетевой задержки и MTU
tracepath google.com

10) 🔐 Сканирование слабых SSH-ключей
ssh-audit -p 22 localhost

Такие короткие утилитарные команды экономят кучу времени в рутине админа.

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

Linux Academy

Linux совет дня💡

Нужно быстро найти исполняемые файлы в каталоге?
Используй find с флагом -executable — он покажет только те файлы, которые действительно можно запускать.

Пример:

find . -type f -executable

В отличие от проверки прав через -perm, этот вариант учитывает реальные разрешения и ACL, поэтому результат точнее — вывод включает только те файлы, которые доступны для выполнения текущим пользователем.

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

Linux Academy

🔥 Полезный совет по Linux #linux #ubuntu

Команда rm сама по себе рискованна, а с подстановкой * становится ещё опаснее.

Чтобы не выполнить разрушительную команду по ошибке, можно сначала посмотреть, как она будет выглядеть после расширения shell’ом. Это позволяет сделать «сухой прогон» и убедиться, что всё безопасно.

Пример:



echo rm -rf /*

Дополнительные полезные проверки:

echo cp *.log /backup/

echo mv ~/Downloads/* /tmp/

echo chown user:group /var/www/*

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

Linux Academy

🔥 Linux: как «вычислить» по IP (что можно и что нельзя)

Важно: по одному IP нельзя узнать конкретного человека или адрес квартиры.
Максимум — провайдера, страну/город уровня провайдера и маршрут сети.
Для персональных данных нужны только провайдер и полиция.

Ниже безопасные и полезные команды 👇

🔹 Узнать свой внешний IP


curl ifconfig.me


🔹 Узнать IP у сайта

dig +short example.com
или:

nslookup example.com


🔹 Посмотреть, кто владеет IP (провайдер, диапазон)


whois 8.8.8.8


Покажет провайдера, контакты абьюз-отдела и диапазон IP - не личность пользователя.

🔹 Посмотреть маршрут до IP / сайта (где «теряется» трафик)

traceroute 8.8.8.8


🔹 Понять задержку и потери пакетов


ping -c 5 8.8.8.8


🔹 Узнать примерную геолокацию (город уровня сети)
(через публичный сервис — не даёт точный адрес)


curl ipinfo.io/8.8.8.8

📌 Короткий вывод
✔ можно: провайдер, маршрут, примерная геолокация

❌ нельзя: личность, адрес, телефон — без участия провайдера и полиции

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

Linux Academy

🎂 С Днём рождения, Линус!
56
- это не возраст…
это просто новая стабильная версия 💻✨

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

Linux Academy

🖥 БЫСТРЫЙ СЕРВЕР ДЛЯ PYTHON ЗА 5 МИНУТ

Нужно быстро поднять сервер под Python-проект без лишней возни?
Ставим системные пакеты, создаём отдельного пользователя, настраиваем venv, делаем systemd-сервис и сразу получаем автозапуск + рестарт при падении.

Идеально для FastAPI / Flask / любых API и ботов.


sudo apt update && sudo apt install -y python3-venv python3-pip nginx
sudo useradd -m -s /bin/bash app && sudo mkdir -p /opt/app && sudo chown -R app:app /opt/app
sudo -u app bash -lc 'cd /opt/app && python3 -m venv venv && ./venv/bin/pip install -U pip uvicorn fastapi'

sudo tee /etc/systemd/system/app.service >/dev/null <<'EOF'
[Unit]
After=network.target

[Service]
User=app
WorkingDirectory=/opt/app
ExecStart=/opt/app/venv/bin/uvicorn main:app --host 0.0.0.0 --port 8000
Restart=always

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable --now app
sudo systemctl status app --no-pager


https://www.youtube.com/shorts/cbUNWU1Sbsc

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

Linux Academy

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

🖥 Linux: t.me/linux_read

🖥 ИИ: t.me/ai_machinelearning_big_data

🖥 Python: t.me/pythonl

🖥 C++ t.me/cpluspluc

🖥 Docker: t.me/DevopsDocker

🖥 Хакинг: t.me/linuxkalii

🖥 Devops: t.me/DevOPSitsec

👣 Golang: t.me/Golang_google

🖥 Аналитика: t.me/data_analysis_ml

🖥 Javascript: t.me/javascriptv

🖥 C#: t.me/csharp_ci

🖥 Java: t.me/javatg

🖥 Базы данных: t.me/sqlhub

👣 Rust: t.me/rust_code

🤖 Технологии: t.me/vistehno

💰 Экономика и инвестиции в ИИ t.me/financeStable

💼 Актуальные вакансии: t.me/addlist/_zyy_jQ_QUsyM2Vi

🖥 Chatgpt бот в тг: t.me/Chatgpturbobot

📚 Бесплатные ит-книги: /channel/addlist/HwywK4fErd8wYzQy

🖥Подборка по Golang: /channel/addlist/MUtJEeJSxeY2YTFi

⚡️ Лучшие ИИ ресурсы: /channel/addlist/2Ls-snqEeytkMDgy

Самое лучшее в этом: ты учишься даже тогда, когда “нет времени, просто потому что читаешь правильную ленту.

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

Linux Academy

Просто не пригласили 😅

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

Linux Academy

🖥 Большинство “парсеров” умирают через 2 дня.
Ты научишься делать те, которые живут в проде.

Это не про BeautifulSoup ради галочки.
Это про системы сбора данных, которые:

• не падают от мелких правок на сайте
• собирают данные в разы быстрее
• обновляют всё сами по расписанию
• обходят ограничения и баны
• выглядят как сервис, а не хаос из файлов

Ты начнёшь видеть сайты не как страницы, а как источники данных, к которым можно подключиться.

В итоге ты сможешь:

• забирать данные для своих проектов
• автоматизировать чужую рутину
• делать инструменты для аналитики
• брать коммерческие заказы на сбор данных

Это навык, который напрямую превращается в деньги.
Не “знаю Python”, а умею добывать данные из интернета профессионально.

🎁 48 часов скидка 50% на Stepik: https://stepik.org/a/269942/

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

Linux Academy

🔍 Понимание процессов с witr

witr помогает выяснить, почему процессы или службы работают на вашем компьютере. Он предоставляет ясное объяснение причин существования процессов, связывая их с их источниками и контекстом. Это упрощает отладку и понимание системных процессов без необходимости использования нескольких инструментов.

🚀 Основные моменты:
- Объясняет, почему процесс существует
- Упрощает диагностику и отладку
- Поддерживает анализ по имени, PID и порту
- Выводит данные в удобочитаемом формате
- Безопасен и не требует конфигурации

📌 GitHub: https://github.com/pranshuparmar/witr

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

Linux Academy

🐧 Удобный установщик приложений для Linux

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

🚀Основные моменты:
- Поддержка множества дистрибутивов (Ubuntu, Arch, Fedora и др.)
- Более 150 приложений в 15 категориях
- Умная генерация скриптов с учетом уже установленных пакетов
- Параллельная установка и индикаторы прогресса
- Интуитивно понятный интерфейс с навигацией

📌 GitHub: https://github.com/abusoww/tuxmate

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

Linux Academy

🐧 Linux совет

Если неудобно читать директории в переменной $PATH, просто выведи их построчно.

$PATH хранит пути через двоеточие, а читать это неудобно. Команда tr решает проблему, превращая : в перенос строки.

$ echo $PATH | tr ":" "\n"

Теперь каждый путь отображается на отдельной строке - быстро и наглядно.

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

Linux Academy

🖥 Ощущаю себя как Linux

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

Linux Academy

🚀 Совет по Linux безопасности

Если ты настраиваешь сервер или рабочую Linux-машину, начинай защиту не с сложных IDS и фаерволов, а с базовой, но правильной минимизации поверхности атаки.

Главная ошибка
Оставлять активными сервисы и доступы "на всякий случай". Именно они чаще всего становятся точкой входа.

Правильный подход
- Закрыть всё по умолчанию
- Разрешать только необходимое
- Логировать и ограничивать попытки доступа
- Делать защиту простой и проверяемой

Минимальный must-have
- Отключение root-доступа по SSH
- Доступ по ключам вместо паролей
- Ограничение попыток входа
- Базовый firewall с allow-list подходом

Это даёт 80% реальной защиты без оверхеда и лишней магии.


Отключаем root-логин и пароли по SSH
sudo sed -i 's/^#\?PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config
sudo sed -i 's/^#\?PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config
sudo systemctl restart ssh

Ограничиваем вход по SSH только нужному пользователю
sudo sed -i 's/^#\?AllowUsers.*/AllowUsers youruser/' /etc/ssh/sshd_config
sudo systemctl restart ssh

Включаем простой firewall
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw enable

Защита от brute-force
sudo apt install -y fail2ban
sudo systemctl enable --now fail2ban


https://www.youtube.com/shorts/GQ13RqAPu80

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

Linux Academy

Быстрый совет💡

Чтобы просмотреть длинный файл без открытия редактора, используй less:

$ less /var/log/syslog

Можно удобно скроллить вверх и вниз, искать по тексту и ничего не менять в файле.

Чтобы выйти — нажми q.

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

Linux Academy

Linux совет 💡

Хочешь повторно использовать последний аргумент предыдущей команды?

Просто используй !$ — экономит время и лишние нажатия.

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

Linux Academy

Быстрый Linux совет 🐧

Нужно создать сразу несколько директорий?
Не повторяй mkdir много раз — используй brace expansion.

Команда:

$ mkdir -p ~/scripts/{site-01,site-02}/{backup,monitoring,network}

Создаёт структуру мгновенно:
- два сайта (`site-01` и `site-02`)
- в каждом — каталоги backup, monitoring и network

Удобно, быстро и помогает поддерживать порядок в проектах.

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

Linux Academy

🖥 На Stepik вышел курс, который учит работать с Docker на реальных проектах.

Владение Docker - навык, который отличает новичка от профи

Сегодня почти всё разворачивается в контейнерах.

Если ты не умеешь работать с Docker, ты медленнее, зависим от чужих настроек и постоянно ловишь баги «у меня локально работает».

Этот курс покажет:

• разобраны все возможные ошибки при работе c Docker
• как упаковывать проекты в контейнеры
• как поднимать целые системы за минуты
• как избегать типичных ошибок в продакшене
• как делать стабильные и повторяемые окружения

Только практика и реальные кейсы - с нуля до уверенного уровня.

🎁 40 процентов скидка действует 48 часов в честь нового года


👉 Записывайся и сделай Docker своим настоящим рабочим инструментом.

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

Linux Academy

🎄 Новогодний Linux-лайфхак: включи праздничный режим в терминале

Сделай себе новогоднюю команду в Linux: один короткий вызов, и терминал очищается, пишет праздничное сообщение, показывает дату и календарь текущего месяца. Удобно открыть год прямо из консоли и зарядиться настроением перед работой.

Просто добавь функцию в свой ~/.bashrc или ~/.zshrc, перезапусти терминал и запускай её в любой момент праздников.



# добавь это в ~/.bashrc или ~/.zshrc
ny() {
clear
echo "❄️ Happy Linux New Year! ❄️"
echo "🎄 Пусть твой терминал падает только от смеха!"
date
cal
}

# после сохранения перезапусти терминал и запускай команду:
# ny

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

Linux Academy

👣 gdu - быстрый консольный анализатор диска, написанный на Go.

Он сканирует директории и показывает, что именно съедает место, работая особенно шустро на SSD за счёт параллельной обработки. Есть TUI-интерфейс: можно стрелками ходить по каталогам, сортировать по размеру и удалять лишнее прямо из программы.

Установка максимально простая - есть готовые бинарники на GitHub, пакеты в репозиториях (AUR, Homebrew, Snap и др.), так что поставить и проверить свои диски можно за пару минут.

https://github.com/dundee/gdu

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