. Вы, ребята, знаете, как правильно запустить r10k на сервере CEntOS 6.7 с Puppet 3. 6? Это противоречие в терминах?
Я проверил список требований к исходному коду r10k: https://github.com/puppetlabs/r10k#requirements
Похоже, для этого требуется Ruby 1.9. Справедливо.
Но ...
$ facter rubysitedir rubyversion
rubysitedir => /usr/lib/ruby/site_ruby/1.8
rubyversion => 1.8
Так начинается неблагородный поиск легендарного Ruby.
Но большинство сторонних репозиториев не предлагают Ruby 1.9 для CEntOS 6.7.
Мне не удалось правильно установить Один пакет, который я нашел в старом добром репозитории Реми , не удался из-за отсутствия пользователя mockbuild. Я думаю, что "может потребоваться только в том случае, если он собран из исходного кода.
Я установил RVM.
Это, однако, требуется glibc = 2.12-1.166.el6_7.7
, и в моей системе нет этой конкретной версии (по уважительным причинам).
Тем не менее, это сработало бы только для определенных пользователей. С пользователями системы, которым необходимо использовать Ruby, может случиться странное, если установлен RVM. rbenv
, который мог бы смягчить эту проблему, дал мне ту же болтовню о glibc:
$ mkdir ~/.tmp && export TMPDIR=~/.tmp && rbenv install 1.9.3-p551 ## How did it come to this...
Downloading yaml-0.1.6.tar.gz...
-> https://dqw8nmjcqpjn7.cloudfront.net/7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749
Installing yaml-0.1.6...
BUILD FAILED (CentOS release 6.7 using ruby-build 20160913)
Inspect or clean up the working tree at /export/home/nger/.tmp/ruby-build.20161117064013.21057
Results logged to /home/nger/.tmp/ruby-build.20161117064013.21057.log
Last 10 log lines:
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/home/nger/.tmp/ruby-build.20161117064013.21057/yaml-0.1.6':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details
В ЛЮБОМ СЛУЧАЕ, тогда я подумал, что смогу обойтись без использования Ruby 1.8, CEntOS Система 6 Ruby:
Однако разработчики r10k позже удалили поддержку Ruby 1.8 : (
Далее, по указанию комментаторов, я проверил документацию по Коллекциям Марионеток.
A. http://yum.puppetlabs.com/el/6/ ничего не говорит о Ruby.
ОДНАКО после установки кажется, что это действительно создает специальный Ruby только для Puppet. Обратитесь к ответу ниже, чтобы получить более подробную информацию.
Поддерживается ли CEntOS 6 в r10k?
Поддерживает ли CEntOS 6 Ruby 1.9?
Я близок к тому, чтобы сдаться здесь, serverfault.com - это моя «Радуйся, Мария» "играть.
У меня, конечно, есть больше возможностей, кроме работы. Я мог бы просто попросить сопровождающих RedHat обновить свой Ruby или приставать к определенным людям (вы знаете, кто вы), чтобы они ускорили их усилия по CEntOS 7 ...
Примечания:
Примечание 1: Я сделал не нашел много на serverfault по этому вопросу. https://serverfault.com/search?q=r10k+on+CEntOS+6
Примечание 2: я задал это в рамках своего исследования по следующему предыдущему вопросу:
Как мне добавить сторонние модули марионеток, не передавая их в систему управления версиями?
Ответ был в Коллекциях Марионеток, по-видимому:
$ curl -O https://yum.puppetlabs.com/puppetlabs-release-pc1-el-6.noarch.rpm
$ sudo rpm -ivh puppetlabs-release-pc1-el-6.noarch.rpm
$ sudo yum -d 1 install -y puppet-agent
$ /opt/puppetlabs/puppet/bin/ruby --version
ruby 2.1.9p490 (2016-03-30 revision 54437) [x86_64-linux]
r10k
будет отлично работать с этим.
Однако это дает вам более позднюю версию Puppet.
$ /opt/puppetlabs/bin/puppet --version
4.8.0
Это не может быть решено принудительной установкой более ранней версии пакета puppet-agent
, однако:
$ sudo yum info puppet-agent-1.0.0 | grep 'puppet ('
: puppet (4.0.0)
Настоящий ответ здесь - скомпилировать вашу собственную версию Ruby и сделать ее доступной. в вашу систему с FTP или внутреннего репо.
Чтобы ответить на явный вопрос:
Что касается того, можете ли вы сохранить старый умирающий Puppet 3.6, при этом, это все еще в воздухе.
(Примечание: некоторые выходные данные были намеренно опущены руководством, чтобы защитить виновных и / или глупцов.)
r10k 1.5.1 ሩቢ 1.8.7 ን ለመደገፍ የመጨረሻው ስሪት ነው። ምንም እንኳን 1.5.1 ዕንቁ ቢጭኑም ፣ ከእስር የተለቀቁ-አዲስ ጥገኛዎች ይጫናሉ ፣ እነዚህም ከሩቢ 1.8.7 ጋር የማይጣጣሙ ናቸው። ግልጽ ያልሆነ -R10k ያልሆኑ ስህተቶችን ያስከትላል ፣ እና ይህን መልስ የሚመለከቱበት ምክንያት።
yum install ruby-devel rubygems rubygem-rspec rubygem-rake
gem install --no-rdoc --no-ri semantic_puppet -v 0.1.3
gem install --no-rdoc --no-ri r10k -v 1.5.1