PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Backup aller Pakete



Mitzekotze
12.08.2007, 13:50
Servus zusammen,

da ich mal wieder ein paar Windows Games spielen möchte, habe ich vor, mir wieder selbiges OS aufzuspielen. Das Problem dabei ist das Windows dabei sehr rabiat vorgeht und gleich die komplette Festplatte belegt, sodass auch mein vorhandenes Arch überschrieben würde.

Nun überlege ich schon die ganze Zeit wie ich meine Arch Partition sichern könnte. Ich habe mir überlegt mit dd ein Image der Partition anzulegen und dieses dann später auf eine neu angelegte Partition, welche genau die selbe Größe wie die alten Partition haben soll, zu kopieren.

Als zweite Idee wäre mir in den Sinn gekommen, ein Skript zu schreiben, welche die Ausgabe von "pacman -Q" ausliest, diese in Pacman -S *VariablefürallePakete* einfügt und so alle alten Pakete wieder installiert.

Meine Frage ist nun: Würde meine erste Lösung funktionieren und gibt es vielleicht schon etwas ähnliches wie meine zweite Lösung?

bitmuncher
12.08.2007, 13:56
Deine erste Lösung funktioniert nur dann reibungslos, wenn die Devices für die Linux-Partitionen gleich bleiben. Ansonsten mußt du nach Einspielen des Images über ein Live-System die Konfigurationen (fstab, grub-Konfiguration usw.) erstmal entsprechend anpassen. Das Image muß natürlich auch über ein Live-System gezogen werden damit devfs, procfs, sysfs und tmpfs down sind. Sonst bekommst du damit nach dem Wiedereinspielen evtl. auch noch Probleme.

SkydiverBS
12.08.2007, 14:03
Hi!

