モジュール何入れたらいいか分からないので文句を言いたい

ごえ
2025-07-16
2025-07-16
目次

エンジニアブログ

こんにちは、ごえです。
最近、ある32bit対応のソフトウェアをLinux環境にインストールしようとした際に、必要なモジュールのインストール方法で迷子になりました。
特に「どのライブラリが、どのパッケージに含まれているのか」がパッと分からず苦戦。

この記事では、公式マニュアルに書かれていたライブラリ要件と、それに対応するdnfコマンドの導き方を備忘録としてまとめます。

📖 マニュアルに記載されていた要件


マニュアルには、以下のようなライブラリと、それに対応する必要なパッケージの記載がありました。

(必要なライブラリ)
• libstdc++.so.6 
• libbz2.so.1 
• libuuid.so.1 
• libgcc_s.so.1 
• libc.so.6

(必要なライブラリを含むパッケージ)
• libstdc++-4.4 以降 
• bzip2-libs-1.0 以降 
• libuuid-2.17 以降 
• libgcc-4.4 以降 
• glibc-2.12 以降

(備考)
i686 のパッケージが必要

 

見習いの私「いや分かるかい。具体的なコマンドを書けコマンドを。

💡 疑問1:どんなコマンドを打てばいい?

パッケージを個別に入れるなんて経験もほとんどなかったため、非常に困難でした。
まずどんなコマンドを書けばいいのか見当もつきません。

マニュアルを読んでも「それで何をインストールすればいいのか?」が分からなかったので、先輩エンジニアに聞いて教わったのがこちらのコマンド:

dnf install glibc.i686 libstdc++.i686 libgcc.i686 bzip2-libs.i686 uuid.i686

💭 疑問2:i686ってなに?

i686 は、32bitアーキテクチャ用のパッケージを指します。
これはググればすぐ出てきました。

🛠️ 疑問3:「dnf install glibc.i686」が「glibc-2.12 以降」をインストールできる理由


数時間ググった結果、以下のような理解を得ました。

dnf install glibc.i686のコマンドの意味は、
実行環境のディストリビューションの公式リポジトリから、
指定したアーキテクチャ(今回は、i686)のglibcパッケージを「最新版」でインストールするという意味。
最新版なので、基本的にglibcのバージョンは2.12より新しくなる。

インストールした「glibc.i686」パッケージが「glibc-2.12 以降」という要件を満たしているかは、以下のコマンドで確認できます。
# rpm -q glibc.i686

出力例:
glibc-2.34-168.el9_6.14.alma.1.i686
この例では、バージョン2.34なので「glibc-2.12 以降」という要件を満たしています。

より詳細な情報は以下のコマンドで確認可能です:

# yum info glibc.i686

Installed Packages
Name         : glibc
Version      : 2.34
Release      : 168.el9_6.14.alma.1
Architecture : i686
<略>
Available Packages
Name         : glibc
Version      : 2.34
Release      : 168.el9_6.19
Architecture : i686
Installed Packages → サーバーにすでに入ってるパッケー
Available Packages → リポジトリ上に存在するパッケージ
バージョンは同じでもリリース項目が違うと新しさが代わる

 

ここまで理解するのに大量の時間を費やしました。
世の中のマニュアルは熟練者に向けて書かれているのか、読んでも分からないのが最近の怒りポイント。
もっと優しく書けと言いたい。たまに革命を起こしたくなります。

🔗 参考リンク

•    Linuxパッケージのインストール方法まとめ
https://webhelp.netjapan.com/AIP/Linux/452/ja/docs/html/tips/package_install.html
「yum コマンドでパッケージをインストールする場合」

🧠 dnfコマンド導出の考え方(自分メモ)


1.    マニュアルで「必要なライブラリ」と「含まれるパッケージ名、バージョン」を確認
2.    パッケージ名を dnf install [パッケージ名].i686 の形式で指定
3.    インストール後に rpm -q や yum info でバージョンチェック