Хобрук: Ваш путь к мастерству в программировании

сбой пакетов puppet (особенно unoconv и rabbitmq-server)

Я работаю с подготовкой Puppet для Vagrant уже несколько недель, так что я все еще новичок.

Моя проблема в том, что простые пакеты терпят неудачу, а не при каждом запуске.

Пакеты unoconv и rabbitmq-server, и они оба (как и все остальные пакеты) устанавливаются только после обновления системы (используя «требуется»).

Тот факт, что только эти пакеты не работают, заставляет меня думать, что это не проблема с сетью, и если я подключаюсь к гостевой машине по ssh и устанавливаю вручную, все идет гладко.

Класс unoconv:

class unoconv {
  package { "unoconv":
    ensure => present,
    require => Class ["system_update"]
  }
}

Класс rabbitmq:

 class rabbitmq_server {
   package { "rabbitmq-server":
     ensure => present,
     require => Class ["system_update"]
   }

   service { "rabbitmq-server":
     ensure => running,
     require => Package["rabbitmq-server"],
   }
}

Зависимость

class system_update {

  exec { 'apt-get update':
    command => 'apt-get update',
  }

  $sysPackages = [ "build-essential" ]

  package { $sysPackages:
    ensure => "installed",
    require => Exec['apt-get update'],
  }

  package {"software-properties-common":
    ensure  => present,
  }
}

Ошибка:

«Ошибка: выполнение «/usr/bin/apt-get -q -y -o DPkg::Options::=--force-confold install rabbitmq-server» вернуло 100: чтение списков пакетов...»

Я получаю ту же ошибку для unoconv.

Что я упускаю/не понимаю?

Я проверил Интернет и смог найти только советы по обновлению перед загрузкой, но это то, что я уже делаю.

изменить:

Как было предложено здесь, это была не полная ошибка, мне кажется, что это связано с невозможностью установки зависимостей, но если это правда, я не могу понять, почему. Подготовка выполняется на бродячем базовом блоке (сервер Ubuntu 14.04), который я создал и обновил «apt-get update», и, посмотрев на /etc/apt/source.list, кажется, что все в порядке. С сетью базовой коробки все в порядке, потому что я могу пропинговать и установить множество других пакетов во время подготовки.

Нужно ли как-то исправить мой source.list?

полная ошибка:

