personalisiertes Stretch klonen und von USB booten

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
fischig
Beiträge: 4124
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

personalisiertes Stretch klonen und von USB booten

Beitrag von fischig » 26.09.2024 08:11:28

Ich will ein personalisiertes stretch mit diesem Kommando auf einen Usbstick schreiben:

Code: Alles auswählen

rsync -az -H --delete --numeric-ids /media/rootalt/ /media/rootneu/
Mit personalisiert meine ich: es geht nicht um irgendwelche von Debian bereitgestellten Installationsimages, sondern um ein von mir bereits auf dem Rechner, auf dem der Klon mal laufen soll, fertig eingerichtetes System.
Ich will grml-live benutzen, und beide Datenträger (HDD-Partition mit Stretch und Stick mit ext4-Partition) an aus dem Kommando ersichtlichen Mountpoints einhängen.

1. Frage
Kann das prinzipiell so funktionieren?
Hintergrund: Ich habe auf diese Weise schon mehrfach Debian-Systeme erfolgreich geklont, allerdings immer nur zwischen zwei HDDs.
Bei zwei gescheiterten Versuchen mit Sticks habe ich lediglich Schrott produziert.

Wenn es so funktionieren müsste:
2.Frage
Auf welche Rechte des gemounteten Sticks soll ich achten?

3.Frage
Hat es Konsequenzen, ob ich das rsync-Kommando als (grml-)root oder als user ausführe?

edit: „und von USB booten“ im Titel ergänzt
Zuletzt geändert von fischig am 31.10.2024 18:00:11, insgesamt 1-mal geändert.

rhHeini
Beiträge: 2706
Registriert: 20.04.2006 20:44:10

Re: personalisiertes Stretch klonen

Beitrag von rhHeini » 26.09.2024 10:10:00

Der Stick sollte ext4 als Dateisystem haben, sonst kopierst Du die Rechte nicht mit bzw. verlierst die.

Benutzeravatar
hikaru
Moderator
Beiträge: 13911
Registriert: 09.04.2008 12:48:59

Re: personalisiertes Stretch klonen

Beitrag von hikaru » 26.09.2024 10:33:35

Und du solltest das Ganze als root ausführen, sonst kannst du die User und Gruppen nicht korrekt setzen.
(Hinterher nicht vergessen, den Bootloader neu zu installieren!)

fischig
Beiträge: 4124
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

Re: personalisiertes Stretch klonen

Beitrag von fischig » 26.09.2024 12:26:46

Ich wollt' mich eigentlich erst mal vergewissern, dass es prinzipiell so funktionieren sollte. Wie gesagt, ich hab's zwei-, dreimal versucht und anschließend waren die Sticks hinüber. Wenn ich ausschließe, dass ich da Müll bereits gekauft habe (Partitionieren und Kopieren lief eigentlich), dann muss ich ja irgendwas falsch gemacht haben.
hikaru hat geschrieben:Und du solltest das Ganze als root ausführen, sonst kannst du die User und Gruppen nicht korrekt setzen.
Ich ging davon aus, dass die gewählten rsync-Parameter das selbständig machen, aber danke für den Hinweis, ich werd's beherzigen.

ext4 ist drauf und dass das Elaborat noch nicht bootfähig ist, ist mir klar.

fischig
Beiträge: 4124
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

Re: personalisiertes Stretch klonen

Beitrag von fischig » 01.10.2024 17:58:27

Noch was: Das Original-Stretch wird nicht auf der internen Platte sitzen, sondern wie der Stick über USB eingehängt werden. Gilt's dabei noch was Besonderes zu beachten?

Benutzeravatar
hikaru
Moderator
Beiträge: 13911
Registriert: 09.04.2008 12:48:59

Re: personalisiertes Stretch klonen

Beitrag von hikaru » 01.10.2024 18:33:03

Wenn der Rechner direkt von dem Stick bootet, dann ist nichts zu beachten, außer, dass der Bootloader auch auf dem Stick landen muss.

