В этом посте собраны основные команды Bash для управления фоновыми процессами. Рассмотрены запуск и мониторинг заданий, переключение между передним и фоновым режимами, защита от SIGHUP, ожидание завершения процессов и запуск в отдельной сессии. Полезно для администрирования Linux, работы через SSH и автоматизации задач.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥20❤7👍6🤝2
7 дней бесплатного обучения во Frontend-разработке!
🔥 Ухвати свой шанс погрузиться в мир Frontend-разработки на нашем бесплатном онлайн-интенсиве! Интересные уроки, практическая работа и поддержка куратора — всё это доступно тебе прямо сейчас.
Всего за 7 дней ты:
1. Сгенерируешь сайт через Giga, DeepSeek, ChatGPT;
2. Сверстаешь весь сайт на HTML + CSS с правильным адаптивом;
3. Оживишь проект на JavaScript: логика, расчёты и трекинг заказов;
4. Подключишь карты и API, увидишь, как данные работают в настоящем продукте;
5. Получишь экспертные советы, как улучшить свои проекты и вывести их на профессиональный уровень.
В итоге добавишь в своё портфолио уникальный проект сервиса доставки, доступный по ссылке, который повысит твою ценность как специалиста.
🔥 С нас обучение, практика и поддержка на пути к фрилансу.
С тебя участие в интенсиве
👉 Начать бесплатное обучение
Не упусти шанс получить мощный заряд уверенности для дальнейшего роста в разработке!
🔥 Ухвати свой шанс погрузиться в мир Frontend-разработки на нашем бесплатном онлайн-интенсиве! Интересные уроки, практическая работа и поддержка куратора — всё это доступно тебе прямо сейчас.
Всего за 7 дней ты:
1. Сгенерируешь сайт через Giga, DeepSeek, ChatGPT;
2. Сверстаешь весь сайт на HTML + CSS с правильным адаптивом;
3. Оживишь проект на JavaScript: логика, расчёты и трекинг заказов;
4. Подключишь карты и API, увидишь, как данные работают в настоящем продукте;
5. Получишь экспертные советы, как улучшить свои проекты и вывести их на профессиональный уровень.
В итоге добавишь в своё портфолио уникальный проект сервиса доставки, доступный по ссылке, который повысит твою ценность как специалиста.
🔥 С нас обучение, практика и поддержка на пути к фрилансу.
С тебя участие в интенсиве
👉 Начать бесплатное обучение
Не упусти шанс получить мощный заряд уверенности для дальнейшего роста в разработке!
GNU Make умеет специально ломать привычный порядок сборки, чтобы находить ошибки в зависимостях Makefile!
Бывает, что
В GNU Make 4.4 для поиска таких проблем появился
Полезно прогнать сборку несколько раз:
Если сборка упала,
Интересно, что
Так можно обнаружить зависимости от порядка выполнения отдельно от настоящих проблем конкурентного выполнения.
🔥
🚪 Linux Ready | #совет
Бывает, что
make -j работает нормально, а затем сборка случайно падает на CI или новой машине. Частая причина — одна цель неявно рассчитывает, что другая успеет выполниться раньше, хотя эта зависимость нигде не объявлена.В GNU Make 4.4 для поиска таких проблем появился
--shuffle:make -j8 --shuffle
Make сохраняет зависимости между целями, но намеренно меняет допустимый порядок их выполнения. Если Makefile случайно зависит от привычной последовательности, вероятность воспроизвести проблему резко возрастает.Полезно прогнать сборку несколько раз:
for i in {1..20}; do
make clean
make -j8 --shuffle || break
doneЕсли сборка упала,
Make сообщает seed перемешивания. Его можно передать повторно и воспроизвести тот же порядок:make -j8 --shuffle=123456789
Интересно, что
--shuffle полезен даже без параллельной сборки:make -j1 --shuffle
Так можно обнаружить зависимости от порядка выполнения отдельно от настоящих проблем конкурентного выполнения.
make --shuffle превращает порядок сборки в fuzz-тест: отличный способ найти отсутствующие зависимости в Makefile до того, как они проявятся случайным падением на CI.Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13❤7👍6
Стандартных прав
chmod не всегда достаточно, когда нужно предоставить отдельному пользователю доступ к файлам приложения без смены владельца или изменения групп. ACL позволяют назначать дополнительные разрешения, ограничивать доступ и настраивать наследование прав для новых файлов.В этом посте:
• Выдаём конкретному пользователю права на каталог и отдельные файлы;
• Настраиваем наследование разрешений через ACL по умолчанию;
• Проверяем фактический доступ и ограничения маски ACL;
• Отзываем выданные права без изменения владельца файлов.
ACL полезны для каталогов приложений, резервных копий и общих рабочих директорий, где стандартной модели «владелец — группа — остальные» недостаточно.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥8🤝5❤1
Claude снова банит пользователей из РФ
Многим начали приходить письма счастья от Anthropic: аккаунт заблокирован, доступ закрыт. Банят за вход из неподдерживаемого региона и оплату через серые схемы.
А в CatCode Claude работает без ограничений.
CatСode - это десктопный агент с топовыми нейросетями на борту всего за 1550 рублей в месяц:
😒 Claude Fable
🤖 GPT-6 Astra
😐 Grok 4.6
и многие другие.
Твой аккаунт точно не забанят: подписка оформлена у международной компании. Работает без VPN, оплата российской картой или СБП, никаких перекупов. Первые задачи бесплатно, просто зарегистрируйся и пробуй.
Оформи пакет нейросетей разом и не бойся банов: catcode.dev
Многим начали приходить письма счастья от Anthropic: аккаунт заблокирован, доступ закрыт. Банят за вход из неподдерживаемого региона и оплату через серые схемы.
А в CatCode Claude работает без ограничений.
CatСode - это десктопный агент с топовыми нейросетями на борту всего за 1550 рублей в месяц:
и многие другие.
Твой аккаунт точно не забанят: подписка оформлена у международной компании. Работает без VPN, оплата российской картой или СБП, никаких перекупов. Первые задачи бесплатно, просто зарегистрируйся и пробуй.
Оформи пакет нейросетей разом и не бойся банов: catcode.dev
Please open Telegram to view this post
VIEW IN TELEGRAM
👎5
Диагностика и настройка MTU в WireGuard VPN
При некорректном MTU туннель WireGuard может оставаться активным, ICMP и SSH работают, но HTTPS-запросы зависают, а передача больших файлов прерывается. Одна из возможных причин — нарушение Path MTU Discovery (PMTUD), препятствующее определению допустимого размера пакетов на маршруте.
WireGuard инкапсулирует IP-пакеты в UDP. Накладные расходы составляют 60 байт поверх IPv4 и 80 байт поверх IPv6 без дополнительной инкапсуляции. При внешнем Path MTU 1500 максимальный MTU туннеля без фрагментации составляет соответственно 1440 и 1420 байт.
Проверим текущий MTU интерфейса WireGuard.
В типичной конфигурации
Проверим прохождение внутренних IPv4-пакетов с установленным флагом DF. Размер ICMP-данных 1392 байта вместе с IPv4- и ICMP-заголовками формирует пакет размером 1420 байт.
Здесь
Если пакеты не проходят, повторим проверку с размером 1340 байт. Ошибка
Если HTTPS-сервис находится за удалённым пиром, дополнительно проверим маршрут до его IPv4-адреса и прохождение пакетов, если сервис отвечает на ICMP.
Здесь
Если диагностика указывает на ограничение MTU, временно установим 1380 байт. Это тестовое значение, которое может потребовать дополнительного уменьшения при PPPoE или вложенных туннелях.
Повторим проверку с ICMP-данными размером 1352 байта, что соответствует внутреннему IPv4-пакету размером 1380 байт.
При необходимости проверим конечный адрес сервиса. Изменение MTU только на одной стороне туннеля не гарантирует устранения проблем в обратном направлении.
После изменения MTU проверим прикладной трафик через VPN. Используем доступный через туннель HTTPS-сервис.
Заменим
Если изменение устранило проблему, закрепим значение в существующей конфигурации
Это пример секции
Значение MTU уже применено командой
При удалённом подключении через туннель команда может привести к потере доступа. Успешный ICMP-тест не гарантирует корректную работу TCP. При сохранении проблемы проверьте MTU на обеих сторонах туннеля, PMTUD и маршрутизацию.
🔥 Активный WireGuard-туннель не гарантирует передачу крупных пакетов. Проверка DF-пакетов и снижение MTU помогают выявить проблему.
🚪 Linux Ready | #практика
При некорректном MTU туннель WireGuard может оставаться активным, ICMP и SSH работают, но HTTPS-запросы зависают, а передача больших файлов прерывается. Одна из возможных причин — нарушение Path MTU Discovery (PMTUD), препятствующее определению допустимого размера пакетов на маршруте.
WireGuard инкапсулирует IP-пакеты в UDP. Накладные расходы составляют 60 байт поверх IPv4 и 80 байт поверх IPv6 без дополнительной инкапсуляции. При внешнем Path MTU 1500 максимальный MTU туннеля без фрагментации составляет соответственно 1440 и 1420 байт.
Проверим текущий MTU интерфейса WireGuard.
ip link show dev wg0
В типичной конфигурации
wg-quick можно увидеть MTU 1420, однако фактическое значение зависит от маршрутизации и настроек интерфейса.wg0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420
Проверим прохождение внутренних IPv4-пакетов с установленным флагом DF. Размер ICMP-данных 1392 байта вместе с IPv4- и ICMP-заголовками формирует пакет размером 1420 байт.
ping -4 -M do -s 1392 -c 4 10.20.0.1
Здесь
10.20.0.1 — пример адреса удалённого WireGuard-пира. Успешный ping до него не гарантирует отсутствие ограничений MTU на дальнейшем маршруте.Если пакеты не проходят, повторим проверку с размером 1340 байт. Ошибка
message too long указывает на превышение MTU, известного локальному сетевому стеку, а отсутствие ответа может быть связано с фильтрацией ICMP:ping -4 -M do -s 1312 -c 4 10.20.0.1
Если HTTPS-сервис находится за удалённым пиром, дополнительно проверим маршрут до его IPv4-адреса и прохождение пакетов, если сервис отвечает на ICMP.
ip -4 route get 10.20.0.10
ping -4 -M do -s 1392 -c 4 10.20.0.10
Здесь
10.20.0.10 — пример адреса целевого сервиса. Маршрут должен проходить через wg0.Если диагностика указывает на ограничение MTU, временно установим 1380 байт. Это тестовое значение, которое может потребовать дополнительного уменьшения при PPPoE или вложенных туннелях.
sudo ip link set dev wg0 mtu 1380
Повторим проверку с ICMP-данными размером 1352 байта, что соответствует внутреннему IPv4-пакету размером 1380 байт.
ping -4 -M do -s 1352 -c 4 10.20.0.1
При необходимости проверим конечный адрес сервиса. Изменение MTU только на одной стороне туннеля не гарантирует устранения проблем в обратном направлении.
После изменения MTU проверим прикладной трафик через VPN. Используем доступный через туннель HTTPS-сервис.
curl -4 -v --connect-timeout 5 --max-time 30 https://INTERNAL_HOST/
Заменим
INTERNAL_HOST на реальное имя сервиса и убедимся, что его IPv4-адрес маршрутизируется через VPN.Если изменение устранило проблему, закрепим значение в существующей конфигурации
/etc/wireguard/wg0.conf. Параметр MTU обрабатывается утилитой wg-quick, а не протоколом WireGuard.[Interface]
Address = 10.20.0.2/24
PrivateKey = CLIENT_PRIVATE_KEY
MTU = 1380
Это пример секции
[Interface]. Сохраним существующие ключи, адреса и остальные параметры конфигурации.Значение MTU уже применено командой
ip link set, поэтому перезапуск сейчас не требуется. Для проверки сохранённой конфигурации после повторного поднятия интерфейса можно выполнить:sudo wg-quick down wg0 && sudo wg-quick up wg0
При удалённом подключении через туннель команда может привести к потере доступа. Успешный ICMP-тест не гарантирует корректную работу TCP. При сохранении проблемы проверьте MTU на обеих сторонах туннеля, PMTUD и маршрутизацию.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤8🔥2🤝2