Raspberry 2 (Wheezy): GCC und G++ auf 4.8 updaten – so geht’s

Ich habe auf einem älteren Raspberry Pi 2B noch ein Raspbian/Wheezy laufen, auf dem einige spezielle Anwendungen ihren Dienst tun, deren Entwickler von Zeit zur Zeit ihre Updates als C++-Sourcen via Github veröffentlichen. Nun ist passiert, was irgendwann ja mal passieren musste: Der Compiler gab nach einem Update einige Fehler aus, weil einige benötigte Funktionen nicht verfügbar waren. Mit anderen Worten: GCC musste von der etwas betagten Version 4.6.3 auf (mindestens) 4.7 upgedated werden. Diese ist jedoch so ohne Weiteres nicht auf dem alten Raspian Wheezy per apt verfügbar. Und einfach mit „sudo apt-get install gcc-4.7“ eine neue Version drüberbügeln – damit allein ist es nicht getan. Was also tun?

Nach einigen Recherchen bin ich auf diese Anleitung gestoßen. Die habe ich Schritt für Schritt abgearbeitet. Und seitdem kann ich wieder neue Releases problemlos compilieren.

Zunächst öffnet man mit dem Editor seines Vertrauens (z. B. nano) die Datei /etc/apt/sources.list .

sudo nano /etc/apt/sources.list

Normalerweise steht dort seit Wheezy-Zeiten nur eine Zeile drin, nämlich „deb http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi“. Um Software aus neueren Jessie-Repositories installieren zu können, muss man die sources.list um folgenden Inhalt erweitern:

deb http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi
deb http://archive.raspbian.org/raspbian wheezy main contrib non-free rpi
# Quelltext-Repository aus Raspian Jessie hinzufügen
deb-src http://archive.raspbian.org/raspbian wheezy main contrib non-free rpi
deb http://mirrordirector.raspbian.org/raspbian/ jessie main contrib non-free rpi
deb http://archive.raspbian.org/raspbian jessie main contrib non-free rpi
deb-src http://archive.raspbian.org/raspbian jessie main contrib non-free rpi

Nun die sources.list speichern und schließen. Jetzt fügt man im Verzeichnis /etc/apt/ eine Datei namens „preferences“ hinzu (sudo nano preferences) und schreibt dort Folgendes hinein:

Package: *
Pin: release n=wheezy
Pin-Priority: 900
Package: *
Pin: release n=jessie
Pin-Priority: 300
Package: *
Pin: release o=Raspbian
Pin-Priority: -10

Auch diese Datei speichern und schließen. Nun fährt man auf den eigenen Software-Stand ein Update mit „sudo apt-get update“. Nachdem das durchgelaufen ist, ist man in der Lage, GCC und G++ 4.8 aus den Jessie-Repositories zu installieren. Das geht mit

sudo apt-get install -t jessie gcc-4.8 g++-4.8

Das dauert nun etwas. Zwischendurch wird man gefragt, ob sämtliche noch laufende Dienste neu gestartet werden dürfen (u. a. Apache). Diese Abfrage bestätigt man mit „Yes“. Falls noch andere GCC-/G++Versionen auf dem Raspi vorhanden sein sollten, entfernt man diese mit

sudo update-alternatives --remove-all gcc 
sudo update-alternatives --remove-all g++

Wenn man will (oder muss, weil aus irgendwelchen Gründen noch ältere Versionen benötigt werden), kann man diese auch wieder hinzufügen:

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 20
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 50
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.6 20
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 50

Soooooo – ab sofort ist GCC 4.8 der Standard-Compiler auf der Himbeere (Testen mit „gcc -v“). Falls man evtl. andere GCC-Versionen aktivieren möchte, so geht das mit

sudo update-alternatives --config gcc
sudo update-alternatives --config g++

Raspberry Pi verliert WLAN-Verbindung: die ultimative Abhilfe

Wer einen Raspberry Pi mit USB-WLAN-Stick (z. B. Edimax) im 24/7-Betrieb laufen hat, der kennt das Problem: Sobald der WLAN-Hotspot auch nur kurzzeitig weg ist – sei es durch übermäßigen Traffic durch andere Teilnehmer oder durch Nachtabschaltung -, schaltet das WLAN-Plugin des RasPi ab. Man hat dann keine Chance mehr, administrativ per SSH auf den Raspberry zuzugreifen und es hilft nur ein harter Reset oder „Stecker raus – Stecker rein“, um das Ding neu zu starten und online zu bringen. Mehr als einmal ist es mir schon passiert, dass ich auf die Art die SD-Card zerschossen habe.

