Я устанавливаю марионеточный агент 3.8.7 на Cent OS 7.5. ОС была установлена на новую виртуальную машину, и она не подключена к Интернету. Я создал репозиторий yum, который указывает на репозиторий пульпы. Ниже приведено содержимое моего репо yum для марионетки -
[root@server --- ~]# cat /etc/yum.repos.d/puppetlabs.repo
[puppetlabs-products]
name=Puppet Labs Products El 7 - $basearch
baseurl=http://136.243.83.142/pulp/repos/puppetlabs-products-el6
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-puppetlabs
file:///etc/pki/rpm-gpg/RPM-GPG-KEY-puppet
enabled=1
gpgcheck=1
[puppetlabs-deps]
name=Puppet Labs Dependencies El 7 - $basearch
baseurl=http://136.243.83.142/pulp/repos/puppetlabs-deps-el6/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-puppetlabs
file:///etc/pki/rpm-gpg/RPM-GPG-KEY-puppet
enabled=1
gpgcheck=1
когда я запускаю "yum install puppet", я получаю ошибку ниже. У меня установлен Ruby 2.0, но пакеты марионеток требуют Ruby 1.8. Когда я проверил сайт puppetlabs, они упомянули, что puppet поддерживает ruby 2.0. Итак, как мне действовать сейчас, учитывая тот факт, что мой сервер находится во внутреннем домене и не подключен к Интернету. Ниже приведена ошибка, которую я получаю при выполнении 'yum install puppet' -
[root@server --- ~]# yum install puppet
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
epel | 2.5 kB 00:00:00
puppetlabs-deps | 1.8 kB 00:00:00
puppetlabs-products | 1.8 kB 00:00:00
Resolving Dependencies
--> Running transaction check
---> Package puppet.noarch 0:3.8.7-1.el6 will be installed
--> Processing Dependency: hiera >= 1.0.0 for package: puppet-3.8.7-1.el6.noarch
--> Processing Dependency: facter >= 1:1.7.0 for package: puppet-3.8.7-1.el6.noarch
--> Processing Dependency: ruby(selinux) for package: puppet-3.8.7-1.el6.noarch
--> Processing Dependency: ruby-augeas for package: puppet-3.8.7-1.el6.noarch
--> Processing Dependency: ruby-shadow for package: puppet-3.8.7-1.el6.noarch
--> Running transaction check
---> Package facter.x86_64 1:2.4.6-1.el6 will be installed
---> Package hiera.noarch 0:1.3.4-1.el6 will be installed
---> Package puppet.noarch 0:3.8.7-1.el6 will be installed
--> Processing Dependency: ruby(selinux) for package: puppet-3.8.7-1.el6.noarch
---> Package ruby-augeas.x86_64 0:0.4.1-3.el6 will be installed
--> Processing Dependency: ruby(abi) = 1.8 for package: ruby-augeas-0.4.1-3.el6.x86_64
--> Processing Dependency: libruby.so.1.8()(64bit) for package: ruby-augeas-0.4.1-3.el6.x86_64
---> Package ruby-shadow.x86_64 1:2.2.0-2.el6 will be installed
--> Processing Dependency: libruby.so.1.8()(64bit) for package: 1:ruby-shadow-2.2.0-2.el6.x86_64
--> Finished Dependency Resolution
Error: Package: puppet-3.8.7-1.el6.noarch (puppetlabs-products)
Requires: ruby(selinux)
Error: Package: ruby-augeas-0.4.1-3.el6.x86_64 (puppetlabs-deps)
Requires: libruby.so.1.8()(64bit)
Error: Package: 1:ruby-shadow-2.2.0-2.el6.x86_64 (puppetlabs-deps)
Requires: libruby.so.1.8()(64bit)
Error: Package: ruby-augeas-0.4.1-3.el6.x86_64 (puppetlabs-deps)
Requires: ruby(abi) = 1.8
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
Кроме того, Puppet 3 больше не поддерживается. Puppet 5.5 - текущая передовая версия, а Puppet 6 находится в стадии разработки. Если вы настраиваете новый сайт Puppet с нуля, я советую вам использовать последнюю версию Puppet. У него много преимуществ.
или как минимум 4.10.x
@JohnBollinger - Спасибо за ответ. Моя текущая версия марионеточного сервера - 3.8.7, а новая виртуальная машина - это просто дополнение к существующему списку виртуальных машин, на которых уже установлены марионеточные агенты. Это причина использования этой версии. Будет ли более новая версия агента работать со старой версией марионеточного сервера?
Нет, более новые версии агента не будут работать с сервером Puppet версии 3. Моя рекомендация использовать Puppet 5 была явно основана на том, что вы находитесь в процессе создания нового сайта; поскольку это не то, что вы делаете, рекомендация не применяется. Но вы, делать, хотите, по крайней мере, использовать пакеты Puppet для ОС, на которую вы нацеливаетесь.
Название вашего репозитория предполагает, что он содержит пакеты для EL6, но вы пытаетесь использовать их на EL7. Иногда это может сработать, но часто нет. И я не понимаю, зачем вам хотеть это делать.