LINUX.ORG.RU
ФорумAdmin

Установка пакетов определенных версий и добавление репозиториев через Puppet

 


0

3

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

Например надо поставить Percona xtradb, перед этим добавить репу:

 
 file { '/etc/apt/sources.list.d/percona_repo.list':
    owner   => root,
    group   => root,
    mode    => '0644',
    ensure  => present,
    source  => 'puppet:///modules/percona_cluster/percona_repo.list'
  } #Тут я загружаю файл с ссылками на репу
 
  exec { 'apt-key adv':
    command => "/usr/bin/apt-key adv --keyserver keys.gnupg.net --  recv-keys 1C4CBDCDCD2EFD2A",
  } #импортирую ключ
  exec { 'apt-get upd ':
    command => "/usr/bin/apt-get update",
    onlyif => "/bin/sh -c '[ ! -f /var/cache/apt/pkgcache.bin ] || /usr/bin/find /etc/apt/* -cnewer /var/cache/apt/pkgcache.bin | /bin/grep . > /dev/null'",
    require => File['/etc/apt/sources.list.d/percona_repo.list'],
} #Обновляю кэш пакетов
И только потом ставлю сам пакет необходимой мне версии. так вот вопрос, есть ли более компактные способы проделать тоже самое


1. лучше использовать специально для этого сделанный модуль модуль apt,
2. если самому, то можно например, сделать всем «package» зависимость от «Exec apt-get upd».
3. У тебя «apt-key adv» дергается каждый раз, надо бы добавить onlyif/unless

Bers666 ★★★★★
()
Ответ на: комментарий от Bers666

1. лучше использовать специально для этого сделанный модуль модуль apt,

Скорее всего к этому и приду. Просто он очень громоздкий с кучей лишнего функционала.

Banzay
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.