LinuCレベル1 101試験の例題と解説
1.04.2Debianパッケージ管理
LinuCレベル1 101試験の出題範囲から「1.04.2 Debianパッケージ管理」についての例題を解いてみます。
ここでは、dpkgコマンドを利用したパッケージ管理について確認しておきましょう。
例題
Ubuntuにて、パッケージ一覧を表示するコマンドを選択してください。
- dpkg -r
- dpkg -s
- dpkg -l
- 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研究室 上野 貴博