塩崎です。 From: うりん <auaak003 _at_ wombat.zaq.ne.jp> Subject: [linux-users:70044] ソースコードの管理の仕方 Date: Fri, 2 Jun 2000 21:11:22 +0900 Message-ID: <001201bfcc8d$a3e1c300$0101a8c0 _at_ nomoto.zaq.ne.jp> > 最近どうやって、ソースコードからmake installした > ソフトをUn installするか悩んでます。 > また、どうやってRPMパッケージのライブラリと、 > make install ("/usr/local/"以下に) してインストールされた > ライブラリをどのように管理していけばよいのかわかりません。 > おそらくは、他のユーザさんは経験上で、 > 考えることなのかもしれませんが > コツのようなものがあったり、こうするのが一般的、などの > 答えを持っている方がいらっしゃいましたら、 > 是非教えてください。 UNIX の伝統としては、「一度入れたもんはアンインストールしない」 ってのがあるので、そう割り切ってしまうとか。 あるいは、パッケージングシステムに高度に依存した RedHat とかでは、 パッケージに頼らずに何か入れるとパッケージングシステムの整合性を 壊しますので、何か入れる時はまず最初にパッケージを作るのが正しい やり方です。以前も書いたんですが、「良いパッケージングシステムの要件の 一つは簡単にパッケージが作れること」ってのはそこにあるのです。 とはいえ、私自身は最初はパッケージングシステムがない UNIX 使ってたという のもあるし、/usr 以下にいろいろ放り込まれたり、パッケージデータベースが 壊れた時のことを考えると夜も寝れなくなるので、未だにパッケージング システムには頼らない人だったりします。 私が SunOS4 を使ってたころにあみ出した方法は、prefix を使って適当な ディレクトリに一つ一つインストールしちゃう方法です。 例えば、configure スクリプトに対応した funyu というアプリケーションの ver 1.0 だったら、 % configure --prefix=/usr/local/apps/funyu-1.0 % make # make install # cd /usr/local/apps # ln -s funyu-1.0 funyu # ln -s /usr/local/apps/funyu/bin/* /usr/local/bin # ln -s /usr/local/apps/funyu/lib/* /usr/local/lib とかやります。1.1 にバージョンアップしたら、 % configure --prefix=/usr/local/apps/funyu-1.1 % make # make install # cd /usr/local/apps # ln -sf funyu-1.1 funyu # ln -sf /usr/local/apps/funyu/bin/* /usr/local/bin # ln -sf /usr/local/apps/funyu/lib/* /usr/local/lib とかする。 # 私は /usr/local/bin とかじゃなくて /usr/local/apps/bin とかを # 作ってるけど。 消す時は、 # find /usr/local -type l -exec sh -c 'if ls -l {} | grep /usr/local/apps/funyu >/dev/null ; then rm {}; fi' \; # rm /usr/local/apps/funyu # rm -rf /usr/local/apps/funyu-1.0 とかする。find の -exec 以下は未検証なのでそのまま使って壊しても 知りませんので使う時に適当に検証してください。 この方法は、ライブラリの依存関係が複雑なものになるといろいろめんどいのと、 必ずしも configure みたいに簡単にいかないこともあるのと、 こういう symlink の使い方を嫌う人もいるのとで、必ずしもお薦めはしません。 まあ余力があればやっぱり、RedHat 系だったら RPM の作り方を覚えた方が 幸せでしょうね。覚えてもヨソでは使えないのがシャクですけど。 では。 -- Takuya SHIOZAKI / ASTEC Products, Inc.
References:
- Prev by Subject: [linux-users:70046] Re: /usr/sbinにある起動ファイルが編集できない
- Next by Subject: [linux-users:70048] Re: 入試に出るLinux
- Previous by thread: [linux-users:70044] ソースコードの管理の仕方
- Next by thread: [linux-users:70050] Re: ソースコードの管理の仕方
- Indexes:[Main][Thread]