Nun habe ich mir endlich mal die Zeit dafür genommen, nach Abhilfe für dieses Problem zu suchen. Auf einem alten Raspberry Pi 2B hab ich seit Ewigkeiten einen kleinen Webserver laufen, dessen Inhalte auch brav bei Bing & Co. indexiert werden. Es ist schon passiert, dass die Webseiten in den Suchmaschinen nicht mehr gelistet wurden, weil der RasPi von mir unbemerkt mehrmals einige Tage nicht mehr am Netz hing – ich schaue ja nicht ständig nach dem zart-bläulichen Blinken der WLAN-LED. Die Suchmaschinen-Bots schauen gelegentlich mal nach, was es bei mir so Neues gibt, erreichen den Server nicht und folgerichtig fliegen die Seiten aus dem Index. Und per Cronjob das Ding in loser Folge neustarten zu lassen, („falls mal was sein sollte“) erschien mir auch recht unprofessionell.

Ich hab mir wie folgt beholfen: Im Verzeichnis /etc/ifplugd/action.d gibt es eine Shellskript-Datei namens ifupdown. Die hab ich umbenannt nach ifupdown.bak (da steht zwar nicht viel drin, aber könnte man ja nochmal brauchen). Danach habe ich im Verzeichnis /etc/wpa_supplicant/ nach der Datei ifupdown.sh Ausschau gehalten. Diese hab ich nach /etc/ifplugd/action.d kopiert und nach ifupdown umbenannt. Die bisherige ifupdown wird dadurch durch eine neue Version ersetzt. Diese versetzt den Raspberry  in die Lage, sich in das vorhandene WLAN-Netzwerk wieder „einzubuchen“, wenn es denn mal weg war. Nun wird der RasPi abschließend mit sudo reboot neu gestartet. Wenn man alles richtig gemacht hat, ist zunächst alles unverändert: WLAN startet, die entsprechende LED blinkt. Nun kann man testen, ob der gewünschte Reconnect funktioniert: Einfach das WLAN abschalten oder den Stecker am Router ziehen, wie auch immer. Jetzt sieht man, dass die LED des WLAN-Moduls in loser Folge kurz aufblinkt und nach „seinem“ Funknetz sucht (bisher ging die LED aus und der RasPi war offline). Sobald der WLAN-Hotspot wieder da ist, verbindet sich der Raspberry Pi wieder binnen wenigen Sekunden. Bei meinen Tests hatte ich vor dem Ausschalten des WLANs eine SSH-Session offen. Nachdem das Netz wenige Minuten weg und dann wieder da war, war die SSH-Verbindung immer noch bzw. wieder unverändert vorhanden – ls -l flog über den Bildschirm, als wenn nichts gewesen wäre.

Einen Haken hat die ganze Sache jedoch: Sobald man den Raspberry auf diese Art umkonfiguriert hat, funktioniert die LAN-Buchse nicht mehr. Also WLAN off und dann Netzwerk-Stecker in die Ethernetbuchse geht nicht. Aber hierfür haben wir ja die ifupdown.bak gesichert. Wenn man also wieder mal ein Netz per Leitung braucht: Einfach die Datei nach ifupdown umkopieren, und schon ist wieder alles beim Alten.

Sprechende URLs mit GetSimple CMS und nginx

Ich liebe so kleine CMSe wie GetSimple, mit denen man ohne Datenbank-Gedönse schnell eine kleine performante Website hochziehen kann. Auf einem Raspberry Pi 2B habe ich einen Webserver mit nginx aufgesetzt, die Dateien von GetSimple CMS eingespielt – und läuft. Nun kann nginx leider nicht mit den .htaccess-Dateien von Apache umgehen, mit denen man z. B. Zugriffsbeschränkungen und Redirects steuern kann. Das führt bei GetSimple dazu, dass man im Backend unter den Einstellungen den Haken bei „Nutze freundliche URLs – Erfordert mod_rewrite auf Ihrem Server“ zwar setzen kann, wenn man dann aber auf der Website in der Navigation auf entsprechende Unterseiten klickt, rennt man gnadenlos auf einen Server-Error 500.

