web-dev-qa-db-ja.com

Ruby 1.8なしでpuppetをインストールできますか?

Puppet3.2.0以降をRuby 2.0.0-p247と一緒にubuntu12.04サーバーにインストールする必要があります。

puppetなしでインストールする方法はありませんRuby 1.8?


私の経験のほとんどはCentOSからのものであるため、aptで単純なものが欠けている可能性があります。

私の設定:

Rubyが存在しないことを確認してください

root@gitlab:~# which Ruby
root@gitlab:~# Ruby --version
The program 'Ruby' can be found in the following packages:
 * Ruby1.8
 * Ruby1.9.1
Try: apt-get install <selected package>

公式ppaからパペットをインストールします

root@gitlab:~# cat /etc/apt/sources.list.d/puppetlabs.list

deb http://apt.puppetlabs.com precise main  
deb-src http://apt.puppetlabs.com precise main  

deb http://apt.puppetlabs.com precise dependencies  
deb-src http://apt.puppetlabs.com precise dependencies  

Puppetの最新バージョンはaptにリストされています

root@gitlab:~# apt-cache policy puppet|head
puppet:
  Installed: (none)
  Candidate: 3.3.0-1puppetlabs1
  Version table:
     3.3.0-1puppetlabs1 0
        500 http://apt.puppetlabs.com/ precise/main AMD64 Packages
     3.2.4-1puppetlabs1 0
        500 http://apt.puppetlabs.com/ precise/main AMD64 Packages
     3.2.3-1puppetlabs1 0
        500 http://apt.puppetlabs.com/ precise/main AMD64 Packages

Puppet 3.3.0をインストールすると、Ruby 1.8が自動的に実行されます。

 root@gitlab:~# apt-get install puppet-common
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
  augeas-lenses debconf-utils facter hiera libaugeas-Ruby libaugeas-Ruby1.8 libaugeas0 libjson-Ruby libruby libruby1.8
  libshadow-Ruby1.8 Ruby ruby-json Ruby-rgen Ruby1.8 virt-what
Suggested packages:
  augeas-doc augeas-tools Ruby-selinux libselinux-Ruby1.8 librrd-Ruby1.9.1 librrd-Ruby1.8 ri Ruby-dev Ruby1.8-examples ri1.8
The following NEW packages will be installed:
  augeas-lenses debconf-utils facter hiera libaugeas-Ruby libaugeas-Ruby1.8 libaugeas0 libjson-Ruby libruby libruby1.8
  libshadow-Ruby1.8 puppet-common Ruby ruby-json Ruby-rgen Ruby1.8 virt-what
0 upgraded, 17 newly installed, 0 to remove and 92 not upgraded.
Need to get 3,664 kB of archives.
After this operation, 14.1 MB of additional disk space will be used.
Do you want to continue [Y/n]?

人形バージョン

root@gitlab:/tmp/Ruby-2.0.0-p247# puppet --version
3.3.0

Rubyバージョン

root@gitlab:/tmp/Ruby-2.0.0-p247# Ruby --version
Ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux]

(Rubyは代替アップデートを介して自動的にインストールされることに注意してください)

root@gitlab:/tmp/Ruby-2.0.0-p247# ll `which Ruby`
lrwxrwxrwx 1 root root 22 Sep 18 02:57 /usr/bin/Ruby -> /etc/alternatives/Ruby*


root@gitlab:/tmp/Ruby-2.0.0-p247# update-alternatives --list Ruby
/usr/bin/Ruby1.8

次に、ソースからRuby 2.0を独自のディレクトリにインストールします

./configure --prefix=/usr/bin/Ruby2.0

次に、Ruby 2.0をupdate-alternativesに登録します

update-alternatives --install /usr/bin/Ruby ruby /usr/bin/Ruby2.0/bin/Ruby 10 

Update-alternativesを介してRuby 2.0に切り替えます

    root@gitlab:/tmp/Ruby-2.0.0-p247# update-alternatives --set Ruby /usr/bin/Ruby2.0/bin/Ruby
update-alternatives: using /usr/bin/Ruby2.0/bin/Ruby to provide /usr/bin/Ruby (Ruby) in manual mode.
root@gitlab:/tmp/Ruby-2.0.0-p247# Ruby --version
Ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-linux]

which Rubyが1.8以外のバージョンのRubyを指している限り、これを数回実行しました。puppetは次のエラーを返します。

root@gitlab:/tmp/Ruby-2.0.0-p247# puppet --version
/usr/bin/Ruby2.0/lib/Ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require': cannot load such file -- puppet/util/command_line (LoadError)
    from /usr/bin/Ruby2.0/lib/Ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
    from /usr/bin/puppet:3:in `<main>'

Ruby 2.0?でパペットをインストールするにはどうすればよいですか?


Puppet3.3はRuby 2.0と互換性があります。これは、 puppetのWebサイト にリストされているためです。

追加のリソース

http://projects.puppetlabs.com/issues/18494

RVMは、私が必要としているものよりもはるかに複雑なようです。また、よくある質問では、Sudoで使用しない、またはrootとして実行する必要があると言われています。 https://rvm.io/
http://rvm.io/support/faq

https://stackoverflow.com/questions/1892877/how-do-i-make-Ruby-1-9-the-default-Ruby-on-ubunt

1
spuder

Rvmを使用してRuby 2.0とpuppet3.3.0をインストールできました

  1. Puppetをインストールします

    apt-get install puppet

  2. Rvmをインストールします

    \ curl -L https://get.rvm.io | bash

  3. ログアウトして再度ログインする

  4. インストールRuby 2.0

    rvm install Ruby 2.0.0-p247

  5. Ruby 2.0

    rvmは2.0.0-p247を使用します

2
spuder

$ apt-cache depends puppetの出力を確認してください。 Ruby-1.9を使用できるかもしれませんが、少なくとも2013-09-17の時点では、 Ruby 2.0はUbuntuにパッケージ化されていません

1
Andrew

パッケージ化されたバージョンにはRuby 1.8または1.9が必要です。推奨されない方法の1つ(gem、tarball)を使用してインストールできます(例:Sudo gem install puppet

0
Mark Wagner