安装了两个版本的软件包

安装了两个版本的软件包

我安装了两个版本的 polybar。运行后polybar -v得到 3.5.0-12。which polybar结果为/usr/local/bin/polybar。我猜我可能在 apt 之外安装了它(我已经使用这台电脑一年多了)。

但是另一个版本也通过 apt 安装了,版本3.5.5 在 /usr/bin/polybar


我该如何删除旧版本并确保使用来自 apt repo 的版本?老实说,我不知道现在正在运行哪个版本(可能是旧版本,因为它在调用时被调用polybar)。

PS:我能否删除在/usr/本地/bin并从 apt 重新安装一个?我在一些 deb 包中看到过这种推荐,虽然go感觉很麻烦。

答案1

中的版本/usr/local/bin/polybar肯定不是通过 来安装的apt/usr/local/bin是存放不属于您的发行版的软件(尤其是自编译软件)的位置。 通过 安装的软件apt通常会转到/bin/usr/bin

删除手动安装的版本确实是解决此问题的推荐方法。但是,这可能不仅仅包含文件/usr/local/bin/polybar,例如下的库/usr/local/lib、下的手册页/usr/local/man或下的附加文件/usr/local/share。您可能需要在下载文件夹中查看是否可以找到该版本的安装存档。其文件名可能以 开头polybar,可能包含版本号,并以或类似的3.5.0-12存档扩展名结尾。检查它以找出它可能安装了哪些文件以及在哪里安装。.tar.gz.tgz

为了避免不可挽回地破坏任何东西,你可以先重命名/usr/local/bin/polybar而不是删除它,例如:

sudo mv /usr/local/bin/polybar /usr/local/bin/polybar.DELETEME

但再次检查程序中还有哪些其他文件,并重命名它们。然后检查命令polybar现在是否成功运行了正确的版本。如果成功,您实际上可以使用以下命令删除错误的版本:

sudo rm /usr/local/bin/polybar.DELETEME

对于其他重命名的文件,也是如此。

答案2

您必须更加谨慎地管理您的系统。/usr/local建议首先进行检查。

要解决当前情况,只需运行单个命令即可删除本地安装的 Polybar:

sudo rm /usr/local/bin/polybar

然后polybar使用官方 deb 软件包,您可以随时通过 重新安装它
sudo apt-get install --reinstall polybar

相关内容