Hier muss man also statt .htaccess direkt in der Serverkonfiguration editieren. Unter /var/www/etc/nginx/sites-available öffnet man mit su-Rechten die Datei „default“. In dem Bereich „server { … }“ sucht man sich den Eintrag „location / { … }“ und fügt dort folgende Zeile ein:

try_files $uri $uri/ /index.php?id=$uri&$args;

Dieser Eintrag sorgt dafür, dass GetSimple URLs umschreiben kann. Jetzt diese Datei speichern und mit „sudo service nginx restart“ den Webserver neu starten. Und nun klappt es auch mit den Fancy URLs. Das wird übrigens auch die SEO-Freaks freuen.

Wer sich in die GetSimple-optimierte nginx-Konfiguration einarbeiten möchte: Hier findet man eine gute Dateivorlage mit den Zugriffsrechten innerhalb der GetSimple-CMS-Verzeichnisstruktur.

 

Windows10-Upgrade zerstört Grub-Konfiguration

Auf meinem Arbeitsnotebook mit LinuxMint 17.1 habe ich nebenher noch ein Windows 8.1 mit Grub und entsprechend mühsam eingerichteter UEFI-Konfiguration am Laufen. Nun kam der Tag des (automatisierten) Windows-10-Upgrades. Mutig, wie ich ja bin, habe ich das einfach mal laufen lassen. Hat auch alles auf den ersten Blick geklappt, aber dann kam der große Schreck: Beim Versuch, das Grub-Bootmenü von Linux zu starten, rannte der Rechner prompt in den – genau – Grub-Rescue-Prompt. Somit war LinuxMint erst mal nicht mehr erreichbar.

Wie ich später herausfand, hat das Windows-10-Upgrade die Reihenfolge und Attribute der Partitionen verändert (getreu dem Gebot „Du sollst keine anderen OS neben Windows 10 haben“) – die Linux-Bootpartition war nicht mehr dort, wo Grub sie vermutete. Ich hätte jetzt versuchen können, ein Linux von einer Boot-CD-ROM oder einem USB-Stick zu starten, um dann Reparaturversuche durchzuführen. Ich habe es dann aber doch mit Bordmitteln auf dem Grub-Rescue-Prompt hinbekommen.

Zunächst habe ich mit „ls“ nachgesehen, welche Partitionen überhaupt vorhanden sind. Ergebnis bei mir war (hd0,gpt10), (hd0,gpt9), (hd0,gpt8) … (hd0). Welche davon ist jetzt die Linux-Partition, die ich starten möchte? Das findet man heraus, indem man nacheinander „ls (hd0,gpt1)/“, „ls (hd0,gpt1)/boot“, „ls (hd0,gpt2)/“, „ls (hd0,gpt2)/boot“ usw. eingibt. Meist wird man eine Fehlermeldung erhalten, dass das Filesystem nicht erkannt werden konnte. Irgendwann wird man aber das Laufwerk entdecken, welches das Linux-Hauptverzeichnis enthält – das war in meinem Fall (hd0,gpt9). Viel Spaß übrigens mit der deutschen Tastatur und den Zeichen „()/=“ 🙂

Als nächstes habe ich mit „set“ kontrolliert, wo Grub seine Konfigurationsdateien sucht. Das Ergebnis war in meinem Fall:

prefix=(hd0,gpt8)/boot/grub
root=(hd0,gpt8)

Aha! Ich habe doch zuvor festgestellt, dass mein Linux-Laufwerk (hd0,gpt9) ist. An der Stelle hat Windows 10 also herumfuhrwerkt! Ehemals Partition gpt8 ist jetzt gpt9. Jetzt gilt es also, die Einstellungen für prefix und root so einzustellen, dass Grub seinen Kram wieder findet. Und das geht so:

set prefix=(hd0,gpt9)/boot/grub
set root=(hd0,gpt9)

Wenn man jetzt in die normale Menüansicht von Grub möchte, gibt man Folgendes ein:

insmod normal
normal

Wenn Sie alles richtig gemacht haben, sehen Sie jetzt wieder Ihr altbekanntes Grub-Bootmenü. Juhuuuuu! Aber nicht zu früh freuen! Beim nächsten Booten rennen Sie garantiert wieder in den Grub-Rescue-Prompt. Wenn Sie jetzt auf dem Grub-Bootmenü stehen, stellen Sie den Leuchtbalken auf den Eintrag, der Ihr Linux starten soll, und drücken ‚e‘ (wie „edit“). Hier ändern Sie jetzt überall, wo noch der falsche gpt-x-Wert steht, auf den neuen – bei mir also überall, wo noch ein gpt8 steht, ein gpt9 setzen. Nun F10 drücken – und Linux startet!

