操作系统:Linux Mint 18 Cinnamon 64 位。
由于我已经安装了以下应用程序的打包版本:
file-roller
这是 Archive Manager,我还安装了编译版本,我想确保编译版本优先。
我有 2 个名为 Archive Manager 的菜单项:
/usr/share/applications/file-roller.desktop
/usr/share/applications/org.gnome.FileRoller.desktop
我可能可以删除其中之一。
which file-roller
说:
/usr/local/bin/file-roller
这是我编译的版本:
file-roller 3.27.0, Copyright © 2001-2012 Free Software Foundation, Inc.
但仍然有打包版本:
file-roller 3.16.5, Copyright © 2001-2012 Free Software Foundation, Inc.
看来,当我在 GUI 中请求打开例如 ZIP 文件时,会显示编译版本,我只想确保它的行为一致。
我尝试卸载打包版本:
sudo apt-get purge file-roller
结果:
[sudo] password for vlastimil:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
librpm3 librpmio3 lzop rpm-common rpm2cpio
Use 'sudo apt autoremove' to remove them.
The following packages will be REMOVED:
file-roller* mint-meta-cinnamon* nemo-fileroller*
The following held packages will be changed:
file-roller
0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded.
After this operation, 2,048 kB disk space will be freed.
Do you want to continue? [Y/n] n
Abort.
如您所见,它将删除:
mint-meta-cinnamon
和
nemo-fileroller
除了鞋底file-roller
。
所以我把包裹搁置起来,直到有人告诉我如何继续。
答案1
如果您查看文件的内容.desktop
,您会发现它们没有指定要运行的命令的路径。所以它们根本不影响优先级。这里唯一重要的方面是您的目录中的顺序PATH
,无论如何它都应该在/usr/local/bin
前面/usr/bin
。 (这解释了您所看到的行为。)
因此,您可以保留已安装的软件包,并且仍然确保将使用您的编译版本。
如果您想避免安装两个版本,您应该使用equivs
构建一个假file-roller
包(避免删除依赖于它的包),或者自己构建一个更新版本的包。