fischig
Beiträge: 4124
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

Re: personalisiertes Stretch klonen

Beitrag von fischig » 02.10.2024 10:20:56

Soweit bin ich doch noch gar nicht. Ich bin immer noch bei der Vorbereitung des rsync-Kommandos.

Wenn ich davon ausgehe, dass eher unwahrscheinlich ist, dass zwei Sticks bereits vor dem Kopieren defekt waren, dann muss irgend etwas anders schief gelaufen sein.

Bei meinen bisherigen (erfolgreichen) Klon-Aktionen mit rsync (ausschließlich mit HDDs) war immer der interne Datenträger irgendwie im Spiel. Es lief zwar immer über grml, aber entweder wurde von dem internen auf einen externen kopiert oder umgekehrt. Bei der aktuellen Aktion geht's um zwei externe Datenträger: einmal die über USB angeschlossene externe HDD mit dem System und einmal der USB-Stick auf den das kopiert werden soll. Der interne Datenträger der Maschine, auf der grml läuft, ist völlig unbeteiligt. Das geht mir duch den Kopf: Kann das beim Kopieren eine Rolle spielen?

Benutzeravatar
hikaru
Moderator
Beiträge: 13911
Registriert: 09.04.2008 12:48:59

Re: personalisiertes Stretch klonen

Beitrag von hikaru » 02.10.2024 10:49:44

Mir ist dein Szenario nicht ganz klar:
1. Du hast einen alten Stick mit einer Debianinstallation, die auch bootfähig ist. Richtig?
2. Du hast einen neuen Stick, auf dem du zwar bereits eine Partitionstabelle* und ein ext-Dateisystem hast, der aber ansonsten leer ist. Auch richtig?
3. Nun mountest du die Dateisysteme beider Sticks von einem Live-System aus und willst mit rsync die Inhalte des alten, auf den neuen Stick kopieren. Hat das funktioniert?

Wenn du bisher dreimal mit "ja" geantwortet hast, wo ist dann das Problem?


*) Man kann Datenträger - insbesondere USB-Sticks - auch ohne Partitionstabelle, als "Superfloppy" einrichten. Die haben dann aber keinen Platz für einen Bootloader.

Benutzeravatar
MSfree
Beiträge: 11605
Registriert: 25.09.2007 19:59:30

Re: personalisiertes Stretch klonen

Beitrag von MSfree » 02.10.2024 11:00:09

hikaru hat geschrieben: ↑ zum Beitrag ↑
02.10.2024 10:49:44
Man kann Datenträger - insbesondere USB-Sticks - auch ohne Partitionstabelle, als "Superfloppy" einrichten. Die haben dann aber keinen Platz für einen Bootloader.
Die ersten 512 Bytes einer "Superfloppy" sind immer für einen Bootloader reserviert. Es gibt aber seit dem Ende von lilo keinen Linuxloader mehr, der in diese 512 Bytes passen würde.

rhHeini
Beiträge: 2706
Registriert: 20.04.2006 20:44:10

Re: personalisiertes Stretch klonen

Beitrag von rhHeini » 02.10.2024 11:19:29

fischig hat geschrieben: ↑ zum Beitrag ↑
02.10.2024 10:20:56
Bei meinen bisherigen (erfolgreichen) Klon-Aktionen mit rsync (ausschließlich mit HDDs) war immer der interne Datenträger irgendwie im Spiel. Es lief zwar immer über grml, aber entweder wurde von dem internen auf einen externen kopiert oder umgekehrt. Bei der aktuellen Aktion geht's um zwei externe Datenträger: einmal die über USB angeschlossene externe HDD mit dem System und einmal der USB-Stick auf den das kopiert werden soll. Der interne Datenträger der Maschine, auf der grml läuft, ist völlig unbeteiligt. Das geht mir duch den Kopf: Kann das beim Kopieren eine Rolle spielen?
Der einzige Unterschied zu einer internen HHD ist einfach das Du bei USB-Devices halt ein paar zusätzliche Schichten HW/SW dazwischen hast. Wenn da irgendetwas nicht ganz so tut wie vorgesehen kommt halt Murks raus. Da ist gar nichts geheimnisvolles dabei. Vor allem billige USB-Sticks sind öfters mal Elektronikschrott.
Egal ob dd oder rsync, man muss genau hinsehen auf Quelle und Ziel sowie die Optionen und die sauber spezifizieren.

