对于我安装的每个包,我想知道如果卸载它会安装哪些包。我需要的输出示例是 ( package: list of deps
):
abc: foo bar
bcd: baz abc
bdd: baz fuubar
Run Code Online (Sandbox Code Playgroud)
附加
如果我检查如果我ppp
使用apt-get
以下方法删除包,真的会删除什么:
$ echo $(apt-get --dry-run remove ppp | grep '^Remv ' | cut -d' ' -f2)
gnome-ppp mint-meta-xfce network-manager-pptp-gnome network-manager-pptp wvdial pppoeconf pppoe pptp-linux pppconfig ppp
Run Code Online (Sandbox Code Playgroud)
我看到它与apt-cache
show 给我的不同(我认为不包括递归依赖项):
$ apt-cache show ppp | grep '^Breaks: '
Breaks: network-manager (<= 0.8.0.999-1), network-manager-pptp (<= 0.8.0.999-1), pppdcapiplugin (<= 1:3.9.20060704+dfsg.1-1)
Run Code Online (Sandbox Code Playgroud)
附加 2
是否dpkg --get-selections | cut -f1
有一种可靠的方法来获取要迭代的已安装软件包列表?
简而言之,我希望能够设置包,abc
以便:
apt-get remove abc
应该失败。apt-get purge abc
应该失败。apt-get upgrade abc
应该管用。如果包依赖项发生变化,因此abc
应该在dist-upgrade
我很高兴被迫做某事然后dist-upgrade
再次卸载。
安装 Linux Mint Debian 版本后,我的 .config/user-dirs.dirs 如下所示:
# This file is written by xdg-user-dirs-update
# If you want to change or add directories, just edit the line you're
# interested in. All local changes will be retained on the next run
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
# absolute path. No other format is supported.
#
XDG_DESKTOP_DIR="$HOME/Desktop"
XDG_DOWNLOAD_DIR="$HOME/Downloads"
XDG_TEMPLATES_DIR="$HOME/Templates"
XDG_PUBLICSHARE_DIR="$HOME/Public"
XDG_DOCUMENTS_DIR="$HOME/Documents"
XDG_MUSIC_DIR="$HOME/Music"
XDG_PICTURES_DIR="$HOME/Pictures"
XDG_VIDEOS_DIR="$HOME/Videos"
Run Code Online (Sandbox Code Playgroud)
这个想法是应用程序应该能够为不同类型的内容找到合适的目录,同时仍然可以让用户选择目录名称(例如,用户可能希望对其进行本地化)。例如,$(xdg-user-dir DESKTOP)
如果定义了桌面文件,则Gnome …