Guild Wars 2 auf Arch – 32-Bit Dependencies

Spielen unter Linux mit Wine erfordert häufig die Installation zusätzlicher 32-Bit Libraries. Für Guild Wars 2 sind das (unter Arch Linux):

  • lib32-libpulse
  • lib32-gnutls28 (häufige Verbindungsabbrüche, wenn dieses Paket fehlt)
  • lib32-png12

Das alles geht aus dem Terminal-Output von wine hervor, den man aber gerne übersieht, wenn man das Spiel beispielsweise über Play On Linux startet.

ESO / Wine: Certificate authentication failed, please re-install to correct the problem.

Gelegentlich wandere ich unter die spielende Bevölkerung und so wurde ich dieses Wochenende (und auch schon vor ein paar Wochen) für die Beta von Elder Scrolls Online eingeladen. Das Spiel wird offiziell für Windows und MacOS erscheinen, was einen gewieften Linux-Gamer aber noch selten von ein wenig Frickelarbeit abgehalten hat. Ich gehe im folgenden auf Probleme ein, die mit der Installation des Spiels unter Linux mittels Wine verbunden sind.

Zertifikat-Problem: „Certificate authentication failed, please re-install to correct the problem.“

Es handelt sich bei diesem Fehler um ein fehlendes Root-Zertifikat von Thawte. Betreffen dürfte das zumindest alle Distributionen, die das ca-certificates Paket von Debian verwenden, also Debian-Ableger, aber auch bspw. Archlinux (vgl PKGBUILD), dass auf die Zusammenstellung von Debian zurückgreift. „ESO / Wine: Certificate authentication failed, please re-install to correct the problem.“ weiterlesen

NIC Bonding: Timeout beim Warten auf Slaves

Um an wichtigen Servern in einem Netzwerk für Lastverteilung und Ausfallsicherheit zu sorgen nutzt man die Möglichkeit Netzwerkports zu bündeln. Hierzu muss ein kompatibler Switch vorhanden sein, sowie über die designierten Netzwerk-Ports die Trunking-Option eingerichtet sein. Der Linux-Kernel übernimmt mit dem bonding-Treiber die Gegenstelle.

Das klingt alles recht simpel, doch erst kürzlich verfolgte mich das Problem, dass die Slave-Interfaces, also die einzelnen Netzwerkinterfaces, die zum Bündeln genutzt werden sollen, schlicht nicht hochkommen. Egal wie ich die Konfiguration drehte, so richtig wollte da nichts passieren. Die Konfiguration des Master in den einzelnen Slave-Interfaces allein half nicht, die Konfiguration der Slave-Interfaces im Master verlief ebenso erfolglos. Eine beidseitige Deklaration soll laut Bugreports sogar zu Circular Dependencies führen.
Das Neustarten des Networking-Skripts von Ubunu lief wiederholt erfolglos in einen Timeout.

Waiting for a slave to join bond0 (will timeout after 60s)
No slave joined bond0, continuing anyway

Wenn nichts mehr hilft, was dann? Klar: Holzhammer-Methode!

Das Interface erhält hierzu in /etc/network/interfaces zusätzlich ein up- und down-Command, dass das „versklaven“ händisch erledigt.

interface bond0 inet static
	[...]
	up /sbin/ifenslave bond0 eth0 eth1 eth2 eth3
	down /sbin/ifenslave -d bond0 eth0 eth1 eth2 eth3

 Hierzu muss selbstverständlich das Paket ifenslave-2.6 installiert sein. Das Interface kommt nun erfolgreich beim Booten hoch und alles funktioniert.

Getestet unter Ubuntu 12.04 (Precise).

hgweb deployen (via nginx & uwsgi)

Die Revisionskontrolle Mercurial, kurz hg, bietet mit hgweb eine mit cgit vergleichbare Weboberfläche an. Wir werden diese mittels uwsgi an nginx anbinden und in einem Unterverzeichnis auf einem bereits existierenden vHost einbinden. „hgweb deployen (via nginx & uwsgi)“ weiterlesen

