最近在 Fedora 16 系统上安装 Chrome 浏览器时遇到了依赖问题。从官方站点下载的 RPM 安装包始终无法成功完成安装。
系统给出的错误提示非常明确:lsb >= 4.0 is needed by google-chrome-stable-17.0.963.65-124586.i386。经过多次排查后发现,系统中缺少了 RedHat-lsb 软件包。
于是从网络上下载了对应的 RPM 包:redhat-lsb-4.0-7.1.fc16.i686.rpm,然后执行安装命令:# rpm -ivh redhat-lsb-4.0-7.1.fc16.i686.rpm
然而,新的错误再次出现:
error: Failed dependencies:
/usr/bin/ar is needed by redhat-lsb-4.0-7.1.fc16.i686
/usr/bin/strip is needed by redhat-lsb-4.0-7.1.fc16.i686
凭借经验,我继续追查 ar 和 strip 这两个命令对应的软件包,但耗费数天仍未找到结果。最终在一个海外技术论坛上发现了关键线索:它们属于 core/binutils 软件包。
我随即从 Fedora 16 安装光盘中找到了 binutils-2.21.53.0.1-2.fc16.i686.rpm,并成功安装。然后再次运行之前的安装命令:# rpm -ivh redhat-lsb-4.0-7.1.fc16.i686.rpm
这一次,安装过程顺利通过,没有出现任何错误。最后安装 Chrome 浏览器:# rpm -ivh google-chrome-stable_current_i386.rpm
命令执行一气呵成,完全无报错。总结一下:在 Fedora 16 上安装 Chrome 的依赖关系链其实并不复杂,关键在于先补全 RedHat-lsb 软件包,而该包又依赖于 binutils。填平这两个依赖坑后,后续安装便一路畅通了。
