rug経由でyumを利用するには
SLES10をデフォルト設定でインストールした場合、直接yum コマンドを使ってパッケージのインストールを行うことは出来ないのだが、類似のコマンドにrug( http://ja.opensuse.org/Rug%E3%81%AE%E5%88%A9%E7%94%A8 ) が存在しており、yum と同じ操作を行うことができる。
また、rug経由でyumレポジトリを使用することもできるため、Fedoraのyum-utilsで作成したレポジトリから、直接rug installをかけることも出来た。更にPuppetのpackageとも連動できたため、yumを直接使う理由はあまりないようだ。。orz
なお、下の手順はSLSE10の体験版で検証したため、自己責任で使用のこと。。
yumレポジトリの構築
こちらはCentOS等での手順と同様のため、割愛。。大まかには、 次の3つになる。
1./var/www/html 内にディレクトリ作成 2. 適当なRPMファイルを配置 3.# createrepo 作成したディレクトリ
rugへのレポジトリ追加
192.168.1.15のWebサーバーでyumレポジトリを作った場合、次のコマンドで設定できる。
# rug service-add http://192.168.1.15/sles10_32_opt --type yum opt_yum_repo
確認は次で行う。
# rug service-list # | Status | Type | Name | URI --+--------+------+-------------------------------------+----------------------- 1 | Active | ZYPP | SUSE Linux Enterprise Server 10 SP2 | cd:///?devices=/dev... 2 | Active | YUM | opt_yum_repo | http://192.168.1.15/...
なお、デフォルトの設定ではセキュリティ設定??によりyumが使用できず、次の追加設定を行う必要があった。
(/etc/zmd/zmd.conf ) [Advanced] run-transaction-test=False security-level=checksum <== この行を追記
終わった後は、zmdの再起動を行うのが無難なようだ。。(色々試していたので、正確なことは不明。。 orz)
# /etc/init.d/novell-zmd stop # /etc/init.d/novell-zmd start
yumの動作確認
yumを使う場合には、事前にrefreshを行う必要があるらしい。(試した限りでは、yumレポジトリにパッケージを追加する際に毎回必要となった。。定期的に実施しておいたほうがよいかも。。)
# rug refresh
実際にインストールを行う場合は次のコマンドで実施出来る。試した限りでは、きちんと依存性も解決できる状態になっていた。
# rug install ganglia-gmond
なお、 rug info ganglia-gmond などでパッケージの情報も閲覧出来る。
Puppetとの組み合わせ
他のディストリビューションの場合と全く同じなのだが、、w packageで指定して、puppetdコマンドで同期すると、自動でインストールが行われるようだ。
package { 'ganglia-gmond': ensure => present, }
# puppetd --server 192.168.1.15 --test <== 自動でインストールが行われる
SLES10でyum(というかPuppetでのパッケージ管理)を行う方法を探していたのだが、幸いにもデフォルトのパッケージのみで実現できるようだ。yumレポジトリはCentOSなどから簡単に構築できるので、ローカルで必要になるRPMファイルを自動でインストールするには、この方法がよさそうだろうか。。