LinuC レベル1(LPIC-1対応)対策
両系統の対応表
試験ではコマンドの対応がそのままの形で問われます。丸暗記ではなく2×2の枠で捉えてください。縦が Debian 系か RPM 系か、横が低レベル (単体ファイル、依存解決しない) か高レベル (リポジトリ経由、依存解決する) かです。
| 低レベル | 高レベル | |
|---|---|---|
| Debian 系 | dpkg | apt / apt-get / apt-cache |
| RPM 系 | rpm | dnf / yum |
低レベルの2つは手元のファイル1個を展開して登録するだけで、足りない依存を取りに行きません。依存を解決するのは高レベル側だけ、これが全体を貫く原則です。
導入と削除と更新
| 操作 | Debian 系 | RPM 系 |
|---|---|---|
| リポジトリから導入 | apt install <名前> | dnf install <名前> |
| ローカルファイルから導入 | dpkg -i <file.deb> | rpm -ivh <file.rpm> |
| 削除 (設定は残す) | apt remove / dpkg -r | dnf remove / rpm -e |
| 完全削除 (設定も消す) | apt purge / dpkg -P | 対応する単独の操作なし |
| リポジトリ情報の取り直し | apt update | dnf makecache |
| 導入済みの更新 | apt upgrade | dnf update (dnf upgrade) |
「設定を残す削除」と「設定ごと消す削除」を分けているのは Debian 系の特徴です。RPM 系の rpm -e は、管理者が編集した設定ファイルを .rpmsave に改名して残します。なお apt full-upgrade に当たるのは dnf distro-sync です。
apt update と dnf update は意味が正反対
ここが最大の落とし穴です。apt update は索引を取り直すだけでソフトは更新しませんが、dnf update はソフトを更新します。名前が同じで意味が逆なので、両方を行き来する人ほど間違えます。索引の取り直しに当たるのは dnf makecache です。
照会の対応
| 操作 | Debian 系 | RPM 系 |
|---|---|---|
| 導入済みの全一覧 | dpkg -l | rpm -qa |
| 入っているかを確かめる | dpkg -s <名前> | rpm -q <名前> |
| 詳細情報 | apt-cache show <名前> | rpm -qi <名前> |
| パッケージ内のファイル一覧 | dpkg -L <名前> | rpm -ql <名前> |
| ファイルの所属 (導入済み) | dpkg -S <パス> | rpm -qf <パス> |
| ファイルの所属 (リポジトリ横断) | apt-file search <パス> | dnf provides <パス> |
| キーワード検索 | apt-cache search <語> | dnf search <語> |
| 依存関係の表示 | apt-cache depends <名前> | rpm -qR <名前> |
覚えるべきは3組です。dpkg -L と rpm -ql がパッケージからファイルへ、dpkg -S と rpm -qf がファイルからパッケージへ、dpkg -s と rpm -qi が詳細情報です。L と l、S と f の対応には規則性が無いので、声に出して覚えるのが早道です。
dpkg -S が答えるのは導入済みのものだけです。dnf provides に当たるのは apt search ではなく apt-file search で、こちらは追加パッケージです。
設定ファイルとデータの場所
| 内容 | Debian 系 | RPM 系 |
|---|---|---|
| リポジトリ設定 | /etc/apt/sources.list と /etc/apt/sources.list.d/ | /etc/yum.repos.d/*.repo |
| パッケージデータベース | /var/lib/dpkg | /var/lib/rpm |
/var/lib/dpkg と /var/lib/rpm、/etc/apt/sources.list と /etc/yum.repos.d の2組は、パスをそのまま答えさせる形で出ます。データベースが /etc/ の下にあると勘違いしないでください。
ファイル名の書式も違います。Debian は 名前_バージョン_アーキテクチャ.deb とアンダースコア区切り、RPM は 名前-バージョン-リリース.アーキテクチャ.rpm とハイフン区切りです。
復習ミニクイズ
Debian 系の apt update と同じ役割を持つ RPM 系のコマンドはどれですか。