![安装了两个版本的软件包](https://linux22.com/image/1185166/%E5%AE%89%E8%A3%85%E4%BA%86%E4%B8%A4%E4%B8%AA%E7%89%88%E6%9C%AC%E7%9A%84%E8%BD%AF%E4%BB%B6%E5%8C%85.png)
我安装了两个版本的 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
。