替换 centOS6.5 默认安装的旧版 firefox ,安装最新版 firefox 全过程 在当前的 centOS6.5 安装光盘中,自带的 firefox web browser 版本过旧,而且是 ESR 版,也就是无法进行自动更新,这会导致安装系统以后,默认的 17.0.10 旧版与新版的差距越来越大,参考如下截图:
我们可以通过卸载这个旧版,然后安装可以自动升级的新版 firefox 来解决这个问题: 必须指出,安装新版的 firefox 有2种途径:通过 yum 自动升级安装和从 firefox 官网下载最新版来安装; 无论是 centos 官方 yum 源服务器,还是查询到的距离本地最近的第三方 yum 源服务器,其上的 firefox 版本虽新,但应该都还是落后于官方的最新版,甚至有可能比本地能自动更新的 firefox 版本还旧,如下所示:
注意,使用 yum 来升级到新版的 firefox 后,有时会出现问题, 例如,运行新版的 firefox 时,会提示某个 gdk 符号(通常是某个函数的名称)未定义,然后就退出。。。。。 这牵涉到 firefox 使用的动态共享库的依赖性问题,一个可能的原因是firefox 依赖的共享库 /usr/lib/firefox/libxul.so
通过 yum 从网络上任何软件仓库服务器下载升级的 firefox,由于非官方的最新版本,因此它自带的 libxul.so 版本也不是最新的, 对于旧版的 libxul.so 而言,它又依赖于最新的 libgdk 共享库; 如果我们不能保证 libgdk 随时处于最新版的状态,当 libxul.so 引用一个当前系统上的 libgdk 中不存在的符号,就会导致 firefox 启动失败(闪退),并且给出某某以 gdk_ 前缀的符号未定义的错误信息;
而 mozilla 官方 33.0 版本以后的 firefox ,已经解决了其自带共享库 libxul.so 对系统共享库 libgdk 的依赖问题, 这就是为什么通过 yum 升级安装的 firefox 在运行时会闪退;而官方的 firefox 可以正常启动的原因:两者的 libxul.so 版本差异造成的
另外,虽然可以通过 yum 来升级旧版 libxul.so 依赖的 libgdk 到最新版,但这无非是一个比较繁琐,浩大的工程,而且极可能旧版的 libxul.so 还依赖于其它最新版的系统共享库;
最为对上面论述的一个侧面佐证,让我们查看一下,libxul.so 的“动态依赖性”
第 35 行与 36 行,就是 libxul.so 依赖的 libgdk 相关的共享库; 可以看到,firefox “自带”的共享库 libxul.so 依赖的其它系统共享库数量,极其惊人,通过 yum 来逐一更新这些共享库,无疑是自找麻烦;
所以,我们推荐直接在官网上下载最新的 tar.bz2 格式的压缩包,其中有 firefox 的二进制可执行文件, 并且这个压缩包自包含了最新的 libxul.so共享库; 从这个问题上,不难看出,yum 在解析软件包依赖性,尤其是版本的兼容性方面,还存在需要加强的地方
总之,如果你的 centos6.5 上的 firefox 是不能自动升级的 ESR 版,而且版本过旧,那么建议按照下面的解决方案来处理:
1.用你本地的旧版 firefox,访问 http://www.firefox.com.cn
2. 进入存放下载文件(Firefox-latest.tar.bz2)的目录
4. 删除系统默认安装的旧版 firefox ,通常位于 /usr/lib 目录下
5. 将当前目录下的新版 firefox 子目录复制到 /usr/lib 目录下
6. 进入 /usr/bin 目录,删除其下的 firefox 脚本,回到主目录或根目录,创建一个软链接,指向 /usr/lib/firefox/firefox
7. 在 shell 终端执行 firefox 命令,就能启动最新版的 firefox (启动前确认已经终止所有旧版的 firefox 进程)
前面我们创建软链接的原因,就是为了这一步执行 firefox 命令时,系统在搜索路径 /usr/bin 下找到 firefox 这个软链接,并且指向真正的可执行文件路径 /usr/lib/firefox/firefox
注意,对于这一步而言,需要 firefox 占用一个 shell 虚拟终端(pts/n),该虚拟终端不能执行任何其它命令,直到关闭 firefox 进程, 因此,我们修改系统左上方的 firefox 浏览器图标的属性,在 “命令”字段右侧的文本框中,输入
然后关闭对话框,重新点击该图标,就能不占用任何 shell 虚拟终端来启动 firefox
如果你不想用上面这张截图中带有定制公司 logo 的版本,也可以去下面这个官方 FTP 站点下载“纯净版”:
http://download.cdn.mozilla.net/pub/mozilla.org/firefox/releases/latest/linux-i686/zh-CN/
|