Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
1.10 Поиск файлов locate и find
1.9 Команда top для управления процессами
1.8 Менеджеры пакетов yum и apt
1.7 Программа Cron (крон)
1.6 Log файл и команды для работы с ими
1.5 Права доступа в файловой системе
1.4 Команды для работы с файлами и файловой системой
1 3 Команда sudo в Linux и создание нового пользователя
1.2 Редакторы vi и nano
1.1 Виртуальная машина и создание пользователя Рут права
#linux
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11
Оператор
| в Linux передаёт только стандартный вывод (stdout) одной команды в другую. Ошибки (stderr) при этом теряются. Пример:
$ cat data.conf | grep "No such file"
Если файла нет —
grep ничего не поймает, потому что ошибка не передаётся дальше. Решение — использовать
|&:
$ cat data.conf |& grep "No such file"
Теперь в конвейер попадут и stdout, и stderr.
Фактически
|& — это сокращение для:
$ cmd-1 2>&1 | cmd-2
#linux
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁15😢2👍1🥱1
Вам нравится читать контент на этом канале?
Возможно, вы задумывались о том, чтобы купить на нем интеграцию?
Следуйте 3 простым шагам, чтобы сделать это:
1) Нажмите на ссылку: Вход
2) Пополняйтесь удобным способом
3) Размещайте публикацию
Если тематика вашего поста подойдет нашему каналу, мы с удовольствием опубликуем его.
Возможно, вы задумывались о том, чтобы купить на нем интеграцию?
Следуйте 3 простым шагам, чтобы сделать это:
1) Нажмите на ссылку: Вход
2) Пополняйтесь удобным способом
3) Размещайте публикацию
Если тематика вашего поста подойдет нашему каналу, мы с удовольствием опубликуем его.
👍7
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥8😁7👍3
Иногда «быстрый» деплой превращается в rm-rf шоу; ниже — короткая замена «на коленке» на каркас, который не стреляет в ногу.
До (ломкий скрипт)
#!/bin/bash
TMP=/tmp/work
mkdir -p $TMP
cp -r data $TMP
rm -rf /var/www/*
cp -r build/* /var/www/
echo "done"
После (надёжный каркас)#!/usr/bin/env bash
set -Eeuo pipefail
IFS=$'\n\t'
umask 077
tmpdir="$(mktemp -d)"
cleanup(){ rm -rf -- "$tmpdir"; }
trap cleanup EXIT INT TERM
src="data"
dst="/var/www"
mkdir -p "$tmpdir/stage"
rsync -aHAX --delete --info=stats1,progress2 "$src"/ "$tmpdir/stage/"
rsync -aHAX --delete --inplace --info=stats1,progress2 "$tmpdir/stage/" "$dst"/
printf 'ok %s\n' "$(date -Is)"set -Eeuo pipefail — стоп на ошибках и неинициализированных переменных.mktemp + trap — временная площадка и гарантированная уборка.rsync --delete вместо rm -rf + cp — атомарнее и безопаснее.umask 077 — приватные права на промежуточные файлы.Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤5
Что корректно запустит команду в новых user+mount+pid namespaces с root внутри и рабочим
/proc?Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥2
В этой статье я расскажу о том, что происходит внутри ядра Linux, когда процесс вызывает
execve(), как ядро подготавливает стек и как затем передаёт управление пользовательскому процессу для выполнения.Изучил я этот механизм, когда разрабатывал Zapper — инструмент Linux, удаляющий все параметры командной строки из любого процесса без прав root.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤2
В контейнере приложению часто достаётся PID 1; он игнорирует завершающие сигналы (кроме KILL/STOP) и должен забирать зомби — из-за этого docker stop нередко зависает
cat /proc/1/comm
grep -E 'SigIgn|SigCgt' /proc/1/status
ps -o pid,ppid,stat,cmd | grep ' Z '
docker run --init … (tini) или dumb-init в ENTRYPOINT.exec app ….PR_SET_CHILD_SUBREAPER + форвардинг сигналов.#linux
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤1
Media is too big
VIEW IN TELEGRAM
Самоучитель по Linux — этот курс объяснит всё по-человечески: от установки до повседневных задач, без воды и без занудства. Подойдёт тем, кто хочет работать уверенно в Linux на ноуте или десктопе.
Что внутри:✅ Установка и выбор дистрибутива — какой взять и почему.✅ Навигация: файловая система, базовые команды, удобные трюки.✅ Пакетный менеджмент: apt / dnf / flatpak — что и когда использовать.✅ Работа с файлами, правами и пользовательскими учётками (chmod, chown, umask, sudo).✅ Простая автоматизация: bash-скрипты и cron.✅ Резервные копии и восстановление — как не потерять важное.✅ GUI-лайфхаки: удобные программы и настройка рабочего стола.✅ Мини-чеклист безопасности для обычного пользователя.
#linux
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤9🔥5
Когда после оптимизации Linux-сервера ты перезагружаешься и больше не можешь подключиться по SSH
#linux
🐧 Linux Club ©
#linux
Please open Telegram to view this post
VIEW IN TELEGRAM
😁14😢10🤔1🤨1
При больших нагрузках стандартные буферы и алгоритмы TCP становятся узким местом – падает пропускная способность и растёт jitter.
1. Проверяем и расширяем ring-буферы:
ethtool -g eth0 # просмотр текущих размеров
ethtool -G eth0 rx 4096 tx 4096 # ставим приемный и передающий буфер по 4096
2. Тонкая настройка параметров в sysctl:
cat <<EOF | sudo tee /etc/sysctl.d/99-net-performance.conf
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
net.ipv4.tcp_congestion_control = bbr
net.core.netdev_max_backlog = 5000
EOF
sudo sysctl --system
3. Активируем BBR (kernel ≥ 4.9):
sudo modprobe tcp_bbr
sudo sysctl -w net.ipv4.tcp_congestion_control=bbr
sysctl net.ipv4.tcp_available_congestion_control
# убедиться, что bbr в списке и стоит по умолчанию
4. Полезный трюк – отключаем GRO/GSO для снижения задержек:
При пиковых нагрузках или туннелировании (VXLAN, GRE):
sudo ethtool -K eth0 gro off gso off
Большие передачи данных (бэкапы, CDN, видео)
Высокая загрузка веб-кластеров
Сети с высокой RTT (между ЦОД, VPN)
#linux
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤4
foundations.of.linux.debugging.disassembling.and.reversing.pdf
3 MB
Foundations of Linux Debugging, Disassembling, and Reversing: Analyze Binary Code, Understand Stack Memory Usage, and Reconstruct C/C++ Code with Intel x64
Год: 2023
Автор: Дмитрий Востоков
Язык: Английский
#Eng #Cpp #Linux
🐧 Linux Club
Год: 2023
Автор: Дмитрий Востоков
Язык: Английский
Рассматриваются различные темы - от инструкций на языке ассемблера Intel x64 и написания программ на языке ассемблера до указателей, оперативной отладки и статического двоичного анализа скомпилированного кода на C и C++. Эта книга идеально подходит для разработчиков настольных систем Linux и облачных приложений.
#Eng #Cpp #Linux
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13😁6😢2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁22❤15🔥2👍1
Forwarded from Ленивый программист
Please open Telegram to view this post
VIEW IN TELEGRAM
😁12❤2👍2😢1💯1
Покажу, как синхронизировать деревья без боли: слеш в пути, режимы лок/SSH/межсервер, -a под микроскопом, безопасные флаги, нестандартные порты и антиграбли. Будут примеры.
#linux
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍3🔥1
Надёжный запуск, авто-рестарт и логи в journal — без sudo. Подходит для ботов, воркеров, долгих скриптов.
# ~/.config/systemd/user/myjob.service
[Unit]
Denoscription=My job (user service)
StartLimitIntervalSec=0
[Service]
WorkingDirectory=%h/projects/myjob
ExecStart=%h/projects/myjob/run.sh
Restart=on-failure
RestartSec=2
CPUQuota=50%
MemoryMax=256M
NoNewPrivileges=yes
[Install]
WantedBy=default.target
systemctl --user daemon-reload
systemctl --user enable --now myjob.service
# чтобы стартовал и после перезагрузки без логина:
loginctl enable-linger "$USER"
systemctl --user status myjob
journalctl --user -u myjob -e
#linux
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤1🔥1🤣1