○Red Hat Enterprise Linux / CentOS

前回、前々回と、Windows 10で導入しやすいという理由からUbuntuとSUSE Linux Enterprise ServerまたはopenSUSE Leapでパッケージをアップデートする方法を取り上げた。使用する管理コマンドは異なるが、パッケージ管理の概念と操作の方法は似通っていることがわかったんじゃないかと思う。

個人での利用においてはUbuntuが多いが、エンタープライズでの運用という視点で見ると、やはりRed Hat Enterprise LinuxまたはCentOSが依然として多い。先日取り上げたSUSE Linux Enterprise Serverは欧州での企業ユースが多いが、米国や日本はRed Hat Enterprise Linuxが多数を占める状況だ。事業規模の小さい業務ではCentOSが使われるケースも多い。

Red Hat Enterprise LinuxやCentOSのパッケージ管理システムの概念はこれまでに取り上げてきたUbuntuやSUSE Linux Enterprise Linuxとよく似ている。今回は、Red Hat Enterprise LinuxまたはCentOSのパッケージをアップデートする方法を取り上げる。

○CentOSでパッケージアップデート

今回は無償で使用できるCentOSのパッケージアップデートを取り上げる。Red Hat Enterprise Linuxでも同じことができる。まず、ほかのLinuxディストリビューションと同じようにパッケージ管理のメタデータを更新する。メタデータの更新は「yum check-update」で実施する。

yum check-update

yum check-updateが完了したところ

yum check-updateはメタデータを更新するとともに、更新対象となるパッケージ一覧の表示も同時に行う。アップデート対象を確認したら、次は「yum update」でパッケージのアップデートを実施する。

yum updateでパッケージのアップデート開始

アップデート対象が表示されたあとで、次のようにアップデートを実施するかどうか聞かれるのでy↩と入力して処理を進める。

y↩で実際にパッケージアップデートを開始

パッケージアップデート中

パッケージアップデート完了

パッケージアップデートを実施すると、依存関係などからインストールしておく必要のないパッケージが生まれることがある。こうした不要になったパッケージは「package-cleanup --leaves」というコマンドで一覧表示させることができる。「yum remove」でパッケージを削除できるので、この2つのコマンドを組み合わせることで、不要になったパッケージをアンインストールすることができる。コマンドとしては「yum remove $(package-cleanup --leaves)」のようになる。

package-cleanupとyum removeを組み合わせて不要になったパッケージを削除する

なお、package-cleanupはyum-utilsというパッケージに含まれているため、利用する前に「yum install yum-utils」のようにyum-utilsをインストールしておく必要がある。

○CentOS、openSUSE Leap、Ubuntuの違いまとめ

今回取り上げたCentOSと、これまでに取り上げたopenSUSE LeapおよびUbuntuとのコマンドの違いをまとめると次のようになる。

後発だけあってUbuntuのaptはこの辺りの操作がわかりやすくまとまっている印象を受ける。しかし、基本的にできることはどのディストリビューションでもそれほど変わらない。基本的な仕組みが似ているので、できることにもあまり違いがないというのが現状だ。

パッケージのインストールやアンインストールといったもっと基本的な操作をまとめると次のようになる。

こんな感じで使用するLinuxディストリビューションを変更しても、パッケージ管理に関してはそれほど大きな違いがない。最初はコマンドの違いに戸惑うかもしれないが、一度整理してしまえば結構どのディストリビューションも利用できるようになる。今使っているLinuxディストリビューションに飽きてきたら、ためしに他のLinuxディストリビューションを使ってみるというのも手だと思う。