是否会在升级时替换由存储库安装的程序上的手动安装程序?
我从apt-get安装了Eclipse,但是我需要Mars版本所以我遵循了这个指南 ,但我忘了先删除旧版本。 如果存储库中出现了新版本,它是否会恢复我在Unity / desktop中安装的Eclipse版本。 另外,如果我通过apt-get删除,它会删除我创建的链接吗? 依赖关系怎么样?
提前致谢。
一如既往,这取决于。 这是从源安装时潜在的问题之一,库和二进制文件的名称和位置可能在apt(apt-get)和sudo make install
之间发生冲突
有两种通用解决方案:
首先 – 将源代码安装到/usr/local
– 最小化与/usr
系统文件的冲突
这就是我一般所做的
./configure --prefix=/usr/local make sudo make install
第二 – 可能更好,使用check install
sudo apt-get install checkinstall ./configure make sudo checkinstall
这会从您的源代码中生成.deb,因此可以更好地使用apt
。 然后可以像安装任何其他.deb一样安装和删除软件包。
请参阅https://help.ubuntu.com/community/CompilingEasyHowTo
然后你会把包裹搁置
请参阅如何防止更新特定包?
然后更新软件包,手动下载源代码并重新编译(使用checkinstall)或将其关闭并使用ubuntu存储库(apt)。
注意:安装到/ usr / local的IMO最不可能导致系统文件出现问题,因为它更清晰(保持源文件和系统文件完全分离)。 checkinstall是非常可重用的,但是,如果存在冲突,您可以破坏系统。
存储库中的Eclipse版本很旧,做得很干净:
通过删除包
sudo apt-get remove eclipse
并在/opt
删除您的安装。 之后,再次安装Eclipse Mars。 使用新的Eclipse安装程序 。