[[Vorlage(Archiviert, "Archiviert auf [post:8358138:Anforderung des Autors]")]]
## [[Vorlage(Getestet, xenial)]]

[[Vorlage(Fortgeschritten)]]

{{{#!vorlage Wissen
[:Pakete installieren: Installation von Programmen]
[:Terminal: Ein Terminal öffnen]
[:sudo: Root-Rechte]
[:Editor:Einen Editor nutzen]
}}}

[[Inhaltsverzeichnis()]]

Unter Ubuntu 16.04 kann das [wikipedia_en:OpenConnect:]-Plugin nicht genutzt werden, da die Plugins in den [:Paketquellen:] nicht mit der dort vorhandene Version des [:NetworkManager:]s kompatibel sind (siehe dazu [bug:1571300:]).

Um das Plugin trotzdem zu verwenden gibt es verschiedene Möglichkeiten.

= Pakete selbst bauen =

Da eine "Bauanleitung" verfügbar ist lassen sich die Pakete relativ einfach selbst erstellen.

Dazu müssen zuerst die Abhängigkeiten zum [:Programme_kompilieren:Kompilieren] der Software installiert werden.

{{{#!vorlage Befehl
sudo apt build-dep network-manager-openconnect
sudo apt install libnm-dev
}}}

Hierzu müssen in den Paketquellen die Quellpakete aktiviert sein (`deb-src`).

Außerdem die notwendige Pakete für den [:Grundlagen_der_Paketerstellung:Paketbau].

{{{#!vorlage Paketinstallation
dh-make
fakeroot
}}}

