Freitag, 13. Februar 2009

Backup und Systemwiederherstellungstipps für opensuse Teil 1

Was ist eigentlich, wenn das System nicht mehr richtig funktioniert und kein Weg mehr daran vorbeiführt, es neu aufzusetzen.

Da möchte man am Liebsten schreien. Denn auch, wenn mir das immer mal wieder unterstellt wird, macht doch das Herumfummeln an den Tuneables und den diversen Desktop- und Systemeinstellungen alles andere als Spaß. Schnell kommt man auf den Gedanken, erst einmal einen kleinen Spaziergang in den Park zu unternehmen, bevor man laut aufschreit und in Panik verfällt.

Zunächst einmal tief durchatmen und nachdenken:
Zum Glück hatte ich ja zumindest für diesen Fall reichlich Vorkehrungen getroffen, so dass sich das Drama dann nur auf 2h, statt der üblichen wochenlangen Arbeit beschränkte.










! Tipp1:

Es ist definitv sinnvoll bei der Erstinstallation seiner Festplatte eine Extrapartition für /home zu spendieren. Hat man das nämlich gemacht, so bleiben nicht nur die persönlichen Daten, sondern auch die persönlichen Einstellungen für alle am System angemeldeten User erhalten.

!Tipp2!
Es lohnt sich bei Opensuse regelmäßig nach jeder Softwareänderung (installieren, upgrade, löschen) mit Yast die Paketlisten zu exportieren.

Dafür kann unter Opensuse 11.0 Yast verwendet werden Im qt-Frontend klickt man nun auf Datei --> Paketliste exportieren/importieren. Im Gtk-Frontend dagegen findet man unten links unter Werkzeuge die Möglichkeit dies zu tun. Soviel ich weiß, gibt es diese Möglichkeit auch für das Ncurses-Frontend,- für den Fall das irgendwas mit dem X-Server kaputt ist. (Soviel übrigens zu der Behauptung von Zonker auf dem Linuxtag 2008 die beiden Frontends würden sich nicht unterscheiden.) Die Paketliste sollte man natürlich auf einer Partition speichern, die bei einer Neuinstallation des Systems unberührt bleibt. Also nicht auf der /-Partition.

Sofern man noch Zugriff zum System hat und sogar noch Zugriff auf Yast hat, kann man Zumindest die Paketlisten noch auf eine Extra-Partition exportieren. Was man tun kann, wenn auch das nicht mehr geht, davon handelt Teil 2.

Falls man aber bei der Erstinstallation nicht so weitsichtig war und eine eigenständige /home-Partition angelegt hat, bleibt nur den Inhalt auf eine externe Festplatte zu sichern, und es nach der Neuninstallation besser zu machen ;) Am besten packt man dazu /home und alle Untervverzeichnisse als root.

root@Alucard#: tar cvfz /Pfad/zum/Backupverzeichnis/home-backup.tar.gz /home/


Beim packen bleiben dann auch die Dateiberechtigungen erhalten. Für den Fall, dass man /home nicht allzu vollgestopft hat, kann man sich mal das tool bashburner anschauen und das Verzeichnis auf CD oder DVD brenenen.

Bevor man jetzt einfach ein Neues System über das alte drüberbügelt, überlegt man sich noch, welche Dateien es noch Wert sind abgesichert zu werden. Mir fallen da gleich drei Verzeichnisse ein.

/usr/local/ Denn hier liegen für gewöhnlich die Dateien, die keinem Paket zugehörig sind. Wie zum Beispiel aus dem Sourcecode installiertes Zeug und eigene Scripte.

/etc Denn hier findet man dann die globalen Systemeinstellungen für die meisten Sachen. Dieses Verzeichnis muss möglicherweise von einer Live-CD aus gesichert und zurückgespielt werden, da es sonst zu einem I/O-Fehler kommt.

/var/cache/zypper/ Hier speichert Yast unter anderem Informationen über eingetragene Reposotories.

Für den günstigsten Fall, kann man nun das System neu aufsetzen, die /home-Partition einhängen, anschließend die Paktlisten importiern und die abgesicherten Verzeichnisse zurückspielen. Schon sitzt man wieder vor dem gewohnt eingerichteten System. :)

Folgende Reihenfolge ist zu empfehlen, nachdem alles soweit abgesichert wurde:

1) System neu aufsetzen.
2) Paketliste importieren und Pakete installieren.
3) fehlende Nutzer und Gruppen erstellen.
4) Externe, nicht in der Pakteliste enthaltene Treiber nachinstallieren. Zum Beispiel den Nvidia-Treiber.

5) Die tar Archive entpacken und zurückspielen.

Aber auch für den aller ungünstigsten Fall, dass das System nicht mehr gestartet werden kann, weil wichtige Libraries beschädigt sind oder gar fehlen, ist eine Rettung immer noch möglich.
weiter in Teil2

Montag, 2. Februar 2009

Mit epsxe Final Fantasy IX auf den Pc zaubern




Da die Packete aus dem opensuse Reposotory für epsxe nicht funktionieren, habe ich die Emulation selbst gebaut.

Für dieses Howto benötigst du: eine legal erworbene cd von final fantasy 9 und ein Playstation BIOS. Zu letzterem kann ich hier nicht soviel sagen und verweise lediglich auf die geschickte Verwendung diverser Suchmaschinen.

Zunächst richten wir mal epsxe für den Linux Pc ein. Das original Howto gibts hier. Für die Bibabuntus gibts hier auch noch ein schickes Howto. ;) Sorry Windows-Typen. Ihr dürft leider nicht mitspielen *hr hr*

