助け合いフォーラム
LPIC Lv1-101(Ver5.0)
問題ID : 3204
問題を開く
dpkgコマンドを使用して、「procmail_3.22-16_i386.deb」パッケージをインストールしたい。但し、既に新しいバージョンのパッケージがインストールされている場合には、インストールを行いたくない。適切なコマンドは次のうちどれか。(全て選択)
正解
dpkg -Gi procmail_3.22-16_i386.deb
dpkg -G --install procmail_3.22-16_i386.deb
解説
dpkgはDebian形式のパッケージのインストール・アンインストールなど、基本的なパッケージ管理を行うコマンドです。
dpkgコマンドの書式および主なオプション・アクションは以下のとおりです。
dpkg [オプション] アクション

上表より、インストールを行うアクションは「-i(--install)」です。また、「-G」オプションを併用することで、既に新しいバージョンのパッケージがインストールされている場合は、インストールを行わないようにすることができます。
したがって正解は
・dpkg -Gi procmail_3.22-16_i386.deb
・dpkg -G --install procmail_3.22-16_i386.deb
です。
以下は実行例です。
新しいバージョン(3.22-19)のパッケージが既にインストールされているため、「procmail_3.22-16_i386.deb」はインストールされません。

その他の選択肢については以下のとおりです。
・dpkg -Gi procmail
正しいオプションおよびアクションですが、パッケージ名のみ指定していますので、誤りです。
・dpkg -Ei procmail_3.22-16_i386.deb
・dpkg -E --install procmail_3.22-16_i386.deb
「-E」オプションは、新しいバージョンのパッケージがインストールされている場合は、そのままインストールを行いますので、誤りです。
dpkgコマンドの書式および主なオプション・アクションは以下のとおりです。
dpkg [オプション] アクション

上表より、インストールを行うアクションは「-i(--install)」です。また、「-G」オプションを併用することで、既に新しいバージョンのパッケージがインストールされている場合は、インストールを行わないようにすることができます。
したがって正解は
・dpkg -Gi procmail_3.22-16_i386.deb
・dpkg -G --install procmail_3.22-16_i386.deb
です。
以下は実行例です。
新しいバージョン(3.22-19)のパッケージが既にインストールされているため、「procmail_3.22-16_i386.deb」はインストールされません。

その他の選択肢については以下のとおりです。
・dpkg -Gi procmail
正しいオプションおよびアクションですが、パッケージ名のみ指定していますので、誤りです。
・dpkg -Ei procmail_3.22-16_i386.deb
・dpkg -E --install procmail_3.22-16_i386.deb
「-E」オプションは、新しいバージョンのパッケージがインストールされている場合は、そのままインストールを行いますので、誤りです。
参考
Linuxで使用するパッケージとは、ソフトウェアの実行ファイル、設定ファイル、ライブラリ、マニュアルなどが含まれているファイルのことです。パッケージおよびその管理ツールを使用することによって、ソフトウェアのインストール・アンインストールなどが容易にできるようになります。
Debian系ディストリビューションで使用されるパッケージにDebian形式(拡張子はdeb)があります。
Debian形式のパッケージファイル名は以下のような形式です。
パッケージ名_バージョン番号-リリース番号_アーキテクチャ名.deb
例)bind_9.3.6-4_i386.deb
Debian形式のパッケージ管理ツールには以下の2つがあります。
●dpkgツール
Debian系パッケージを管理する基本的なツールです。
dpkgツールの主なコマンドは以下のとおりです。
・dpkgコマンド
パッケージのインストール・アンインストールなど、基本的なパッケージ管理を行うコマンド
(RPM系Linuxでは、rpmがほぼ同等のコマンドにあたる)
・dpkg-reconfigureコマンド
インストール済みのパッケージを再設定するコマンド
●APT(Advanced Package Tool)ツール
APTツールはdpkgツールを拡張したツール群です。インターネット上ないしはメディア上のパッケージ情報のデータベースを使い、依存関係を調整しながらパッケージ管理を行うことができます。パッケージの取得元(リポジトリ)は「/etc/apt/sources.list」ファイルで設定します。
APTツールの主なコマンドは以下のとおりです。
・apt-get
パッケージのインストール・アンインストールなどを行うコマンド
(RPM系Linuxでは、yumがほぼ同等のコマンドにあたる)
・apt-cache
パッケージ情報の検索・参照などを行うコマンド
・apt
apt-getとapt-cacheの機能を統合したコマンド
Debian系ディストリビューションで使用されるパッケージにDebian形式(拡張子はdeb)があります。
Debian形式のパッケージファイル名は以下のような形式です。
パッケージ名_バージョン番号-リリース番号_アーキテクチャ名.deb
例)bind_9.3.6-4_i386.deb
Debian形式のパッケージ管理ツールには以下の2つがあります。
●dpkgツール
Debian系パッケージを管理する基本的なツールです。
dpkgツールの主なコマンドは以下のとおりです。
・dpkgコマンド
パッケージのインストール・アンインストールなど、基本的なパッケージ管理を行うコマンド
(RPM系Linuxでは、rpmがほぼ同等のコマンドにあたる)
・dpkg-reconfigureコマンド
インストール済みのパッケージを再設定するコマンド
●APT(Advanced Package Tool)ツール
APTツールはdpkgツールを拡張したツール群です。インターネット上ないしはメディア上のパッケージ情報のデータベースを使い、依存関係を調整しながらパッケージ管理を行うことができます。パッケージの取得元(リポジトリ)は「/etc/apt/sources.list」ファイルで設定します。
APTツールの主なコマンドは以下のとおりです。
・apt-get
パッケージのインストール・アンインストールなどを行うコマンド
(RPM系Linuxでは、yumがほぼ同等のコマンドにあたる)
・apt-cache
パッケージ情報の検索・参照などを行うコマンド
・apt
apt-getとapt-cacheの機能を統合したコマンド
dpkgコマンドの-G と -E は何の略でしょうか?
投稿日 2022/11/28
dpkg -Gとdpkg -Eのオプション部分が何の略か調べたのですが、どのサイトにも見当たらず覚えるのに苦戦しております。
この2種類はどのように覚えたら良いでしょうか?
2022/11/28 20:18
-Gはロングオプションだと--refuse-downgradeです。
-Eはロングオプションだと--skip-same-versionです。
私もLPIC-1 受験当時これらが何の略かわからず、仕方がないので-Gを--refuse-downGradeのG, -Eを--skip-samE-versionのE, と無理やり覚えましたが、試験後はすぐ忘れました。実務ではdpkg コマンドよりapt コマンドを使うことが多いこともあり、正直なところ重箱の隅の知識だと思います。
残念ながら、オプションに使える文字の数やバリエーションにも限りがあるので、いつも何かの明確な略であるとは限りません。
--refuse-downgradeでいえば、一文字オプションを-rか-Rとできればよかったかもしれませんが、これらは他の意味で使われています。
コメント
o
ojixii
2022/11/28 21:56
dpkgの-Gと-Eは同じく苦戦しました。
↓こちらの覚え方がインパクトあって私は参考になりました。
https://thcom.hatenablog.com/entry/2013/06/19/234209
コメント
この投稿に対して返信しませんか?
t tsuyumi_s
2022/11/30 09:47
試験のための知識として覚えておこうと思います。 回答ありがとうございました!