LinuCレベル1 101試験の例題と解説

1.04.2Debianパッケージ管理

LinuCレベル1 101試験の出題範囲から「1.04.2 Debianパッケージ管理」についての例題を解いてみます。
ここでは、dpkgコマンドを利用したパッケージ管理について確認しておきましょう。

Linucレベル1 101試験 出題範囲


例題

Ubuntuにて、パッケージ一覧を表示するコマンドを選択してください。

  1. dpkg -r
  2. dpkg -s
  3. dpkg -l
  4. dpkg -i

※この例題は実際の試験問題とは異なります。


解答と解説

正解は、「3. dpkg -l」です。

dpkgコマンドは、Debianパッケージのインストールや削除などのパッケージ管理を行うコマンドです。
Ubuntuは、Debianをベースに開発したLinux OSです。そのため、Debianパッケージを採用しています。

dpkgコマンドの書式は以下の通りです。

dpkg [オプション] [ファイル名・パッケージ名]

dpkgコマンドの主なオプションは以下の通りです。

オプション概要
-i ( --install )パッケージをインストール
-E ( --skip-same-version )既に同じバージョンがインストールされていればインストールを省略
-G既に新しいバージョンがインストールされていればインストールを省略
-r (--remove)設定ファイルを残してパッケージをアンインストール
-P (--purge)設定ファイルを含めてパッケージをアンインストール
-l (--list)インストール済みパッケージを検索して表示
-L (--listfiles)指定パッケージからインストールされたファイルを表示
-s (--status)パッケージ情報を表示

選択肢の解説は以下です。

「1. dpkg -r」
誤りです。

-rオプションは、パッケージをアンインストールする際に使用します。引数にパッケージを指定することで、以下のようにインストールできます。

# dpkg -r nginx-common
(データベースを読み込んでいます ... 現在 116130 個のファイルとディレクトリがインストールされ ています。)
nginx-common (1.18.0-0ubuntu1.2) を削除しています ...

「2. dpkg -s」
誤りです。

-sオプションは、パッケージ情報の表示をする際に使用します。引数にパッケージを指定することで、以下のように情報を確認できます。

# dpkg -s nginx-common
Package: nginx-common
Status: install ok installed
Priority: optional
Section: httpd
Installed-Size: 273
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: all
Multi-Arch: foreign
Source: nginx
Version: 1.18.0-0ubuntu1.2
 :

「3. dpkg -l」
正解です。

-lオプションは、インストール済みのパッケージを検索する際に使用します。実行すると以下のように表示されます。

# dpkg -l
要望=(U)不明/(I)インストール/(R)削除/(P)完全削除/(H)保持
| 状態=(N)無/(I)インストール済/(C)設定/(U)展開/(F)設定失敗/(H)半インストール/(W)トリガ待ち/(T)トリガ保留
|/ エラー?=(空欄)無/(R)要再インストール (状態,エラーの大文字=異常)
||/ 名前                                 バージョン                                 アーキテクチ 説明
+++-====================================-==========================================-============-===============================================================================
ii  accountsservice                      0.6.55-0ubuntu12~20.04.4                   amd64        query and manipulate user account information
ii  adduser                              3.118ubuntu2                               all          add and remove users and groups
ii  alsa-topology-conf                   1.2.2-1                                    all          ALSA topology configuration files
ii  alsa-ucm-conf                        1.2.2-1ubuntu0.11                          all          ALSA Use Case Manager configuration files
ii  amd64-microcode                      3.20191218.1ubuntu1                        amd64        Processor microcode firmware for AMD CPUs
ii  apache2                              2.4.41-4ubuntu3.8                          amd64        Apache HTTP Server
ii  apache2-bin                          2.4.41-4ubuntu3.8                          amd64        Apache HTTP Server (modules and other binary files)
ii  apache2-data                         2.4.41-4ubuntu3.8                          all          Apache HTTP Server (common files)
ii  apache2-utils                        2.4.41-4ubuntu3.8                          amd64        Apache HTTP Server (utility programs for web servers)
     :

また、引数にパッケージを指定することで検索を行うことも可能です。

# dpkg -l nginx-common
要望=(U)不明/(I)インストール/(R)削除/(P)完全削除/(H)保持
| 状態=(N)無/(I)インストール済/(C)設定/(U)展開/(F)設定失敗/(H)半インストール/(W)トリガ待ち/(T)トリガ保留
|/ エラー?=(空欄)無/(R)要再インストール (状態,エラーの大文字=異常)
||/ 名前           バージョン        アーキテクチ 説明
+++-==============-=================-============-=========================================================
ii  nginx-common   1.18.0-0ubuntu1.2 all          small, powerful, scalable web/proxy server - common files

「4. dpkg -i」
誤りです。

-iオプションは、パッケージをインストールする際に使用します。引数には、debファイルを指定することで、以下のようにインストールできます。

# dpkg -i nginx-common_1.18.0-0ubuntu1.2_all.deb
以前に未選択のパッケージ nginx-common を選択しています。
(データベースを読み込んでいます ... 現在 116086 個のファイルとディレクトリがインストールされ ています。)
nginx-common_1.18.0-0ubuntu1.2_all.deb を展開する準備をしています ...
nginx-common (1.18.0-0ubuntu1.2) を展開しています...
nginx-common (1.18.0-0ubuntu1.2) を設定しています ...
Created symlink /etc/systemd/system/multi-user.target.wants/nginx.service → /lib/systemd/system/nginx.service.
systemd (245.4-4ubuntu3.13) のトリガを処理しています ...
ufw (0.36-6ubuntu1) のトリガを処理しています ...

Debianのパッケージ管理ツールはdpkgコマンドだけでなく、aptコマンドなど他にもあります。
必要に応じて使い分けが出来るよう確認しておきましょう。


例題作成者

株式会社デージーネット OSS研究室 上野 貴博

ページトップへ