我从 Mozilla 网站下载了 Firefox 34 版本。
接下来,我提取了 tar 存档,并将其移动到桌面。
现在,当我运行以下命令时:
Desktop/firefox/firefox
我下载的 Firefox 版本已运行(34.0.5),但是当我运行此命令时:
firefox
旧的 Firefox (3.4) 开始运行。我想更新 makefirefox
命令以运行下载的最新版本,所以我这样做:
ln -s /bin/firefox/firefox Desktop/firefox
什么事情都没有发生,我该怎么办?
答案1
有两种方法可以解决此问题:
- 您可以更改 $PATH 变量,以便在任何其他目录之前检查新版 Firefox 版本所在的目录,方法是运行以下命令
导出 PATH=$HOME/Desktop/firefox:$PATH
如果您将相同的命令添加到您的 中.bashrc
,您未来的所有会话也将具有新的 PATH。 - 您可以使用
ln
将新版本符号链接到 PATH 中已有的目录中。首先,通过执行 来检查旧版本的位置which firefox
。如果我在我的计算机上执行此操作,我会得到以下信息:jenny@sameen > 哪个 Firefox /usr/bin/火狐
这意味着我需要删除现有版本/usr/bin/firefox
并将其替换为新版本的符号链接。这就是您尝试过的 - 但您编写命令的方式是错误的。正确的语法是sudo ln -fs $HOME/Desktop/firefox/firefox /usr/bin/firefox
该标志的-f
意思是“如果已经存在 /usr/bin/firefox,请将其删除并用此链接替换它”,s
意思是“使其成为符号链接,而不是硬链接”。
请注意,如果您以外的其他人正在使用此服务器,这可能会给他们带来问题,因为他们可能无法使用位于您的主目录中的程序。如果是这样,您应该/usr/local/firefox
在符号链接之前将二进制文件移动到 例如,或者您应该使用上面的第一个解决方案并简单地修改您自己的 $PATH。
答案2
最简单的方法
apt-get install firefox
这将更新为新的
或者
which firefox
这将为您提供 Firefox 的路径
然后替换相同的
sudo ln -fs $HOME/Desktop/firefox/firefox /usr/bin/firefox
对于前。
which firefox /usr/bin/firefox sudo ln -fs $HOME/Desktop/firefox/firefox /usr/bin/firefox
答案3
为什么您下载了该版本,显然您没有将其安装在 PATH 变量中的目录之一中。当您简单地执行“firefox”时,它将使用 PATH 目录在第一个目录中找到 firefox。如果您使用更完全限定的名称执行 Firefox,它将仅使用该特定目录中找到的任何内容。
最简单的方法是将新版本的 Firefox 所在的目录放在 PATH 中,放在其他所有内容之前。
答案4
您只是使用了ln
错误的方法:ln
is ln <source> <target>
。
所以你可以这样做:
ORIGINAL="$(which firefox)"
sudo mv "$ORIGINAL" "${ORIGINAL}.orig"
sudo ln -s "$HOME/Desktop/firefox/firefox" "$ORIGINAL"
这firefox
将从您的路径备份当前的二进制文件,并创建指向您手动安装的版本的符号链接。