Ich bin auf Ubuntu 16.04 LTS Server und brauche einen Fix fürhttps://launchpad.net/ubuntu/+source/vagrantin einer 1.8.1+dfsg-2
für Yakkety veröffentlichten Version, aber nicht für Xenial.
Wie installiert man das also 1.8.1+dfsg-2
für Xenial, sodass es nach der Veröffentlichung durch das offizielle Paket ersetzt wird?
UPDATE: Beachten Sie, dass ich das Paket nicht möchte pin
. Ich möchte, dass es auf die nächste stabile Version aktualisiert wird, sobald diese stabile Version veröffentlicht wird.
Antwort1
Wenn Sie das neuere Paket nur dieses eine Mal möchten und es auch ersetzen möchten, sobald die richtige Version für Ihre aktuelle Ubuntu-Version veröffentlicht wird, haben Sie folgende Möglichkeiten:
Installieren Sie die Build-Tools und Abhängigkeiten:
sudo apt-get install build-essential devscripts sudo apt-get build-dep vagrant
Laden Sie die Paketquelle herunter und extrahieren Sie sie:
dget -u https://launchpad.net/ubuntu/+archive/primary/+files/vagrant_1.8.1+dfsg-2.dsc cd vagrant-1.8.1
Fügen Sie einen Änderungsprotokolleintrag mit einem sorgfältig erstellten lokalen Versionssuffix hinzu (ersetzen Sie
anatoly
die Protokollnachricht durch alles, was Sie möchten):debchange --local=~anatoly 'Backport to Xenial'
Dadurch wird die Paketversion auf erhöht
1.8.1+dfsg-2~anatoly1
. Das Tilde-Suffix hat die Eigenschaft, dass es tatsächlich als niedrigere Version als angesehen wird1.8.1+dfsg-2
:$ dpkg --compare-versions 1.8.1+dfsg-2~anatoly1 '<' 1.8.1+dfsg-2; echo $? 0
Das bedeutet, dass der Paketmanager vorschlägt, das lokale Paket zu „aktualisieren“, sobald die Version
1.8.1+dfsg-2
(oder neuer) in den konfigurierten Repositorys verfügbar ist.Erstellen Sie das Binärpaket:
debuild -b -j"`getconf _NPROCESSORS_ONLN`"
Installieren Sie die erstellten Pakete mit
sudo dpkg -i <DEBFILE>...
.
PS: Ich habe nicht versucht, das Paket selbst zu erstellen, daher kann es sein, dass Sie auf ein Problem stoßen. Beispielsweise kann das Quellpaket für Yakkety von einem Paket (einer Version) abhängen, das nicht in Xenial enthalten ist (was derzeit weniger wahrscheinlich ist, da es sich um dieselbe Upstream-Version handelt). In diesem Fall können wir nach Möglichkeiten suchen, dies zu umgehen.