我使用以下命令在 Ubuntu 上安装了 Visual Studio Code:
sudo apt install ./code_1.37.1-1565886362_amd64.deb
然后我找到了这些命令来尝试查找有关该包的更多信息:
dpkg -l dirmngr
systemctl --user status dirmngr
apt-cache search code
我仍然在我的 ubuntu 应用程序 gui 上看到它,但在卸载选项中找不到它。我还尝试删除 .deb 文件。我可以使用什么工具来查看这些包裹详细信息?如何完全删除这个已安装的程序?是否有 .deb 文件安装到的文件夹?它会出现在/bin 中吗?
答案1
dirmngr
看到您搜索的模式,我也很困惑。
1.但是,如果您.deb
安装了一个文件,但不知道它对应的实际包是什么,您可以运行dpkg-deb -W
。
只是为了说明,举epson-printer-utility_1.0.2.deb
个例子:
$ ls *.deb
epson-printer-utility_1.0.2.deb
$ sudo dpkg-deb -W epson-printer-utility_1.0.2.deb
epson-printer-utility 1.0.2-1lsb3.2
2.有趣的是,尝试从原始 .deb 文件名中找出安装了什么软件包从来都不是一个好主意,因为如果您只是制作一个副本并给它一个不同的名称:
$ cp epson-printer-utility_1.0.2.deb abcde.deb
$ sudo dpkg-deb -W abcde.deb
epson-printer-utility 1.0.2-1lsb3.2
3.最后,如果您想查找给定 .deb 中的所有信息,尤其是是否已安装该特定软件包,您可以sudo dpkg-query -s [package name given by dpkg-deb]
一步运行 或 (将“abcde.deb”替换为您的 .deb 文件,如果有空格则输入“”):
sudo dpkg-query -s $(dpkg-deb -f abcde.deb | grep "Package" | cut -d: -f2)
Package: epson-printer-utility
Status: install ok installed
Priority: extra
Section: alien
Installed-Size: 10652
Maintainer: Seiko Epson Corporation <[email protected]>
Architecture: amd64
Version: 1.0.2-1lsb3.2
Depends: lsb (>= 3.2)
Description: Epson Printer Utility for Linux
更新
对于最后一个命令,“通常”也可以使用稍微缩短的版本:
dpkg-query -s $(dpkg-deb -W abcde.deb |cut -f1)
只要因为有人不会疯狂地创建一个[TAB]
名称中插入的包,因为CTRL+VTAB文件名实际上可以看起来像这样:
$ cp abcde.deb "abc de.deb"
$ ls
'abc'$'\t''de.deb' abcde.deb
但它仍然会按预期工作:
$ dpkg-deb -W 'abc'$'\t''de.deb'
epson-printer-utility 1.0.2-1lsb3.2