我使用的是Linux Mint 18 Cinnamon 64位。
我的系统上有这些的二进制文件7z
及其版本:
/usr/bin/7z
7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18
和
/usr/local/share/PeaZip/res/7z/7z
7-Zip [32] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
由于我一直在使用后者,因此编写完整的路径变得越来越烦人。
我应该定义一个alias
还是有一种更清洁的方法?
一种在Debian中用另一种替换二进制文件,以使其在软件包更新后仍然存在的方法(例如,替换BIND软件包的初始化文件),是在进行文件转移。
基本上,文件转移会将原始文件安装/移动到另一个位置,并指示程序包管理系统将对该文件的任何后续安装更新放置到新位置,而保持原始位置不变。
根据Debian政策手册-diversions,在您的情况下:
dpkg-divert --divert /usr/local/share/PeaZip/res/7z/7z.old --rename /usr/bin/7z
cp /usr/local/share/PeaZip/res/7z/7z /usr/bin/7z
要删除转移,请执行以下操作:
dpkg-divert --remove /usr/bin/7z
在尝试转移之前,请先制作两个二进制文件的备份副本。
有关更多命令,请参见:用dpkg-divert替换二进制文件和文件。
另一个更容易的选择是保留原始软件包,例如,告诉软件包管理器不要对其应用更新,并像下面这样复制新的二进制文件:
echo "p7zip hold" | dpkg --set-selections
或更简单:
apt-mark hold p7zip
另一个更清洁的选择是使用新的p7zip版本构建deb,但是由于方法和特定步骤随软件包的不同而不同,因此在此不再赘述。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句