cgit deployen (via nginx & uwsgi)

Cgit ist ein beliebtes Frontend für Git-Repositories, dass in C geschrieben ist. Es spricht das CGI-Protokoll und kann sehr leicht mittels uwsgi an nginx angebunden werden. Diese Anleitung baut zum Teil auf Debian auf, kann aber mit geänderten Pfaden auch auf andere Distributionen anwandt werden. Da Git im Mittelpunkt von cgit steht, setze ich vorraus, dass dieses bereits vorinstalliert ist. „cgit deployen (via nginx & uwsgi)“ weiterlesen

mkfs.ext{2,3,4} mit badblocks

Speichermedien aller Art machen von Zeit zu Zeit den Abgang. Bei mir hat sich neulich ein USB-Stick verabschiedet, der als Root-FS in einer meiner Maschinen gedient hat.

Alles begann damit, dass vom einem auf den anderen Tag das Root-Dateisystem auf readonly remounted wurde. Via dmesg wird man dann schnell auf Dateisystemfehler aufmerksam, die wohl auf defekten Blöcken des Speichermediums beruhen. Je nachdem wo die Blöcke im Dateisystem sind kann man dann noch ein paar mal Neustarten – fsck behebt die meisten Probleme am Start. Doch das Log wurde immer länger, bis ich das Gerät schlussendlich ersetzt habe. „mkfs.ext{2,3,4} mit badblocks“ weiterlesen

Telekom: DSL Vertragslaufzeit und Rufnummernmitnahme

Ich beabsichtige in Kürze meinen VDSL-Anschluss zu einem anderen Anbieter umzuziehen. Eine der größten Hürden, wie ich finde, ist es an die Vertragslaufzeit und Kündigungsfristen heranzukommen. Deshalb hier kurz notiert, wo die Telekom die einsortiert hat. „Telekom: DSL Vertragslaufzeit und Rufnummernmitnahme“ weiterlesen

X.509 Zertifikat erstellen

Um Serverdienste aller Art abzusichern verwendet man sogenannte X.509 Zertifikate. Hierbei legt man eine Public-Key-Infrastruktur an und hat dann die Möglichkeit diesen von einer Zertifizierungsstelle (Certificate Authority, kurz CA) kostenfrei (z.B. StartSSL, CACert) oder auch gegen Geld signieren zu lassen. Mit ihrer Signatur garantieren die CAs die Überprüfung der von euch im Certificate Signing Request (kurz CSR) angebenen Daten. „X.509 Zertifikat erstellen“ weiterlesen

rsync über ssh beschleunigen

Wenn man zwischen zwei PCs Daten zuverlässig synchronisieren möchte so ist rsync ein Werkzeug der Wahl. Es unterstützt von Haus aus das Tunneln des eigenen Protokolls durch SSH und ist dadurch auch zeitgleich sicher.

Datenmengen sind groß, Zeit ist gering, so kommt es dass man den Bedarf verspürt den Vorgang zu beschleunigen. Der Flaschenhals liegt hier oftmals an der für SSH benötigten Crypto-Algorithmen. Standardmäßig wird hier nämlich auf Sicherheit gesetzt. Wenn das nicht so wichtig ist, sondern SSH nur als Trägerprotokoll genutzt werden soll, so kann ein günstigerer Cipher verwendet werden.

rsync -auv -e 'ssh -c arcfour' srcdir remotehost:destdir

In diesem Beispiel wird SSH angewiesen arcfour, eine quelloffene Implementierung von RC4, zu verwenden. Ein anderer günstige Cipher wäre bspw. blowfish.

via Jakub Steiner

Thinkpad X201t auf Arch Linux

Mein privates Laptop ist derzeit ein Lenovo Thinkpad X201t. Es handelt sich hier um ein sogenanntes Subnotebook/Convertible Tablet des ersten Quartals 2010. Nachdem ich nun den Umstieg auf Arch Linux vollzogen habe, möchte ich kurz auf ein paar modellspezifische Details eingehen. „Thinkpad X201t auf Arch Linux“ weiterlesen