自分の環境に合わせてRPMを再構築
けっこう長いことLinuxを使っていますが、SRPMを使ってRPMを再構築したのは初めてだったりします。
Vine Linux用のSamba3.0.10が、なぜだかldapsamをオフにしてビルドされてるみたいなんです(明示的にオフにしないかぎり使えるはずのオプションなのに)。普通にソースからコンパイルしても良いのですが、別のサーバーにも導入したかったこともあり、RPMのリビルドに挑戦してみました。
挑戦してみたといっても、オンラインマニュアルの記述そのままですけれど、忘れないようにメモメモ。
マニュアルはこちら
もう一つ、specファイルを書き換えた場合のリビルド方法として、@ITのこちらの記事を参照しました。
mkrpmdir .
もしくは
mkdir -p ~/rpm/{BUILD,SOURCES,SPECS,SRPMS,RPMS/{i386,i586,i686,noarch}}
echo "%_topdir $HOME/rpm" > ~/.rpmmacros
としてビルド用のディレクトリを作り、
apt-get build-dep samba
で関連するライブリラリなどをインストール。
apt-get source samba
でSRPMSを取得して、これを展開します。
でもこの展開の仕方が分からない。とりあえず、
apt-get -b source samba
として普通にリビルドを初め、すぐに途中終了させます。こうすると、ソースが展開されてます。強引ですけど。そして、SPECSディレクトリ内のspecファイルを開き(たしかsamba3.specだった気がします)、最初の方にある$ldap(大文字だったかも)に1を指定します。ここが0だと、わざわざ--without-ldapsamするようになってるんですね。
そしていよいよリビルドです。
rpm -bb スペックファイル名.spec
あとはひたすら待つだけです。RPMSディレクトリ内にRPMが出来上がるので、それをインストールすれば出来上がり。よしよし。
ちなみに、FedoraCore3用しかないSamba3.0.10をFedoraCore1でも使いたい、といった場合も、同じ手順でFedoraCore1上でリビルドすればOKでした。ただ、mkrpmdirコマンドがないので手動で作成する必要があるのと、rpm -bbの代わりに
rpmbuild -bb スペックファイル名.spec
を使うといった違いがあります。どちらかといえばFedoraのほうがスタンダードなのでしょうか。とにもかくにも、また少し、Linuxのスキルをアップすることが出来ました。RPMであればアップデートも楽ですからね。specファイルを自分で作成するところまでは行きませんけれど、なんとなく方法も分かってきましたし。RPMの作り方が分かってくると、Linuxサーバーの管理もだいぶやりやすくなってきますね。
Vine Linux用のSamba3.0.10が、なぜだかldapsamをオフにしてビルドされてるみたいなんです(明示的にオフにしないかぎり使えるはずのオプションなのに)。普通にソースからコンパイルしても良いのですが、別のサーバーにも導入したかったこともあり、RPMのリビルドに挑戦してみました。
挑戦してみたといっても、オンラインマニュアルの記述そのままですけれど、忘れないようにメモメモ。
マニュアルはこちら
もう一つ、specファイルを書き換えた場合のリビルド方法として、@ITのこちらの記事を参照しました。
mkrpmdir .
もしくは
mkdir -p ~/rpm/{BUILD,SOURCES,SPECS,SRPMS,RPMS/{i386,i586,i686,noarch}}
echo "%_topdir $HOME/rpm" > ~/.rpmmacros
としてビルド用のディレクトリを作り、
apt-get build-dep samba
で関連するライブリラリなどをインストール。
apt-get source samba
でSRPMSを取得して、これを展開します。
でもこの展開の仕方が分からない。とりあえず、
apt-get -b source samba
として普通にリビルドを初め、すぐに途中終了させます。こうすると、ソースが展開されてます。強引ですけど。そして、SPECSディレクトリ内のspecファイルを開き(たしかsamba3.specだった気がします)、最初の方にある$ldap(大文字だったかも)に1を指定します。ここが0だと、わざわざ--without-ldapsamするようになってるんですね。
そしていよいよリビルドです。
rpm -bb スペックファイル名.spec
あとはひたすら待つだけです。RPMSディレクトリ内にRPMが出来上がるので、それをインストールすれば出来上がり。よしよし。
ちなみに、FedoraCore3用しかないSamba3.0.10をFedoraCore1でも使いたい、といった場合も、同じ手順でFedoraCore1上でリビルドすればOKでした。ただ、mkrpmdirコマンドがないので手動で作成する必要があるのと、rpm -bbの代わりに
rpmbuild -bb スペックファイル名.spec
を使うといった違いがあります。どちらかといえばFedoraのほうがスタンダードなのでしょうか。とにもかくにも、また少し、Linuxのスキルをアップすることが出来ました。RPMであればアップデートも楽ですからね。specファイルを自分で作成するところまでは行きませんけれど、なんとなく方法も分かってきましたし。RPMの作り方が分かってくると、Linuxサーバーの管理もだいぶやりやすくなってきますね。
コメント
コメントを投稿