fa
Feedback
Admin Guides | Сисадмин

Admin Guides | Сисадмин

رفتن به کانال در Telegram

Обучающий канал по ОС Linux & Windows для начинающих и действующих администраторов. Админ, реклама: @Ak_Mihail Биржа: https://telega.in/c/admguides РКН: https://kurl.ru/nQejS

نمایش بیشتر

📈 تحلیل کانال تلگرام Admin Guides | Сисадмин

کانال Admin Guides | Сисадмин (@admguides) در بخش زبانی روسی بازیگری فعال است. در حال حاضر جامعه شامل 11 880 مشترک است و جایگاه 10 224 را در دسته فناوری و برنامه‌ها و رتبه 54 284 را در منطقه روسيا دارد.

📊 شاخص‌های مخاطب و پویایی

از زمان ایجاد در невідомо، پروژه رشد سریعی داشته و 11 880 مشترک جذب کرده است.

بر اساس آخرین داده‌ها در تاریخ 03 سپتامبر, 2026، کانال فعالیت پایداری دارد. در ۳۰ روز گذشته تغییر اعضا برابر 73 و در ۲۴ ساعت گذشته برابر 6 بوده و همچنان دسترسی گسترده‌ای حفظ شده است.

  • وضعیت تأیید: تأیید نشده
  • نرخ تعامل (ER): میانگین تعامل مخاطب 12.38% است و در ۲۴ ساعت نخست پس از انتشار، محتوا معمولاً 6.47% واکنش نسبت به کل مشترکان کسب می‌کند.
  • دسترسی پست‌ها: هر پست به طور میانگین 1 470 بازدید دریافت می‌کند. در اولین روز معمولاً 768 بازدید جمع‌آوری می‌شود.
  • واکنش‌ها و تعامل: مخاطبان به‌طور فعال حمایت می‌کنند؛ میانگین واکنش به هر پست 9 است.
  • علایق موضوعی: محتوا بر موضوعات کلیدی مانند ядро, /proc, grep, latency, linux تمرکز دارد.

📝 توضیح و سیاست محتوایی

نویسنده این فضا را محل بیان دیدگاه‌های شخصی توصیف می‌کند:
Обучающий канал по ОС Linux & Windows для начинающих и действующих администраторов. Админ, реклама: @Ak_Mihail Биржа: https://telega.in/c/admguides РКН: https://kurl.ru/nQejS

به لطف به‌روزرسانی‌های پرتکرار (آخرین داده در تاریخ 04 سپتامبر, 2026)، کانال همواره به‌روز و دارای دسترسی بالاست. تحلیل‌ها نشان می‌دهد مخاطبان به‌طور فعال با محتوا تعامل دارند و آن را به نقطه اثرگذاری مهم در دسته فناوری و برنامه‌ها تبدیل کرده‌اند.

11 880
مشترکین
+624 ساعت
+227 روز
+7330 روز

در حال بارگیری داده...