Benutzeravatar
grubenlicht
Beiträge: 552
Registriert: 10.06.2021 22:35:56

Re: personalisiertes Stretch klonen

Beitrag von grubenlicht » 02.10.2024 11:28:23

mal ganz unbedarft gefragt: Warum soll denn mit dem Terminal (Debianrsync) gearbeitet werden? Solche Aktionen (ganze Partitionen) kopiere ich mit Debiangparted, das zeigt mir in gewisser Weise auch optisch, ob ich das richtige gewählt habe.

rhHeini
Beiträge: 2706
Registriert: 20.04.2006 20:44:10

Re: personalisiertes Stretch klonen

Beitrag von rhHeini » 02.10.2024 11:52:55

Seit wann kann man mit Debiangparted kopieren?

Benutzeravatar
grubenlicht
Beiträge: 552
Registriert: 10.06.2021 22:35:56

Re: personalisiertes Stretch klonen

Beitrag von grubenlicht » 02.10.2024 11:58:19

k.A. ?schon immer?!

rhHeini
Beiträge: 2706
Registriert: 20.04.2006 20:44:10

Re: personalisiertes Stretch klonen

Beitrag von rhHeini » 02.10.2024 12:29:56

Hab gerade mal nachgesehen: im Partitions-Menu ist so eine Copy/Paste-Option drin. Hab ich aber immer auf Benennungen oder so etwas bezogen und noch nie für das Kopieren einer Partition genutzt.
Für mich ist Debiangparted ein Tool zum Bearbeiten von Partitionseinstellungen und -Größen von Laufwerken, kein Kopiertool.

fischig
Beiträge: 4124
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

Re: personalisiertes Stretch klonen

Beitrag von fischig » 02.10.2024 12:43:26

@hikaru
hikaru hat geschrieben:1. Du hast einen alten Stick mit einer Debianinstallation, die auch bootfähig ist. Richtig?
Nein. Die bootFÄHIGE Debianinstallation sitzt auf einer HDD. Die HDD ist nicht an die Maschine angeschlossen, über die mit grml und rsync kopiert werden soll.
hikaru hat geschrieben:2. Du hast einen neuen Stick, auf dem du zwar bereits eine Partitionstabelle* und ein ext-Dateisystem hast, der aber ansonsten leer ist. Auch richtig?
Richtig.
hikaru hat geschrieben:3. Nun mountest du die Dateisysteme beider Sticks von einem Live-System aus und willst mit rsync die Inhalte des alten, auf den neuen Stick kopieren.
Im Prinzip richtig, außer: das alte System sitzt auf einer HDD, nicht auf einem USB-Stick. und ich bin unsicher, ob dieser Unterschied relevant ist.

Benutzeravatar
grubenlicht
Beiträge: 552
Registriert: 10.06.2021 22:35:56

Re: personalisiertes Stretch klonen

Beitrag von grubenlicht » 02.10.2024 12:47:55

rhHeini hat geschrieben: ↑ zum Beitrag ↑
02.10.2024 12:29:56
Für mich ist Debiangparted ein Tool zum Bearbeiten von Partitionseinstellungen und -Größen von Laufwerken, kein Kopiertool.
Deine Sache, für mich gehört das Kopieren ganzer Partitionen zum "Bearbeiten" von partitionierten Datenträgen halt dazu. Man kann sogar die Größe ändern beim Kopieren.
Debianrsync steht für mich eher für das Syncronhalten zweierVerzeichnisse/Datenträger.
Jedem Tierchen sein Pläsierchen.

Benutzeravatar
grubenlicht
Beiträge: 552
Registriert: 10.06.2021 22:35:56

