seeseekey.net - Invictus Deus Ex Machina

Die Firma 8Bitdo stellt eine Reihe von Controllern her. Einer dieser Controller ist eine Kopie des SNES-Controllers. Die Controller werden von 8Bitdo aktiv mit Updates versorgt. Erscheint eine neue Firmware, so muss diese auf den Controller gespielt werden. Um ein Update der Firmware durchzuführen muss die aktuelle Version der Firmware von der Webseite des Herstellers heruntergeladen werden.

Der SFC30 Controller von 8Bitdo

Anschließend wird die Update-Anwendung, welche für macOS und Windows verfügbar ist, gestartet. Der Controller selbst sollte vor dem Firmware-Update geladen sein. Ist dies der Fall, kann er in den Firmware Upgrade Modus versetzt werden. Dazu müssen die Tasten L + R + Start gleichzeitig für etwa drei Sekunden gedrückt werden. Anschließend blinken die beiden LEDs auf der Rückseite des Controllers regelmäßig. Nun kann der Controller angeschlossen werden und das Update durchgeführt werden.

Das Firmware Update läuft

Dazu muss nach einem Druck auf den USB Update-Button, die entsprechende Firmware-Datei ausgewählt werden. Anschließend wird das Update durchgeführt, welches in etwa eine bis zwei Minuten in Anspruch nimmt. Nach dem Abschluss des Updates kann die USB-Verbindung getrennt werden. Der Controller ist nun mit der neuen Version der Firmware bestückt.

Vor ein paar Tagen wurde Raspbian, die Debian-Distribution für den Raspberry Pi, auf das neue Release mit dem Namen Stretch aktualisiert. Debian benennt seine Releases nach Figuren aus dem Toy Story Universum. Nach dem Cowgirl Jessi, folgt nun der Octopus Stretch, Um bestehende Installationen, welche noch mit der älteren Version laufen, zu aktualisieren, sollte man sich per SSH mit dem entsprechenden Raspberry Pi verbinden. Dort gibt man dann folgendes ein:

apt-get update
apt-get dist-upgrade

Damit wird die bestehende Version (Jessi) auf die aktuelle Version aktualisiert. Im nächsten Schritt müssen die Paketquellen angepasst werden. Dazu muss die sources.list-Datei in einem Editor geöffnet werden:

nano /etc/apt/sources.list

Die Datei sieht dabei im Normalfall wie folgt aus:

deb http://mirrordirector.raspbian.org/raspbian/ jessi main contrib non-free rpi
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://archive.raspbian.org/raspbian/ jessie main contrib non-free rpi

Die Zeichenkette jessi muss nun durch stretch ausgetauscht werden. Das gleiche gilt für Dateien die im Ordner /etc/apt/sources.list.d/ liegen. Anschließend müssen die Pakete auf die neue Version (Stretch) aktualisiert werden:

apt-get update
apt-get dist-upgrade

Je nach Anzahl der installierten Pakete, kann dieser Vorgang durchaus einige Stunden in Anspruch nehmen. Unter Umständen wird gefragt, ob bestimmte Konfigurationsdateien überschrieben oder behalten werden sollen. Hier sollte man je nach Fall abwägen. Bei Konfigurationen, die manuell angepasst worden sind, kann ein Überschreiben derselben zu Problemen führen, da die Dienste dann eventuell nicht mehr so laufen wie ursprünglich gewünscht. Wenn der Vorgang abgeschlossen ist, sollten noch einige Aufräumarbeiten angestartet werden:

apt-get autoremove
apt-get autoclean

Anschließend kann der Raspberry Pi mittels des Befehls reboot neugestartet werden.

Wenn man auf einem Ubuntu-Server:

do-release-upgrade

eingibt so wird auf die aktuelle Version (je nachdem welche Einstellungen man in der Datei /etc/update-manager/release-upgrades getätigt hat) aktualisiert. Allerdings kann es bei LTS-Releases vorkommen das man stattdessen die Meldung:

Checking for a new Ubuntu release
No new release found

Der Grund hierfür ist, das man bei einem LTS Release erst mit dem ersten Pointrelease, also z.B. 16.04.1 upgraden kann. Damit soll Fehlern vorgebeugt werden, welche in der ersten Release-Version noch vorhanden sein könnten. Möchte man auf dem entsprechenden Gerät trotzdem die aktuelle Version installieren so muss man den Parameter -p nutzen:

