puppet-2.7.5のインストールで躓いた件

新しくpuppetサーバを立てようと思い立ったが、ソースからインストールするのも面倒なので、yumを使うことにした。

そこら辺のブログで出てる通り、まず、puppetのリポジトリを追加

# vi /etc/yum.repos.d/dag.repo
[dag]
name=DAG RPM Repository
baseurl=http://ftp.riken.jp/Linux/dag/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
gpgkey=http://ftp.riken.go.jp/pub/Linux/dag/RPM-GPG-KEY.dag.txt

yum install実行

yum install puppet-server


すると。。。


Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: ftp.oss.eznetsols.org
* extras: ftp.oss.eznetsols.org
* updates: centos.vr-zone.com
Setting up Install Process
Resolving Dependencies

    • > Running transaction check
      • > Package puppet-server.noarch 0:2.7.5-1.el5.rf set to be updated
    • > Processing Dependency: puppet = 2.7.5-1.el5.rf for package: puppet-server
    • > Running transaction check
      • > Package puppet.noarch 0:2.7.5-1.el5.rf set to be updated
    • > Processing Dependency: facter >= 1.5 for package: puppet
    • > Processing Dependency: ruby-shadow for package: puppet
    • > Processing Dependency: ruby-augeas for package: puppet
    • > Processing Dependency: libselinux-ruby for package: puppet
    • > Running transaction check
      • > Package facter.noarch 0:1.6.2-1.el5.rf set to be updated
      • > Package libselinux-ruby.i386 0:1.33.4-5.7.el5 set to be updated
      • > Package puppet.noarch 0:2.7.5-1.el5.rf set to be updated
    • > Processing Dependency: ruby-augeas for package: puppet
      • > Package ruby-shadow.i386 0:1.4.1-2.el5.rf set to be updated
    • > Finished Dependency Resolution

puppet-2.7.5-1.el5.rf.noarch from dag has depsolving problems
--> Missing Dependency: ruby-augeas is needed by package puppet-2.7.5-1.el5.rf.noarch (dag)
Error: Missing Dependency: ruby-augeas is needed by package puppet-2.7.5-1.el5.rf.noarch (dag)
You could try using --skip-broken to work around the problem
You could try running: package-cleanup --problems
package-cleanup --dupes
rpm -Va --nofiles --nodigest
The program package-cleanup is found in the yum-utils package.



うーん。。。
バージョンが上がってるせいか、依存関係エラーが起きる。

とりあえずrubyのバージョンを確認すると

ruby -v
ruby 1.8.5 (2006-08-25) [i386-linux]


若干古かったので、yum erase してソースコードからpuppetを入れてみたのだが、これをクライアント・サーバ全部でやる気はさすがに起きない。


ということで、もう一度インストールしなおし、まずエラーとなってる箇所


Missing Dependency: ruby-augeas is needed by package puppet-2.7.5-1.el5.rf.noarch (dag)

を潰すことにした。


まず先にrubyだけインストール

# yum install ruby


ruby-augeasが使うのでaugeas-libsをインストール

# yum install augeas-libs


ruby-augeasをrpmでインストール

# wget ftp://fr2.rpmfind.net/linux/epel/5/i386/ruby-augeas-0.4.1-1.el5.i386.rpm
# rpm -ivh ruby-augeas-0.4.1-1.el5.i386.rpm


再度puppetをインストール

# yum install puppet-server
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: ftp.oss.eznetsols.org
* extras: ftp.oss.eznetsols.org
* updates: centos.vr-zone.com
extras | 2.1 kB 00:00
updates | 1.9 kB 00:00
Setting up Install Process
Resolving Dependencies

    • > Running transaction check
      • > Package puppet-server.noarch 0:2.7.5-1.el5.rf set to be updated
    • > Processing Dependency: puppet = 2.7.5-1.el5.rf for package: puppet-server
    • > Running transaction check
      • > Package puppet.noarch 0:2.7.5-1.el5.rf set to be updated
    • > Processing Dependency: facter >= 1.5 for package: puppet
    • > Processing Dependency: ruby-shadow for package: puppet
    • > Processing Dependency: libselinux-ruby for package: puppet
    • > Running transaction check
      • > Package facter.noarch 0:1.6.2-1.el5.rf set to be updated
      • > Package libselinux-ruby.i386 0:1.33.4-5.7.el5 set to be updated
      • > Package ruby-shadow.i386 0:1.4.1-2.el5.rf set to be updated
    • > Finished Dependency Resolution

Dependencies Resolved

================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
puppet-server noarch 2.7.5-1.el5.rf dag 14 k
Installing for dependencies:
facter noarch 1.6.2-1.el5.rf dag 64 k
libselinux-ruby i386 1.33.4-5.7.el5 base 60 k
puppet noarch 2.7.5-1.el5.rf dag 1.0 M
ruby-shadow i386 1.4.1-2.el5.rf dag 14 k

Transaction Summary
================================================================================
Install 5 Package(s)
Upgrade 0 Package(s)

Total download size: 1.1 M
Is this ok [y/N]: y
Downloading Packages:
(1/5): puppet-server-2.7.5-1.el5.rf.noarch.rpm | 14 kB 00:00
(2/5): ruby-shadow-1.4.1-2.el5.rf.i386.rpm | 14 kB 00:00
(3/5): libselinux-ruby-1.33.4-5.7.el5.i386.rpm | 60 kB 00:00
(4/5): facter-1.6.2-1.el5.rf.noarch.rpm | 64 kB 00:00
(5/5): puppet-2.7.5-1.el5.rf.noarch.rpm | 1.0 MB 00:00
--------------------------------------------------------------------------------
Total 291 kB/s | 1.1 MB 00:03
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : libselinux-ruby 1/5
Installing : ruby-shadow 2/5
Installing : facter 3/5
Installing : puppet 4/5
Installing : puppet-server 5/5

Installed:
puppet-server.noarch 0:2.7.5-1.el5.rf

Dependency Installed:
facter.noarch 0:1.6.2-1.el5.rf libselinux-ruby.i386 0:1.33.4-5.7.el5
puppet.noarch 0:2.7.5-1.el5.rf ruby-shadow.i386 0:1.4.1-2.el5.rf

Complete!

無事にインストールできましたよ、と。。。



ちなみに新しいバージョンでは、--verboseだけではフォアグラウンドにならないので、デバッグ目的でフォアグラウンド起動する際は--no-daemonizeオプションを付けて起動する必要があります。

# puppetmasterd --verbose --no-daemonize