2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Amazon Linux2でのdnfの導入

Last updated at Posted at 2023-05-06
1 / 2

はじめに

Amazon Linux2 のパッケージ管理に使われている yum は終了する方向なので dnf を導入します。設定・運用前のインスタンスでは Amazon Linux 2023 の導入も検討したほうがいいかもしれません。導入には以下の記事を参考にしましたが、 libreport-filesystem が今回の環境では足りなかったので、備忘録として書いておきます。

設定の流れ

以下のパッケージが必要となりますが、 yum だと見つからないので、 rpm を取ってきてから yum でインストールします。

  • dnf-0.6.4-2.sdl7
  • dnf-conf-0.6.4-2
  • python-dnf-0.6.4-2
  • libreport-filesystem

このあと、 yum の変数定義を dnf にリンクすれば完了します。

実際の操作例

パッケージのダウンロード

先ず、 wget を使って適当なサーバーから必要な rpm パッケージをダウンロードします。

wget http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64/dnf-conf-0.6.4-2.sdl7.noarch.rpm
wget http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64/dnf-0.6.4-2.sdl7.noarch.rpm
wget http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64/python-dnf-0.6.4-2.sdl7.noarch.rpm
wget https://centos.pkgs.org/7/centos-aarch64/libreport-filesystem-2.1.11-53.el7.centos.aarch64.rpm.html
インストール

次に、ダウンロードしたパッケージを yum でインストールします。

sudo yum install \
     python-dnf-0.6.4-2.sdl7.noarch.rpm \
     dnf-0.6.4-2.sdl7.noarch.rpm \
     dnf-conf-0.6.4-2.sdl7.noarch.rpm \
     libreport-filesystem-2.1.11-53.el7.centos.x86_64.rpm
変数定義

これでパッケージの導入は完了ですが、 sudo dnf update すると以下のようなエラーが出てくると思います。

Repository u'amzn2-core': Error parsing config: Error parsing "mirrorlist = u'$awsproto://$amazonlinux.$awsregion.$awsdomain/2/$product/$target/x86_64/mirror.list'": URL must be http, ftp, file or https not ""

...(中略)...

Repository u'amzn2extra-kernel-5.15': Error parsing config: Error parsing "mirrorlist = u'$awsproto://$amazonlinux.$awsregion.$awsdomain/2/extras/kernel-5.15/latest/x86_64/mirror.list'": URL must be http, ftp, file or https not ""

これは、 $awsproto などの変数に値が代入されていないことが原因です。これらの変数値は /etc/yum/vars に定義してあるので、 /etc/dnf/ に同様の変数を定義すれば解決します。実際には、シンボリックリンクを貼ってやればいいと思います。( yum をアンインストールするときは注意)

sudo ln -s /etc/yum/vars /etc/dnf/
導入完了の確認

以上でパッケージの導入か終わりなので、試しにパッケージのアップデートを行います。

sudo dnf update

設定がうまくいってると、アップデートが開始されて完了するはずです。

Amazon Linux 2 core repository     72 MB/s |  68 MB     00:00    
Amazon Extras repo for epel        14 kB/s | 1.3 kB     00:00  

...(中略)...

完了しました!
2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?