Solist Work Blog

Software engineer

Linuxで新しいことをやる意欲を削がないために

新しいことをはじめるのに億劫になり保守的になっている原因は以下のようなものであると思います。

こんなことはないでしょうか? 何か新しいソフトウェアを試したくて例えばCentOS

yum install pandoc

をたたいてみると以下のようなことになるでしょう。

pandocをyumでインストール

pandocをインストールするのに60パッケージ必要だそうです。 まぁそれはダグラス・マキルロイUNIX哲学にそっているからパッケージが多くてもよいと思いますが、 おそろしいことにpandocを使わないかなと思って

yum remove pandoc

このコマンドを実行すると以下のようなことになります。

pandocをyumでアンインストール

削除してくれるのはpandocだけ。 60パッケージもインストールしたのに1パッケージだけしか消してくれません。 59パッケージはまさにゴミであると言えるでしょう。

仕方がないのでyum.logからインストールした59パッケージをコピーアンドペーストして yum remove した画像が以下です。

不要なパッケージを手動でアンインストール

これが億劫で部屋に使わないものを溜め込んでいるようで落ち着きません。 シンプルでミニマルなstupidでない(と勝手に思い込んでいる愚かな)人間としては我慢ならないですし、1 新しいソフトウェアを試してみようという意欲をそいでしまっているように思えてなりません。

DebianUbuntuのパッケージマネージャもapt-get autoremove で消してくれるのもあるがそうでもないのもありました。 CentOSのyumはひどかったのでdnfにしたらよくなるのだろうかと思って、 dockerのCentOS7のdnfでやってみると以下のような感じになります。

dnfを試してみる

エラーをはいてとまったので検証できませんでした。

ArchLinuxはきれいに掃除してくれる

ArchLinuxはスクラップアンドビルドが気兼ねなくできます。2 これがわたしがArchLinuxを使っている最大の理由とも言えます。

sudo pacman -S pandoc

したものは

sudo pacman -Rs pandoc

で綺麗に全部消してくれます。

pacmanでアンインストールした場合

Gentooのようなディストーションは大きなソフトウェアを全部ビルドしなければいけないことを考えると ビルドに時間がかかり億劫になって気軽に新しいソフトウェアを試す気にはならないでしょう。

スクラップアンドビルドしよう

ArchLinuxのパッケージだけで538303 Debianのパッケージだけで532624あるのですから ソフトウェアエンジニアはもっとたくさんのソフトウェアをさわるべきだと思います。

スクラップアンドビルドしても簡単に元にもどせる環境であることが 新しいことやる意欲を削がないために必要なことであると思います。


  1. 人間はstupidだからkeep it simpleにしろと言っているのだと思いますが…

  2. pacmanyayはきれいに消してくれますがそれ以外のパッケージマネージャを使うときれいに消してくれないので注意してください。

  3. AURもいれての数です。

  4. Debian8.0のドキュメントに書いてあります。

タグ一覧

お仕事のご相談などはこちらからどうぞ

お仕事の依頼はこちらからどうぞ