جذب مشترکین
سپتامبر '26
سپتامبر '26
+19
در 0 کانال‌ها
اوت '26
+169
در 0 کانال‌ها
Get PRO
ژوئیه '26
+201
در 6 کانال‌ها
Get PRO
ژوئن '26
+130
در 0 کانال‌ها
Get PRO
مه '26
+172
در 0 کانال‌ها
Get PRO
آوریل '26
+154
در 0 کانال‌ها
Get PRO
مارس '26
+97
در 0 کانال‌ها
Get PRO
فوریه '26
+129
در 15 کانال‌ها
Get PRO
ژانویه '26
+139
در 0 کانال‌ها
Get PRO
دسامبر '25
+107
در 0 کانال‌ها
Get PRO
نوامبر '25
+135
در 2 کانال‌ها
Get PRO
اکتبر '25
+131
در 0 کانال‌ها
Get PRO
سپتامبر '25
+141
در 3 کانال‌ها
Get PRO
اوت '25
+163
در 0 کانال‌ها
Get PRO
ژوئیه '25
+128
در 0 کانال‌ها
Get PRO
ژوئن '25
+132
در 2 کانال‌ها
Get PRO
مه '25
+194
در 0 کانال‌ها
Get PRO
آوریل '25
+229
در 0 کانال‌ها
Get PRO
مارس '25
+231
در 2 کانال‌ها
Get PRO
فوریه '25
+176
در 0 کانال‌ها
Get PRO
ژانویه '25
+283
در 0 کانال‌ها
Get PRO
دسامبر '24
+391
در 1 کانال‌ها
Get PRO
نوامبر '24
+423
در 2 کانال‌ها
Get PRO
اکتبر '24
+479
در 0 کانال‌ها
Get PRO
سپتامبر '24
+411
در 3 کانال‌ها
Get PRO
اوت '24
+333
در 0 کانال‌ها
Get PRO
ژوئیه '24
+320
در 0 کانال‌ها
Get PRO
ژوئن '24
+346
در 2 کانال‌ها
Get PRO
مه '24
+783
در 15 کانال‌ها
Get PRO
آوریل '24
+374
در 1 کانال‌ها
Get PRO
مارس '24
+861
در 12 کانال‌ها
Get PRO
فوریه '24
+583
در 11 کانال‌ها
Get PRO
ژانویه '24
+761
در 16 کانال‌ها
Get PRO
دسامبر '23
+675
در 13 کانال‌ها
Get PRO
نوامبر '23
+376
در 2 کانال‌ها
Get PRO
اکتبر '23
+368
در 2 کانال‌ها
Get PRO
سپتامبر '23
+1 177
در 0 کانال‌ها
Get PRO
اوت '23
+1 288
در 0 کانال‌ها
Get PRO
ژوئیه '23
+1 281
در 0 کانال‌ها
Get PRO
ژوئن '23
+460
در 0 کانال‌ها
Get PRO
مه '23
+869
در 0 کانال‌ها
تاریخ
رشد مشترکین
اشارات
کانال‌ها
04 سپتامبر+2
03 سپتامبر+8
02 سپتامبر+2
01 سپتامبر+7
پست‌های کانال
2
nsenter: заглянуть внутрь namespace работающего контейнера Контейнер не обязан иметь shell внутри себя. Если приложение работ
nsenter: заглянуть внутрь namespace работающего контейнера Контейнер не обязан иметь shell внутри себя. Если приложение работает, но docker exec недоступен или сам контейнерный userspace сломан, namespace можно открыть непосредственно с хоста Сначала находим PID основного процесса контейнера docker inspect -f '{{.State.Pid}}' <container> Допустим, получили 4217 Проверяем его namespaces: ls -l /proc/4217/ns/ Например: net -> net:[4026532456] mnt -> mnt:[4026532457] pid -> pid:[4026532458] Заходим сразу во все основные namespace nsenter -t 4217 -m -u -i -n -p -C Теперь shell работает в namespace процесса контейнера Проверка: hostname ip addr mount ps aux При этом команды выполняются с host kernel, но видят изолированное окружение контейнера Можно войти только в нужный namespace Например, посмотреть сетевую конфигурацию контейнера с хоста: nsenter -t 4217 -n ip addr Или его mount namespace: nsenter -t 4217 -m mount Это удобно, когда проблема именно в одном namespace и нет смысла запускать полноценный shell Почему nsenter особенно полезен при авариях docker exec фактически зависит от container runtime и возможности запустить новый процесс внутри контейнера nsenter работает иначе: он использует namespace уже существующего процесса через /proc/<PID>/ns Поэтому если внутри контейнера сломан shell, отсутствуют утилиты или runtime не может выполнить exec, диагностику всё ещё можно проводить с хоста ⚡️Важный нюанс: namespace изолирует пространство имён, но не создаёт отдельное ядро. Процессы контейнера и хоста используют одно Linux kernel, просто смотрят на разные namespace
622
3
Зачем systemd использует transient units?
890
4
lsblk -o +UUID,PARTUUID: когда UUID и PARTUUID ведут к разным объектам У диска и его раздела могут быть сразу несколько идент
lsblk -o +UUID,PARTUUID: когда UUID и PARTUUID ведут к разным объектам У диска и его раздела могут быть сразу несколько идентификаторов, и они не взаимозаменяемы Посмотрим их вместе: lsblk -o NAME,SIZE,FSTYPE,UUID,PARTUUID,MOUNTPOINTS Например: nvme0n1 ├─nvme0n1p1 vfat 7A3C-91F2 4f8a... /boot/efi └─nvme0n1p2 ext4 91c2... 8e21... / UUID относится к файловой системе PARTUUID относится к самому разделу в partition table Это принципиальная разница. Если выполнить: blkid /dev/nvme0n1p2 можно получить: UUID="91c2..." PARTUUID="8e21..." UUID меняется вместе с filesystem Например, для ext4 можно создать новую файловую систему: mkfs.ext4 /dev/nvme0n1p2 Раздел останется тем же, но filesystem UUID будет новым. Поэтому /etc/fstab, где используется: UUID=91c2... / ext4 defaults 0 1 после пересоздания filesystem перестанет находить старую файловую систему PARTUUID принадлежит разделу Если файловую систему внутри раздела пересоздать, PARTUUID обычно останется прежним. Но если удалить раздел и создать его заново, partition entry уже может получить другой идентификатор Посмотреть таблицу непосредственно можно: lsblk -o NAME,PARTUUID или: blkid -p /dev/nvme0n1p2 Где это становится особенно важным В Linux можно встретить: root=UUID=... в параметрах kernel command line А в некоторых конфигурациях используется: root=PARTUUID=... В первом случае kernel/initramfs ищет filesystem с определённым UUID Во втором - конкретный partition entry Поэтому после клонирования диска можно получить очень неприятную ситуацию: структура разделов и их PARTUUID скопированы, а UUID файловых систем тоже совпали В результате система или initramfs может обнаружить не тот экземпляр filesystem ⚡️Практическое правило: UUID отвечает на вопрос «какую файловую систему найти», а PARTUUID - «какой раздел найти» При диагностике загрузки, клонирования дисков и проблем с /etc/fstab важно сначала определить, какой именно идентификатор используется и к какому уровню устройства он относится
793
5
💬 Вопрос на собеседовании для сисадмина Давайте разберем один из частых вопросов, который может быть задан на собеседовании
💬 Вопрос на собеседовании для сисадмина Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать. ❓Вопрос: Что такое split-brain в кластере и почему он опасен? ✅Ответ: Split-brain - это состояние кластера, при котором его узлы теряют связь между собой, но несколько частей кластера продолжают считать себя активными и пытаются одновременно управлять одними и теми же ресурсами. Как это происходит: • Кластер из нескольких узлов теряет сетевую связь между ними. • Каждый узел видит, что остальные недоступны, и может решить, что именно он должен продолжать обслуживать ресурс. • Два узла начинают одновременно работать с общим хранилищем, виртуальной машиной или IP-адресом. • В результате возникают конфликты, повреждение данных или двойная запись.
958
6
opensnoop: кто постоянно открывает файлы Бывает приложение начинает тормозить из-за огромного количества файловых операций, х
opensnoop: кто постоянно открывает файлы Бывает приложение начинает тормозить из-за огромного количества файловых операций, хотя CPU и диск выглядят нормально Например, процесс может тысячи раз в секунду проверять один и тот же отсутствующий файл, конфигурацию или каталог opensnoop позволяет увидеть эти обращения непосредственно на уровне syscall open, openat и openat2 ⏺Смотрим, кто открывает файлы opensnoop В выводе будут PID, процесс, результат операции и путь PID COMM FD ERR PATH 4217 app 12 0 /etc/app/config.json 4217 app -1 2 /etc/app/cache.db 4217 app -1 2 /tmp/app.lock FD=-1 означает, что открыть файл не удалось, а ERR=2 соответствует ENOENT - файла не существует ⏺Почему ошибки открытия особенно интересны Допустим, приложение постоянно делает: openat("/etc/app/cache.db") → ENOENT openat("/etc/app/cache.db") → ENOENT openat("/etc/app/cache.db") → ENOENT Файл отсутствует, поэтому I/O данных практически нет, но приложение продолжает выполнять системные вызовы и проходить путь поиска BCC прямо отмечает такой сценарий как возможную причину проблем с производительностью. Можно оставить только неудачные открытия: opensnoop -x Или ограничиться конкретным процессом: opensnoop -p 4217 ⏺А если обращений слишком много Для приложения, которое делает тысячи операций в секунду, вывод каждой строки сам становится неудобным. Можно вместо этого агрегировать события через bpftrace bpftrace -e ' tracepoint:syscalls:sys_enter_openat { @[comm, str(args.filename)] = count(); }' После остановки получим не тысячи одинаковых строк, а статистику @[app, "/etc/app/config.json"]: 18432 @[app, "/tmp/app.lock"]: 9217 @[app, "/proc/self/status"]: 4081 bpftrace использует kernel tracepoint для openat() и позволяет собирать статистику непосредственно в ядре, а не просто печатать каждое событие ⏺Что искать в результате Особенно подозрительны огромные количества обращений к одному и тому же несуществующему файлу, постоянное чтение конфигурации вместо её кэширования, бесконечный поиск библиотек или конфигов по нескольким каталогам и приложения, которые постоянно открывают /proc и /sys Важно и то, что opensnoop показывает именно попытки открытия, а не только успешные операции - поэтому через него можно увидеть ошибки, которые обычный мониторинг диска вообще не заметит ⚡️Это хороший пример ситуации, когда проблема выглядит как «приложение просто тормозит», хотя причина находится намного ниже - в тысячах повторяющихся системных вызовов openat() и неудачных поисках файлов
801
7
Только 2% запросов к git.kernel.org приходят от людей Инфраструктура kernel.org обрабатывает около 6 млн запросов в день, но
Только 2% запросов к git.kernel.org приходят от людей Инфраструктура kernel.org обрабатывает около 6 млн запросов в день, но лишь 2% из них считаются запросами реальных пользователей. Остальные создают боты и скрапперы. Они перебирают старые коммиты и ветки, отправляя миллиарды запросов вместо обычного git clone. При этом используют миллионы случайных IP из домашних и мобильных сетей, поэтому блокировка по IP почти не работает. Даже Anubis, который заставляет клиентов выполнять вычислительную задачу, боты научились обходить. В результате на пяти серверах 14–16 из 90 CPU-ядер постоянно уходят на обслуживание скрапперов. Команде приходится ограничивать анонимный доступ и отключать ресурсоёмкие функции. Простого решения пока нет: ИИ-компаниям нужны данные, а боты продолжают адаптироваться.
989
8
lsof +L1: почему удалённый файл продолжает занимать место Бывает, что файл уже удалили, а df продолжает показывать занятое ме
lsof +L1: почему удалённый файл продолжает занимать место Бывает, что файл уже удалили, а df продолжает показывать занятое место Причина в том, что процесс всё ещё держит файл открытым Находим такие файлы lsof +L1 Например: java 4217 app 12w REG 8,1 21474836480 /var/log/app.log (deleted) Файл больше не виден в каталоге, но его inode и блоки всё ещё принадлежат процессу java Почему rm не освобождает место При удалении файл сначала теряет имя в файловой системе Но данные остаются доступны через уже открытый файловый дескриптор Условно: /var/log/app.log ↓ rm inode ─────→ процесс Пока процесс не закроет FD, ядро не сможет освободить занятые блоки Можно увидеть сам дескриптор ls -l /proc/4217/fd/12 Получим: /var/log/app.log (deleted) А иногда нужно срочно освободить место, но перезапускать процесс нельзя Тогда содержимое открытого файла можно обнулить через /proc : > /proc/4217/fd/12 Размер файла станет нулевым, при этом процесс продолжит использовать тот же FD ⚡️ Поэтому ситуация df показывает занято, а du не находит часто объясняется именно deleted-open файлами du уже не видит файл в каталоге, а ядро продолжает учитывать его блоки до закрытия последнего дескриптора
996
9
بدون متن...
1 199
10
systemctl cat: как найти реальную конфигурацию сервиса, когда файл выглядит нормально Иногда открываешь unit-файл и не находи
systemctl cat: как найти реальную конфигурацию сервиса, когда файл выглядит нормально Иногда открываешь unit-файл и не находишь параметр, который явно влияет на работу сервиса. Причина в том, что systemd собирает конфигурацию не только из основного файла. ⏺Смотрим итоговую конфигурацию systemctl cat nginx.service Команда покажет основной unit и применённые drop-in конфигурации. Например: /etc/systemd/system/nginx.service /etc/systemd/system/nginx.service.d/override.conf И в override.conf может находиться: [Service] LimitNOFILE=65535 Environment="APP_ENV=prod" Хотя в самом nginx.service этих параметров вообще нет. ⏺Находим все локальные изменения systemd-delta Она показывает unit-файлы, которые отличаются от поставленных системой, включая override. Для конкретного сервиса: systemd-delta nginx.service ⏺Проверяем, что systemd реально применил systemctl show nginx.service \ -p LimitNOFILE \ -p Environment \ -p FragmentPath \ -p DropInPaths Здесь уже отображается эффективное состояние запущенного unit, а не просто содержимое файла ⏺Почему это важно На production сервере сервис может вести себя иначе после локального override Например, основной unit говорит: User=nginx а drop-in меняет: [Service] User=app И если смотреть только основной файл, причина изменения останется незаметной. ⚡️При странном поведении systemd-сервиса полезно разделять две вещи: что написано в unit-файле и какую конфигурацию PID 1 реально применил. systemctl cat, systemd-delta и systemctl show позволяют увидеть эту разницу
1 420
11
MinIO больше не развивается Патчи безопасности не выпускают, Обновления и железо не тестируют. Если у вас петабайты данных в
MinIO больше не развивается Патчи безопасности не выпускают, Обновления и железо не тестируют. Если у вас петабайты данных в S3-хранилище — это уже не гипотетический риск, а вопрос времени. 3 сентября на вебинаре разберем, как перенести данные из устаревшего хранилища (на примере MinIO) в другое S3-совместимое — без остановки сервиса. Что будет: — что переносится при миграции: объекты, версии, ACL, bucket-policy, lifecycle, теги, ссылки — и что остается вне переноса (незавершённые multipart-загрузки) — как устроено техническое переключение: минимальное окно на смену endpoint, параллельная работа приложений на обоих хранилищах без ограничений на операции — что происходит при сбоях и разрывах синхронизации — почему перенос продолжается с точки останова, а не начинается заново — как считается стоимость перехода в зависимости от объема данных и масштаба инфраструктуры — техническое демо: от подключения источника до полного переключения трафика Полезно DevOps- и SRE-инженерам, ИТ-директорам и компаниям, для которых остановка сервиса недопустима даже на время миграции. 📅 3 сентября, 16:00 мск Регистрация
1 327
12
💬 Вопрос на собеседовании для DevOps-инженера Давайте разберем один из частых вопросов, который может быть задан на собеседо
💬 Вопрос на собеседовании для DevOps-инженера Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать. ❓Вопрос: Что такое file descriptor leak и как его обнаружить в Linux? ✅Ответ: File descriptor leak - это ситуация, когда процесс открывает файлы, сокеты, pipes или другие ресурсы, но не закрывает их после использования. Со временем количество открытых дескрипторов растёт, пока процесс или вся система не упрётся в лимит. Как это проявляется: • новые файлы или соединения перестают открываться с ошибкой Too many open files • процесс продолжает работать, но постепенно потребляет всё больше FD • особенно часто проблема возникает в долгоживущих сервисах и сетевых приложениях Диагностика: ls /proc/$PID/fd | wc -l lsof -p $PID cat /proc/$PID/limits | grep "open files"
1 293
13
Хочешь прокачать знания в DevOps? Но не знаешь где взять информацию и четкий план? 👍Рекомендуем бесплатный мета-курс Devops
Хочешь прокачать знания в DevOps? Но не знаешь где взять информацию и четкий план? 👍Рекомендуем бесплатный мета-курс Devops Roadmap - это расширенный чек-лист, который поможет вам сориентироваться в мире DevOps и стать крутым спецом. В мета-курсе перечислены все основные разделы и навыки, которыми должен обладать DevOps инженер: от Linux до программирования. ✅Он будет полезен при подготовке к собеседованиям. 📅А еще у автора есть крутые практические курсы на собственной платформе и программа наставничества. Узнать больше #реклама 16+ platform.lifeisfile.com О рекламодателе
892
14
Transient units: сервисы, которых вообще нет в /etc/systemd/system Не каждый systemd unit существует как файл на диске. Trans
Transient units: сервисы, которых вообще нет в /etc/systemd/system Не каждый systemd unit существует как файл на диске. Transient unit создаётся прямо во время работы системы и может появиться без собственного файла в /etc/systemd/system Например: systemd-run --unit=backup-now /usr/local/bin/backup.sh После этого появляется unit: systemctl status backup-now.service Но поиск файла ничего не даст: find /etc/systemd/system -name '*backup-now*' Потому что конфигурация существует только в памяти systemd. ⏺Как найти такие unit systemctl list-units --type=service --all Для конкретного unit: systemctl show backup-now.service Можно увидеть реальные параметры запуска: systemctl show backup-now.service \ -p Transient \ -p ExecStart \ -p User \ -p MainPID Если: Transient=yes значит unit был создан runtime ⏺Откуда они появляются Transient units создают не только вручную через systemd-run Их могут использовать скрипты, оркестраторы, CI/CD и другие сервисы, которым нужно запустить процесс под управлением systemd без создания постоянного unit-файла. Например, с временными ограничениями ресурсов: systemd-run \ --unit=test-job \ -p MemoryMax=2G \ -p CPUQuota=50% \ /usr/local/bin/task.sh В таком случае systemd создаёт service и cgroup на время выполнения задачи. ⏺Почему это важно при диагностике Можно увидеть запущенный процесс в: systemctl status но не найти его unit в /etc/systemd/system И начать искать «потерянный» конфигурационный файл Проверить происхождение unit можно напрямую: systemctl show <UNIT> -p Transient -p FragmentPath У transient unit Transient=yes, а FragmentPath обычно не указывает на обычный unit-файл ⚡️Поэтому наличие systemd-сервиса ещё не означает, что его конфигурация лежит на диске - часть unit может существовать только в runtime state PID 1
1 096
15
بدون متن...
1 406
16
tc filter: когда пакет меняется ещё до выхода из интерфейса Иногда маршрут выбран правильно, firewall ничего не блокирует, но
tc filter: когда пакет меняется ещё до выхода из интерфейса Иногда маршрут выбран правильно, firewall ничего не блокирует, но трафик всё равно уходит не таким, каким его отправляет приложение. Между сетевым стеком и интерфейсом пакет может пройти через tc — Traffic Control Смотрим, есть ли вообще правила tc filter show dev eth0 Если используется ingress: tc filter show dev eth0 ingress На современных системах правила могут быть привязаны к разным hook и chain, поэтому полезно сначала посмотреть всю конфигурацию интерфейса: tc -s filter show dev eth0 Например, можно обнаружить filter, который выполняет действие над пакетом ещё до его фактической отправки. Что именно может делать filter Через actions пакет можно перенаправить: action mirred egress redirect dev ifb0 Зеркалировать на другой интерфейс: action mirred egress mirror dev eth1 Или изменить его поля через pedit. Например, переписать TTL или DSCP. Поэтому приложение может отправить обычный пакет, но на физический интерфейс он попадёт уже после обработки tc. Смотрим actions подробнее tc -s filter show dev eth0 egress -s добавляет статистику. Если у конкретного filter растут Sent, bytes или packets, правило реально обрабатывает трафик Это полезнее простого просмотра конфигурации: сразу видно, какой filter участвует в обработке прямо сейчас Почему это сложно заметить ip route get покажет правильный интерфейс iptables или nftables могут быть пустыми Но пакет всё равно может: eth0 → tc filter → redirect → ifb0 или: application → tc filter → изменение полей → eth0 Особенно часто это встречается на серверах с QoS, Kubernetes CNI, виртуализацией и BPF-программами. ⚡️При странном поведении трафика полезно смотреть не только route и firewall, но и tc qdisc, tc filter и счётчики actions - пакет может изменить или направление, или параметры уже внутри сетевого стека Linux
1 354
17
Что может скрывать реальное потребление памяти контейнером?
1 489
18
systemd-run --scope: как запустить команду под контролем cgroup Обычный запуск команды из shell никак не даёт ей отдельного s
systemd-run --scope: как запустить команду под контролем cgroup Обычный запуск команды из shell никак не даёт ей отдельного systemd unit ./backup.sh Процесс просто становится частью cgroup текущего shell systemd-run --scope создаёт для уже запускаемой команды отдельный scope и помещает её под контроль systemd systemd-run --scope ./backup.sh Теперь у процесса появляется собственная cgroup, которую можно увидеть: systemctl status run-*.scope Временно ограничиваем ресурсы Например, не даём задаче использовать больше двух CPU: systemd-run --scope -p CPUQuota=200% ./backup.sh Или ограничиваем память: systemd-run --scope -p MemoryMax=2G ./backup.sh Это удобно для тяжёлых задач, которые не хочется превращать в постоянный unit Проверяем, что ограничение реально применилось systemd-cgls Или для конкретного scope: systemctl show run-*.scope \ -p ControlGroup \ -p MemoryCurrent \ -p MemoryMax Можно увидеть отдельную cgroup и текущее потребление ресурсов --scope и обычный systemd-run - не одно и то же systemd-run ./backup.sh создаёт transient service, которым systemd управляет как сервисом А: systemd-run --scope ./backup.sh создаёт scope для процесса, который запускается непосредственно от текущего окружения Это важно для интерактивных задач, отладки и временных ограничений ⚡️systemd-run --scope позволяет быстро изолировать одну тяжёлую команду по CPU, памяти или другим cgroup-ресурсам без создания unit-файла и изменения конфигурации сервера
1 441
19
Энтузиасты запустили LunaStore - современную реинкарнацию каталога приложений Windows XP. Главная особенность - проект действ
Энтузиасты запустили LunaStore - современную реинкарнацию каталога приложений Windows XP. Главная особенность - проект действительно работает на Internet Explorer 6. Через родной браузер можно скачивать и оценивать приложения. Каждая публикация проходит проверку VirusTotal, а программы тестируются на Windows XP SP3. Доступны разные версии приложений и несколько вариантов загрузки: с серверов LunaStore, зеркал или напрямую с сайта разработчика. ⏺Проект полностью Open Source: бэкенд написан на Django, CDN LunaSpire - на Go. Есть собственная API-документация и возможность быстро развернуть свой инстанс через ./setup.sh. По сути, это полноценная экосистема приложений для тех, кто продолжает использовать старое железо и Windows XP.
1 440
20
Бесплатные IT-курсы, которые не стыдно положить в закладки 👇 На канале Lab IT уже выложены: ● Симулятор SQL — практика как у
Бесплатные IT-курсы, которые не стыдно положить в закладки 👇 На канале Lab IT уже выложены: ● Симулятор SQL — практика как у настоящего аналитика ● Roadmap Python backend: от нуля до Junior ● Полное руководство по Python (87 уроков, 30+ часов) ● Курсы по DevOps, Docker, Git и Linux ● Подготовка к собеседованиям Java / QA И так — каждую неделю. Без воды, без «войти в IT за 3 дня». 📂 Подписаться: https://t.me/+Em0WHNORbUY3ZGQy
1 470