Die aktuelle Version des Plugins findet man auf den [http://ftp.gnome.org/pub/GNOME/sources/NetworkManager-openconnect/ FTP-Servern des GNOME-Projekts], das Upstream für diese Software verantwortlich ist.

Die auf dieser Seite ersichtliche aktuelle Version wird als Version festgelegt, zum Zeitpunkt der Erstellung des Artikels `1.2.2`.

{{{#!vorlage Befehl
version=1.2.2
}}}

Zur Erstellung des Pakets wird ein temporärer Arbeitsordner erstellt.

{{{#!vorlage Befehl
tmp=$(mktemp -d)
}}}

dort hineingewechselt

{{{#!vorlage Befehl
cd ${tmp}
}}}

das Quellpaket heruntergeladen

{{{#!vorlage Befehl
wget http://ftp.gnome.org/pub/GNOME/sources/NetworkManager-openconnect/1.2/NetworkManager-openconnect-${version}.tar.xz
}}}

und entpackt

{{{#!vorlage Befehl
tar -xf NetworkManager-openconnect-${version}.tar.xz
}}}

Anschließend wird die Bauanleitung für die Pakete besorgt. Hierfür wird das Quellpaket für die Yakkety-Pakete herangezogen, in denen [bug:1571300:] bereits behoben wurde.

{{{#!vorlage Befehl
wget http://archive.ubuntu.com/ubuntu/pool/universe/n/network-manager-openconnect/network-manager-openconnect_1.2.2-1.debian.tar.xz
}}}

Diese wird ebenfalls entpackt und in das Verzeichnis mit dem entpackten Quelltext verschoben. 

{{{#!vorlage Befehl
tar -xf network-manager-openconnect_1.2.2-1.debian.tar.xz
mv debian NetworkManager-openconnect-${version}/
}}}

Danach wird in das Verzeichnis gewechselt.

{{{#!vorlage Befehl
cd NetworkManager-openconnect-${version}
}}}

Angepasst werden muss hier die Datei `debian/changelog`. Beispielsweise  mit einem [:Editor:] wird dort ein Eintrag für die Version hinzugefügt.

{{{
network-manager-openconnect (VERSION) xenial; urgency=medium

  * Fixes #1571300.

 -- USER <USER@MAILADRESSE.TLD>  WOCHENTAG, DATUM UHRZEIT ZEITABWEICHUNG_ZUR_UTC

}}}

Die Platzhalter sind durch die tatsächlichen Angaben zu ersetzen, als Beispiel inklusive des notwendigen Formats:

{{{
network-manager-openconnect (1.2.2-2) xenial; urgency=medium

  * Fixes #1571300.

 -- tomtomtom <tomx3@tomtomtom.org>  Wed, 18 May 2016 21:22:14 +0200

}}}

Wichtig: Der Eintrag muss mit einer Leerzeile von den darunter befindlichen Einträgen getrennt sein.

Danach können die Software kompiliert und die Pakete gebaut werden.

{{{#!vorlage Befehl
fakeroot debian/control binary
}}}

Die fertig gebauten Pakete befinden sich dann ein Verzeichnis höher und können [:Paketinstallation_DEB:manuell installiert] werden.

= Pakete aus der Folgeversion nutzen =

Grundsätzlich ist es möglich, die notwendigen Pakete aus den Repositories der Folgeversion [:Yakkety_Yak:] zu installieren.

== Pakete manuell herunterladen und installieren ==

Über die [http://packages.ubuntu.com Ubuntu-Paketsuche] kann man die aktuelle Version der Pakete 

 * [packages:network-manager-openconnect:]
 * [packages:network-manager-openconnect-gnome:]

aus den Paketquellen für Ubuntu 16.10 suchen, einzeln in der benötigten Architektur herunterladen und [:Paketinstallation_DEB:manuell installieren].

Hierbei gibt es keine Aktualisierungen für die Pakete. Um diese einzuspielen muss die Prozedur mit den aktuelleren Versionen wiederholt werden.

== Paketquelle einbinden und daraus installieren ==

'''Vorteil:''' Hier kann man relativ leicht auch Aktualisierungen für die Pakete aus den [:16.10:]-Repository installieren.

'''Nachteil:''' Die Paketquelle muss mittels [:Apt-Pinning:] so eingestellt werden, dass ausschließlich die genannten Pakete darüber installiert werden können.

{{{#!vorlage Warnung
Dies sollten nur fortgeschrittene Anwender tun, da bei Falschanwendung die Gefahr besteht durch Installation nicht gewollter Pakete aus den [:16.10:]-Paketquellen das System in eine [wikipedia_en:Dependency_hell:] zu stürzen.
}}}


Zuerst wird die Paketquelle hinzugefügt. 

{{{#!vorlage Befehl
sudo sh -c 'echo "deb http://archive.ubuntu.com/ubuntu/ yakkety universe" >> /etc/apt/sources.list.d/network-manager-plugins.list'
}}}

Anschließend wird per [:Apt-Pinning:] dafür gesorgt, dass die Pakete aus [:Yakkety_Yak:] eine niedrigere Priorität als die Quellen für [:16.04:] haben, so dass nichts automatisch aus diesen installiert wird.

{{{#!vorlage Befehl
echo -e "Package: *\nPin: release a=yakkety\nPin-Priority: 100\n" | sudo tee /etc/apt/preferences.d/yakkety.pref
}}}

Nach Neueinlesen der Paketquellen per

{{{#!vorlage Befehl
sudo apt update
}}}


können die OpenConnect-Plugins in kompatibler Version installiert werden.

{{{#!vorlage Befehl
sudo apt install -t yakkety network-manager-openconnect network-manager-openconnect-gnome
}}}

Aktualisierungen für die Pakete kann man dann später, soweit vorhanden, per

{{{#!vorlage Befehl
sudo apt install --reinstall -t yakkety network-manager-openconnect network-manager-openconnect-gnome
}}}

installieren.

== Installation aus einer Fremdquelle ==

Da [wikipedia:Virtual_Private_Network:VPN] grundsätzlich ein Sicherheitsrelevanes Thema ist sollte die Installation aus einer [:Fremdquelle:] hier nur die absolut letzte Option darstellen.

[[Vorlage(PPA, tomtomtom/network-manager-openconnect-xenial)]]

Nach dem Aktualisieren der Paketquellen kann man die folgenden Pakete in zur NetworkManager-Version passenden  Version installieren:

{{{#!vorlage Paketinstallation
network-manager-openconnect, ppa
network-manager-openconnect-gnome, ppa
}}}

#tag: Netzwerk, Internet