Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19😁16❤3🔥1
Нужен простой «ожидатель» БД/сервиса в деплое/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 "$@"
wait-for db:5432 30 -- alembic upgrade head
wait-for 127.0.0.1:8080 5
#linux
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍3😨2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁16❤6🤣2🔥1👾1
Media is too big
VIEW IN TELEGRAM
По умолчанию утилита 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
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤3
• Когда мы говорим о свободно распространяемой 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
Please open Telegram to view this post
VIEW IN TELEGRAM
2❤8👍7
Библия_Linux_10_е_издание_Негус_Кристофер.pdf
11.3 MB
Библия Linux
Год: 2022
Автор: Кристофер Негус
Язык: Русский
#linux
🐧 Linux Club
Год: 2022
Автор: Кристофер Негус
Язык: Русский
Полностью обновленное 10-е издание «Библии Linux» поможет как начинающим, так и опытным пользователям приобрести знания и навыки, которые выведут на новый уровень владения Linux. Известный эксперт и автор бестселлеров Кристофер Негус делает акцент на инструментах командной строки и новейших версиях Red Hat Enterprise Linux, Fedora и Ubuntu. Шаг за шагом на подробных примерах и упражнениях вы досконально поймете операционную систему Linux и пустите знания в дело. Кроме того, в 10-м издании содержатся материалы для подготовки к экзаменам на различные сертификаты по Linux.
#linux
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19❤4
Please open Telegram to view this post
VIEW IN TELEGRAM
😁23❤3👍1💯1
Когда приложение «записало файл», это часто значит, что байты попали в page cache, а не на физический носитель. Пока данные в памяти, внезапный ребут/сбой контроллера может оставить пустой или старый файл.
fsync(fd) / fdatasync(fd) — сбрасывают данные+метаданные (или только данные) конкретного файла на устройство.O_SYNC / O_DSYNC — делают каждый write() синхронным (дорого для производительности).rename() на одном FS атомарен: либо старое имя, либо новое (без «наполовину»). Но сам факт переименования тоже нужно закрепить.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
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥4❤1
У Linux куча инструментов для диагностики — какие-то простые, а какие-то посерьёзнее. Проблемы с I/O Wait как раз из тех случаев, где нужны продвинутые утилиты и умение выжать максимум даже из базовых инструментов.
Разбираться с I/O Wait непросто, потому что в стандартной поставке есть масса средств, которые могут сказать вам одно: система упирается в ввод-вывод, и что-то не так.
Но вот pinpoint-ить конкретный процесс (или несколько), который всё тормозит, — умеют далеко не все.
#linux #ит_статьи #linux #shell #iowait #iotop #troubleshooting
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥4
Нужно запустить программу полностью без сети, без sudo, одной командой. Что выбрать?
#linux
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤2
Логи упакованы в
.gz? Их не нужно распаковывать, чтобы читать или искать по содержимому.Используй инструменты с префиксом
z прямо по месту:zcat — просмотреть файлzless — пролистывать содержимоеzgrep — искать внутри файлаzegrep — искать с расширенными регулярками (ERE)zfgrep — искать по фиксированным строкамzcmp/zdiff — сравнивать файлыЭти команды позволяют анализировать сжатые логи без предварительной распаковки, идеально для быстрых сеансов устранения неполадок
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12👨💻2
История о том, как желание «чего-то жужжащего» превратилось в покупку HP ProLiant DL380 Gen9, 80 тысяч в корзине и море энтузиазма. Немного боли, немного железа — и много счастья.
#linux
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
Штатные утилиты для обнаружения и обезвреживания вредоносов.
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🔥4✍3🤩1
Хочешь видеть, когда именно ты запускал команды в терминале?
Включи временные метки в истории bash — это удобно, если нужно вспомнить, над чем ты работал и когда.
Просто добавь переменную окружения:
export HISTTIMEFORMAT="%F %T "
Теперь при просмотре истории ты увидишь дату и время выполнения каждой команды:
history | tail -n 5
или короче:
history 5
Формат "%F %T" показывает дату и время, но ты можешь настроить его под себя.
Обрати внимание: метки применяются только к новым командам и работают только в bash.
#linux
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤3🔥3
Проверяет срок действия сертификата у
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
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤4✍3
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 ©
📘 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
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11👍8
free -m показывает, что «свободной» памяти почти нет, всё забито buff/cache — это не утечка, а нормальное поведение: ядро держит в RAM кеш файлов, чтобы меньше ходить на диск.free -h
grep -E 'Mem(Total|Free|Available|Cached|Buffers)' /proc/meminfo
ps axo pid,%mem,cmd --sort=-%mem | head
MemAvailable — главный ориентир, сколько реально можно ещё съесть без свопа/ООМ.echo 3 > /proc/sys/vm/drop_caches) имеет смысл только для тестов/бенчмарков и ломает производительность на проде.#Linux #IT
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13
Please open Telegram to view this post
VIEW IN TELEGRAM
❤18⚡3😎2🏆1