do-release-upgrade -p

Damit wird das versucht das aktuelle Release zu installieren, was von LTS zu LTS Version dazu führt das die aktuelle LTS Version installiert wird auch wenn kein Pointrelease verfügbar ist.

Nutzt man die freie Git-Hosting-Lösung Gogs, so kommt man regelmäßig in den Genuss von Updates. Möchte man das Upgrade einspielen, so gibt es einige Dinge zu beachten. Im ersten Schritt sollte der Dienst auf dem Server natürlich beendet werden:

service gogs stop

Anschließend wird in den Kontext des Nutzers gewechselt unter welchem Gogs betrieben wird:

su git
cd

Der nächste Schritt ist der Download der neuen Version, sowie die Verschiebung der alten Version und das Kopieren der Konfigurationsdatei von der alten zur neuen Version:

mv gogs gogs_old
wget https://github.com/gogits/gogs/releases/download/v0.8.10/linux_amd64.zip
unzip linux_amd64.zip 
cp -R gogs_old/custom gogs
cp -R gogs_old/data gogs
cp -R gogs_old/log gogs

Danach wird in den Gogs Ordner gewechselt und Gogs manuell gestartet.

cd gogs
./gogs web

Bei diesem Start wird die Migration der Datenbank durchgeführt. Anschließend kann Gogs wie gehabt genutzt werden. Die heruntergeladene Datei sowie der Ordner gogs_old können anschließend entfernt werden.

Möchte man das Upgrade von Windows 7 auf Windows 10 nutzen, so ist dies in den meisten Fällen problemlos möglich. Anders sieht das aus wenn man seine Windows 7 Installation in einer virtuellen Maschine mit der aktuellen Version des Parallels Desktop betreibt.

Das Upgrade wird verweigert

Das Upgrade wird verweigert

Möchte man das Upgrade trotzdem durchführen, muss das Media Creation Tool in der entsprechenden Version (x86, x64) heruntergeladen werden. Mit Hilfe des Tool kann das Upgrade zu Windows 10 in der virtuellen Maschine problemlos durchgeführt werden.

Bei einer WordPress Multisite-Installation gibt es unter Updates den Punkt Netzwerk aktualisieren. Wenn man seine Multisite-Installation mit selbstsignierten Zertifikaten betreibt, kann es dabei zu folgender Fehlermeldung kommen:

https://wordpress.example.com/mysite1

Warnung! Problem beim aktualisieren von https://wordpress.example.com/mysite1. Vermutlich gab es einen Zeitablauf. Die Fehlermeldung lautet: SSL certificate problem: self signed certificate

Um das Problem zu lösen packt man folgendes Plugin, in den WordPress-Plugin-Ordner:

<?php
/*
* Plugin Name: Deactivate SSL Verify
* Description: Deactivate SSL verification
* Author: seeseekey
* Author URI: https://seeseekey.net
* Plugin URI: https://seeseekey.net
*/
add_filter('https_ssl_verify', '__return_false');
add_filter('https_local_ssl_verify', '__return_false');

Nachdem das Plugin aktiviert wurde, kann die Aktualisierung des Netzwerkes durchgeführt werden. Anschließend kann das Plugin wieder deaktiviert werden.

Unter Ubuntu gibt es neben den halbjährlichen Versionen auch solche welche über einen längeren Zeitraum unterstützt werden. Diese sogenannten Long Term Releases erscheinen dabei alle zwei Jahre und werden fünf Jahre lang unterstützt. Bei Ubuntu kann man das System nun so konfigurieren das nur LTS Versionen oder jedes Release zum Upgrade angeboten wird. Möchte man diese Einstellung ändern, so muss man im Terminal:

nano /etc/update-manager/release-upgrades

eingeben. Im Editor öffnet sich dann folgende Datei:

# Default behavior for the release upgrader.

[DEFAULT]
# Default prompting behavior, valid options:
#
#  never  - Never check for a new release.
#  normal - Check to see if a new release is available.  If more than one new
#           release is found, the release upgrader will attempt to upgrade to
#           the release that immediately succeeds the currently-running
#           release.
#  lts    - Check to see if a new LTS release is available.  The upgrader
#           will attempt to upgrade to the first LTS release available after
#           the currently-running one.  Note that this option should not be
#           used if the currently-running release is not itself an LTS
#           release, since in that case the upgrader won't be able to
#           determine if a newer release is available.
Prompt=lts