1.Programmdateien:
http://www.epsxe.com/files/epsxe152lin.zip (Es muss diese alte Version sein, da die 160 mit den final fantasy spielen leider nicht funktioniert)

2. Die Plugins
http://www.pbernert.com/gpupeopssoftx118.tar.gz
http://www.pbernert.com/petegpucfg_V2-9_V1-77_V1-18.tar.gz
http://www.pbernert.com/spupeopsoss109.tar.gz

Neuere odere weitere Plugins könnt ihr auf der Seite von Pete bekommen. http://www.pbernert.com/

An dieser Stelle möchte ich Pete ein großes Dankeschön aussprechen. Denn ohne seine Plugins würde der Emulator überhaupt nicht funktionieren.

Zwingende Vorraussetzung ist es, dass du als root angemeldet bist oder als vergleichbarer Admin und dich im Verzeichnis mit den heruntergeladenen Dateien befindest.

Los gehts:

Achtung: Falls noch die Version aus den Repos drin ist, muss diese natürlich vorher entfernt werden. Dazu dann entweder Yast oder den rpm-Befehl benutzen.

Ich würde Dir empfehlen für den Zugriff auf die Spieldateien eine Extragruppe anzulegen. Dieses kann man mit Yast oder mit dem Befehl groupadd machen:

matthias@Alucard#: groupadd playstation


Der Einfachheit halber (Weil ich ja so faul bin ;) ) kann man sich eine globale Varibale definieren.

matthias@Alucard#: export $EPSXE=/usr/local/games/epsxe

Entpacke die Programmdateien in das Programmverzeichnis und vergebe die entprechenden Rechte:

matthias@Alucard: mkdir $EPSXE
unzip -d $EPSXE epsxe152lin.zip
chown -R root:playstation $EPSXE chmod -R 750 $EPSXE
cd $EPSXE
touch .epsxerc
chown root:playstation .epsxerc
chmod 660 .epsxerc

Die hier gesetzen Rechte sind nur Vorschläge um die Integrität des Systems zu wahren. Userpezifische Daten, wie Spielstände haben aber im Wurzelverzeichnis nichts verloren und gehören in das Heimatverzeichnis des Benutzers. Daher erstellen wir als nächstes ein verstecktes Verzeichnis im Heimatverzeichnis des Benutzers.

matthias@Alucard#: mkdir $HOME/.epsxe/memcards touch $HOME/.epsxe/memcards/epsxe000.mcr:epsxe001.mcr

Davon ausgehend, dass Du eine Playstation besitzt und dir ein entsprechendes BIOS besorgt hast. Kopierst du jetzt das bios in das dafür vorgeshene Verzeichnis.

matthias@Alucard#: mv scph1001.bin $EPSXE/bios/

Jetzt noch die Plugins entpacken

matthias@Alucard#: tar xvfz gpupeopssoftx118.tar.gz -C $EPSXE/plugins/
tar xvfz spupeopsoss109.tar.gz -C $EPSXE/plugins/

tar xvfz petecpucfg petegpucfg_V2-9_V1-77_V1-18.tar.gz -C $EPSXE/cfg/

und die configs konfigurieren.

matthias@Alucard#: mv $EPSXE/plugins/*cfg* $EPSXE/cfg/
chmod 660 $EPSXE/cfg/*cfg*


Und zu guter letzt muss die Datei libpthread.so.9 noch in das Verzeichnis kopiert werden.

matthias@Alucard#: cp /lib/libpthread.so.0 $EPSXE/

Um den Emulator nun zu starten, schreibst du dir am besten ein Script, welches anschließend ausführbar gemacht wird und zum Beispiel nach /usr/bin kopiert werden kann.

#!/bin/bash

export EPSXE='/usr/local/games/epsxe'
export LD_LIBRARY_PATH=$EPSXE
cd $EPSXE
./epsxe
chmod 660 $EPSXE/cfg/*.cfg $EPSXE/sstates/* \
$EPSXE/memcards/*.mcr $EPSXE/snap/* 2>/dev/null


matthias@Alucard#: chmod +x
cp /usr/bin


Optional kann nun noch die $EPSXE/.epserc wie folgt editiert werden

#
# ePSXe config file
#

# Plugins names
VideoPlugin = libgpuPeopsSoftX.so.1.0.18
SoundPlugin = libspuPeopsOSS.so.1.0.9
PadPlugin = INTERNAL

# File paths/names
BiosPath = /usr/local/games/epsxe/bios//PSX - SCPH101.bin
CdromDevice = /dev/dvd
CdromMountPath = bios/scph1001.bin
IsoDirectory = $HOME/BEISPIEL

# Memory cards [files]
MemcardPath1 = $HOME/.epsex/memcards/epsxe000.mcr
MemcardPath2 = $HOME/.epsex/memcards/epsxe001.mcr

# Sounds options [0-disabled, 1-enabled]
SoundEnabled = 1
SoundXA = 1
SoundCDDA = 0
SoundFakeSpuIrq = 0

# Keys [16-keycodes]
Keys1 = 10,18,11,19,25,24,39,38,65,26,29,36,98,102,104,100
Keys2 = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

# Misc options [0-NTSC, 1-PAL, 255-AUTODETECT, 0-disabled, 1-enabled]
Country = 255
AutoPpfLoad = 1


Zum Spielen von Final Fantasy würde ich dir empfehelen ein ISO auf der Platte anzulegen. Auch hierzu kann ich leider nicht soviel sagen. Und du benötigst noch die ppf Patches, die Du leider auch selber suchen musst, und die dann nach /usr/local/games/epsxe/patches/ kopiert werden. Außerdem muss im Emulator autopatching aktiviert sein.