我需要从头开始重新安装 wine,因此我首先决定卸载当前版本,然后运行命令
sudo apt-cache pkgnames wine
在运行以下任何一项之前和之后:
sudo apt-cache --purge remove wine1.4
sudo apt-cache --purge remove wine1.6
sudo apt-cache --purge remove wine1.7
导致相同的包列表,所以我怎么知道执行apt-cache remove
实际上已经卸载了我命令的包?
该选项难道不应该--purge
意味着完全删除 wine(包括 wine1.7-dbg、wine1.7dev 和其他几个文件)吗?
答案1
删除软件包的正确命令是,例如
sudo apt-get --purge remove wine1.4
和不是
sudo apt-cache --purge remove wine1.4
--purge
如果其他包不依赖于此包,则不会删除其他包。
该命令sudo apt-cache pkgnames wine
仅打印已知包而不是安装状态:
从man apt-cache
,
pkgnames [前缀] 此命令打印APT 知道每个软件包。 可选参数是用于过滤名称列表的前缀匹配。 输出适合在 shell tab 中使用完整的功能和 输出生成速度极快。此命令最好与 --generate 选项。
要显示安装状态,您可以使用apt-cache policy
:
$ apt-cache policy wine
wine:
Installed: (none)
Candidate: 1:1.7.44-0ubuntu1
Version table:
1:1.7.44-0ubuntu1 0
500 http://ppa.launchpad.net/ubuntu-wine/ppa/ubuntu/ wily/main amd64 Packages
1:1.6.2-0ubuntu10 0
500 http://archive.ubuntu.com/ubuntu/ wily/universe amd64 Packages
或者dpkg -l
$ dpkg -l | grep wine
rc wine1.6 1:1.6.2-0ubuntu10 amd64 Microsoft Windows Compatibility Layer (Binary Emulator and Library)
rc wine1.6-amd64 1:1.6.2-0ubuntu10 amd64 Microsoft Windows Compatibility Layer (64-bit support)
rc wine1.6-i386:i386 1:1.6.2-0ubuntu10 i386 Microsoft Windows Compatibility Layer (32-bit support)
ii wine1.7 1:1.7.44-0ubuntu1 amd64 Microsoft Windows Compatibility Layer (Binary Emulator and Library)
ii wine1.7-amd64 1:1.7.44-0ubuntu1 amd64 Microsoft Windows Compatibility Layer (64-bit support)
ii wine1.7-i386:i386 1:1.7.44-0ubuntu1 i386 Microsoft Windows Compatibility Layer (32-bit support)
ii winetricks 0.0+20141009+svn1208-2ubuntu1 all Microsoft Windows Compatibility Layer (winetricks)
答案2
摘自 apt-get 的手册页:
purge is identical to remove except that configuration files are deleted too.
它不会删除比普通包更多或更少的包remove
。
但要删除已安装的其他软件包依赖项之后您可以运行此命令:
sudo apt-get --purge autoremove
再次引用手册页:
autoremove
autoremove is used to remove packages that were automatically
installed to satisfy dependencies for other packages and are now no
longer needed.