Получить пакет rpm для установки с обновлением

В рамках моей стажировки я должен развернуть клиенты OpenVPN примерно на 60-70 клиентских устройствах, работающих под управлением CentOS (которые находятся в частных сетях и к которым нет прямого доступа). Я совершенно новичок в управлении пакетами. Я обновил уже существующий файл SPEC, созданный сотрудником, который здесь больше не работает. Я добавил подпакет в spec-файл, и он генерирует подпакет под названием "mainpackage-openvpn-version" при сборке. Это работает правильно.

Моя проблема заключается в том, что когда клиентские устройства запускают "yum update mainpackage-*" (что он делает автоматически), он обновляет только уже установленные подпакеты (как и ожидалось). Есть ли способ заставить его взять мой новый подпакет openvpn и установить его тоже? Поскольку запуск yum install на всех 60 машинах нецелесообразен, я ищу способы заставить его работать с обновлением. Или я смотрю на это совершенно неправильно и есть более чистый способ справиться с этим?

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

Если это поможет, я выкладываю соответствующий раздел из файла SPEC здесь.

%post openvpn

hostname="$(/path/to/get_login.sh)"
sed -i "s/cert_here/$hostname.crt/" /etc/openvpn/client.conf
sed -i "s/key_here/$hostname.key/" /etc/openvpn/client.conf

psswd="$(mysql -Ns -u username -ppassword database -e "SELECT value FROM table
 WHERE parameter='PASSWORD'")"

cd /etc/openvpn/

curl -k -o certs.tar.gz http://webservice-to-get-certificates/$hostname/$psswd

tar -xf /etc/openvpn/certs.tar.gz

rm -f certs.tar.gz

chmod 755 /etc/init.d/openvpn

chkconfig --add openvpn
systemctl start openvpn

%files openvpn
/etc/openvpn/client.conf
%attr(755, -, -) /etc/rc.d/init.d/openvpn

1 ответ

Почему вы создаете отдельный подпакет?

  • Если ваш подпакет всегда должен быть установлен при установке основного пакета, то, возможно, вам не следует создавать отдельный подпакет.
  • Если ваш подпакет не всегда должен автоматически устанавливаться при установке основного пакета; тогда пользователь несет ответственность за установку этого дополнительного подпакета...
Другие вопросы по тегам