パッケージマネージャマネージャ
世の中にパッケージマネージャがたくさんあるけどそれぞれ微妙にコマンド違ってイライラするのでラッパー作りたい
- 利用可能なパッケージを探す場合
# homebrew brew search hoge # rubygem gem list -r hoge gem list --remote hoge
gem search -r ってのもあるな...
- インストール済みのパッケージ一覧
# homebrew brew list # rubygem gem list gem list --local # cabal cabal list --installed
同じパッケージマネージャでもバージョンによってちょっと違うとか
gemのアップデートには気をつけて : Verboseモードでいこう
# gem 1.3 sudo gem update --system # gem 1.4 or later sudo gem install rubygems-update sudo update_rubygems
こういうのもハマる
仕様
brew のスタイルで他のパッケージマネージャをたたけるようにする
- 書式
- pmwrap [package manager] [subcommand]
例えば
metapm yum list --> yum list installed [hoge] metapm yum update --> yum update yum
こんな感じで、brew のコマンド知っていれば他のパッケージマネージャのコマンド調べなくても良いようにしたい
好き嫌いあるので、最終的には自分の普段使ってるパッケージマネージャとおんなじコマンドセットを選択できるようにする。無理ぽ
まぁひとまずこんな感じ
- 使えるコマンド
- パッケージのインストール:install
- パッケージのアンインストール:remove
- 利用可能なパッケージを探す:search
- インストール済みのパッケージを表示:list
- パッケージマネージャ自体のアップデート:update
- インストール済みのパッケージをアップグレードする:upgrade
操作 | brew | yum | apt |
---|---|---|---|
install | brew install hoge | yum install hoge | apt-get install hoge |
uninstall | brew remove hoge | yum remove hoge | apt-get remove hoge |
package を探す | brew search hoge | yum search hoge | apt-cache search hoge |
インストール済み package を表示 | brew list hoge | yum list installed hoge | dpkg -l hoge |
package manager のアップデート | brew update | yum update yum | apt-get install update-manager-core |
package のアップデート | brew upgrade hoge | yum update hoge | apt-get update hoge |
問題点
- 他のパッケージマネージャにないコマンドの扱い
- ないって教えて上げるくらいしかできない...
- 全部サブコマンドならよいのだけど、そうじゃないとstyleとして使うのは難しい
- apt とか
- インストールは apt-get install
- 一覧は dpkg -l
- apt とか
- option を複数同時に指定したときの変換がややこしい
- メンテがめんどくさい
結論:チートシートつくって満足するべき