Debianの標準システムユーティリティとは何か?
最終更新日:2016/05/22
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文書作成をコマンドラインで行いたい人は別でしょうけど。