Как определить, какие привязки являются зависимостями, а какие установлены вручную
Я установил несколько пакетов snap (snap install …
). я могу использоватьsnap list
перечислить их. Однако я не могу сказать, какие из них были установлены вручную, а какие были установлены, потому что от них зависят другие пакеты (auto
в кв). Я хочу удалить автоматически установленные пакеты (apt autoremove
в кв), (docker system prune
в докере).
4 ответа
snap connections | grep XYZ
где XYZ — это пакет, зависимости которого вы хотите проверить.
Например, у меня есть куча версий Gnome в/snap
каталог. Я не знаю, что оставить, а от чего избавиться. Поэтому по прихоти я удалил «старые» версии. Затем выясняется, что некоторые программы больше не запускаются, потому что они зависели от удаленных версий Gnome.
user@~ $simplenote
ERROR: not connected to the gnome-3-28-1804 content interface.
Это плохой способ узнать, что вы удалили что-то, что нужно другим приложениям.
Когда я делаюsnap connections | grep gnome
, вывод включает следующие строки:
user@~ $snap connections | grep gnome
content[gnome-3-38-2004] firefox:gnome-3-38-2004 gnome-3-38-2004:gnome-3-38-2004 -
content[gnome-3-28-1804] simplenote:gnome-3-28-1804 gnome-3-28-1804:gnome-3-28-1804 -
Это указывает на то, что версии Gnome 3.28 и 3.38 все еще используются некоторыми программами и не должны удаляться.
Насколько я могу судить, в настоящее время нет функции обрезки/автоматического удаления, но вы можете попробовать
snap connections
В нем будут перечислены соединения, которые различные привязки обеспечивают и имеют друг с другом и с системой, поэтому вы можете попытаться выяснить, какие из них не связаны каким-либо значимым образом с чем-либо, что вам действительно нужно, и
Престижность этому ответу за то, что он указал мне правильное направление.
I could do a script to show unconnected snaps:
show-unconnected-snaps
#!/bin/bash
list_connected_snaps_sorted() {
snap connections \
| tail -n +2 \
| awk '{print $1}' \
| sort \
| uniq
}
list_all_snaps_sorted() {
snap list \
| tail -n +2 \
| awk '{print $1}' \
| sort
}
echo "Unconneted snaps:"
(
diff -U0 -u \
<(list_connected_snaps_sorted) \
<(list_all_snaps_sorted) \
) \
| grep '^+' \
| tail -n +2 \
| cut -c2-
hopeit helps
snap remove <snap name>
Является кувалдой, но не сможет указать зависимость, если она существует.
Например, при установленной оснастке firefox попытайтесь удалить ее основную структуру:
snap install firefox
snap remove core20
Состояния ошибок
snap is being used by firefox
.
Есть также более мягкие зависимости, которые находятся в соединениях, например
snap install firefox
snap connections | grep gtk-common-themes
snap remove gtk-common-themes