1. はじめに
1-1 ご挨拶
初めまして、井村と申します。
dnfを使って、バージョンを指定してミドルウェアを導入する必要がありました。
その際に使用したコマンドを備忘録として記録します。
2. コマンド
Amazon Linux 2023を利用しましたのでディストリビューションは fedora になります。
以下は検証時の環境です。
[ec2-user@ip-10-0-3-201 ~]$ cat /etc/os-release
NAME="Amazon Linux"
VERSION="2023"
ID="amzn"
ID_LIKE="fedora"
VERSION_ID="2023"
PLATFORM_ID="platform:al2023"
PRETTY_NAME="Amazon Linux 2023.8.20250818"
ANSI_COLOR="0;33"
CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2023"
HOME_URL="https://aws.amazon.com/linux/amazon-linux-2023/"
DOCUMENTATION_URL="https://docs.aws.amazon.com/linux/"
SUPPORT_URL="https://aws.amazon.com/premiumsupport/"
BUG_REPORT_URL="https://github.com/amazonlinux/amazon-linux-2023"
VENDOR_NAME="AWS"
VENDOR_URL="https://aws.amazon.com/"
SUPPORT_END="2029-06-30"
[ec2-user@ip-10-0-3-201 ~]$
[ec2-user@ip-10-0-3-201 ~]$ uname -a
Linux ip-10-0-3-201.ap-northeast-1.compute.internal 6.1.147-172.266.amzn2023.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Aug 7 19:30:40 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
[ec2-user@ip-10-0-3-201 ~]$
2.1 ミドルウェアのインストール状況確認
例として httpd を対象のミドルウェアとします。
インストール前のため存在しません。
[ec2-user@ip-10-0-3-201 ~]$ dnf list installed httpd
Error: No matching Packages to list
[ec2-user@ip-10-0-3-201 ~]$
2.2 インストール可能なバージョンを確認
dnfで管理されている最新のバージョンは 2.4.64-1 です。
[ec2-user@ip-10-0-3-201 ~]$ sudo dnf list --showduplicates httpd
Available Packages
httpd.x86_64 2.4.54-3.amzn2023.0.4 amazonlinux
httpd.x86_64 2.4.55-1.amzn2023 amazonlinux
httpd.x86_64 2.4.56-1.amzn2023 amazonlinux
httpd.x86_64 2.4.58-1.amzn2023 amazonlinux
httpd.x86_64 2.4.59-2.amzn2023 amazonlinux
httpd.x86_64 2.4.61-1.amzn2023 amazonlinux
httpd.x86_64 2.4.62-1.amzn2023 amazonlinux
httpd.x86_64 2.4.64-1.amzn2023.0.1 amazonlinux
[ec2-user@ip-10-0-3-201 ~]$
2.3 最新バージョンでのインストール
最新バージョンをインストールする場合はバージョン指定は必要ありません。
[ec2-user@ip-10-0-3-201 ~]$ sudo dnf install -y httpd
~省略~
Installed:
apr-1.7.5-1.amzn2023.0.4.x86_64 apr-util-1.6.3-1.amzn2023.0.1.x86_64 apr-util-openssl-1.6.3-1.amzn2023.0.1.x86_64 generic-logos-httpd-18.0.0-12.amzn2023.0.3.noarch
httpd-2.4.64-1.amzn2023.0.1.x86_64 httpd-core-2.4.64-1.amzn2023.0.1.x86_64 httpd-filesystem-2.4.64-1.amzn2023.0.1.noarch httpd-tools-2.4.64-1.amzn2023.0.1.x86_64
libbrotli-1.0.9-4.amzn2023.0.2.x86_64 mailcap-2.1.49-3.amzn2023.0.3.noarch mod_http2-2.0.27-1.amzn2023.0.3.x86_64 mod_lua-2.4.64-1.amzn2023.0.1.x86_64
Complete!
[ec2-user@ip-10-0-3-201 ~]$
2.4 インストール可能なバージョンを確認(再確認)
バージョン 2.4.64-1 がインストールされます。
[ec2-user@ip-10-0-3-201 ~]$ dnf list installed httpd
Installed Packages
httpd.x86_64 2.4.64-1.amzn2023.0.1 @amazonlinux
[ec2-user@ip-10-0-3-201 ~]$
2.5 ミドルウェアのアンインストール
一旦削除します。
[ec2-user@ip-10-0-3-201 ~]$ sudo dnf remove -y httpd
~省略~
Removed:
apr-1.7.5-1.amzn2023.0.4.x86_64 apr-util-1.6.3-1.amzn2023.0.1.x86_64 apr-util-openssl-1.6.3-1.amzn2023.0.1.x86_64 generic-logos-httpd-18.0.0-12.amzn2023.0.3.noarch
httpd-2.4.64-1.amzn2023.0.1.x86_64 httpd-core-2.4.64-1.amzn2023.0.1.x86_64 httpd-filesystem-2.4.64-1.amzn2023.0.1.noarch httpd-tools-2.4.64-1.amzn2023.0.1.x86_64
libbrotli-1.0.9-4.amzn2023.0.2.x86_64 mailcap-2.1.49-3.amzn2023.0.3.noarch mod_http2-2.0.27-1.amzn2023.0.3.x86_64 mod_lua-2.4.64-1.amzn2023.0.1.x86_64
Complete!
[ec2-user@ip-10-0-3-201 ~]$
2.6 バージョン指定でのインストール
今回は、最新バージョンの1つ前である 2.4.62-1 を指定してインストールします。
[ec2-user@ip-10-0-3-201 ~]$ sudo dnf install -y httpd-2.4.62-1.amzn2023
~省略~
Installed:
apr-1.7.5-1.amzn2023.0.4.x86_64 apr-util-1.6.3-1.amzn2023.0.1.x86_64 apr-util-openssl-1.6.3-1.amzn2023.0.1.x86_64 generic-logos-httpd-18.0.0-12.amzn2023.0.3.noarch
httpd-2.4.62-1.amzn2023.x86_64 httpd-core-2.4.62-1.amzn2023.x86_64 httpd-filesystem-2.4.62-1.amzn2023.noarch httpd-tools-2.4.62-1.amzn2023.x86_64
libbrotli-1.0.9-4.amzn2023.0.2.x86_64 mailcap-2.1.49-3.amzn2023.0.3.noarch mod_http2-2.0.27-1.amzn2023.0.3.x86_64 mod_lua-2.4.62-1.amzn2023.x86_64
Complete!
[ec2-user@ip-10-0-3-201 ~]$
2.7 インストール可能なバージョンを確認(再確認)
指定したバージョンが正しくインストールされていることを確認しました。
[ec2-user@ip-10-0-3-201 ~]$ dnf list installed httpd
Installed Packages
httpd.x86_64 2.4.62-1.amzn2023 @amazonlinux
[ec2-user@ip-10-0-3-201 ~]$
以上になります。
3. 終わりに
ここまで読んでくださって、ありがとうございました。
パッケージ管理の便利さを改めて実感しました。