Estoy en el servidor Ubuntu 16.04 LTS y necesito una solución parahttps://launchpad.net/ubuntu/+source/vagranten versión 1.8.1+dfsg-2
lanzada para Yakkety, pero no para Xenial.
Entonces, ¿cómo instalar eso 1.8.1+dfsg-2
para Xenial para que sea reemplazado por el paquete oficial una vez que se lance?
ACTUALIZACIÓN: Tenga en cuenta que no quiero pin
el paquete. Quiero que se actualice al siguiente establo una vez que se lance ese establo.
Respuesta1
Si solo desea el paquete más nuevo esta vez y también desea que se reemplace una vez que se lance la versión correcta para su versión actual de Ubuntu, puede:
Instale las herramientas de compilación y las dependencias:
sudo apt-get install build-essential devscripts sudo apt-get build-dep vagrant
Descargue el código fuente del paquete y extráigalo:
dget -u https://launchpad.net/ubuntu/+archive/primary/+files/vagrant_1.8.1+dfsg-2.dsc cd vagrant-1.8.1
Agregue una entrada de registro de cambios con un sufijo de versión local cuidadosamente elaborado (reemplace
anatoly
el mensaje de registro con lo que desee):debchange --local=~anatoly 'Backport to Xenial'
Esto cambiará la versión del paquete a
1.8.1+dfsg-2~anatoly1
. El sufijo de tilde tiene la propiedad de que en realidad se considera una versión inferior a1.8.1+dfsg-2
:$ dpkg --compare-versions 1.8.1+dfsg-2~anatoly1 '<' 1.8.1+dfsg-2; echo $? 0
Eso significa que el administrador de paquetes sugerirá "actualizar" el paquete local una vez que la versión
1.8.1+dfsg-2
(o más reciente) esté disponible en los repositorios configurados.Construya el paquete binario:
debuild -b -j"`getconf _NPROCESSORS_ONLN`"
Instale los paquetes compilados con
sudo dpkg -i <DEBFILE>...
.
PD: No intenté crear el paquete yo mismo, por lo que es posible que tengas problemas. Por ejemplo, el paquete fuente de Yakkety puede depender de un paquete (versión) que no está en Xenial (menos probable en este momento y dado que es la misma versión anterior). En ese caso podemos buscar formas de solucionar este problema.