有没有办法获取我已安装的所有软件包名称的列表此外和我的 Ubuntu 副本一起附带的那些?
我在的手册文件下没有找到选项apt
,dpkg
但apt-get
它们似乎可以实现这种功能。
编辑以澄清:假设 Ubuntu 附带软件包一、二、三、四、五我手动安装了软件包x,y,z,我怎样才能获得x,y,z?
答案1
我相信有更好的方法可以做到这一点,但这个方法有效。
首先下载适用于你的 Ubuntu 版本的 Ubuntu 清单文件
wget -c "releases.ubuntu.com/$(lsb_release -r -s)/ubuntu-$(lsb_release -r -s)-desktop-$(dpkg --print-architecture).manifest" -O ubuntu.manifest
然后生成系统中的软件包列表并将其保存在名为installed
dpkg-query -W -f='${binary:Package}\t${Version}\n' > installed
然后将此 Python 代码复制并粘贴到文件中命名pkg-diff.py
(或任何你想要的名字)
f = open('ubuntu.manifest', 'r')
default = []
for line in f:
default.append(line.split('\t')[0])
f2 = open('installed', 'r')
installed = []
for line in f2:
installed.append(line.split('\t')[0])
extras = list(set(installed) - set(default))
print("\n".join(extras))
最后使用终端中的命令执行python脚本。
python3 ./pkg-diff.py
它应该为您提供您另外安装的软件包的列表。
笔记:所有文件都应位于同一目录中。