我如何检查我是否安装了任何 Universe 或 Multiverse 软件包,根据/etc/apt/sources.list
,这些软件包“完全不受 Ubuntu 团队支持”?
我正在寻找一个 Ubuntu 18 LTS 服务器(无 GUI)的命令行,用于按组件列出已安装的软件包,包括无法从 获得的已安装软件包apt-get
(不是 中配置的存档的一部分/etc/apt/sources.list
)。
aptitude versions '?name(.)'
列出可用的软件包及其安装状态,但不输出它们的源组件,也不输出apt-cache
。
答案1
您可以使用ubuntu-support-status
命令
$ ubuntu-support-status --help Usage: ubuntu-support-status [options] Options: -h, --help show this help message and exit --show-unsupported Show unsupported packages on this machine --show-supported Show supported packages on this machine --show-all Show all packages with their status --list Show all packages in a list
与相应的参数--show-unsupported
。
下面是我的 16.04.5 LTS 系统中的示例:
$ ubuntu-support-status --show-unsupported Support status summary of 'hostname': You have 94 packages (1.9%) supported until April 2021 (Community - 5y) You have 2668 packages (54.0%) supported until April 2021 (Canonical - 5y) You have 647 packages (13.1%) supported until April 2019 (Community - 3y) You have 79 packages (1.6%) that can not/no-longer be downloaded You have 1456 packages (29.4%) that are unsupported No longer downloadable: acroread acroread-bin:i386 cpp-4.4 cpp-4.5 cpp-4.6 ... Unsupported: abiword-plugin-grammar adequate aglfn alien android android-tools-adb android-tools-fastboot ant ant-optional antiword apt-file ... y-ppa-manager yad zenmap
(我添加了...
以限制行数)。
答案2
sudo apt install synaptic
打开 Synaptic 包管理器。转到“Origin”(左下角)。
答案3
Debian 维基展示如何区分本地包和非本地包。
如果您想查看和已安装包之间的关系sources.list
,可以使用dpkg --get-selections
和apt-cache show
和apt-get update
。
或者使用 curl 在包数据库中搜索。
在 Fedora/RHEL 中有一个用于验证文件是否来自受支持的软件包的工具。
答案4
我最终做了什么来获得一份可读的列表,列出了所有未完全支持且没有混乱的内容:
# sed removes summary lines and packages supported for five years
# and prints one line per not fully supported package:
ubuntu-support-status --show-all | sed '0,/summary/ d; /^Support.*5y/,/^$/ d; /^You have/,/^$/ d; /:/ n; s- $--; s- -\n-g'
No longer downloadable:
Unsupported:
cgroup-tools
...
Supported until April 2021 (Community - 3y):
fonts-dejavu
libx86-1
openjdk-8-jre
openjdk-8-jre-headless