Linux Club – Telegram
Linux Club
4.14K subscribers
654 photos
279 videos
72 files
749 links
Заказать рекламу: https://telega.in/c/Linux_Club_nomer_1

Полезные советы, обучающие видеоуроки, статьи по linux.
Download Telegram
🚀 Запуск приложений в Linux c использованием политик планирования «реального» времени

Разбираем, что даёт патч реального времени, как настраивать ядра, изоляцию CPU и приоритеты потоков, и чем Linux отличается от QNX и VxWorks.

📌 Читать тут

#linux

🐧 Linux Club
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Почему SSH-сессии обрываются через 2–3 минуты

Иногда вы подключаетесь по SSH, а через пару минут соединение внезапно обрывается. 


Пинги живые, сеть вроде в порядке, но сессия падает.

Ну и иногда виноваты неправильные настройки keepalive или MTU, а также энергосберегающие режимы сетевой карты. TCPKeepAlive на клиенте ≠ ServerAliveInterval, и SSH-сервер может закрывать «тихие» соединения.

Подключение с максимальным выводом:

ssh -vvv user@server


И проверка конфигурации сервера:

grep Alive /etc/ssh/sshd_config


Смотрим, какие значения ClientAliveInterval, ClientAliveCountMax установлены.

Исправляем:

На сервере включаем keepalive и увеличиваем интервалы:

ClientAliveInterval 60
ClientAliveCountMax 10


На клиенте можно настроить:

ServerAliveInterval 60
ServerAliveCountMax 10


Если обрывы связаны с MTU или power-save сетевухи, проверяем:

ip link show dev eth0
ethtool eth0


И при необходимости корректируем MTU или отключаем энергосбережение.

#linux

🐧 Linux Club ©
Please open Telegram to view this post
VIEW IN TELEGRAM
👍114
🎥 Вебинар по Linux: Процессы в Linux: как работает система изнутри
Разбираемся, что такое процессы в Linux, как их контролировать и что делать с зомби и сиротами.

На вебинаре вы узнаете:

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

В результате вебинара вы:
- Научитесь находить и анализировать процессы с помощью ps, top, htop и других инструментов.
- Разберётесь, кто такие “зомби” и “сироты” и как их «убить» корректно.
- Поймёте, как Linux управляет процессами и что происходит при системных вызовах к ядру.
- Сможете уверенно контролировать работу процессов и решать проблемы зависших приложений..

🎁 Все участники вебинара получат специальные условия на полное обучение курса "Administrator Linux. Basic"

👉 Для участия зарегистрируйтесь:
https://otus.pw/G8hy/?erid=2W5zFJqB2HE


Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
2👍1
90% игр с Windows уже хорошо работают на Linux

Портал Boiling Steam, специализирующийся на Linux-гейминге, поделился новой статистикой. Теперь на «пингвине» можно как минимум запустить 90% игр с «окошек». При этом в категорию Platinum входят порядка 60% проектов – они работают вообще без проблем. Еще 5% входят в Gold – такие игры отлично работают, но все-таки бывают мелкие шероховатости. 25% проектов имеют некоторые недостатки, которые не мешают их пройти. Полностью отказываются работать лишь 3.8% проектов (категория Borked) – в основном из-за различных античитов.

#linux

🐧 Linux Club ©
Please open Telegram to view this post
VIEW IN TELEGRAM
11👍4🦄3
🚀 Микро-тест #6

Нужно безопасно заменить конфиг на диске, чтобы пережить внезапный ребут. Какой порядок действий верный?

#linux

🐧 Linux Club
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍2
🔥 Быстро проверить, что слушает порт в Linux

Иногда нужно понять, какой процесс занял порт (например, 80 или 443) и почему сервис не стартует.

🔎 Проверка через ss:


ss -ltnp | grep ':80'


-l — только listening сокеты
-t — TCP
-n — не резолвить имена
-p — показывать PID/имя процесса

Пример вывода:


LISTEN 0 128 *:80 *:* users:(("nginx",pid=1234,fd=6))


Альтернативы:

lsof -i :80 — если привычнее через lsof
fuser 80/tcp — быстрый вариант, сразу PID

⚡️ Когда полезно:

при конфликте сервисов (Apache vs Nginx)
при отладке firewall (порт слушает, но снаружи не доступен)
при проверке автозапуска демонов

👉 Лайфхак: если процесс «убегает» после запуска, можно использовать ss -ltunp в цикле:


watch -n1 "ss -ltunp | grep ':80'"


Так поймаете короткоживущие процессы.

#linux

🐧 Linux Club ©
Please open Telegram to view this post
VIEW IN TELEGRAM
👍133
🚀 Linux Теория // Overcommit & OOM — почему «память есть», а процесс умирает

В Linux выделение памяти ленивое: malloc() / mmap() часто «успешны», пока страницы не тронуты. Итог — процесс живёт, а при первом же обращении к новым страницам может словить OOM.

Как это работает

🟢 Overcommit позволяет резервировать больше, чем RAM+swap.
🟢 Режимы: vm.overcommit_memory
0 — эвристика, 1 — всегда, 2 — строго по лимиту CommitLimit (задаётся через vm.overcommit_ratio).
🟢 OOM-killer завершает «самых прожорливых» (учитывает RSS и oom_score_adj).

Что смотреть

sysctl -n vm.overcommit_memory vm.overcommit_ratio
grep -E 'Commit(Limit|ted_AS)' /proc/meminfo
dmesg | grep -i oom | tail


Практика

🟢 Нужна предсказуемость — ставить режим 2 и адекватный overcommit_ratio на критичных узлах.
🟢 В контейнерах — лимиты memory.max / swap.max + memory.oom.group=1.
🟢 «Провалидировать память заранее»: после malloc — pre-touch (memset), чтобы упасть сразу, а не в проде.
🟢 Для сервисов — следить за Committed_AS и размером heap, не полагаться на «улетит в swap».

📌 Сохрани пост, чтобы не потерять.

#linux

🐧 Linux Club
Please open Telegram to view this post
VIEW IN TELEGRAM
👍102
🚀 Статьи по Linux // Пробрасываем USB-устройство по сети в Линуксе

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

📌 Читать тут

#linux

🐧 Linux Club
Please open Telegram to view this post
VIEW IN TELEGRAM
👍821🦄1
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣254👍1
🚀 Подборка Linux утилит для системного администратора

Nezha - Легкий и элегантный аналог Zabbix
Plow - Этот инструмент был разработан для проведения нагрузочного тестирования HTTP
Hunt - Утилита для поиска файлов на локальном компьютере
AutoRegex - Регулярные выражения — это мощный инструмент для преобразования текстовых данных.
ContainerSSH - Утилита, которая позволяет вам незаметно направлять SSH-клиентов в изолированные контейнеры
Krunvm - Это инструмент, который позволяет создавать простые виртуальные машины на основе образов OCI.
Zellij - Это интересный мультиплексор, который может быть использован в качестве альтернативы tmux

#linux

🐧 Linux Club
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍4
🚀 Linux скрипт // write-atomic — безопасная замена файла без «битых» записей

Надёжно перезаписывает файл: пишет во временный в том же каталоге → fsync → атомарный renamefsync каталога. Переживает внезапный ребут.