==> default: Error: Execution of '/usr/bin/apt-get -q -y -o DPkg::Options::=--force-confold install rabbitmq-server' returned 100: Reading package lists...
==> default: Building dependency tree...
==> default: Reading state information...
==> default: The following extra packages will be installed:
==> default:   erlang-asn1 erlang-base erlang-corba erlang-crypto erlang-diameter
==> default:   erlang-edoc erlang-eldap erlang-erl-docgen erlang-eunit erlang-ic
==> default:   erlang-inets erlang-mnesia erlang-nox erlang-odbc erlang-os-mon
==> default:   erlang-parsetools erlang-percept erlang-public-key erlang-runtime-tools
==> default:   erlang-snmp erlang-ssh erlang-ssl erlang-syntax-tools erlang-tools
==> default:   erlang-webtool erlang-xmerl libodbc1 libsctp1 lksctp-tools
==> default: Suggested packages:
==> default:   erlang erlang-manpages erlang-doc xsltproc fop erlang-ic-java
==> default:   erlang-observer libmyodbc odbc-postgresql tdsodbc unixodbc-bin
==> default: The following NEW packages will be installed:
==> default:   erlang-asn1 erlang-base erlang-corba erlang-crypto erlang-diameter
==> default:   erlang-edoc erlang-eldap erlang-erl-docgen erlang-eunit erlang-ic
==> default:   erlang-inets erlang-mnesia erlang-nox erlang-odbc erlang-os-mon
==> default:   erlang-parsetools erlang-percept erlang-public-key erlang-runtime-tools
==> default:   erlang-snmp erlang-ssh erlang-ssl erlang-syntax-tools erlang-tools
==> default:   erlang-webtool erlang-xmerl libodbc1 libsctp1 lksctp-tools rabbitmq-server
==> default: 0 upgraded, 30 newly installed, 0 to remove and 154 not upgraded.
==> default: Need to get 22.5 MB of archives.
==> default: After this operation, 40.0 MB of additional disk space will be used.
==> default: Get:1 http://us.archive.ubuntu.com/ubuntu/ trusty/main libodbc1 amd64 2.2.14p2-5ubuntu5 [175 kB]
==> default: Get:2 http://us.archive.ubuntu.com/ubuntu/ trusty/main libsctp1 amd64 1.0.15+dfsg-1 [9226 B]
==> default: Get:3 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main erlang-base amd64 1:16.b.3-dfsg-1ubuntu2.1 [6536 kB]
==> default: Get:4 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main erlang-asn1 amd64 1:16.b.3-dfsg-1ubuntu2.1 [738 kB]
==> default: Err http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main erlang-asn1 amd64 1:16.b.3-dfsg-1ubuntu2.1
==> default:   Connection failed [IP: 91.189.91.24 80]
==> default: Get:5 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main erlang-mnesia amd64 1:16.b.3-dfsg-1ubuntu2.1 [658 kB]
==> default: Get:6 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main erlang-mnesia amd64 1:16.b.3-dfsg-1ubuntu2.1 [658 kB]
==> default: Get:7 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main erlang-mnesia amd64 1:16.b.3-dfsg-1ubuntu2.1 [658 kB]
==> default: Get:8 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main erlang-runtime-tools amd64 1:16.b.3-dfsg-1ubuntu2.1 [157 kB]
==> default: Get:9 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main erlang-crypto amd64 1:16.b.3-dfsg-1ubuntu2.1 [70.2 kB]
==> default: Get:10 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main erlang-public-key amd64 1:16.b.3-dfsg-1ubuntu2.1 [498 kB]
==> default: Get:11 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main erlang-ssl amd64 1:16.b.3-dfsg-1ubuntu2.1 [559 kB]
==> default: Get:12 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main erlang-inets amd64 1:16.b.3-dfsg-1ubuntu2.1 [753 kB]
==> default: Get:13 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main erlang-corba amd64 1:16.b.3-dfsg-1ubuntu2.1 [2235 kB]
==> default: Get:14 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main erlang-syntax-tools amd64 1:16.b.3-dfsg-1ubuntu2.1 [289 kB]
==> default: Get:15 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main erlang-diameter amd64 1:16.b.3-dfsg-1ubuntu2.1 [600 kB]
==> default: Get:16 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main erlang-xmerl amd64 1:16.b.3-dfsg-1ubuntu2.1 [972 kB]
==> default: Get:17 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main erlang-edoc amd64 1:16.b.3-dfsg-1ubuntu2.1 [298 kB]
==> default: Get:18 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main erlang-eldap amd64 1:16.b.3-dfsg-1ubuntu2.1 [91.8 kB]
==> default: Get:19 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main erlang-erl-docgen amd64 1:16.b.3-dfsg-1ubuntu2.1 [134 kB]
==> default: Get:20 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main erlang-eunit amd64 1:16.b.3-dfsg-1ubuntu2.1 [137 kB]
==> default: Get:21 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main erlang-ic amd64 1:16.b.3-dfsg-1ubuntu2.1 [818 kB]
==> default: Get:22 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main erlang-odbc amd64 1:16.b.3-dfsg-1ubuntu2.1 [50.1 kB]
==> default: Get:23 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main erlang-snmp amd64 1:16.b.3-dfsg-1ubuntu2.1 [1497 kB]
==> default: Get:24 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main erlang-os-mon amd64 1:16.b.3-dfsg-1ubuntu2.1 [94.9 kB]
==> default: Get:25 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main erlang-parsetools amd64 1:16.b.3-dfsg-1ubuntu2.1 [156 kB]
==> default: Get:26 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main erlang-percept amd64 1:16.b.3-dfsg-1ubuntu2.1 [136 kB]
==> default: Get:27 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main erlang-ssh amd64 1:16.b.3-dfsg-1ubuntu2.1 [361 kB]
==> default: Get:28 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main erlang-webtool amd64 1:16.b.3-dfsg-1ubuntu2.1 [39.5 kB]
==> default: Get:29 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main erlang-tools amd64 1:16.b.3-dfsg-1ubuntu2.1 [501 kB]
==> default: Get:30 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main erlang-nox all 1:16.b.3-dfsg-1ubuntu2.1 [17.7 kB]
==> default: Get:31 http://us.archive.ubuntu.com/ubuntu/ trusty/main lksctp-tools amd64 1.0.15+dfsg-1 [51.3 kB]
==> default: Get:32 http://us.archive.ubuntu.com/ubuntu/ trusty/main rabbitmq-server all 3.2.4-1 [3909 kB]
==> default: Fetched 21.3 MB in 6min 26s (55.0 kB/s)
==> default: E: Failed to fetch http://us.archive.ubuntu.com/ubuntu/pool/main/e/erlang/erlang-asn1_16.b.3-dfsg-1ubuntu2.1_amd64.deb  Connection failed [IP: 91.189.91.24 80]
==> default: 
==> default: E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

