Amazon Linux 2にLibreOfficeをインストールしてみた

先日書いた

のとおり、ExcelシートをPDF化したいため、LibreOfficeをAWSのAmazon Linux 2にインストールしました。

今回は、その時に使用したコマンドや躓いた点を含めて説明していきます。

初期試行

まず、以下のコマンドを実行してLibreOfficeをインストールしようとしました。

sudo yum install libreoffice

しかし、以下のエラーが発生します。

Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
amzn2-core                                                                                                                | 3.6 kB  00:00:00     

404 Not Found
[Errno 14] HTTPS Error 404 - Not Found Trying other mirror.
404 Not Found
[Errno 14] HTTPS Error 404 - Not Found Trying other mirror.
https://download.postgresql.org/pub/repos/yum/9.5/redhat/rhel-7-x86_64/repodata/repomd.xml:
[Errno 14] HTTPS Error 404 - Not Found Trying other mirror.
https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/repodata/repomd.xml:
[Errno 14] HTTPS Error 404 - Not Found Trying other mirror. 289 packages excluded due to repository priority protections No package libreoffice available. Error: Nothing to do

どうやら、LibreOfficeのパッケージが標準リポジトリに存在しない様子。

代替手段としてEPELリポジトリを利用することにしました。

EPELリポジトリとは

EPELリポジトリ(Extra Packages for Enterprise Linux)は、Red Hat Enterprise Linux(RHEL)およびその派生ディストリビューション(例えば、CentOSやAmazon Linux)用の追加パッケージを提供するリポジトリです。

Fedoraプロジェクトによって管理されており、RHELの標準リポジトリでは利用できない多様なソフトウェアやユーティリティを提供します。

EPELリポジトリは無料で利用可能で、システムの安定性と互換性を保ちながら、ユーザーが必要とする拡張パッケージへアクセスできるように設計されています。

EPELリポジトリを使ったインストール

EPELリポジトリを使用してLibreOfficeのインストールする方法を試みました。

Amazon Linux 2では、EPELリポジトリを以下のコマンドで簡単にインストールできます。

sudo amazon-linux-extras install epel -y

しかし、このコマンドを実行したところ、以下のエラーが発生しました。

Installing epel-release
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
Cleaning repos: amzn2-core amzn2extra-docker amzn2extra-epel amzn2extra-nginx1.12 epel pgdg10 pgdg11 pgdg12 pgdg94 pgdg95 pgdg96
              : rpmfusion-free-updates
62 metadata files removed
28 sqlite files removed
0 metadata files removed
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
amzn2-core                                                                                                                | 3.6 kB  00:00:00     
amzn2extra-docker                                                                                                         | 2.9 kB  00:00:00     
amzn2extra-epel                                                                                                           | 3.0 kB  00:00:00     
amzn2extra-nginx1.12                                                                                                      | 1.3 kB  00:00:00     
epel/x86_64/metalink                                                                                                      | 7.0 kB  00:00:00     
epel                                                                                                                      | 4.7 kB  00:00:00     

404 Not Found
[Errno 14] HTTPS Error 404 - Not Found Trying other mirror. [長いので一部省略...] failure: repodata/repomd.xml from pgdg10: [Errno 256] No more mirrors to try.
404 Not Found
[Errno 14] HTTPS Error 404 - Not Found Installation failed. Check that you have permissions to install

リポジトリのURL: https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/repodata/repomd.xml
にアクセスしたところ404エラーが返ってきました。

どうやら、PostgreSQLの古いバージョンに関連するリポジトリが利用不可であり、今回のエラーに影響してる可能性がありました。そこで次にリポジトリの無効化を行いました。

リポジトリの無効化

PosgreSQLに関するリポジトリの無効化を、以下のステップで行いました。

まず、pgdg-redhat-all.repoファイルを開いて編集します。これはリポジトリの設定を格納しているファイルです。

vi /etc/yum.repos.d/pgdg-redhat-all.repo

次に、無効化したいリポジトリのセクションを見つけて、enabledパラメータを1(有効)から0(無効)に設定しました。例として、PostgreSQL 10に関するリポジトリの設定を以下のように変更しました。

[pgdg10]
name=PostgreSQL 10 for RHEL/CentOS 7 - $basearch
baseurl=https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-$basearch
enabled=0  # ここを1から0に変更
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG

私の場合は、PostgreSQL 9.4から10までのリポジトリを無効化しました。

LibreOfficeのインストールを再試行

リポジトリの無効化後、再度以下のコマンドでEPELリポジトリをインストールを試みました。以下のコマンドを使用し、問題なく実行されました

amazon-linux-extras install epel -y

最後に以下のコマンドで、LibreOfficeのインストールを完了しました。

sudo yum install liberoffice

インストールが成功したかどうかは、次のコマンドで確認できます

libreoffice --version

このコマンドを実行すると、インストールされたLibreOfficeのバージョンが表示されます。例えば、以下のような出力が得られるはずです。

LibreOffice 5.3.6.1 30(Build:1)

まとめ

この記事では、Amazon Linux 2にLibreOfficeをインストールする際の一般的な問題とその解決策を説明しました。

私は古いPostgreSQLのリポジトリの無効化に躓いたので、参考になれば幸いです。

コメント

タイトルとURLをコピーしました