#!/usr/bin/env bash
# write-atomic TARGET [SRC] — читает из SRC или stdin
set -Eeuo pipefail
[[ $# -ge 1 ]] || { echo "usage: write-atomic TARGET [SRC]"; exit 2; }
t="$1"; s="${2:-}"
dir="$(dirname -- "$t")"; base="$(basename -- "$t")"
tmp="$(mktemp -p "$dir" ".${base}.tmp.XXXXXX")"
cleanup(){ rm -f -- "$tmp"; }; trap cleanup EXIT INT TERM

# ввод из файла или stdin
if [[ -n "$s" ]]; then cat -- "$s" >"$tmp"; else cat >"$tmp"; fi

# права как у целевого (если был)
if [[ -e "$t" ]]; then
chown --reference="$t" "$tmp" 2>/dev/null || true
chmod --reference="$t" "$tmp" 2>/dev/null || chmod 0644 "$tmp"
else
chmod 0644 "$tmp"
fi

# fsync файла/каталога (python3→perl→sync)
fsync_path(){
if command -v python3 >/dev/null; then
python3 - "$1" <<'PY'
import os,sys; fd=os.open(sys.argv[1],os.O_RDONLY); os.fsync(fd); os.close(fd)
PY
elif command -v perl >/dev/null; then
perl -MPOSIX=fsync -e 'open(F,"<",$ARGV[0]) or exit 1; fsync(fileno(F)); close F;' "$1" || true
else sync; fi
}

fsync_path "$tmp"
mv -f -T -- "$tmp" "$t"
fsync_path "$dir"
trap - EXIT INT TERM


Примеры:
echo "$json" | write-atomic /etc/myapp/config.json
write-atomic /etc/app.conf ./new.conf


📌 Сохрани пост, чтобы не потерять.

#linux

🐧 Linux Club
Please open Telegram to view this post
VIEW IN TELEGRAM
👍82
🚨 7 смертельных ошибок CLI, которые уничтожат твой Linux

Приветствую, коллега по скриптам!

Работа под root требует максимальной осторожности. Вот главные "самострелы", которые могут привести к краху системы:

1. rm -rf /: Безоговорочное уничтожение всей файловой системы.
2. Fork Bomb (:(){ :|:& };:): Бесконечное порождение процессов, исчерпывающее системные ресурсы.
3. dd: Неправильное указание if и of (вход/выход) уничтожит диск.
4. rm $VAR: Неэкранированная переменная может привести к стиранию лишнего.
5. .:$PATH: Добавление текущего каталога (.) создает лазейку для троянских программ.
6. chmod -R 777 /: Некорректная установка прав доступа на корневую файловую систему. Неправильное использование chmod -R (например, 555 или 777) на корневом каталоге (/) может разрушить файловую систему и сделать систему непригодной для использования.
7. Использование R-утилит (rlogin, rsh, rcp): Эти утилиты небезопасны и передают данные в открытом виде. Их следует удалить из системы и использовать ssh в качестве замены.

#Linux #CLI #Безопасность #Ошибки #Сисадмин

#linux

🐧 Linux Club ©
Please open Telegram to view this post
VIEW IN TELEGRAM
👍75🔥2
🚀 Linux Теория // DNS в Linux: nsswitch, resolv.conf и кеши

Почему ping даёт один адрес, а приложение — другой? Ответ — в цепочке резолва: порядок источников, кто именно спрашивает DNS и где есть кэш.

Как это работает

🟢 glibc ищет имя по NSS (см. /etc/nsswitch.conf), обычно: files → dns → (опц.) mdns/ldap. Сначала /etc/hosts, потом DNS.

🟢 resolv.conf задаёт nameserver и search. В системах с systemd-resolved это часто stub 127.0.0.53 и «сплит-DNS» по интерфейсам.

🟢 glibc не кэширует. Кэш дают systemd-resolved, nscd, dnsmasq, unbound или сам апп.

Что смотреть

getent hosts example.com           # итог по NSS
grep '^hosts:' /etc/nsswitch.conf # порядок источников
readlink -f /etc/resolv.conf && cat /etc/resolv.conf
resolvectl status | sed -n '1,120p' # если есть systemd-resolved


Практика

🟢 Конфликты с .local? Уберите mdns из hosts: (или используйте .home.arpa).

🟢 На серверах — явный порядок: hosts: files dns. /etc/hosts — только для фиксированных шорткатов.

🟢 С systemd-resolved: проверяйте per-link DNS (resolvectl dns <iface>), сброс кэша — resolvectl flush-caches.

🟢 В контейнерах нет глобального кэша glibc: проверяйте их resolv.conf; при split-DNS пробросьте правильный файл внутрь.

📌 Сохрани пост, чтобы не потерять.

#linux

🐧 Linux Club
Please open Telegram to view this post
VIEW IN TELEGRAM
👍62