*

Debianの標準システムユーティリティとは何か?

  最終更新日:2016/05/22

Debianインストール時のソフトウェア選択

 Debianインストールのソフトウェア選択時、「標準システムユーティリティ」が何なのかずっと気になっていました。標準と言うぐらいなのでインストールしたほうが良さそうなのですが、インストールしてもしなくても何が変わるのかさっぱり分からないのです。ググッてみてもさっぱり分からなかったので、自分で調べてみました。

スポンサーリンク

インストールされるパッケージ

 Debian 8.2をVMware上でインストールし、標準システムユーティリティの有り/無しで差分を見ることで確認しました(本当はインストール用のDVD.isoから分からないかと思ったのですが無理でした)。

$ dpkg -l

 上記のコマンドでインストール済みのパッケージを確認し、差分を確認しました。すると標準システムユーティリティをインストールした環境では198個ものパッケージが追加インストールされていることが分かりました。そのパッケージ名を羅列しても良いのですが、正直ページの無駄になるだけなので割愛します。

 しかし、パッケージには依存関係があるので、結局のところ大元のパッケージに何をインストールしているのかが良く分かりません。そこで、数時間かけて198個のパッケージの依存関係を調べました(馬鹿ですね)。

 それで依存関係が全て明らかになったのですが、実はもっと簡単に調べることが可能でした。英語ですが、こちらのページに調べる方法が載っていました。以下のコマンドで何のパッケージをインストールするかが分かります。

$ tasksel --task-packages standard | sort

apt-listchanges
aptitude
aptitude-common
at
bash-completion
bc
bind9-host
bsd-mailx
dbus
dc
debian-faq
dnsutils
doc-debian
exim4
exim4-base
exim4-config   
exim4-daemon-light
file
ftp
host
info
install-info   
libclass-isa-perl
liblockfile-bin
libswitch-perl 
lsof
m4
mime-support   
mlocate
mutt
nfs-common
patch
procmail
python
python-apt
python-minimal 
python-reportbug
python-support 
python2.7
reportbug
rpcbind
telnet
texinfo
time
w3m
wamerican
whois

 これが標準システムユーティリティでインストールされるパッケージです。しかし、これを見ても何だか分かりませんよね。と言うことで次でまとめます。

標準システムユーティリティの中身

 依存関係のあるパッケージをまとめたものが以下の表になります。説明はDebianのパッケージ検索ページの検索結果をそのまま記載しています。

パッケージ名 説明
aptitude 端末ベースのパッケージマネージャー
apt-listchanges パッケージの変更履歴の通知ツール
at ジョブの遅延実行とバッチ処理
bash-completion bashシェル用のプログラム可能な補完機能
bc 任意精度の計算言語
dc 任意精度の逆ポーランド式計算器
dnsutils BINDに付属のクライアント
doc-debian Debian Projectドキュメントおよび他の文書
exim4 Exim MTA(v4)のインストールを容易にするメタパッケージ
ftp 古典的なファイル転送クライアント
host 移行用パッケージ
info スタンドアロン GNU Infoドキュメントブラウザ
lsof 開いているファイルを一覧表示するユーティリティ
m4 マクロ処理言語
mlocate ファイル名に基づきファイルシステム上のファイルを素早く検索
mutt MIME、GPG、PGP、スレッドサポート付きテキストベースメーラ
nfs-common クライアントとサーバに共通のNFSサポートファイル
patch diffファイルをオリジナルのファイルに適用
procmail 多機能な電子メール処理プログラム
python 対話式の高レベルオブジェクト指向言語 (デフォルトバージョン)
reportbug Debianディストリビューションのバグを報告
texinfo オンライン情報および印刷出力のための文書システム
telnet telnetクライアント
time CPUリソース使用率計測プログラム
w3m 優れたテーブル/フレームサポート付きWWW閲覧可能ページャ
wamerican /usr/share/dict用米国英語単語リスト
whois 知的なWHOISクライアント

結論

 どうでしょうか?私は先ほどの表を見て、標準システムユーティリティをインストールする必要はないと判断しました。インストールしたほうが良いパッケージもありますが、必要ないパッケージが多いです。

 例えば、ftpやtelnetが必要でしょうか?私はsshで代用しているので必要ありません。と言うか、今更暗号化せずに通信したくありません。

 「aptitudeは必要でしょ」と言う方はいると思います。ですが、それはaptitudeのみをインストールすれば良い話であって、他の余計なパッケージと一緒にインストールするのは変な話です。悪質な抱き合わせ販売に似ています。

 pythonやpatchも開発環境を作る時に必然的にインストールするはずなので不要です。ですが、bash-completionはあったほうが良いですかね。それ以外にこれは絶対必要というものが残念ながらありません。

 私の結論は、Debianの扱いに慣れて初心者レベルを脱したならばインストール不要と言う結論です。最初から利用用途を決めてDebianをインストールする場合はなおさらです。特に最小構成でインストールしたい場合は完全に不要です。まあ、電子メール、インターネット閲覧、逆ポーランド記法で計算、英語でTeX文書作成をコマンドラインで行いたい人は別でしょうけど。