Smart:システムをスマートにアップデートする

 各種Linuxディストリビューションには共通点が多い。しかし、ソフトウェアのインストールとアップデートのためのツールはバラバラだ。Gentoo LinuxはPortage、SUSEはYaST、Red HatとFedoraはyum、LinspireはCNRといった具合。おまけにパッケージの形式もさまざまだ。RPM、Debian、ソースの他、聞いたこともないようなものまでいろいろある。Smart Package Managerは、そうした多様なツールとパッケージ・タイプに代わって、すべての主要ディストリビューションに対応するインストールとアップデートのためのツールだ。

 openSUSEユーザーとして、筆者は、YaST、Zen、zypper、apt-get、Synapticを使ってきたが、最終的にSmartに落ち着いた。今では、Linuxをインストールしたりアップデートしたりすると、まず、Smartをインストールし、それ以外のツールをすべて削除することにしている。

 Smartのバージョンは、現在、0.52。General Public License(GPL)で配布されている。

Smartはスマート

 Smartという名称は「依存性の泥沼」問題を解決するアルゴリズムから来ている。あるパッケージをインストールしようと思ったら、そのパッケージは別のパッケージを必要とし、その別のパッケージはまた別のパッケージを必要とし……。このような依存性を確かめながらインストールしようとすれば依存性を辿るだけでも厖大な時間が必要になる。Smartはこの問題を自動的に解決してくれるのだ。しかも、システムの変更が最も少ない方法を探す。たとえば、パッケージのアップグレードでは、システムにインストールされている種々のパッケージを確認し、旧版の方が適切であればその版をインストールする。

smart_thumb.png
Smart Package Manger

 Smartはミラーもサポートしているが、この機能も柔軟だ。ミラーというのは、オリジナル・ノードと同じコンテンツを持っているインターネット上のノードのことだ。ミラーが複数ある場合、Smartは過去のダウンロード履歴を参照し、最速かつエラーや問題が最も少なかったミラーを選ぶ。複数のダウンロードを並列実行したり、1つのサイトに複数の接続を確立して利用したりすることができる。タイムスタンプの確認、ダウンロードの中断と再開、ファイルのキャッシュもサポート。FTP、FTPS、HTTP、HTTPS、SCP、Telnet、LDAPなど、通常のプロトコルにはすべて対応している。