Archiv der Kategorie: Recovery

Duplicity FTP Timeout

Am 1. jedes Monats machen meine System ein Fullbackup mit ftplicity, ein Wrapper Script das die Benutzung von duplicity einfacher und übersichtlicher gestaltet. Am 1.1.2009 machte ein Server aber ärger:

No signatures found, switching to full backup.
Traceback (most recent call last):
File „/usr/bin/duplicity“, line 373, in ?
if __name__ == „__main__“: main()
File „/usr/bin/duplicity“, line 366, in main
if not sig_chain: full_backup(col_stats)
File „/usr/bin/duplicity“, line 142, in full_backup
bytes_written = write_multivol(„full“, tarblock_iter, globals.backend)
File „/usr/bin/duplicity“, line 89, in write_multivol
backend.put(tdp, dest_filename)
File „/usr/lib/python2.4/site-packages/duplicity/backends.py“, line 349, in put
self.error_wrap(’storbinary‘, „STOR „+remote_filename, source_file)
File „/usr/lib/python2.4/site-packages/duplicity/backends.py“, line 335, in error_wrap
except ftplib.all_errors, e: raise BackendException(e)
duplicity.backends.BackendException: 421 No Transfer Timeout (600 seconds): closing
control connection.

Auf dem System läuft Debian Etch in einer recht beschnittenen Xen Domain, die ein halbes Jahr brav Backups angelegt hat. Warum es seit dem Jahreswechsel nicht mehr hinhaut habe ich leider nicht herausgefunden – ich vermute dass mein Provider (Hetzner) die Timeout Grenze gesenkt hat. Viel mehr stört mich, warum duplicity das nicht handeln kann. Schließlich ist mein System nicht das langsamste und alle anderen Systeme machen brav weiter.

Debian Etch bringt duplicity in Version 0.4.2 mit sich, welche schon recht betagt ist. Ich bin generell gegen Backports, in diesem Fall ist aber viel zu viel Zeit für die Problemlösung draufgeganen. Außerdem wird ftplicity  nun von Edgar Soldin weiterentwickelt und bringt in der aktuellen Version einige sinnvolle Features mit.  Und so funktionierts:

  • Das Backports Repository hinzufügen
  • apt-get install ncftp
  • apt-get -t etch-backports install duplicity
  • ftplicity herunterladen: aktuellen Version
  • mv ftplicity /usr/local/bin
  • ftplicity usage

Man muss nun mit Profilen arbeiten, die alte Config lies sich in meinem Fall jedoch ohne weiteres übernehmen.

Linux auf andere Festplatte umziehen

Manchmal kommt man in die Situation, dass ein System auf ein Raid oder eine größere Platte umziehen muss,  sich aber die Installations- und Kofigurationsprozedur sparen möchte. Nichts leichter als das…

Methode 1:

  1. Boote eine LiveCD (nicht zwingend)
  2. Erstelle auf dem neuen Datenträger die entsprechenden Partitionen (man fdisk) wie sie auf der alten Platte vorhanden sind. Die Größe darf hier variieren, i.d.R. sollten die Partitionen mindestens so groß wie zuvor.
  3. Mit „cp -ar“  die Daten auf die neue Platte übertragen
  4. Auf der neuen Platte die /etc/fstab anpassen (bsp: hda1 -> sda1 – bzw die volume id aktualisieren (vol_id /dev/sda)
  5. Grub aktualisieren (grub-install)

Die Methode verwende ich vor allem bei Servern, weil das System schon optimal konfiguriert sein sollte und eine Neuinstallation keinen Sinn macht. Auf dem Desktop sieht das bei mir anders aus.. ich teste oft neue Programme, ziehe ewige Abhängigkeiten vor dem Kompilieren oder zerballer mir das System mit experimentellen Treibern (jaja..).

Wenn ich dann mein System neu aufsetze, möchte ich aber möglichst wenig Aufwand betreiben. Also sichere ich mir mein Home weg. Danach wird (bei mir) Ubuntu neu aufgesetzt und /home eine eigene Partition spendiert – das spart einem bei der nächsten Neuinstallation das wegsichern von /home.

Man sollte daran denken auf dem neuen System die alten Quellen die man noch nutzen möchte zu übertragen, da alte Programmversionen mit neuen Konfigurationsdateien im Home-Verzeichnis nicht kompatibel sein müssen.

Man kann die gleichen Pakete wie auf dem alten System installieren, ich rate davon aber ab weil wieder viel Schrott mitkommt – Ubuntu ist bloated genug. Der Vollständig- und meiner Vergesslichkeit zuliebe sei hier trotzdem festgehalten wie es funktioniert:

auf dem alten System:
$  dpkg –get-selections > installierte_pakete
auf dem neuen System:
$  dpkg –set-selections < installierte_pakete
$ apt-get dselect-upgrade

Das geht nur gut wenn beide Installationen identische Quellen und Distributionsrelease haben – außerdem muss die Distribution deb basierend sein.

Generell ist es auch möglich mit dd ein System zu kopieren bzw zu klonen. Bei einem Umzug aber nicht empfehlenswert.