/etc/apt/source.list:

# 

# deb cdrom:[Ubuntu-Server 14.04 LTS _Trusty Tahr_ - Release amd64 (20140416.2)]/ trusty main restricted

# deb cdrom:[Ubuntu-Server 14.04 LTS _Trusty Tahr_ - Release amd64 (20140416.2)]/ trusty main restricted

# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://us.archive.ubuntu.com/ubuntu/ trusty main restricted
deb-src http://us.archive.ubuntu.com/ubuntu/ trusty main restricted

## Major bug fix updates produced after the final release of the
## distribution.
deb http://us.archive.ubuntu.com/ubuntu/ trusty-updates main restricted
deb-src http://us.archive.ubuntu.com/ubuntu/ trusty-updates main restricted

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://us.archive.ubuntu.com/ubuntu/ trusty universe
deb-src http://us.archive.ubuntu.com/ubuntu/ trusty universe
deb http://us.archive.ubuntu.com/ubuntu/ trusty-updates universe
deb-src http://us.archive.ubuntu.com/ubuntu/ trusty-updates universe

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu 
## team, and may not be under a free licence. Please satisfy yourself as to 
## your rights to use the software. Also, please note that software in 
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://us.archive.ubuntu.com/ubuntu/ trusty multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ trusty multiverse
deb http://us.archive.ubuntu.com/ubuntu/ trusty-updates multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ trusty-updates multiverse

## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
deb http://us.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse

deb http://security.ubuntu.com/ubuntu trusty-security main restricted
deb-src http://security.ubuntu.com/ubuntu trusty-security main restricted
deb http://security.ubuntu.com/ubuntu trusty-security universe
deb-src http://security.ubuntu.com/ubuntu trusty-security universe
deb http://security.ubuntu.com/ubuntu trusty-security multiverse
deb-src http://security.ubuntu.com/ubuntu trusty-security multiverse

изменить

УСПЕХ!!

provider => "aptitude"

Это все, что мне было нужно! Все это время я смотрел не в ту сторону и не мог понять, что решение было таким простым! Насколько я понимаю, решение было предоставлено из-за того, как aptitude обрабатывает зависимости и более «интеллектуального» способа установки пакетов. Что я узнал:

  1. Всегда публикуйте ПОЛНЫЙ вывод об ошибке, даже если он кажется вам неуместным (извините за это)

  2. Прочитав немного о aptitude, я больше не вижу причин для использования apt, если у кого-то есть случай, когда в определенных условиях предпочтение отдается apt, я хотел бы услышать и узнать


  • Действительно ли есть только одна строка ошибки? Фу. 04.03.2015
  • Не могли бы вы опубликовать свой Vagrantfile? 04.03.2015
  • Я до сих пор не понимаю ответа... это для бродяг? Что вы увидели в ошибке? 29.03.2015
  • Я готовил vagrant с помощью puppet и получил эти ошибки для некоторых конкретных пакетов, например, rabbitmq-server, ничто из того, что я пробовал, не помогло, пока я не использовал aptitude в качестве поставщика в своем ресурсе пакета (и, как я понимаю, это было успешно из-за того, как aptitude обрабатывает зависимости) 31.03.2015
  • Ошибка конечно пишется 31.03.2015

Ответы:


1

Вероятно, вы могли бы реорганизовать это следующим образом, используя уже существующие модули:

node default {
  class { 'apt':
    always_apt_update    => true,
    purge_sources_list   => false,
    purge_sources_list_d => false,
    purge_preferences_d  => false,
  }
  ->
  class { '::rabbitmq':
    service_manage    => true,
    port              => '5672',
    delete_guest_user => true,
  }
  ensure_packages(['software-properties-common','build-essential'])
}

Базовая рабочая версия с Vagrantfile с использованием поля Vagrant Precise64 по умолчанию:

VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "hashicorp/precise64"

  config.vm.provision "shell", inline: "wget -O - https://raw.githubusercontent.com/petems/puppet-install-shell/master/install_puppet.sh | sudo sh"
  config.vm.provision "shell", inline: "puppet module install puppetlabs/rabbitmq"
  config.vm.provision "shell", inline: "puppet module install puppetlabs/apt"

  config.vm.provision "puppet" do |puppet|
    puppet.manifests_path = "./"
    puppet.manifest_file  = "default.pp"
  end
end

Выход:

==> default: Notice: Compiled catalog for precise64.home in environment production in 0.87 seconds
==> default: Notice: /Stage[main]/Main/Node[default]/Package[build-essential]/ensure: ensure changed 'purged' to 'present'
==> default: Notice: /Stage[main]/Main/Node[default]/Package[software-properties-common]/ensure: ensure changed 'purged' to 'present'
==> default: Notice: /Stage[main]/Staging/File[/opt/staging]/ensure: created
==> default: Notice: /Stage[main]/Rabbitmq::Repo::Apt/Apt::Source[rabbitmq]/Apt::Key[Add key: F7B8CEA6056E8E56 from Apt::Source rabbitmq]/Apt_key[Add key: F7B8CEA6056E8E56 from Apt::Source rabbitmq]/ensure: created
==> default: Notice: /Stage[main]/Apt/File[/etc/apt/apt.conf.d/15update-stamp]/ensure: defined content as '{md5}92afc1e969a04f0764e9ae8343aa9f2f'
==> default: Notice: /Stage[main]/Rabbitmq::Repo::Apt/Apt::Source[rabbitmq]/File[rabbitmq.list]/ensure: created
==> default: Notice: /Stage[main]/Apt::Update/Exec[apt_update]/returns: executed successfully
==> default: Notice: /Stage[main]/Apt::Update/Exec[apt_update]: Triggered 'refresh' from 1 events
==> default: Notice: /Stage[main]/Rabbitmq::Install/Package[rabbitmq-server]/ensure: ensure changed 'purged' to 'present'
==> default: Notice: /Stage[main]/Rabbitmq/Rabbitmq_plugin[rabbitmq_management]/ensure: created
==> default: Notice: /Stage[main]/Rabbitmq::Config/File[rabbitmq.config]/ensure: defined content as '{md5}c4f78868d7f1c83611108e7466c3f5df'
==> default: Notice: /Stage[main]/Rabbitmq::Config/File[rabbitmqadmin.conf]/ensure: defined content as '{md5}f9eb7b80cf1a73ad0d709f907ef00e97'
==> default: Notice: /Stage[main]/Rabbitmq::Config/File[/etc/rabbitmq/ssl]/ensure: created
==> default: Notice: /Stage[main]/Rabbitmq::Config/File[rabbitmq-env.config]/ensure: defined content as '{md5}6513cd3ef9805aa61b060ae020df4fd5'
==> default: Notice: /Stage[main]/Rabbitmq::Service/Service[rabbitmq-server]: Triggered 'refresh' from 1 events
==> default: Notice: /Stage[main]/Rabbitmq::Management/Rabbitmq_user[guest]/ensure: removed
==> default: Notice: /Stage[main]/Rabbitmq::Install::Rabbitmqadmin/Staging::File[rabbitmqadmin]/Exec[/var/lib/rabbitmq/rabbitmqadmin]/returns: executed successfully
==> default: Notice: /Stage[main]/Rabbitmq::Install::Rabbitmqadmin/File[/usr/local/bin/rabbitmqadmin]/ensure: defined content as '{md5}b4027d4c88dc2b6b8d09b25cdb388545'
04.03.2015
Новые материалы

Решения DBA Metrix
DBA Metrix Solutions предоставляет удаленного администратора базы данных (DBA), который несет ответственность за внедрение, обслуживание, настройку, восстановление базы данных, а также другие..

Начало работы с Блум
Обзор и Codelab для генерации текста с помощью Bloom Оглавление Что такое Блум? Некоторые предостережения Настройка среды Скачивание предварительно обученного токенизатора и модели..

Создание кнопочного меню с использованием HTML, CSS и JavaScript
Вы будете создавать кнопочное меню, которое имеет состояние наведения, а также позволяет вам выбирать кнопку при нажатии на нее. Финальный проект можно увидеть в этом Codepen . Шаг 1..

Внедрите OAuth в свои веб-приложения для повышения безопасности
OAuth — это широко распространенный стандарт авторизации, который позволяет приложениям получать доступ к ресурсам от имени пользователя, не раскрывая его пароль. Это позволяет пользователям..

Классы в JavaScript
class является образцом java Script Object. Конструкция «class» позволяет определять классы на основе прототипов с чистым, красивым синтаксисом. // define class Human class Human {..

Как свинг-трейдеры могут использовать ИИ для больших выигрышей
По мере того как все больше и больше профессиональных трейдеров и активных розничных трейдеров узнают о возможностях, которые предоставляет искусственный интеллект и машинное обучение для улучшения..

Как построить любой стол
Я разработчик программного обеспечения. Я люблю делать вещи и всегда любил. Для меня программирование всегда было способом создавать вещи, используя только компьютер и мое воображение...