Spotify: shared libraries libgcrypt.so.11 missing

Spotify verpasst aktuell leider seinen Client anständig zu aktualisieren. Deswegen funktioniert auf einem Ubuntu 15.04 Computer nicht der Spotify Client. Das Problem ist eine veraltete Version der libgcrypt library.
Öffnen man den Spotify Client auf dem Terminal ploppt dieser Fehler auf:

spotify: error while loading shared libraries: libgcrypt.so.11: cannot open shared object file: No such file or directory

Googeln nach dem Fehler bringt dutzende Ergebnisse, die alle dazu raten die Library von einem Spiegelserver oder direkt von der Homepage runterzuladen und zu installieren. Das dies zu einem erheblichen Sicherheitsrisiko führen könnte ist hoffentlich jedem bewusst. Ich tröste mich dann damit, dass es (nur) die Leute erwischt, die auch Browserwarnungen wegen falsche SSL Zertifikate einfach wegklicken.

Der richtige Weg ist natürlich der Weg über einen anständigen Nachtrag im APT Paketmanager! Die Vorgängerversion von Ubuntu 15.04 (vivid) war 14.04 (trusty) und Gott sei Dank ein LTS Release. Das bedeutet, dass die in den Sourcen vorhandene libgcrpyt Version noch ein paar Jahre aktualisiert und bei einer Lücke aktualisiert wird.

Ich habe deswegen folgende Zeile in die Datei /etc/apt/sources.list.d/spotify.list kopiert:

# "Patch" für Spotify's libgcrpyt11 Fehler -> aus Ubuntu 14.04 LTS release
deb http://security.ubuntu.com/ubuntu trusty main restricted universe multiverse

Danach die Sourcen neu einlesen:

:~$ apt-get update

Und dann kann man die fehlende Library sauber installieren:

:~$ apt-get install libgcrpyt11

Nun hat man beide (libgcrpyt11 und libgcrpyt20) parallel installiert und muss keine Sicherheitsbedenken haben.

Linux Bridge leitet kein IPv6/ICMPv6 weiter

Zu Hause habe ich auf meinem Homeserver eine virtuelle Maschine auf der Icinga 2 läuft. Diese generiert sich anhand der MAC Adresse der virtuellen Netzwerkkarte eine Link-local-IPv6 Adresse und mit Hilfe der Router Advertisements der pfSense Firewall via SLAAC (Stateless Address Autoconfiguration) eine öffentliche IPv6 Adresse.

Nach dem Booten der Maschine funktioniert alles. Ein paar Checks, die IPv6 benötigen und an meinen Root-Server gehen werden sauber abgearbeitet. Nach einiger Zeit oder einem Prefix-Wechsel werden alle Checks plötzlich rot. Das Problem: Die Kommunikation über IPv6 ist nicht mehr möglich. Nur ein Neustart schein zu helfen.

Einschub: IPv6 tracen mit tcpdump

Meine virtuellen Server zu Hause sind alle ohne graphische Oberfläche. Wiresark ist also nicht installiert, aber tcpdump. Mit tcpdump kann man natürlich genauso arbeiten und reicht für die ersten Schritte aus. Ein Filter für die komplette IPv6 Kommunikation ist ip6. Will man sich nur auf ICMPv6 beschränken ist der Filter icmp6.

Kleines Beispiel, bei der ich ein Bridge Interface belausche:

root@home:~# tcpdump -i br1 -n icmp6
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on br1, link-type EN10MB (Ethernet), capture size 262144 bytes
12:53:24.174761 IP6 fe80::1:1 > ff02::1: ICMP6, router advertisement, length 88
12:53:30.076520 IP6 fe80::1:1 > fe80::eacc:18ff:fe7e:4f48: ICMP6, neighbor solicitation, who has fe80::eacc:18ff:fe7e:4f48, length 32
12:53:30.076959 IP6 fe80::eacc:18ff:fe7e:4f48 > fe80::1:1: ICMP6, neighbor advertisement, tgt is fe80::eacc:18ff:fe7e:4f48, length 24
12:53:32.090583 IP6 fe80::5054:ff:fe7c:5045 > fe80::1:1: ICMP6, neighbor solicitation, who has fe80::1:1, length 32
12:53:32.090808 IP6 fe80::1:1 > fe80::5054:ff:fe7c:5045: ICMP6, neighbor advertisement, tgt is fe80::1:1, length 24

Ein genauerer Blick ins Paket ist auf dem Terminal unübersichtlich. Man kann aber die Ausgabe von tcpdump zum Beispiel über einen SSH Tunnel in Wireshark pipen. Beispiel:

:~$ ssh root@home tcpdump -i br1 -U -s0 -w - icmp6 | wireshark -k -i -

Happy debugging :-) Read More „Linux Bridge leitet kein IPv6/ICMPv6 weiter“