Nun sind wir auch schon fast am Ziel. In einer Konsole geben wir nun noch ein „sudo grub-install“ ein, und Grub wird aktualisiert – auch das neue Windows wird erkannt. Jetzt kontrollieren wir nochmal zur Sicherheit die /etc/fstab mit einem Editor (nano, vim, was Sie mögen). Die gemounteten Partitionen mit einem UUID-Identifier stellen natürlich kein Problem dar, sollten Sie dort aber Laufwerke mit einem /dev/…-Eintrag finden, sollten Sie die entsprechende Zeile auf die neuen Gegebenheiten anpassen.

 

Wieder einmal PuTTY: Darstellung von Linien, Umlauten und Sonderzeichen

Ich greife öfter mittels des Terminalprogramms PuTTY unter Windows auf Linux-Rechner zu – insbesondere auf meine Raspberry Pis. Nun kommt es immer wieder mal vor, dass bestimmte zeichenorientierte Anwendungen auf einer Linux-Konsole in PuTTY falsch dargestellt werden. Ich muss z. B. häufig mit dem alsamixer Audio-Einstellungen der USB-Soundcard eines Raspberrys ändern. Aus den gewohnten Rahmenlinien wird in PuTTY ein Buchstaben-Mix umgesetzt, die als lppk-Zeichenfolge bekannt ist. Hinzu kommt, dass die F-Tasten in PuTTY nicht richtig funktionieren und dafür sorgen, dass alsamixer beendet wird, wenn ich mit F3 bzw. F4 zwischen den Wiedergabe- und Aufnahmeeinstellungen umschalten will. Hier helfen einige PuTTY-Einstellungen.

raspberry_putty-lqqk

Diese verwurstete Darstellung nervt mich schon seit Jahren.

 

Unter Connection/Data ist es wichtig, dass man im Feld „Terminal-type String“ das vorgegebene „xterm“ durch das Wort „linux“ ersetzt. Achtung – kontextsensitiv! „linux“ muss komplett kleingeschrieben werden. Somit haben wir die richtige Rahmendarstellung schon mal im Griff. Nun ist es noch wichtig, unter Terminal/Keyboard unter „Function keys and keypad“ den Radiobutton „Linux“ zu setzen – dann funktioniert es auch mit den F-Tasten.

putty-alsamixer

So soll es sein!

 

Eigene Webseiten vor fremden Frames schützen

Es kommt ja immer wieder mal vor, dass die eigene Homepage irgendwo im Web von fremden Leuten per HTML-Frame eingebunden wird – diese Leute machen sich also fremde Webseiten zu eigen. Okay – das mag allenfalls ein urheberrechtliches Problem sein, aber man kann diese uralte HTML-Technik (Frames sind in HTML5 nicht mehr vorgesehen!) auch für richtig bösartige Sachen nutzen. Da baut sich jemand Böses einen Frameset, bindet darin meine Webseite ein und verlinkt seinen Frameset z. B. bei Twitter. Nun wird meine Webseite von zigtausenden Surfern angeklickt – schlimmstenfalls reißt das meinen Webserver in die Knie. Oder jemand lässt mittels Frames meine schöne, hochkulturell wertvolle Seite zusammen mit was-weiß-ich-was-für Seiten im Browser erscheinen.

Wie kann man das nun verhindern? Nun, ich betreibe eine kleine Homepage auf einem Apache2-Server auf einem Raspberry Pi (für wenige Besucher pro Stunde reicht das voll und ganz). In der httpd.conf habe ich eine Zeile eingefügt, welche bewirkt, dass in dem HTTP-Response-Header eine Anweisung ausgegeben wird, dass meine Webseiten nur von meinem eigenen Webserver in Frames eingebunden werden darf. Diese Zeile lautet wie folgt:

Header always append X-Frame-Options SAMEORIGIN

Anstatt „SAMEORIGIN“ kann man auch die Option „DENY“ setzen. Dann darf nicht mal mehr mein eigener Webserver den Content in Frames darstellen – wer weiß, was meine Designer-Kollegen da für einen Unfug treiben 🙂

