主題1.04:リポジトリとパッケージ管理
1.04.1 aptコマンドによるパッケージ管理(重要度3)
apt-getコマンド
書式
apt-get サブコマンド【パッケージ名】
概要
debパッケージをリポジトリからインストール
主なサブコマンド
update
→パッケージのデータベースを最新版にアップグレード
install
→パッケージのインストール
upgrade
→インストール済みの全パッケージのアップグレード
dist-upgrade
→ディストリビューションを最新版にアップグレード
remove
→設定等を残してパッケージを削除(アンインストール)
clean
→過去に取得したパッケージファイルを削除
purge
→完全にパッケージを削除
引数
・パッケージ名:操作対象となるパッケージ名を指定
使用例
apt-get update
→パッケージのデータベースを最新版にアップグレード
パッケージの取得元(リポジトリ)を設定するファイル
/etc/apt/sources.list
apt-cacheコマンド
書式
apt-cache サブコマンド【パッケージ名】
概要
debパッケージをリポジトリから検索・参照
主なサブコマンド
search
→パッケージの検索
show
→パッケージ情報の表示
showpkg
→パッケージの被依存関係を含めた情報の表示
depends
→パッケージが依存しているパッケージの一覧表示
引数
・パッケージ名:操作対象となるパッケージ名を指定
使用例
apt-cache search sshpass
→sshpassというパッケージの検索
apt-cache show sshpass
→sshpassというパッケージについての情報を表示
aptコマンド
書式
apt サブコマンド【パッケージ名】
概要
debパッケージをリポジトリから操作
主なサブコマンド
update
→パッケージ情報の更新
install
→パッケージのインストール
upgrade
→パッケージの更新
full-upgrade
→必要に応じて、パッケージの削除も含めシステム全体を更新
search
→パッケージの検索
show
→パッケージ情報の表示
list
→パッケージの一覧を表示。ーーupgradableオプションで更新対象のパッケージ一覧を表示
remove
→パッケージの削除
引数
・パッケージ名:操作対象となるパッケージ名を指定
使用例
apt upgrade
→パッケージの更新を行う
apt-fileコマンド
書式
apt-file サブコマンド【キーワード】
概要
指定されたファイル名を含むdebパッケージをリポジトリから操作
主なサブコマンド
update
→パッケージ情報を最新版に更新
search/find
→パスに検索パターンが入っているファイルを含むパッケージを検索
list/show
→パッケージに含まれているファイルを一覧表示
引数
・キーワード:パッケージを検索する際のキーワードを指定
使用例
apt-file update
→apt-fileコマンド用の検索データベースを更新
apt-file search libwrap
→パッケージの検索
1.04.2 Debianパッケージ管理(重要度1)
dpkgコマンド
書式
dpkg オプション【パッケージ名/ファイル名】
概要
deb形式のパッケージを管理
主なオプション
-E
→同バージョンが既にインストールされていればインストールを行わない
-G
→新バージョンが既にインストールされていればインストールを行わない
-R
→ディレクトリに格納されているパッケージファイルを再帰的に検索
-i(ーーinstall)
→インストール
-r(ーーremove)
→設定ファイルを残してアンインストール
-P(ーーpurge)
→設定ファイルも含め完全にアンインストール
-l(ーーlist)
→インストール済みパッケージを検索して表示
-L(ーーlistfiles)
→インストールされたファイルの一覧表示
-s(ーーstatus)
→インストール済みパッケージの詳細情報の表示
-S(ーーsearch)
→ファイルのインストール元パッケージの検索
-C(ーーaudit)
→インストールが完了してないパッケージの表示
引数
・パッケージ名:操作するパッケージ名を指定
・ファイル名:-Sオプション指定時にファイルを指定
使用例
dpkg -l vsftpd
→vsftpdというパッケージがインストールされているか確認
dpkg -L vsftpd
→-Lオプションでインストールされたファイルの一覧を表示
dpkgツールの設定ファイル
/etc/dpkg/dpkg.cfg
dpkg-reconfigureコマンド
書式
dpkg-reconfigure【オプション】パッケージ名
概要
インストール済のdebパッケージの再設定
引数
・パッケージ名:再設定するパッケージ名を指定
使用例
dpkg-reconfigure locales
→localesパッケージについての再設定ができる
1.04.3 yumコマンドによるパッケージ管理(重要度3)
yumコマンド
書式
yum【オプション】サブコマンド【パッケージ名】
概要
リポジトリ経由でRPMパッケージを操作
主なオプション
-y
→確認ダイアログが出力される際に[ y ]で回答
ーーenablerepo=ID
→指定したIDのリポジトリを有効化
ーーdisablerepo=ID
→指定したIDのリポジトリを無効化
主なサブコマンド
install
→パッケージのインストール/アップグレード
check-update
→更新パッケージの有無をチェック
update
→パッケージのアップグレード
remove
→パッケージのアンインストール
search
→パッケージの検索
info
→パッケージの詳細情報の表示
list
→パッケージの一覧を表示
repolist
→リポジトリ情報の一覧を表示
deplist
→依存するパッケージの一覧を表示
groupinstall
→パッケージグループによるインストール
grouplist
→パッケージグループの一覧を表示
localinstall
→ローカルRPMファイルのインストール
引数
・パッケージ名:操作対象となるパッケージ名を指定
使用例
yum repolist
→既定で利用できるリポジトリの一覧を表示
yumの設定ファイル
/etc/yum.conf
→yumコマンドの全般的な設定
/etc/yum.repos.d/*
→各リポジトリの設定
YUMツールのリポジトリの設定
・YUMの組み込み変数を使用できる
・「/etc/yum.conf」の[repository]セクションにも設定できる
・ネットワーク経由で最新のパッケージを取得できる
yumdownloaderコマンド
書式
yumdownloader【オプション】パッケージ名
概要
指定されたパッケージをリポジトリからダウンロード
主なオプション
ーーresolve
→依存関係のあるパッケージもダウンロードする
引数
・パッケージ名:操作対象となるパッケージ名を指定
使用例
yumdowanloader tree
→treeパッケージをダウンロード
1.04.4 RPMパッケージ管理(重要度1)
rpmコマンド
書式
rpm【オプション】【パッケージ名/ファイル名】
概要
RPMパッケージの管理
主なオプション
・1つめに指定するオプション
-i(ーーinstall)
→インストール
-U(ーーupgrade)
→アップグレード。インストールされていないパッケージの場合はインストール
-F(ーーfreshen)
→アップグレード。インストールされていないパッケージの場合はインストールしない
-e(ーーerase)
→アンインストール
・-i、-U、-F、-eと併用するオプション
-v
→詳細情報の表示
-h(ーーhash)
→#で進行状況を表示(-eでは指定できない)
ーーtest
→実際には実行せずにテストを実施
ーーnodeps
→依存関係を無視する
・1つめに指定するオプション
-q(ーーquery)
→パッケージの検索
-V(ーーverify)
→パッケージの検査
・-qと併用するオプション
-a(ーーall)
→インストール済みのすべてのパッケージを表示(-Vとも併用できる)
-i(ーーinfo)
→パッケージ情報の表示
-l(ーーlist)
→インストールされたファイルの一覧表示
-f(ーーfile)
→ファイルのインストール元パッケージの検索
-p(ーーpackage)
→パッケージファイルを指定して検索
ーーchangelog
→更新履歴を表示
-c(ーーconfigfiles)
→設定ファイルの一覧表示
ーーnomd5
→MD5によるファイルの改ざんを検査しない(-Vと併用できる)
引数
・パッケージ名:操作対象となるパッケージ名を指定
・ファイル名:-qfもしくは-qpオプション指定時に操作対象となるファイル名を指定
使用例
rpm -qa “httpd*”
→httpdではじまるインストール済みパッケージをすべて表示
rpm -qf /usr/bin/cat
→catコマンドがcoreutilsパッケージによりインストールされていることを確認
「-V(ーーverify)」オプション
・RPMデータベースに格納されているファイルに関する情報と、インストールされたパッケージのファイルに関する情報を比較して変更(改ざんなど)が無いか検査する
・検査する内容は主にファイルのサイズ、MD5チェックサム、所有ユーザー、所有グループ、タイムスタンプである