2007年1月18日

[users 7107] Re: デフォルトでインストールされたソフトを再インストールするには

前沸さま

漠然とした質問にも関わらず、
丁寧なご説明、ありがとうございます。

関連パッケージや、他ソフトの関連を考えると
ソースからコンパイルするのも躊躇してしまいます。
いただいたURLを参考に、少し勉強してみます。


不明な点が出てきましたら、
またヒントいただけたら幸いです。

ありがとうございました。

はるやま

Zembutsu Masahito wrote:
>  おはようございます、前佛と申します。
>
>> ApacheやPHPなど、FedoraDVDからインストールしたのですが、
>> configureの変更が必要になってしまいました。
>>
>> この場合、やはり各アプリのサイトからソースを取得して
>> 再インストールしないといけないのでしょうか。
>
>  ○○しなくてはいけない、という事はないと思います。
>
>  ソースから構築して管理される方の利便性が高いと思えばソースから構築され
> るほうが良いとおもいますし、他のパッケージとの協調性を維持したいのであれ
> ば RPM で管理されたほうがいいでしょう(いずれの場合も変更箇所の履歴は残
> しておかないと後で混乱してしまいます)。
>
>  構成変更をあまり希望されない場合は SRPM (Source やパッチがまとめて梱包
> されているパッケージ群です)を取得して、その中の spac ファイルを編集し、
> RPM を再構築(リビルド)するという方法があります。
>
>  たとえば Fedora Core 5 で example というパッケージがあったとして、その
> configure を変更したい場合
>
> $ yumdownloader --source --enablerepo=updates-source example
>
>  として、最新の SRPM ファイル example-x.x.src.rpm が取得できます。
>  オリジナルから更新されていないパッケージだけであれば
>
> $ yumdownloader --source パッケージ名
>
>  で取得可能な場合もあります。もし yumdownloader が入っていない場合は
>
> # yum install -y yum-utils
>
>  を実行して yumdownloader を予め入れておく必要があります。
>
>  SRPM (この場合は example-x.x.src.rpm) の取得が終わったあとは、通常の
> RPM パッケージと同じようにインストールします。インストール先のディレクト
> リは /usr/src/redhat ディレクトリです。SRPM パッケージのインストールは
>
> # rpm -ivh example-x.x.src.rpm
>
>  のように実行します。そうすると、SPEC ファイルが /usr/src/redhat/SPEC
> ディレクトリに example.spec ファイルが作成されています。あとは、
> example.spec ファイルをエディタで開くと ../configure \ 〜という行があり
> ますので、必要に応じて書き換えます。
>
>  編集後は同じディレクトリ内で、もしくはフルパスで example.spec を
>
> # rpmbuild -ba -v /usr/src/redhat/SPECS/example.spec
>
>
>  ・・・と簡単に書きましたが、もし Apache2 や PHP あたりでは依存関係が発
> 生するため、関連パッケージも必要となり、もしセキュリティ対応など、バージョ
> ンアップの際には、場合によっては面倒かもしれません(管理ポリシーや管理人
> 次第だと思います)。
>
>  というのも、RPM でセキュリティ対応等でバージョンアップをおいかける場合、
> 結局都度 SRPM を変更しなくてはいけないからです。逆に、管理人によっては、
> 作業としてはソースから構築したほうが他のディストリビューションにも応用が
> 効くし、自分で触った履歴が残るので便利だわかりやすい、と思う方もいるかも
> しれません。
>
>  追記として、php.spec を編集して RPM を構築するためには RPM パッケージ
> 群がいくつか必要になります。依存関係の出た RPM すべてをセットアップしな
> くてはいけません。その時、依存関係のために更に他のパッケージも必要になっ
> てしまうので、モノによっては注意を払う必要も出てくると思います。
>
>  
>
>  私の何も考えずに動かしている VM 上の Fedora Core 5 では php.spec から
> RPM を構築するために、以下のパッケージ群が必要になりました。
>
> # yum install aspell-devel httpd-devel pcre-devel libc-client-devel \
> mysql-devel postgresql-devel unixODBC-devel net-snmp-devel
>
>  SRPM ファイルの取得には、
>
> # yumdownloader --source --enablerepo=updates-source php
> # rpm -ivh php-5.1.6-1.2.src.rpm
>
>  パッケージを入れ終わった後、SPEC ファイルの編集は
>
> # vi /usr/src/redhat/SPEC/php.spec
>
>  あとは RPM 再構築、
>
> # rpmbuild -ba -v /usr/src/redhat/SPECS/php.spec
>
>  このように実行すると、RPM パッケージ
>  あとは再構築されたパッケージ群は /usr/src/redhat/RPMS/i686 など(アー
> キテクチャ依存、x86_64 の場合もあります)配下に作成されるので、次のコマ
> ンドを入力してバージョンアップです。
>
> # rpm -Uvh php*.rpm
>
>  私自身、RPM の再構築を試した、というだけで FC5 での動作は未検証です。
>  悪しからずご了承下さい。
>
>
>  参考 URL として、詳しく解説されている URL では
>
> http://www.stackasterisk.jp/tech/systemManagement/rpm01_01.jsp
>  カスタムRPMの基礎とspecファイル (STACK*)
>
> http://www.itmedia.co.jp/enterprise/0309/26/epn02.html
>  SRPMリビルドとコンパイルマスター (ITmedia)
>
>  が参考になると思います。
>
>  詳しくは"srpm リビルド"をキーワードに検索エンジンを辿られると理解が深
> まると思います。
>
> --
> 前佛 雅人(Zembutsu Masahito) zem@xxxxx
> Pocketstudio.jp Linux Wiki http://pocketstudio.jp/linux/
> GPG KeyID: 0x16F8DC1E
> GPG Fingerprint: A012 B5CE C86B 8EDD F5D2 2030 5D34 8477 16F8 DC1E
>
>
> _______________________________________________
> users mailing list
> 投稿先アドレス: mailto:users@xxxxx
> 総合案内: http://fedora.jp/mailman/listinfo/users
> 過去の投稿の検索: http://fedora.jp/kabayaki/
>
_______________________________________________
users mailing list
投稿先アドレス: mailto:users@xxxxx
総合案内: http://fedora.jp/mailman/listinfo/users
過去の投稿の検索: http://fedora.jp/kabayaki/

投稿者 xml-rpc : 2007年1月18日 13:29
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/52920
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。