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

Полезные советы, обучающие видеоуроки, статьи по linux.
Download Telegram
Если бы ОС были автомобилями

#linux

🐧 Linux Club
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19😁163🔥1
🚀 Linux скрипт wait-for — дождаться TCP и запустить команду

Нужен простой «ожидатель» БД/сервиса в деплое/compose без nc и внешних утилит

#!/usr/bin/env bash
# wait-for host:port [timeout_sec] -- [cmd ...]
set -Eeuo pipefail
[[ $# -ge 1 ]] || { echo "usage: wait-for host:port [timeout] -- [cmd]"; exit 2; }
t="$1"; shift; to=30
[[ $# -ge 1 && "$1" =~ ^[0-9]+$ ]] && { to="$1"; shift; }
[[ "${1:-}" == "--" ]] && shift || true
h="${t%:*}"; p="${t##*:}"; end=$((SECONDS+to))
until { exec 3<>"/dev/tcp/$h/$p"; } 2>/dev/null; do
(( SECONDS>=end )) && { echo "timeout: $t"; exit 1; }
sleep 1
done
exec 3>&- 3<&-
echo "ready: $t"
(("$#" > 0)) && exec "$@"


Примеры:
🟢 дождаться Postgres и сразу миграции:
wait-for db:5432 30 -- alembic upgrade head

🟢 проверить сервис и просто выйти:
wait-for 127.0.0.1:8080 5


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

#linux

🐧 Linux Club
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍3😨2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁166🤣2🔥1👾1
Media is too big
VIEW IN TELEGRAM
🚀 Пошаговое руководство как подсчитать количество файлов и поддиректорий в каталоге Linux с помощью команды

По умолчанию утилита tree не установлена в дистрибутивах Linux. Однако она доступна для скачивания в большинстве из них. Для ее установки достаточно использовать менеджер пакетов Вашей операционной системы.

Например:
yum install tree #Для RHEL / CentOS 7
dnf install tree #Для Fedora 22+ / RHEL / CentOS 8
sudo apt install tree #Для Ubuntu / Debian
sudo zypper in tree #Для openSUSE


Вывод скрытых файлов с помощью tree
tree -a

Отображение пути для каждого файла каталога
tree -f

Как вывести только подкаталоги, используя tree
tree -d

Вывод содержимого до определенной глубины
tree -L 2

Поиск содержимого по шаблону
tree -f -P Ardui*

Как скрыть пустые каталоги
tree -f --prune

Как вывести права доступа содержимого с помощью tree
tree -p

Вывод имени пользователя, группы и прав доступа
tree -pug

Как узнать размер содержимого, используя tree
tree -s

Отображение времени последнего изменения файлов
tree -D

Как узнать размер всех подкаталогов директории с tree
tree --du

Запись результата работы команды в файл
tree -o treeFile.txt

#linux

🐧 Linux Club
Please open Telegram to view this post
VIEW IN TELEGRAM
👍123
🖥 Первая версия BSD: 33 года назад появилась свободная Unix-подобная OC… и это не Linux.

Когда мы говорим о свободно распространяемой Unix-подобной ОС с открытым исходным кодом, то обычно подразумеваем #Linux. Однако в начале 90-х существовал как минимум еще один подобный проект, релиз первой полнофункциональной версии состоялся 33 года назад, в 1992 году. Речь идет об операционной системе 386BSD, также известной под названием Jolix.

История проекта 386BSD уходит корнями еще в 80-е, и в общих чертах напоминает историю появления Linux. Здесь тоже сыграли ведущую роль бывшие студенты, а именно, семейная пара Уильям и Линн Джолиц, обучавшиеся в Калифорнийском университете в Беркли. Именно там они познакомились с операционной системой BSD версий 2.8 и 2.9, в разработке которой приняли участие, и именно там им пришла в голову идея портировать эту ОС для 32-разрядных процессоров Intel 80386, самых мощных и современных на тот исторический момент.

Работы начались в 1989 году. Параллельно с этим в Беркли трудились над переносом на платформу Intel собственного кода — 4.3 BSD-Reno и 4.3 BSD Net/2, причем в этих проектах принимал непосредственное участие Уильям Джолиц. Тогда же под влиянием Ричарда Столлмана разработчики начали понемногу удалять из исходников BSD несвободные компоненты, подпадающие под проприетарную лицензию AT&T UNIX, но наличие значительного объема такого кода заметно тормозило процесс. Все свои наработки, созданные в процессе работы над кодом BSD в Беркли, Уильям Джолиц решил использовать для создания собственной свободно распространяемой операционной системы, базирующейся на 4.3 BSD Net/2, и дополненной кодом, написанным им с женой самостоятельно.

Первая версия 386BSD 0.1 появилась на свет 14 июля 1992 года. Вся операционная система целиком помещалась на одну загрузочную дискету. Вскоре группа энтузиастов начала создавать исправления и дополнения для 386BSD, выпускавшиеся в виде набора неофициальных патчей. Примерно в то же время возник и стал развиваться еще один похожий проект под названием BSD/386, который часто путают с разработкой Джолицев. Эта версия ОС была выпущена основанной в Беркли компанией BSDi, которой руководил Донн Сили, и также опиралась на исходники 4.3 BSD Net/2. Несмотря на многочисленные слухи, серьезной конкуренции между 386BSD и BSD/386 не было и в помине, скорее наоборот: Уильям Джолиц и Сили работали вместе над проектами для компании UUNET, и Уильям даже передавал Сили часть своего кода для тестирования.

Основными отличительными особенностями 386BSD стала новая система безопасности с ролевым доступом, Р2Р-загрузка, а также более простое, наглядное и упорядоченное конфигурирование ОС. Все эти особенности и привлекали пользователей. Однако между Уильям и Линн Джолиц с одной стороны, и энтузиастиами, разрабатывавшими для их детища неофициальные патчи и улучшения, разгорелся нешуточный конфликт. Джолицы желали сами контролировать развитие своего проекта, а потому не хотели включать сторонние пакеты, расширявшие возможности системы, в официальные обновления 386BSD. Также они отказывались добавлять в следующие релизы некоторые обновления, созданные комьюнити. Энтузиасты, потратившие на доработку проекта Джолицев массу времени, не на шутку обиделись, сделали форк системы, включили в него все созданные ими дополнения и назвали получившийся продукт FreeBSD — релиз этой свободной ОС состоялся 1 ноября 1993 года.

Несмотря на появление близнецов-конкурентов, в конце 1994 года Джолицы выпустили релиз 1.0 386BSD — он содержал принципиально новую реализацию ядра, множество дополнительных компонентов, занимал без малого 600 мб. и распространялся на компакт-диске. Но поддерживаемые комьюнити проекты FreeBSD и NetBSD настолько быстро набирали популярность, что авторы понемногу утратили интерес к своему детищу, и к 1997 году перестали обновлять систему. Только 5 августа 2016 года сын основателей проекта, Бен Джолиц выложил на GitHub обновленную версию 386BSD, получившую порядковый номер 2.0. Правда, changelog для этой версии почему-то так и не был опубликован

#linux

🐧 Linux Club ©
Please open Telegram to view this post
VIEW IN TELEGRAM
28👍7
Библия_Linux_10_е_издание_Негус_Кристофер.pdf
11.3 MB
Библия Linux

Год:
2022
Автор:
Кристофер Негус
Язык:
Русский

Полностью обновленное 10-е издание «Библии Linux» поможет как начинающим, так и опытным пользователям приобрести знания и навыки, которые выведут на новый уровень владения Linux. Известный эксперт и автор бестселлеров Кристофер Негус делает акцент на инструментах командной строки и новейших версиях Red Hat Enterprise Linux, Fedora и Ubuntu. Шаг за шагом на подробных примерах и упражнениях вы досконально поймете операционную систему Linux и пустите знания в дело. Кроме того, в 10-м издании содержатся материалы для подготовки к экзаменам на различные сертификаты по Linux.


#linux

🐧 Linux Club
Please open Telegram to view this post
VIEW IN TELEGRAM
👍194
Please open Telegram to view this post
VIEW IN TELEGRAM
😁233👍1💯1
🚀 Надёжная запись на диск (fsync, rename, журналы)

Когда приложение «записало файл», это часто значит, что байты попали в page cache, а не на физический носитель. Пока данные в памяти, внезапный ребут/сбой контроллера может оставить пустой или старый файл.

Что реально гарантирует ОС

🟢 fsync(fd) / fdatasync(fd) — сбрасывают данные+метаданные (или только данные) конкретного файла на устройство.
🟢 O_SYNC / O_DSYNC — делают каждый write() синхронным (дорого для производительности).
🟢 rename() на одном FS атомарен: либо старое имя, либо новое (без «наполовину»). Но сам факт переименования тоже нужно закрепить.
🟢 ext4 data=ordered (по умолчанию): данные пишутся до фиксации метаданных журнала, снижая риск «пустых» файлов после сбоя.

Правильный паттерн «перезаписать файл без потерь»

1. Записать во временный файл в том же каталоге.
2. fsync(tmp) — убедиться, что байты ушли на диск.
3. rename(tmp, target) — атомарно заменить.
4. fsync(каталог) — зафиксировать запись каталога (само переименование).

Мини-шпаргалка:
write tmp (same dir) -> fsync(tmp)
rename(tmp, target) -> fsync(parent dir)


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

#linux

🐧 Linux Club
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥41
🚀 Разбор высокой I/O-задержки (I/O Wait) в Linux

У Linux куча инструментов для диагностики — какие-то простые, а какие-то посерьёзнее. Проблемы с I/O Wait как раз из тех случаев, где нужны продвинутые утилиты и умение выжать максимум даже из базовых инструментов.

Разбираться с I/O Wait непросто, потому что в стандартной поставке есть масса средств, которые могут сказать вам одно: система упирается в ввод-вывод, и что-то не так.

Но вот pinpoint-ить конкретный процесс (или несколько), который всё тормозит, — умеют далеко не все.

📌 Читать тут

#linux #ит_статьи #linux #shell #iowait #iotop #troubleshooting

🐧 Linux Club ©
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥4
🚀 Микро-тест #5

Нужно запустить программу полностью без сети, без sudo, одной командой. Что выбрать?

#linux

🐧 Linux Club
Please open Telegram to view this post
VIEW IN TELEGRAM
👍92
🚀Быстрый совет по Linux

Логи упакованы в .gz? Их не нужно распаковывать, чтобы читать или искать по содержимому.

Используй инструменты с префиксом z прямо по месту:

zcat — просмотреть файл

zless — пролистывать содержимое

zgrep — искать внутри файла

zegrep — искать с расширенными регулярками (ERE)

zfgrep — искать по фиксированным строкам

zcmp/zdiff — сравнивать файлы

Эти команды позволяют анализировать сжатые логи без предварительной распаковки, идеально для быстрых сеансов устранения неполадок ✌️

🐧 Linux Club ©
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12👨‍💻2
🚀 Есть динамит, нет шахты

История о том, как желание «чего-то жужжащего» превратилось в покупку HP ProLiant DL380 Gen9, 80 тысяч в корзине и море энтузиазма. Немного боли, немного железа — и много счастья.

📌 Читать тут

#linux

🐧 Linux Club
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Please open Telegram to view this post
VIEW IN TELEGRAM
1😁19🔥2🆒2
🦠🖥 Вредоносное ПО в Linux

Штатные утилиты для обнаружения и обезвреживания вредоносов.

💬 Процессы и автозапуск

ps / pgrep / top / htop — ищем «левые» процессы, аномальный расход CPU/RAM.

systemctl / service — неизвестные юниты/демоны в автозапуске.

💬 Сеть и соединения

ss / netstat — кто слушает порты и куда установлены сессии.

lsof — какие процессы держат файлы/сокеты, в т.ч. «удалённые» бинарники.

💬 Файлы, изменения и права

grep — быстрый поиск характерных паттернов.

lsattr / chattr — проверка «immutable»-атрибута.

💬 Логи и следы взлома

last / lastb / w — логины и неудачные попытки.

💬 Учётные записи и ключи

/etc/passwd — двойные UID 0, «левые» системные пользователи. authorized_keys — подмена ключей.

Шаги реагирования и примеры использования читайте здесь.

Еще больше полезных инструментов и лайфхаков в канале CORTEL.

➡️ Подписаться

Реклама ООО "Кортэл"
ИНН: 7816246925
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍16🔥43🤩1
🐧 Быстрый совет Linux

Хочешь видеть, когда именно ты запускал команды в терминале?
Включи временные метки в истории bash — это удобно, если нужно вспомнить, над чем ты работал и когда.

Просто добавь переменную окружения:

export HISTTIMEFORMAT="%F %T "


Теперь при просмотре истории ты увидишь дату и время выполнения каждой команды:

history | tail -n 5


или короче:

history 5


Формат "%F %T" показывает дату и время, но ты можешь настроить его под себя.
Обрати внимание: метки применяются только к новым командам и работают только в bash.

#linux

🐧 Linux Club ©
Please open Telegram to view this post
VIEW IN TELEGRAM
👍103🔥3
🚀 ssl-expire — сколько дней до окончания TLS

Проверяет срок действия сертификата у host[:port], печатает дни и возвращает non-zero, если осталось меньше порога (по умолчанию 14).

#!/usr/bin/env bash
# ssl-expire host[:port] [threshold_days]
set -Eeuo pipefail
[[ $# -ge 1 ]] || { echo "usage: ssl-expire host[:port] [threshold_days]"; exit 2; }
t="$1"; th="${2:-14}"
host="${t%:*}"; port="${t##*:}"; [[ "$host" == "$port" ]] && port=443
end=$(echo | openssl s_client -servername "$host" -connect "$host:$port" 2>/dev/null \
| openssl x509 -noout -enddate | cut -d= -f2) || { echo "cannot fetch cert"; exit 1; }
end_s=$(date -d "$end" +%s); now_s=$(date +%s); days=$(( (end_s - now_s) / 86400 ))
(( days < 0 )) && { echo "EXPIRED ${days#-}d ago ($host:$port)"; exit 1; }
(( days <= th )) && { echo "WARN $host:$port expires in ${days}d (<=${th})"; exit 1; }
echo "OK $host:$port ${days}d left"


Примеры:
ssl-expire example.com, ssl-expire example.com:8443 7


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

#linux

🐧 Linux Club
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1143
Learning Kali Linux RU+EN.zip
30.1 MB
📗 Изучаем Kali Linux. Проверка защиты, тестирование на проникновение, этичный хакинг [2025] Рик Мессье
📘 Learning Kali Linux: security testing, penetration testing and ethical hacking [2024] Ric Messier

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

▪️Во втором издании описываются обновленные возможности утилит и подробно рассматриваются цифровая криминалистика и реверс-инжиниринг.
▪️Познакомитесь с широким спектром инструментов, доступных в Kali Linux.
▪️Изучите основы тестирования на проникновение на протяжении всего жизненного цикла атаки.
▪️Познакомитесь с расширенными инструментами Kali для применения передовых методов атак.
▪️Автор не ограничивается рамками тестирования безопасности и дополнительно рассказывает о криминалистическом анализе, в том числе анализе дисков и памяти, а также базовом анализе вредоносных программ.

#python #cpp #kali #kalilinux #linux #хакинг #безопасность #программирование #разработка #IT

🐧 Linux Club ©
Please open Telegram to view this post
VIEW IN TELEGRAM
11👍8
🚀 Linux Теория // buff/cache ≠ утечка памяти

free -m показывает, что «свободной» памяти почти нет, всё забито buff/cache — это не утечка, а нормальное поведение: ядро держит в RAM кеш файлов, чтобы меньше ходить на диск.

Проверка (30 сек)

free -h
grep -E 'Mem(Total|Free|Available|Cached|Buffers)' /proc/meminfo
ps axo pid,%mem,cmd --sort=-%mem | head


Что важно понимать

🟢 Кэш (Cached/Buffer) отдаётся приложениям по запросу — это «заёмная» память, а не потерянная.
🟢 MemAvailable — главный ориентир, сколько реально можно ещё съесть без свопа/ООМ.
🟢 При настоящей нехватке ОЗУ видно рост swap, kswapd крутит CPU, в логах появляются OOM-killer записи.
🟢 Насильно чистить кэш (echo 3 > /proc/sys/vm/drop_caches) имеет смысл только для тестов/бенчмарков и ломает производительность на проде.

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

#Linux #IT

🐧 Linux Club
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13
Please open Telegram to view this post
VIEW IN TELEGRAM
183😎2🏆1
Действительно, почему до сих пор нельзя установить линукс из Microsoft стора?

#linux

🐧 Linux Club ©
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣41💯3👍2👏2🤓2🙈2