CentOS7にChromeをインストールしようとした際にエラーとなり、インストールできなかなったので、インストールまでの流れをご紹介いたします。
Linuxにおいてはソフトウェアのインストールに必要な関連ライブラリが多く、インストール用のファイルをダウンロードして実行してもインストールできない場合があります。
そのような場合はリポジトリに必要なライブラリが存在するかどうかを調べ、存在しない場合はインターネットからダウンロードして追加、リポジトリに存在する場合はyumコマンド等でインストールすれば解決します。
Chromeに限らず起こりうるので、リポジトリにあるライブラリの検索方法は知っておくとよいと思います。
詳しいコマンドは本記事の他に、関連記事にあるyumの基本を参照頂ければと思います。
Chromeのダウンロード
GoogleからChromeをダウンロードします。CentOsの場合はredhat系なのでrpmパッケージを選択します。同意してインストールをクリックするとファイルをダウンロードできます。
https://www.google.co.jp/chrome/
rpmパッケージのインストール方法
ダウンロードしたパッケージをインストールします。端末を立ち上げて、ダウンロードしたファイルのディレクトリまで移動し、以下のコマンドを入力します。
$ cd ~/download/
$ sudo rpm -ivh google-chrome-stable_current_x86_64.rpm
そのままインストール成功せず、以下のようなエラーが生じた場合は、Chromeに必要なパッケージをインストールしてから再実行する必要があります。
警告: google-chrome-stable_current_x86_64.rpm: ヘッダー V4 DSA/SHA1 Signature、鍵 ID 7fac5991: NOKEY
エラー: 依存性の欠如:
/usr/bin/lsb_release は google-chrome-stable-77.0.3865.90-1.x86_64 に必要とされています
libXss.so.1()(64bit) は google-chrome-stable-77.0.3865.90-1.x86_64 に必要とされています
libappindicator3.so.1()(64bit) は google-chrome-stable-77.0.3865.90-1.x86_64 に必要とされています
liberation-fonts は google-chrome-stable-77.0.3865.90-1.x86_64 に必要とされています
パッケージをインストールするにはyumコマンドを利用するのですが、上記エラーで表示されたライブラリがどのパッケージに含まれているかを知る必要があります。
インストールしたいライブラリのパッケージ名を知る方法
yumでパッケージをインストールする際、パッケージ名を指定する必要があります。しかしながら、ライブラリがどのパッケージに含まれているかわからないことが多く、インストール作業もなめてかかると意外とドツボにはまります。
なので、yumでインストールできるパッケージのリストを表示するコマンド、およびライブラリがどのパッケージに含まれているかを検索するコマンドを知っておくと良いと思います。
【yumパッケージリスト表示】
# yum list
例えばphpに関連するパッケージのみを抽出したいときなど、結果を絞り込みする場合はgrepと組み合わせます。
# yum list | grep php
【特定ライブラリを含むyumパッケージリスト表示】
# yum provides リポジトリ名/ライブラリ名
例えば今回Chromeインストール時にエラーとなったlsb_releaseを探す場合は以下の通りです。基本的にすべての利用可能なリポジトリから探すので、『*/ライブラリ名』と入力することがほとんどです。
# yum provides */lsb_release
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: ftp-srv2.kddilabs.jp
* epel: ftp.riken.jp
* extras: ftp-srv2.kddilabs.jp
* remi-safe: ftp.riken.jp
* updates: ftp-srv2.kddilabs.jp
dkms-2.7.1-1.el7.noarch : Dynamic Kernel Module Support Framework
リポジトリー : epel
一致 :
ファイル名 : /usr/lib/dkms/lsb_release
redhat-lsb-core-4.1-27.el7.centos.1.i686 : LSB Core module support
リポジトリー : base
一致 :
ファイル名 : /usr/bin/lsb_release
redhat-lsb-core-4.1-27.el7.centos.1.x86_64 : LSB Core module support
リポジトリー : base
一致 :
ファイル名 : /usr/bin/lsb_release
redhat-lsb-core-4.1-27.el7.centos.1.x86_64 : LSB Core module support
リポジトリー : @base
一致 :
ファイル名 : /usr/bin/lsb_release
上記結果からdkmsまたはredhat-lsb-coreに含まれていることがわかります。baseリポジトリに存在しているのでbaseリポジトリのredhat-lsb-coreを利用しましょう。※ epelリポジトリは能動的にインストールしないとデフォルトではインストールされていない拡張リポジトリのため。
Chromeインストール時に発生した4つの足りないライブラリをインストールする
上記で紹介したライブラリがどのパッケージに含まれているかを検索するコマンド「yum provides」を利用すると、Chromeのインストールに必要なパッケージは以下のとおりです。
# yum -y install redhat-lsb-core libXScrnSaver libXScrnSaver-devel libappindicator-gtk3 libappindicator-gtk3-devel liberation-fonts-common liberation-fonts
上記をインストール後、再度Chromeのrpmパッケージをインストールすると、エラーにならずインストール成功するはずです。
【2020/04/20 追記】
libvulkan.so.1が必要というエラーが表示される場合は、yumからインストール可能です。baseリポジトリに存在しています。
「yum provides」で調べる場合は「yum provides */vulkan」で見つかるはずです。
# yum -y install vulkan
以上