Mat*_* V. 3 10.04 apt firefox versions bash
我编写了一个bash 脚本来配置一套工具,以便在 Ubuntu 10.04.2 之上进行持续集成。该脚本最近停止工作,我将问题追溯到刚刚发布的较新版本的 Firefox。我开始使用的 Ubuntu 映像已经安装了 Firefox,但我需要一个介于它附带的版本和最新版本之间的版本。
这是我使用的代码:
sudo add-apt-repository ppa:mozillateam/firefox-stable
sudo apt-get update
echo "y" | sudo apt-get install firefox
Run Code Online (Sandbox Code Playgroud)
我该如何安装 Firefox 7.0.1 并防止它自动升级到最新版本?
如果可以的话,我想避免手动安装 Firefox,以便我可以在以后更轻松地使用 apt-get,一旦我遇到的问题得到解决。
您不应该这样做,因为 Firefox 3.6 系列之后的版本在新版本发布时不再受支持,即使有安全更新。(这就是 Firefox 8 现在 Lucid 的原因。)继续运行 Firefox 7.0.1 意味着您正在运行一个已知安全漏洞的版本,这些漏洞不会也永远不会被修补——它让您(和您的客户/客户,如果适用)有风险。
除非您可以使用上述技术之一,否则最简单的方法可能是让您的脚本下载上游 Firefox 7.0.1 二进制发行版,将其解压缩,然后将其安装为root:
[ -d /opt ] || sudo mkdir -m 755 /opt
cd /opt
if [ `uname -m` = x86_64 ]
then
sudo wget http://mirror.dacentec.com/mozilla/firefox/releases/7.0.1/linux-x86_64/en-US/firefox-7.0.1.tar.bz2
else
sudo wget http://mirror.dacentec.com/mozilla/firefox/releases/7.0.1/linux-i686/en-US/firefox-7.0.1.tar.bz2
fi
sudo tar xjf firefox-7.0.1.tar.bz2
sudo apt-get purge firefox # removes firefox; comment out if definitely uninstalled
ln -s /opt/firefox/firefox /usr/bin/firefox
Run Code Online (Sandbox Code Playgroud)
几点考虑:
如上所述,您根本不应该这样做!(此技术可用于其他目的,这是我发布它的主要原因。)
上面的脚本在继续之前不会检查命令是否成功完成。它假设/opt存在具有合理的权限,或者它不存在并且可以创建(这非常安全),下载成功(这不是特别安全),并且存档成功解包(这在一定程度上是安全的,如果下载成功)。它还假设如果您没有 64 位 PC(或 Intel Mac),那么您有一台 32 位 PC(或 Intel Mac),因为该脚本对于其他架构无论如何都会失败,因为未提供二进制构建他们的上游(你仍然可以为他们从源代码构建);虽然从某种意义上说这是安全的,它不会增加失败的风险,但当架构不受支持时,它不会给出任何有用的错误消息。它会在新安装的 Firefox 7.0.1 二进制文件中创建一个符号链接/usr/bin,如果您仍然安装了另一个版本的 Firefox,这将失败,但您希望它在这种情况下失败。
没有理由认为我在脚本中使用的下载镜像是最适合您的。您可能想要更改它,或实施脚本来找出一个合理的镜像来下载。(如果您按照我的建议应用此技术——也就是说,仅用于类似但不同的问题,即您正在安装的软件仍受安全更新支持——那么您将安装不同的程序,因此将有将参数更改为wget无论如何。)
使用此方法,您不必持有该firefox包,因为该firefox包不是 Firefox 7.0.1 提供的。(没有包提供它;它是在没有包管理器的情况下手动安装的。)
| 归档时间: |
|
| 查看次数: |
11383 次 |
| 最近记录: |