ソフトウェアをインストールする場合、自分でソースコードを入手、解凍後にコンパイルしてインストールするのは大変です
パッケージ管理システムを使うと簡単にできます
パッケージ管理システム
パッケージ管理システムで、パッケージを「リポジトリからインストールしたり」「削除したり」「更新したり」します
ソフトウェアをインストールするには、ほとんどの場合「ルート権限」が必要です
su -
でルートユーザーになる(ユーザーを切り替える)
または、コマンドの前にsudo
をつけて、「ルートユーザーの権限(ユーザーはそのまま)」で実行します
RedHat系のパッケージ管理システム
「RPM」は、Red Hat社が開発した「ソフトウェアのパッケージ管理システム」のパッケージで、拡張子は「.rpm」です
[パッケージの名前][バージョン番号][リリース番号][アーキテクチャ].rpm
パッケージ管理コマンドには、「rpmコマンド」や「yumコマンド」などがありますが、依存関係を解決する「yumコマンド」が便利です
rpmコマンド
rpmコマンドは、RPMパッケージを「インストール」「アップグレード」「削除」「検索」するためのコマンドです
rpmコマンドは、依存関係は解決しません
「依存関係は解決しない」場合、例えば必要なライブラリがあっても一緒にインストールしません
*「インストール」「アップグレード」には、パッケージ(バイナリパッケージ)の場所を指定します(通常はネットなどで探します)
#パッケージ情報(v)と進捗状況(h)を表示してインストールする
rpm -ivh ファイルの場所
#パッケージをアップグレード(存在しない場合インストールする)
rpm –U ファイルの場所
#パッケージをアップグレード(存在しない場合インストールしない)
rpm –F ファイルの場所
#パッケージを削除
rpm –e パッケージ名
#パッケージに問題ないか検証
rpm –V パッケージ名
#インストールされているパッケージ一覧を表示
rpm –qa
# パッケージに含まれるファイル一覧を表示
rpm –ql パッケージ
#パッケージの詳細情報を表示
rpm –qi パッケージ
#指定したファイルを含んでいるパッケージを表示
rpm –qf ファイルパス
#パッケージの更新履歴を表示
rpm –q パッケージ --changelog
インストールするパッケージに依存関係があるとエラーになります
依存関係を無視してインストールする場合です
#依存関係を無視してインストール
rpm -ivh ファイルの場所 --nodeps
yumコマンド
「yumコマンド」は依存関係を解決するので、便利で使いやすいです
RedHat系は、通常こちらを使用
パッケージはインターネット上にあり、利用するには「リポジトリ情報」が必要です
「リポジトリ」とは、ソフトウェアなどのプログラムのソースコードをためておく場所で、パッケージの配布場所のようなイメージです
/etc/yum.repos.d/は、yumコマンドで使用される「リポジトリ情報」が格納されている場所です
リポジトリは世界中にたくさんあり、それぞれ配っているパッケージが違います
リポジトリを追加することによって、パッケージの種類が多くなります
リポジトリを追加する場合、「/etc/yum.repos.d」直下に「repoファイル」を用意すれば、どこのリポジトリでも追加できます
しかし、安易にリポジトリを追加するのはセキュリティ上よくないです
*「repoファイル」の「mirrorlist」に設定されているURLから返ってくる「ミラーサイトのリスト」で一番近い場所をからパッケージを取得しています
#アップデートがないかチェック
yum check-update
#可能なもの全てアップデート(パッケージ名を指定しないときは)
yum update
#パッケージをアップデート
yum update パッケージ名
#パッケージをインストール
yum install パッケージ名
#パッケージを削除
yum remove パッケージ名
#リポジトリからパッケージを検索
yum search パッケージ名
#パッケージの詳細情報を表示
yum info パッケージ名
#インストールされているパッケージ一覧を表示
yum list installed
「/etc/yum.conf」は、yumの設定ファイルです
Debian系のパッケージ管理システム
Debianのパッケージの拡張子は「.deb」です
[パッケージの名前][バージョン番号][リビジョン番号][アーキテクチャ].deb
「dpkgコマンド」は、Debianのパッケージを管理するためのコマンドです
「APT」は「dpkgコマンド」を拡張した高機能なツールで、リポジトリから最新のパッケージをインストール、依存関係を解決します
「apt-getコマンド」や「apt-cacheコマンド」などがありますが、最近は2つを組み合わたような「aptコマンド」の利用が推奨されています
dpkgコマンド
#インストール済みのパッケージ一覧を表示
dpkg -l
#パッケージによってインストールされたファイル一覧を表示
dpkg –L パッケージ名
#指定したパッケージのアーカイブ情報を表示
dpkg –I アーカイブ名
#パッケージの詳細情報を表示
dpkg –s パッケージ名
#指定した文字列に一致するパッケージを表示
dpkg –S 文字列:
#パッケージをインストール
dpkg –i パッケージ名
#設定ファイルを残してパッケージを削除
dpkg –r パッケージ名
#設定ファイルを含めてパッケージを削除
dpkg –p パッケージ名
APT
(aptコマンド・apt-cacheコマンド)
「aptコマンド」は依存関係を解決するので、便利で使いやすいです
Debian系は、通常「aptコマンド」を使用
/etc/apt/sources.list
は、パッケージのダウンロード元一覧がリストになったファイルです
aptコマンド
#パッケージリスト情報を最新に更新
apt update
#アップグレード可能なパッケージをリスト
apt list --upgradable
#パッケージのリストを表示する
apt list
#インストール済みのパッケージ一覧
apt list --installed
#インストール済みのパッケージをまとめて更新(パッケージ削除が発生するものは操作保留する)
apt upgrade
#保留されたる処理も含めて、すべてのパッケージを更新する
apt full-upgrade
#パッケージをインストールまたは更新
apt install パッケージ名
#パッケージを設定ファイルは残して削除
apt remove パッケージ名
#パッケージを設定ファイルを含め完全に削除
apt purge パッケージ名
#不要になったパッケージを削除する
apt autoremove
#指定したキーワードをもとにパッケージを検索
apt search キーワード
#パッケージの詳細情報
apt show パッケージ名
#/etc/apt/sources.listを編集する
apt edit-source
apt-cacheコマンド(パッケージの依存関係を表示)
#パッケージ[が]依存したパッケージ一覧
apt-cache depends パッケージ名
#パッケージ[に]依存したパッケージ一覧
apt-cache showpkg パッケージ名
apti-fileコマンド(ファイルを使っているパッケージを検索する)
apt-fileコマンドのインストールは、 apt install apt-file
apt-file search ファイル
余談1インストールしたパッケージの場所は、which パッケージ名
で確認できます
余談2「wgetコマンド」は、指定したURLのファイルをダウンロードします
wget URLで「.debファイル」取得するなどに利用できたり、その他かなり便利そう
さっそく、apt install wget
でインストールしました😊