Nachdem man die Änderung in der httpd.conf gespeichert hat, startet man den Webserver mit sudo service apache2 restart neu. Sollte es beim Neustart zu Fehlermeldungen kommen, ist in der Apache2-Konfiguration das Modul „mod_headers“ nicht aktiviert. Dies kann man nachholen, in dem man in der Konsole „sudo a2enmod headers“eingibt. Jetzt sollte der Apache2-Neustart fehlerfrei laufen.

Und wie testet man jetzt, ob die Änderung wirklich aktiv ist? Hier gibt es eine Testseite, in der man sich den HTTP-Header des eigenen Webservers (und natürlich jedes anderen Webservers der Welt) ansehen kann. Dort sollte jetzt die Zeile

X-Frame-Options: SAMEORIGIN

erscheinen.

Übrigens: Wenn Sie keinen Zugriff auf die Servereinstellungen Ihres Webspaces haben – man kann auch mit .htaccess das Kapern Ihrer Webseiten mit Frames verhindern. Die hinzuzufügende Zeile lautet: Header append X-FRAME-OPTIONS „SAMEORIGIN“

Ach ja, und wo wir schon mal dabei sind: Wenn Sie in der Auflistung des HTTP-Headers die Zeile sehen: „X-Powered by“ – und dahinter Ihre detaillierte PHP-Version (ein Freudenfest für Hacker!), sollte man das schleunigst in der php.ini abschalten, indem man in der Zeile expose_php = On das „On“ durch ein „Off“ ersetzt.

Linux Mint mit apt-get online upgraden

Ich arbeite seit einiger Zeit produktiv auf einem Linux-Mint-Notebook. Ebenfalls seit einiger Zeit werden für Linux Mint 15 (Olivia) online keine Updates mehr geliefert. Nun ist es so, dass Mint empfiehlt, ein Upgrade auf eine neue Version nach der Brachial-Methode durchzuführen. D. h. Backup der persönlichen Daten und Einstellungen mit dem Mint-eigenen Backup-Tool, Festplatte plätten und neue Version von CD/DVD installieren – und dann mit besagtem Backup-Tool eigene Software, Einstellungen und Daten wieder restoren. Soll ja angeblich viel sauberer und sicherer sein und bla …

Das habe ich vor ein paar Monaten bei Erscheinen der Version 16 (Petra) ein einziges Mal genau so durchgezogen – mache ich aber auch nie wieder so! Die neue Version wollte nach der Installation nicht so recht (Probleme mit Grafik und WLAN), und das Wiedereinspielen von dem eigenen Krams passte vorne und hinten nicht mehr. Also habe ich alles wieder gelöscht und Version 15 eingespielt. Auch hier erwies sich das Restore etwas problematisch, aber nach ca. einer Woche hatte ich meine (offenbar doch sehr spezielle) Konfiguration wieder so, wie ich es brauchte. Also viel Zeit kaputt gekriegt für nichts und wieder nichts.

Nun blieben unter Linux Mint 15 allmählich die Updates aus, also musste ich doch mal einen Weg finden, das System auf Version 16 lauffähig zu kriegen. Also habe ich mich an ein Online-Update mittels apt-get gewagt. Um es kurz zu machen: Es hat alles auf Anhieb geklappt. Vorgehensweise wie folgt:

In einer Konsole folgende Befehlszeilen abdrücken:

sudo sed -i ’s/raring/saucy/‘ /etc/apt/sources.list
sudo sed -i ’s/olivia/petra/‘ /etc/apt/sources.list
sudo sed -i ’s/raring/saucy/‘ /etc/apt/sources.list.d/official-package-repositories.list
sudo sed -i ’s/olivia/petra/‘ /etc/apt/sources.list.d/official-package-repositories.list

Und dann das eigentliche Upgrade:

sudo apt-get update
sudo apt-get dist-upgrade

Jetzt gehen Sie erst mal – je nach Bandbreite Ihrer Internetverbindung und Tempo Ihres Rechners – für zwei Stunden Kaffee trinken. Schauen Sie aber zwischendurch immer mal, was sich so tut, denn zwischendurch kommen immer mal Fragen, ob neue Konfigurationsdateien installiert werden sollen. Lieber immer auf „N“ wie „No“ tippen – wenn alles läuft, kann man hinterher immer noch manuell eingreifen.

