Как обнаружить пакет Debian, который больше не нужен после обновления его ранее зависимого пакета?

Вам нужно использовать $для расширения temp в оболочке. (Поскольку ваш сценарий написан, вы пытаетесь сравнить литеральную строку tempс целым числом0). Вы также должны процитировать его:

x=5.44
p=0
temp=$(printf "%.*f\n" $p $x)
echo "$temp"
if [ "$temp" -gt 0 ]
then
  echo "inside"
fi

Если вы используете bash, лучшим способом сделать это будет использование арифметического выражения bash, например:

x=5.44
p=0
temp=$(printf "%.*f\n" $p $x)
echo "$temp"
if ((temp>0)); then
  echo "inside"
fi

Внутри арифметического выражения ((…))вам не нужен $для расширения, и вы не можете заключать в кавычки.

1
03.03.2020, 13:06
2 ответа

Я считаю, чтоapt removeявляется эквивалентом Debian для Arch pacman -Qdtq, который просто запрашивает пакеты, которые больше не требуются в качестве зависимостей. Чтобы удалить их, я подозреваю, вам придется запустить что-то вроде

apt remove $(apt autoremove)

(что касается Arch, вам нужно запустить что-то вродеpacman -R $(pacman -Qdtq)).

Что касается автоматического удаления этих пакетов, я не уверен в изменении конфигурации apt, но вы можете добавить приведенную выше строку в свой .bashrc.

Отказ от ответственности :Я не делал этого в Debian, но я использовал Arch, чтобы делать то, что вы хотите.

-1
28.04.2021, 23:21

Ваш пакет Bar, вероятно, закончился в состоянии manual, а не в auto, что можно подтвердить, если он найден в выводе команды:

apt-mark showmanual

и поэтому больше не обрабатывается apt-get autoremove.

Для поиска таких пакетов можно использовать инструментdeborphanиз пакета deborphan. Он не использует статус пакета manualдля своей эвристики.

program that can find unused packages, e.g. libraries

deborphan finds "orphaned" packages on your system. It determines which packages have no other packages depending on their installation and shows you a list of these packages. It is most useful when finding libraries, but it can be used on packages in all sections.

Имейте в виду, что это также может давать ложные срабатывания, особенно для библиотек плагинов, (библиотеки, которые можно удалить, не вызывая проблем с зависимостями, но их удаление где-то удалит функцию ).

Вы можете использовать результаты, полученные с помощью deborphan, чтобы удалить пакеты самостоятельно, или пометить их обратно как autoс помощью

.
apt-mark auto package1 package2...

для дальнейшей обработки apt-get autoremove.

2
28.04.2021, 23:21

Теги

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