apt-mark
и подобное программное обеспечение может отметить пакеты, как автоматически установлено, но может это быть сделанным во время самой установки, чего-то сродни apt install --mark-auto packages [...]
?
Нет, необходимо работать как отдельный вызов команды apt-mark auto ..
. Даже его действие было удалено от apt-get
.
$ sudo apt-get markauto
Reading package lists... Done
Building dependency tree
Reading state information... Done
N: This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' instead.
E: Handler silently failed
Действительно кажется, что нет никакого встроенного способа сделать это. Таким образом, я записал немного сценария, который делает задание.
#!/bin/bash -e
NEW_DEPS=$(comm -23 <(xargs -n1 <<< "$@" | sort) <(apt-mark showmanual | sort))
apt install $NEW_DEPS
apt-mark auto $NEW_DEPS
Это сначала отфильтровывает любые пакеты, которые уже установлены вручную, и затем устанавливает остальных, устанавливая их на автоматически установленный впоследствии.
я обычно использую это для временной установки зависимостей от сборки. Предположим, что мне нужны пакеты A
, B
и C
, чтобы создать что-то и иметь выше сценария, доступного как autoinstall
. Я могу затем использовать следующую процедуру, чтобы помешать зависимостям от сборки оставаться в моей системе после сборки.
sudo autoinstall A B C
# build stuff...
sudo apt autoremove