Was spricht denn dagegen vorab eine eigene Partition für Windows zu erstellen (mittels GParted (http://gparted.sourceforge.net/)) und diese dann während der Installation auszuwählen?
Natürlich kann es danach auch nötig sein die Konfiguration unter Linux anzupassen, wenn sich die Devices geändert haben.

Gruß,
Philip

bitmuncher
12.08.2007, 14:05
Vermutlich ein OEM-Rettungssystem, daß sich nicht um die Partitionierung kümmert, denke ich mal. Kenne das Problem nämlich auch.

Mitzekotze
12.08.2007, 14:10
Es ist wie bitmuncher sagt, es ist leider eine Rettungsdisk. Ich denke da favorisiere ich lieber die zweite Möglichkeit. Kennt ihr vielleicht eine Lösung welcher meinem zweiten Vorschlag ähnelt?

schwedenmann
12.08.2007, 14:27
Hallo


Und warum kopierst du nciht alle Dateien außer /sys /proc /tmp nicht z.B. per rsync, dar star oder z.B. mit dem backupstript flexbackup auf eine DVD oder mehrere ?


mfg
schwedenmann

Mitzekotze
12.08.2007, 14:34
@schwedenmann Stimmt da hast du eigentlich recht. Mit DVDs bzw. CDs wird es wahrscheinlich nicht gehen, da ich nicht über so viele Datenträger verfüge, aber wenn ich die ganzen Daten auf deinem anderen Rechner speichere dürfte das ja auch gehen. Doch was ist mit dem /proc, /sys und /tmp Verzeichnissen? Werden diese später wieder automatisch angelegt?

bitmuncher
12.08.2007, 14:41
Die Dateien im /proc und /sys werden von Treibern und vom Kernel beim Booten erstellt. Wenn du devfs nutzt, solltest du auch /dev auslassen, da auch diese Dateien dann vom Kernel und seinen Modulen angelegt werden. Dateien in /tmp werden im Normalfall von Programmen beim Programmstart erstellt.

schwedenmann
12.08.2007, 14:48
Hallo



Mit DVDs bzw. CDs wird es wahrscheinlich nicht gehen, da ich nicht über so viele Datenträger verfüge,

Wie groß ist denn dein / ?

ich sichere im Moment nur meine diversen / .
Größte Partiton ist 18GB, das Backup belegt nur 4GB (nat. komprimiert) mit dar erstellt.



mfg
schwedenmann

Mitzekotze
12.08.2007, 14:50
Okay, ums nochmal zusammen fassend zu sagen:

1. Alle Verzeichnisse außer /proc, /sys und /temp sichere ich auf einen anderen Rechner.
2. Anschließend spiele ich Windows auf.
3. Ich verwende eine LiveCD wie Gparted, um die ntfs Partition auf die Größe meiner ehemaligen Arch Partition zu verkleinern und erstelle auf dieser ein ext3 Dateisystem.
4. Ich kopiere alle Daten von meinem zweit PC zurück auf diese ext3 Partition.
5. Ich installiere Grub über "grub-install /dev/sda"

So sieht mein Plan aus. Dürfte dies so hinhauen?

schwedenmann
12.08.2007, 14:54
Hallo


1. Alle Verzeichnisse außer /proc, /sys und /temp sichere ich auf einen anderen Rechner.

ja

2. Anschließend spiele ich Windows auf.
nicht ok


3. Ich verwende eine LiveCD wie Gparted, um die ntfs Partition auf die Größe meiner ehemaligen Arch Partition zu verkleinern und erstelle auf dieser ein ext3 Dateisystem.

ich würd diesen Punkt vor der Installtion von Xp machen, also für Win eine oder 2 primäre anlegen, dann die entsprechenden Part. für Arch
dann win in die entsprechen Part. installieren und mit Arch dasselbe machen.

4. Ich kopiere alle Daten von meinem zweit PC zurück auf diese ext3 Partition.

ok

5. Ich installiere Grub über "grub-install /dev/sda"

+ ev. noch die /boot/grub/menu.lst anpassen

mfg
schwedenmann

bitmuncher
12.08.2007, 14:56
Das dürfte grundlegend so hinhauen, aber auch bei der rsync-Methode solltest du die fstab und die Grub-Konfiguration nochmal überprüfen ob die Devices stimmen. Wichtig: rsync mit den Optionen '-a -l' nutzen, damit die Zugriffs-Rechte erhalten bleiben und natürlich auf eine Linux-Partition überspielen und nicht etwa auf eine vfat. Ich persönlich denke allerdings, daß die Methode über dd weniger fehleranfällig ist.

@schwedenmann: Mit Punkt 3 wird das nix, wenn das Windows-Rescue-System die Partitionierung eh plättet.

Mitzekotze
12.08.2007, 15:23
@schwedenmann

ich würd diesen Punkt vor der Installtion von Xp machen, also für Win eine oder 2 primäre anlegen, dann die entsprechenden Part. für Arch
dann win in die entsprechen Part. installieren und mit Arch dasselbe machen.

Das Problem ist nur, ich habe nur eine Windows OEM-RettungsCD welche mir die gesamte Platte überschreibt, ansonsten hätte ich es natürlich wie du gemacht.


2. Anschließend spiele ich Windows auf.
nicht ok

^^
.
.
.
EDIT (autom. Beitragszusammenführung) :
.
@bitmuncher Muss eigentlich die Partition auf die ich das Image kopier exakt die selbe Größe haben wie die Alte oder kann sie auch ein wenig größer sein?

bitmuncher
12.08.2007, 15:32
Hab noch nie versucht ein Image auf eine größere Partition zurückzuspielen, aber theoretisch sollte das möglich sein.

Mitzekotze
12.08.2007, 17:07
Okay ich werde es doch über dd machen also die neue Zusammenfassung ;) :

1. Ich erzeuge über dd eine Image von meiner Arch Partition. Dieses Image speichere ich per Samba auf einer ntfs Partition meines zweit Rechners.
2. Anschließend spiele ich Windows auf.
3. Ich verwende eine LiveCD wie Gparted, um die ntfs Partition auf die Größe meiner ehemaligen Arch Partition zu verkleinern und erstelle auf dieser ein ext3 Dateisystem.
4. Ich spiele das Arch Image zurück auf diese Partition.
5. Ich installiere Grub über "grub-install /dev/sda"

bitmuncher
12.08.2007, 21:15
5. Du wirst einen Blick in die /etc/fstab und die /boot/grub/menu.lst und überprüfst, ob die Devices noch korrekt sind.
6. Du installiest Grub aus einer chroot-Umgebung neu.

Mitzekotze
12.08.2007, 23:41
Als ich das Image mit dd erstellen wollte kam nun folgende Meldung als die Datei ungefähr 2 GB erreicht hatte:
dd if=/dev/sda7 of=/mnt/smbnet/Archlinux
Die maximale Dateigröße ist überschritten

Wie man an diesem Auszug erahnen kann, sichere ich das Image per Netzwerk auf eine ntfs Partition eines Windowsrechners. Diese Partition ist von der Größe her vollkommen ausreichend, sodass das Image (37 GB) eigentlich ohne Probleme dort abgespeichert werden könnte.

Liegt der Fehler an an meinem Netzwerk oder hab ich einen Fehler bei der Eingabe von dd gemacht?

nequiquam
13.08.2007, 00:04
Hi,

vielleicht liegt es auch daran, wie der Speicherplatz gemountet wurde?
Würde zumindest mit der Fehlermeldung passen.

http://phpbb.loercks.net/phpBB/viewtopic.php?=&p=4520

Edit: Im Linux-Club (http://www.linux-club.de/ftopic60278.html) wurde auch mal über das Thema gesprochen.

Liebe Grüße, Neq

bitmuncher
13.08.2007, 00:44
Es muß ein Dateisystem verwendet werden, das Dateien >2GB verträgt. Ansonsten bleibt fast nur rsync, wobei hierbei auf einer NTFS-Partition mit Sicherheit die Zugriffsrechte usw. verloren gehen und ein Wiederherstellen des System fast unmöglich wird. Auch das direkte Sichern in einen Tarball dürfte nämlich fehl schlagen, wenn dieser 2GB erreicht hat.

Mitzekotze
13.08.2007, 07:09
@bitmuncher Als Image dürften die Zugriffsrechte aber nicht verloren gehen oder?

bitmuncher
13.08.2007, 07:12
Stimmt schon, nur wirst du über Samba keine Dateien anlegen können, die größer als 2GB sind.

Mitzekotze
13.08.2007, 07:17
Nach dem Link von nequiquam zu folge (hier ein Dankeschön dafür ;) ) dürfte dies mit dem Mountaufruf

mount -t smbfs -o credentials=/etc/samba/credentials,rw,lfs //sv04/backup funktionieren.


Samba-Version 3.0.23 mit lfs-support für fli4l-3.0.x statt samba-2.2.12

Bei einer Datei welche grösser ist als 2 GB kommt beim Kopieren ich die Meldung "File size limit exceeded".

Lösung: Option lfs
Code:
mount -t smbfs -o credentials=/etc/samba/credentials,rw,lfs //sv04/backup


oder

mount -t cifs

Mitzekotze
15.08.2007, 21:31
Meine Festplatte hat nicht ausgereicht. Ich werde jetzt wahrscheinlich mir lieber eine externe USB Festplatte besorgen (hatte ich sowieso vor), über die ich dann Windows booten kann.

Oder ich versuch es nochmal bloß diesmal sichere ich das Image meiner HDD auf einer größeren Festplatte ;) .

