Получить пакет 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 ответ
Почему вы создаете отдельный подпакет?
- Если ваш подпакет всегда должен быть установлен при установке основного пакета, то, возможно, вам не следует создавать отдельный подпакет.
- Если ваш подпакет не всегда должен автоматически устанавливаться при установке основного пакета; тогда пользователь несет ответственность за установку этого дополнительного подпакета...