Dort kann man unter Prompt die gewünschte Einstellung festlegen und bekommt damit vom System nur noch Hinweise wenn die gewünschten Versionen erscheinen.

Da sitzt man vor seinem Ubuntu-Upgrade und eine unbedachte Handbewegung später hat man das Upgrade abgebrochen. In einem solchen Fall sollte man das Upgrade natürlich fortsetzen, wer möchte schon gerne ein halbfertiges System. Wurde die SSH Verbindung unterbrochen, muss sich im ersten Schritt mit dem Server verbunden werden. Anschließend gibt man im Terminal folgendes ein:

dpkg --configure -a
apt-get dist-upgrade
apt-get autoremove
apt-get autoclean
reboot

Danach sollte der Server auf dem aktuellsten Stand sein und das Upgrade durchgeführt sein. Sollte man das Upgrade vor dem Umstellen der Paketlisten abgebrochen haben, dürfte ein einfaches “do-release-upgrade” genügenum den Upgrade-Vorgang erneut zu starten.

Möchte man seine über MacPorts installierte Software auf den aktuellen Stand bringen, so muss man dafür im Terminal folgende Befehle eingeben:

sudo port selfupdate
sudo port upgrade outdated

Der erste Befehl sorgt dabei dafür das MacPorts selbst auf den aktuellen Stand gebracht wird. Mit dem zweiten Befehl werden anschließend die installierten Pakete aktualisiert. Dies kann je nach Menge durchaus einige Minuten bis Stunden dauern.

Ein Ubuntu Server upzugraden ist so eine Sache, vor allem wenn man auf den Server nur per SSH zu greifen kann. Konkret geht es in diesem Artikel um ein Update von 10.04 (Lucid) auf 10.10 (Maverick). Dazu installieren wir erst einmal das Paket “update-manager-core” mittels

apt-get install update-manager-core

und schauen dann mittels

nano /etc/update-manager/release-upgrades

in die Konfigurationsdatei des selben. Dort sollte eine Zeile

Prompt=lts

stehen, welche wir in

Prompt=normal

ändern. Nun sorgen wir noch dafür das der Server auf dem aktuellsten Stand ist, bevor es an das Update geht:

apt-get update
apt-get dist-upgrade

Da das Update über SSH gesteuert wird und es passieren kann das die SSH Verbindung während des Updates wegbricht, starten wir den Updatevorgang über “screen” an:

screen do-release-upgrade

Das Upgrade startet dann und bringt einige Meldungen und Fragen welche bestätigt werden müssen. Gleichzeitig sagt es dem Nutzer Bescheid das ein weiterer SSH Server für den Notfall auf dem Port 1022 gestartet wurde. Nach dem Upgrade schauen wir ob die neue Version auch angekommen ist und starten den Rechner neu:

cat /etc/lsb-release
reboot -f

Nach dem Neustart sollte dann erst mal wieder ein

apt-get update
apt-get dist-upgrade

ausgeführt werden um sicherzustellen das das System aktuell ist. Bei mir traten hier zwei Probleme auf. Das erste Problem äußerte sich in der Fehlermeldung:

Failed to connect to socket /com/ubuntu/upstart

Hier half es im Terminal

dpkg-divert --local --rename --add /sbin/initctl
ln -s /bin/true /sbin/initctl

einzugeben und das ganze Upgrade wieder zu starten. Der zweite Fehler war

/usr/sbin/grub-probe: error: cannot find a device for / (is /dev mounted?).

Hier half es das Paket “grub-pc” zu deinstallieren und durch das Paket “grub” zu ersetzen. Danach lief das Upgrade normal durch und Maverick war auf dem Server installiert.

Weitere Informationen gibt es unter:
http://wiki.ubuntuusers.de/GRUB
http://wiki.ubuntuusers.de/upgrade
http://wiki.ubuntuusers.de/Upgrade_auf_Maverick
http://mrzard.posterous.com/failed-to-connect-to-socket-comubuntuupstart