Список всех доступных исходных пакетов, у которых нет бинарных пакетов

I'm trying to set per-user limits on processes, most of them are run with sudo --user.

Why do user-1001 and user-1008 on my system have the slice files units, but I can't get it on 1009?

Если вы сейчас не используете процессы с UID 1009,тогдаsystemd(или техническиlogind)не запустит слайс для этого UID.

Кроме того, даже если вы успешно примените какие-либо настройки во время запущенных процессов, они будут потеряны, если все процессы перестанут выполняться. Потому что блок слайсов будет снова остановлен. Иногда это может быть то, что вы хотите, но мне кажется, что это может быть очень запутанным.

Было бы разумнее добавить нужные параметры в перетаскивание -в конфигурационном файле, например. /etc/systemd/system/user-1009.slice.d/cpuquota.conf.

Используйте systemd-analyze verify user-1009.sliceдля проверки файла конфигурации и systemctl daemon-reloadдля его загрузки. Я думаю, что обновленная конфигурация не вступит в силу до тех пор, пока блок слайсов не будет остановлен. Вы также можете перезапустить блок слайсов вручную, но это убьет все процессы, запущенные внутри него.


Если у вас нет user-1009.slice, когда ваши процессы запущены , это потому, что процессы этого пользователя на самом деле не выполняются внутри pam_systemd. Возможно, это связано с тем, что они еще не начали использовать PAM. Также это может быть связано с тем, что «служба» PAM не настроена на использование pam _systemd.

sudo/ suв Linux следует использовать PAM. И в конфигурациях, которые я видел в ОС на базе RedHat и Debian, он использует pam_systemd. Но есть и третий случай, когда pam_systemdне вступит в силу :, если вы запускаете команду внутри существующего пользовательского сеанса. См.https://github.com/systemd/systemd/issues/7451

Этот последний пункт объясняет некоторое запутанное поведение su, то есть почему вы не видели никаких процессов в user-1009.sliceпри ручном запуске su - user-1009.

0
03.06.2021, 16:35
1 ответ

Насколько мне известно, все пакеты с исходным кодом в Debian должны создавать хотя бы один бинарный пакет по крайней мере для одной архитектуры.

Чтобы подсчитать количество двоичных пакетов, созданных исходными пакетами, доступными в настроенных исходных репозиториях системы (deb-src, строки ), запустите

awk '/Package:/{p=$2;b=0} /Binary:/{b=NF - 1} /^$/{printf "%s: %d\n", p, b} END{printf "%s: %d\n", p, b}' /var/lib/apt/lists/*Sources

При этом не удается найти исходный пакет без двоичных пакетов в текущих стабильных, тестовых, нестабильных и экспериментальных репозиториях.

Если вы хотите определить, какие пакеты с исходным кодом не создают двоичных файлов для данной архитектуры, вы можете действовать следующим образом:

  • глобальный список уникальных имен исходных пакетов:

    awk '/Package:/{print $2}' /var/lib/apt/lists/*_Sources | sort -u > source-packages
    
  • список пакетов с исходным кодом, используемых для создания двоичных файлов данной архитектуры (, за исключением all, который включен в индексы, специфичные для архитектуры -):

    awk '/(Package|Source):/{source=$2}/Version:/{print source}' /var/lib/apt/lists/*-amd64_Packages | sort -u > amd64-packages
    
  • список записей, присутствующих в списке глобальных исходных пакетов, но не используемых дляamd64:

    comm -23 source-packages amd64-packages
    
1
28.07.2021, 11:27

Теги

Похожие вопросы