Re: personalisiertes Stretch klonen

Beitrag von grubenlicht » 02.10.2024 12:51:44

fischig hat geschrieben: ↑ zum Beitrag ↑
02.10.2024 12:43:26
Nein. Die bootFÄHIGE Debianinstallation sitzt auf einer HDD. Die HDD ist nicht an die Maschine angeschlossen, über die mit grml und rsync kopiert werden soll.
ähem, wie soll denn bitte synchronisiert werden, wenn die Quelle (Die bootFÄHIGE Debianinstallation sitzt auf einer HDD) nicht angeschlossen ist?

fischig
Beiträge: 4124
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

Re: personalisiertes Stretch klonen

Beitrag von fischig » 02.10.2024 13:02:05

Die HDD ist nicht an die Maschine angeschlossen, über die mit grml und rsync kopiert werden soll.
Korrektur: die HDD ist nicht bootfähig an die Maschine angeschlossen, ...

Benutzeravatar
hikaru
Moderator
Beiträge: 13911
Registriert: 09.04.2008 12:48:59

Re: personalisiertes Stretch klonen

Beitrag von hikaru » 02.10.2024 13:19:42

Nachdem nun also 1. richtiggestellt, sowie 2. und 3. bestätigt sind, wo ist das Problem?

Du machst nun das (als root):

Code: Alles auswählen

rsync -az -H --delete --numeric-ids /media/rootalt/ /media/rootneu/
Und danach ist auf rootneu nicht das Selbe wie auf rootalt?

fischig
Beiträge: 4124
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

Re: personalisiertes Stretch klonen

Beitrag von fischig » 02.10.2024 13:36:01

hikaru hat geschrieben:Du machst nun das (als root):

Code: Alles auswählen

rsync -az -H --delete --numeric-ids /media/rootalt/ /media/rootneu/
Und danach ist auf rootneu nicht das Selbe wie auf rootalt?
Keine Ahnung. Ich fürchte aber ja.

Da zunächst kein Hinweis auf ein mögliches Problem kam, habe ich das rsync-Kommando mittlerweile ohne Auskunft angestoßen. Dummerweise habe ich auch versäumt, ihm den Parameter --progress mitzugeben. Der Rechner rödelt jetzt seit mehr als vier Stunden vor sich hin. Zu übertragen sind ca 20-40 GB/GiB (die genaue Zahl habe ich nicht notiert) und ich fürchte am Ende kommt genau das raus, was beim letzten Mal rauskam: Geschrotteter Stick.

rhHeini
Beiträge: 2706
Registriert: 20.04.2006 20:44:10

Re: personalisiertes Stretch klonen

Beitrag von rhHeini » 02.10.2024 13:49:39

Woran man auch denken muss: viele Sticks sind grottig langsam beim Schreiben, sobald der interne Cache so überhaupt vorhanden vollgeschrieben ist, besonders wenn viele kleine Dateien geschrieben werden müssen. In einem solchen Fall wird nach jeder Datei der Directory-Eintrag aktualisiert, macht zusätzlichen Overhead.

Dann kann es durchaus sein das die Daten noch nicht alle auf dem Stick sind auch wenn der Vorgang laut OS schon abgeschlossen ist. Zieh man den Stick dann vorschnell ab ist oft genug das Dateisystem kaputt.

Benutzeravatar
hikaru
Moderator
Beiträge: 13911
Registriert: 09.04.2008 12:48:59

Re: personalisiertes Stretch klonen

Beitrag von hikaru » 02.10.2024 13:54:23

Wenn du zweistellige GB am Stück überträgst, kann es gerade bei billigen Sticks schon mal vorkommen, dass deren Controller wegen Überhitzung austeigt (und vielleicht nicht wiederkommt).
Ich würde vorschlagen, einen besseren Stick zu besorgen. Noch Besser wäre eine externe SSD. M.2-SSDs im passenden Gehäuse sind kaum größer als USB-Sticks.