HALT – noch nicht neu booten! Wenn alles durch ist, noch einmal mit

sudo apt-get upgrade

das System auf den neuesten Stand bringen. Hierbei werden auch noch evtl. defekte Paketabhängigkeiten repariert.

Abschließend mit sudo shutdown -r now den Rechner neu starten.

Viel Glück 😉

 

Grub2 passend machen (oder reparieren)

Mir passiert es immer wieder, dass bei Testinstallationen und LiveCDs verschiedener Linux-Distributionen (LinuxMint 15 und 16, ubuntu 13.04 und 13.10) insbesondere bei Notebooks nach dem Start aus dem Grub2-Menü der Bildschirm schwarz (also richtig dunkel) wird und das ganze System festhängt – es bleibt nur noch langes Drücken auf den PowerOff-Knopf. Grund ist, dass der Kernel beim Initialisieren der Grafik verschiedene Auflösungen „ausprobiert“, was bei manchen Grafikchips dann eben schief geht. Über den Recovery-Modus kann man das System in der Regel aber immer noch irgendwie starten, was ja aber keine Dauerlösung sein kann.

Hier gibt es zwei Lösungsschritte. Man kann versuchen, mittels Grub dem Linux-Kernel den Startparameter „nomodeset“ auf den Weg zu geben. Wenn man also das Grub-Startmenü vor sich sieht und auf dem ersten Listeneintrag steht, drückt man ‚e‘, um den Menüeintrag zu editieren. Nun fügt man in der Zeile mit „splash quiet“ das besagte „nomodeset“ hinzu. Jetzt drückt man Strg-X oder F10, um mit den geänderten Parametern das Betriebssystem zu starten. Jetzt sollte das Starten in den Grafikmodus zum Login-Bildschirm funktionieren.

Nun wäre es natürlich lästig, jedesmal in Grub herumzueditieren, wenn man sein ubuntu oder LinuxMint hochfahren will. Den besagten Parameter „nomodeset“ muss noch dauerhaft in Grub2 gespeichert werden. Und das macht man so:

Man öffnet mit root-Rechten die Datei /etc/default/grub – ob mit „sudo nano“ im Terminal oder mit gedit, überlasse ich dem geneigten User. In dieser Datei sucht man dann die Zeile ‚“GRUB_CMDLINE_LINUX_DEFAULT=“quiet splash“‚ und schreibt hinter dem „splash“ noch „nomodeset“. Die ganze Zeile sollte also so aussehen:

GRUB_CMDLINE_LINUX_DEFAULT=“quiet splash nomodeset“

Nun diese Datei speichern. Damit Grub2 diese Änderung auch annimmt, schießt man im Terminal noch ein „sudo update-grub“ ab.

Nach einem Neustart wird der Listeneintrag im Grub-Menü wie gewünscht funktionieren. Übrigens kann man in der Datei /etc/default/grub sein Startmenü auch optisch noch ein wenig aufhübschen (Auflösung, Hintergrundfarbe). Mehr dazu hier.

IPv6 und Firefox unter Linux

Ich habe auf einem neuen Notebook ein frisches LinuxMint 15 aufgesetzt und verschiedene Browser eingespielt, wie man das so als Webdeveloper macht. Ich habe in meinem Intranet eine Webseite, auf der angezeigt wird, ob man mit IPv4 oder IPv6 ankommt (auch hier auf der Blogseite unten links gibt es sowas). Nun fiel mir auf, dass der Firefox mir an der Stelle ansagt, ich käme lediglich mit IPv4 an. Die anderen Browser (SRWIron, Opera) zeigten mir hingegen an: alles ok mit IPv6. Wat is dat dann???

Die Lösung: bei der Firefox-Installation in Linuxmint ist standardmäßig die Suche nach einem IPv6-DNS abgeschaltet – warum auch immer. Ändern kann man das wie folgt: in der Adresszeile vom FF „about:config“ eingeben. Die Warnung „Hier erlischt eventuell die Garantie“ ignorieren wir geflissentlich. Nun geben wir in der Suchzeile den Begriff „ipv6“ ein. Nun landen wir auf einer einzigen Zeile „network.dns.disableIPv6“. Der Wert steht mit Sicherheit auf „true“. Doppelklick drauf – dann steht der Wert auf „false“. Browser neu starten – und nun kann der Feuerfuchs auch IPv6. Echt jetzt!