Linux基礎講座:アプリケーション管理(yum/aptitude)
アプリケーション管理をCUIで行いましょう。
Linuxのアプリケーション管理手法
WindowsのアプリケーションインストールとLinuxとの対応を考えてみましょう。 同じような概念ですが、一部異なるところがあることが表から分かるはずです。
Windows | Linux(Redhat系) | Linux(Debian系) | 違い |
---|---|---|---|
ストア | yum | aptitude | これらのツールはネットワークからアプリをインストール出来る。 |
ソフトウェアの追加と削除 | rpmコマンド | dpkgコマンド | Linux系のツールはインストールもできる。 |
ソフトウェア固有のインストーラ | rpmファイル | debファイル | プログラムや依存関係データがまとめられたもの |
OSにはアプリケーションの一覧を管理する機能が与えられていることがほとんどです。Windowsの場合はコントロールパネル内の「プログラムの追加と削除」がその役割をしますが、Linuxの場合にはOSによって「rpm」や「dpkg」などがその役割をします。Windowsの場合にはアプリケーションのインストールはできませんが、Linux系ならばインストールファイルを用意するとインストールも行えます。rpmの場合にはrpmファイル、dpkgコマンドの場合にはdebファイルをインストールすることができます。
最近はアプリストアなどを用意してネットワーク経由でアプリを取得できるようにするOSが増えています。Windowsで言うところのストアアプリがこれですが、Linuxの場合はyumやaptitudeコマンドが行います。さらにディストリビューションごとにGUI画面も用意していることが多いです。なお、yumなどがソフトウェアを探しに行く先を「レポジトリ」と呼び、OS標準のものから個人的なものまで色々用意されています。
なお、インストールするためのファイルをまとめたものには、rpmやdebファイルがあります。ネットワーク経由でインストールできないものについてはこれらのファイルを直接取得してインストールします。
Redhat系のアプリケーション管理
インストール
yum経由で”hoge”というソフトウェアをインストールする場合、以下のようにします。
# yum install hoge
レポジトリに登録されていないソフトウェアをインストールするときは、rpmファイルを用意して以下のコマンドを実行します。
# rpm -ivh hoge.rpm
アンインストール
yum経由で”hoge”というソフトウェアをアンインストールする場合、以下のようにします。
# yum remove hoge
アップデート
レポジトリ内に新しいバージョンが登録された場合、アップデートすることができます。以下のコマンドを実行します。
# yum update
一覧の取得
以下のコマンドを実行すると、インストール済みのアプリケーション一覧が得られます。
# yum list installed
インストールしていないアプリを含めてレポジトリ内を検索したい場合、以下のコマンドを実行します。ここではfugaを検索するものとします。
# yum search fuga
Debian系のアプリケーション管理
インストール
aptitude経由で”hoge”というソフトウェアをインストールする場合、以下のようにします。
# aptitude install hoge
レポジトリに登録されていないソフトウェアをインストールするときは、debファイルを用意して以下のコマンドを実行します。
# dpkg -i hoge.deb
アンインストール
aptitude経由で”hoge”というソフトウェアをアンインストールする場合、以下のようにします。
# aptitude remove hoge
アップデート
レポジトリ内に新しいバージョンが登録された場合、アップデートすることができます。以下のコマンドを実行します。
# aptitude update //レポジトリの情報を新しくする(アップデートはしない)
# aptitude upgrade //新しくしたレポジトリ情報をもとにアップデート
一覧の取得
インストール済みアプリの一覧は以下のコマンドで見られます。
# aptitude search ‘~i’
インストールしていないアプリを含めてレポジトリ内を検索したい場合、以下のコマンドを実行します。ここではfugaを検索するものとします。
# aptitude search fuga
注意したいこと
自分でWEBから取得したrpmファイルやdebファイルを使う場合、ウイルス等には注意しましょう。