Benutzeravatar
MSfree
Beiträge: 11605
Registriert: 25.09.2007 19:59:30

Re: personalisiertes Stretch klonen

Beitrag von MSfree » 02.10.2024 14:26:34

hikaru hat geschrieben: ↑ zum Beitrag ↑
02.10.2024 13:19:42

Code: Alles auswählen

rsync -az -H --delete --numeric-ids /media/rootalt/ /media/rootneu/
Ich sehe da ein "/" zu viel. Die Quelle sollte mit "/" am Ende angegeben werden, Das Ziel jedoch ohne "/" am Ende. Sonst befindet sich der Klon am Ende im Verzeichnis /media/rootneu/rootalt.

Code: Alles auswählen

rsync -az -H --delete --numeric-ids /media/rootalt/ /media/rootneu

fischig
Beiträge: 4124
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

Re: personalisiertes Stretch klonen

Beitrag von fischig » 02.10.2024 14:34:01

hikaru hat geschrieben:Wenn du zweistellige GB am Stück überträgst, kann es gerade bei billigen Sticks schon mal vorkommen, dass deren Controller wegen Überhitzung aussteigt (und vielleicht nicht wiederkommt).
Na ja, es wäre dann bereits der dritte Stick in Folge. Das war ja der Ausgangspunkt meines Threads: Funktioniert auch mit Stick, was mit HDDs bisher problemlos funktionierte.
hikaru hat geschrieben:Noch Besser wäre eine externe SSD. M.2-SSDs im passenden Gehäuse sind kaum größer als USB-Sticks.
Erst mal eine neue mir sympathische alternative Idee. Mit M.2 habe ich keinerlei Erfahrung.
Wichtig wäre mir, dass ich die Maschine (auf der im Dauerbetrieb längst ein aktuelles bookworm auf der internen Platte läuft) mit dem vorhandenen stretch „von außen“ bei Bedarf booten kann und dafür nicht jedes mal die Systemplatte austauschen muss.

Aber warten wir erst mal ab, wie das Stick-Projekt tatsächlich endet.

edit:
MSfree hat geschrieben: Das Ziel jedoch ohne "/" am Ende.
Nach meinen diversen rsysnc-Erfahrungen vermute ich, dass der slash an dieser Stelle irrelevant ist. Aber ich werd's gelegentlich überprüfen.

Benutzeravatar
hikaru
Moderator
Beiträge: 13911
Registriert: 09.04.2008 12:48:59

Re: personalisiertes Stretch klonen

Beitrag von hikaru » 02.10.2024 15:31:39

MSfree hat geschrieben: ↑ zum Beitrag ↑
02.10.2024 14:26:34
Ich sehe da ein "/" zu viel. Die Quelle sollte mit "/" am Ende angegeben werden, Das Ziel jedoch ohne "/" am Ende. Sonst befindet sich der Klon am Ende im Verzeichnis /media/rootneu/rootalt.

Code: Alles auswählen

rsync -az -H --delete --numeric-ids /media/rootalt/ /media/rootneu
Nein, das hier hier ist egal:

Code: Alles auswählen

$ mkdir -p rsync_test/a rsync_test/b
$ touch rsync_test/a/x
$ rsync -a rsync_test/a/ rsync_test/b/
$ ls rsync_test/*
rsync_test/a:
x

rsync_test/b:
x
$ touch rsync_test/a/y
$ rsync -a rsync_test/a/ rsync_test/b
$ ls rsync_test/*
rsync_test/a:
x  y

rsync_test/b:
x  y
Etwas Anderes wäre es, wenn du den "/" bei der Quelle weglassen würdest. Dann würden nicht die Inhalte der Quelle, sondern die Quelle selbst (samt Inhalten) im Ziel landen:

Code: Alles auswählen

$ rsync -a rsync_test/a rsync_test/b/
$ ls rsync_test/*
rsync_test/a:
x  y

$ ls rsync_test/b/
a  x  y
$ ls rsync_test/b/a
x  y

Antworten