Trotzdem vielen Dank für eure Anregungen und Ideen. Vor allen Dingen danke schön an bitmuncher und nequiquam.

saeckereier
15.08.2007, 23:54
Tip: Bevor du dir soviel Ärger machst, zwei weitere Lösungen, zuerst die die ich nicht empfehle: Nimm Ghost4Unix (g4u) ist ein bootbares BSD, überträgt ein Plattenimage per FTP auf einen entfernten Rechner UND komprimiert auch gleich. Wenn du vorher den freien Platz mit Nullen überschreibst ganz effizient. Dauert aber
Lösung 2: Google nach Gentoo stage4. Wenn du noch keine Ahnung von Gentoo hast, toller Moment um sich die Distri anzugucken :-) Nein aber mal im Ernst, Stage4 nennt Gentoo den Prozess ein Image eines Systems zu erstellen um es so wieder ohne Aufwand installieren zu können. Für dein Problem müsstest du dann den Output von tar über split umleiten und die Dateien in 1,x GB Häppchen teilen lassen. Schau dir das mal an, bei Fragen helf ich gerne. Ist eigentlich sehr einfach...

Mitzekotze
21.08.2007, 20:42
Ich hab mein eigentliches Problem jetzt lösen können. Ich hab mir mein Skript fürs Backup selber geschrieben:
#!/bin/bash

#_________________Mitzekotzes Pacman Backup Skript___________________

#Paketliste wird im aktuellen Ordner gesucht, mit hilfe von cat ausgegeben und in die Shell Variable PAKETE geschrieben.

PAKETE=$(cat ./pakete|cut -d " " -f1)

#Die Pakete werden via Pacman installiert:

pacman -S $PAKETE


Vielleicht werde ich es noch ein wenig interaktiver gestallten. Ich stehe ja erst am Anfang mit dem Shell Scripting.