この広告は、90日以上更新していないブログに表示しています。
ソースインストールした物を管理するツール「Graft」をインストールして使ってみたので、記録として残しておきます。
インストールと言っても簡単で、配布元サイトのドキュメント通りに実行すれば問題ありません。
配布元サイト
graft.html - peters
$ wget -O graft-2.4.tar.gz "http://peters.gormand.com.au/Home/tools/graft/graft-2.4.tar.gz?attredirects=0"$ tar zxvf graft-2.4.tar.gz$ cd graft-2.4## ここでエラーがでます。$ make -f Makefile.dist ###################################################### # # # You'll now need to modify the Makefile # # variables to suit your local conditions. # # # ###################################################### make: *** [Makefile] Error 1## エラーが出るので、Makefileを編集する必要があるようです。
Makefile
このPACKAGEDIRがパッケージ管理用のディレクトリになり、ここにソースからインストールします。PACKAGEDIR= /pkgsTARGETDIRは、通常インストールしたい場所、つまり/usr/localなどを指定します。# TARGETDIR= /pkgsTARGETDIR= /usr/localPerlコマンドの場所を指定します。/pkgs/bin/perl となっていますが、ほとんどの場合、/usr/bin/perl に設置されていると思いますので変更します。# PERL= /pkgs/bin/perlPERL= /usr/bin/perl
あらためてビルドします。
$ make clean$ make# sudo make install## graftがインストール出来ていることを確認。$ ls /pkgsgraft-2.4## graft自身を/usr/local/bin配下にインストール# /pkgs/graft-2.4/bin/graft -i graft-2.4## シンボリックリンクされていることがわかる$ ls -l /usr/local/binlrwxrwxrwx 1 root root 25 7月 30日 09:23 /usr/local/bin/graft -> /pkgs/graft-2.4/bin/graft
これでインストールは無事に完了しましたので、さっそく使ってみます。
今回は、試しにrubyをインストールしてみました。
$ wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p299.tar.gz$ tar zxvf ruby-1.8.7-p299.tar.gz$ cd ruby-1.8.7-p299$ ./configure --prefix=/pkgs/ruby-1.8.7-p299 && make# make install## 無事にインストール出来たことを確認$ ls /pkgsgraft-2.4 ruby-1.8.7-p299## graftコマンドでインストール# graft -i ruby-1.8.7-p299$ ls -l /usr/local/binlrwxrwxrwx 1 root root 30 7月 30日 09:27 /usr/local/bin/ruby -> /pkgs/ruby-1.8.7-p299/bin/ruby
rubyをアンインストールしてみる。
# graft -d ruby-1.8.7-p299EMPTY /usr/local/lib/ruby/1.8/bigdecimal/ is now empty. Delete manually if necessary.EMPTY /usr/local/lib/ruby/1.8/cgi/session/ is now empty. Delete manually if necessary....
一部ディレクトリが残ってしまっていますが、-Dオプションで実行することで、空のディレクトリも削除してくれるようです。
アップデートを想定して、ruby1.9系を入れてみることにしました。
アンインストール後に、インストールしても問題ないかと思いますが、今回はPruneという機能を使ってみます。これは既存のファイル群との衝突を回避するために、末尾に.prunedを付けたファイル名にリネームしてくれるものです。
## まず1.8.7をインストール# graft -i ruby-1.8.7-p299$ /usr/local/bin/ruby -vruby 1.8.7 (2010-06-23 patchlevel 299) [i686-linux]## 1.9.1をダウンロード、インストール$ wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p429.tar.gz$ tar zxvf ruby-1.9.1-p429.tar.gz$ cd ruby-1.9.1-p429$ ./configure --prefix=/pkgs/ruby-1.9.1-p429 && make# make install## graftコマンドでrubyを1.8.7から1.9.1にアップデートします## アンインストール前に新しいバージョンの物をインストールしようとすると、衝突としてエラーが表示されます# graft -i ruby-1.9.1-p429CONFLICT /usr/local/bin/erb is linked to something other than /pkgs/ruby-1.9.1-p429/bin/erb (/usr/local/bin/erb -> /pkgs/ruby-1.8.7-p299/bin/erb)# graftコマンドを-pオプションで実行してみると、ファイル名の後ろに.prunedとリネームされているのがわかる# graft -p ruby-1.8.7-p299$ ls -l /usr/local/binlrwxrwxrwx 1 root root 30 7月 30日 09:39 /usr/local/bin/ruby.pruned -> /pkgs/ruby-1.8.7-p299/bin/ruby# あらためてインストール$ graft -i ruby-1.9.1-p429## 1.9.1がインストールできていることを確認$ ls -l /usr/local/binlrwxrwxrwx 1 root root 30 7月 30日 10:02 /usr/local/bin/ruby -> /pkgs/ruby-1.9.1-p429/bin/ruby
いくつか気になった点がありました。
(-pオプションで実行させる度に、上書きされるようなので問題なし?)
や.graft-includeなどを使って、必要なものだけインストールするように調整する必要があるかもしれません。(未検証)
非常にシンプルに出来ていて簡単に使うことが出来るので、ごちゃごちゃとした余計な機能はいらない、という人にとってはオススメです。
あとは、ソースからインストールしたものが/pkgsに溜まっていくので、前のバージョンにすぐに切り替えたりといった事もできます。
引用をストックしました
引用するにはまずログインしてください
引用をストックできませんでした。再度お試しください
限定公開記事のため引用できません。