检查包名称列表中的有效名称

检查包名称列表中的有效名称

我有一个相对成熟的 bash 安装脚本,用于在新安装的 Debian 上安装我的标准软件。它主要由apt-get install -f -y线条组成。我在 Debain 8 中启动了它,最近在设置 Debian 9 时我注意到一些软件包名称发生了变化。如果我的脚本中的包名称仍然有效或名称已更改,是否有一种有效的方法来检查所有这些包?或者我必须手动检查它们?

答案1

您可以使用返回代码apt-cache show(假设您已经apt update先执行过)。

$ apt-cache show curl > /dev/null 2>&1; echo $?
0
$ apt-cache show foo > /dev/null 2>&1; echo $?
100

答案2

如果您使用的是 Debian 9 并且它有您想要的软件包,您可以使用转储它们dpkg并完全忽略您的列表,

dpkg --get-selections > packages.txt

然后您可以使用以下命令将系统恢复到准确的配置:

dpkg --set-selections - < packages.txt
apt-get dselect-upgrade

相关内容