Ich habe auf einem Industrie PC Debian mit GRUB installiert. Die meiste Zeit ist das Ding nicht am Internet, soll aber geupdatet werden können. Ich will das am Ende ungern über APT Paketquellen machen. Ich habe Swupdate entdeckt, was sowas prinzipiell können soll. Allerdings ist sämtliche Dokumentation nur auf Yocto oder Buildroot bezogen, was ich auf keinen Fall benutzen möchte. Hat jemand schonmal ein komplettes debian rootfs mit Grub über swupdate aktualisiert und kann mir dazu ein Tutorial geben. Mit stellen sich folgende Fragen. So wir ich es verstanden habe baut man ein Image und muss das irgendwie auf die festplatte bekommen. Braucht es dazu eine separate Partition oder kommt man weiter mit der root Partition und einer weiteren für unveränderliche Daten aus? Wie wird der Update Prozess über GRUB bei einem Single Image gestartet und woher kommt dann das update file beim neustart? VOn der aktuellen Root Partition?
Gustav G. schrieb: > Ich habe auf einem Industrie PC Debian mit GRUB installiert. Die meiste > Zeit ist das Ding nicht am Internet, soll aber geupdatet werden können. > Ich will das am Ende ungern über APT Paketquellen machen. Warum nicht? Das Teilmuss ja (hoffentlich) irgendwie einen externen Datenträger anbinden können – irgendwie hat man es ja mal installiert. Also einfach einen (partiellen) Debian-Mirror aufsetzen, dessen Daten auf einem externen Datenspericher abgelegt werden. Diesen dann an den Industrie-PC anstöpseln und von dort aus aktualisieren. Das ist dann ähnlich wie bei der Debian-Installation von optischen Datenträgern (CD, DVD, BluRay). Ich mache das hier zwar alles online via apt-cacher-ng nur zur Reduktion des Datenverkehrs, aber den dadurch dynamisch entstandenen Mirror mit derzeit ca. 27GByte könnte ich genauso auch via Datenträger an andere Geräte anhängen. IMHO ist das der einfachste und schmerzärmste Weg. YMMV.
Gustav G. schrieb: > Die meiste Zeit ist das Ding nicht am Internet, soll aber geupdatet werden können. Heißt das, zum Aktualisieren ist es am Internet oder kann es nur, z.B., über einen externen Datenträger aktualisiert werden? Eine verwandte Frage gab es vor nicht allzu langer Zeit schon einmal: Beitrag "Selbstupdate auf Debian Systemen"
Ralf D. schrieb: > Warum nicht? Das Teilmuss ja (hoffentlich) irgendwie einen externen > Datenträger anbinden können – irgendwie hat man es ja mal installiert. Nein es hat extern nur einen RJ45 Ethernet Port. Updates sollen per SSH eingespielt werden. Es ist nicht gewünscht da irgendwelche USB Ports herauszuführen. Die initiale Installation erfolgt per USB Stick aber das soll der Benutzer später nicht mehr machen können. Mit einem APT Mirror möchte ich das nicht machen weil da zu viel schiefgehen kann. Es soll eher Android mäßig einfach alles überschreiben.
Bin etwas erstaunt und deshalb die ernst gemeinte Frage: Welche schlechten Erfahrungen halten Dich davon ab apt zu verwenden?
Gustav G. schrieb: > Es soll eher Android mäßig einfach alles > überschreiben. Was unterscheidet dann ein Update von einer Neuinstallation? Pack ein Partitions-Image auf den USB-Stick, überbügel alles. Daten/Config auf einer anderen Partition unterbringen, falls die beibehalten werden sollen. Und was soll der Hinweis auf Android? Gerade Android ist sehr gut darin, nur Teile von APKs bei einem Update auszutauschen. Besser noch als APT, was immer die ganze Applikation neu drüberinstalliert.
:
Bearbeitet durch User
Gustav G. schrieb: > Es soll eher Android mäßig einfach alles überschreiben. Das ist aber dann eigentlich was Anderes. Da werden nicht einzelne Anwendungen oder so aktualisiert, sondern im Speicher wird ein neues Abbild auf die Systempartition geschrieben. Kannst du auch machen. Eindeutig Benutzerdaten und System trennen und dann ein neues Abbild zusammenstellen und damit die Partition überschreiben. Aber wenn du sowieso schon bei Abbildern bist die du auswechseln können willst, dann boote doch gleich über Netzwerk von einem Abbild.
Gustl B. schrieb: > Das ist aber dann eigentlich was Anderes. Da werden nicht einzelne > Anwendungen oder so aktualisiert, sondern im Speicher wird ein neues > Abbild auf die Systempartition geschrieben. Richtig und genau das ist es, was ich mit swupdate erreichen will. Gustl B. schrieb: > Aber wenn du sowieso schon bei Abbildern bist die du auswechseln können > willst, dann boote doch gleich über Netzwerk von einem Abbild. Es gibt kein Netzwerk, da das ein Benutzer möglichst autark ohne Internet machen soll und ohne ein NFS oder tftp aufsetzen zu müssen. Mark S. schrieb: > Welche > schlechten Erfahrungen halten Dich davon ab apt zu verwenden? Schon viele. Einerseits will ich bei einem Major Upgrade nicht das ganze APT Repository auf das gerät rüberziehen müssen, wo einfach kein Platz für ist und andererseits ging immer mal irgendetwas schief beim Update von vielen Paketen.
Gustav G. schrieb: > Updates sollen per SSH eingespielt werden. Gustav G. schrieb: > Es gibt kein Netzwerk Na da funktioniert das SSH dann sicher gut.
Ich hab das nicht ausprobiert, aber hier mal ein paar Ideen. Du mountest das rootfs readonly. /home kommt auf eine andere Partition und wird rw gemounted. Beim Updaten mountest du das rootfs einfach nochmal unter /mnt/root/ oder so, rw, und machst ein rsync von deinem geupdateten system dort hin. Dann rebootest du es. Alternativ kannst du euch einen btrfs snapshot ro mounten, und einen neuen btrfs snapshot senden, dann nach dem reboot den alten löschen.
Gustav G. schrieb: > Gustl B. schrieb: >> Das ist aber dann eigentlich was Anderes. Da werden nicht einzelne >> Anwendungen oder so aktualisiert, sondern im Speicher wird ein neues >> Abbild auf die Systempartition geschrieben. > > Richtig und genau das ist es, was ich mit swupdate erreichen will. Debian kann das nicht und ist dafür nicht ausgelegt. Man kann das zwar machen, aber ob DU das machen kannst, weiß ich nicht. Jedenfalls wirst Du den gesamten Mechanismus selber entwickeln müssen, von 0 auf. Was Du eigentlich willst, ist eine sogenannte "immutable" Linux Distribution. Da werden bei einem Update immer nur schreibgeschützte Images ausgetauscht, über die dann ein overlayfs gelegt wird, wo dann Daten und Konfigurationen liegen. Solche Distributionen gibt es (danach kann man googeln), aber Debian gehört nicht dazu. Und entweder nimmst Du so eine immutable Disto, oder Du wirst viele 100 Stunden damit zubringen, das nachzubauen, was die Distro-Entwickler dieser Distributionen gemacht haben, und Du wirst bei jedem Update erneut viele Stunden weitere Arbeit haben. Oder Du machst es, wie die Debian Leute es vorgesehen haben, per apt. Das sind Deine Optionen. Wähle eine. fchk PS: https://gnulinux.ch/debian-wird-immutable https://ubuntu.com/blog/ubuntu-core-an-immutable-linux-desktop Ist aber alles noch Zukunftsmusik.
:
Bearbeitet durch User
Eine etwas andere Methode wäre einen identischen Rechner aufzusetzen. Unter Umständen klappt das auch in einer chroot-Umgebung. Mit apt-get update werden die Paketlisten aktualisiert und mit apt-get update die Pakete heruntergeladen. Die Dateien schiebst Du per copy-paste in ein Verzeichnis auf dem Zielrechner. Du installierst dann mit apt-file alles aus dem Verzeichnis.
Frank K. schrieb: > Debian kann das nicht und ist dafür nicht ausgelegt. Man kann das zwar > machen, aber ob DU das machen kannst, weiß ich nicht. Jedenfalls wirst > Du den gesamten Mechanismus selber entwickeln müssen, von 0 auf. Ich dachte eben dafür ist dann swupdate um mir das von 0 auf zu ersparen. Damit das nochmal deutlich wird. ich will keinerlei Overlayfs und da soll auch nichts mehr, außer beim image erstellen, per apt aktualisiert werden. Es werden lediglich ein paar unveränderliche verzeichnisse für Konfiguration gemountet das ist alles. Wenn das Mantra hier lautet "geht nicht, wird nicht gehen, versuch es gar nicht erst" dann kann der Thread meiner Meinung nach geschlossen werden. Ich hatte wirklich explizit nach swupdate auf Debian gefragt.
Gustav G. schrieb: > Ich hatte wirklich explizit nach swupdate auf Debian gefragt. Dann mach das doch. Swupdate hat angeblich debian support, also probier's aus. Einfach mal eine VM aufsetzen in der man das Testen kann kostet weniger Zeit als bislang in diesen Thread geflossen ist. Und wenn du nicht weiterkommst: swupdate.org bietet kommerziellen Support an. Dort anzufragen könnte im Endeffekt billiger kommen, als selber einen Mannmonat Arbeit zu investieren.
Gustav G. schrieb: > Ich habe Swupdate entdeckt, was sowas prinzipiell können soll. > Allerdings ist sämtliche Dokumentation nur auf Yocto oder Buildroot > bezogen, was ich auf keinen Fall benutzen möchte. Das ist aber genau dafür gemacht und geeignet um embedded System zu aktualisieren. Wir verwenden es mit zwei Partitionen die wechselseitig aktualisiert werden, einer aktiven und einer die aktuell aktualisiert wird. So wie oben beschrieben als read-only filesystem. Manche folder (z.B. /etc und /home) werden über ein overlay filesystem read-write gemounted auf einer weiteren Partition. Michael
Michael D. schrieb: > Wir verwenden es mit zwei Partitionen die wechselseitig aktualisiert > werden, einer aktiven und einer die aktuell aktualisiert wird. > So wie oben beschrieben als read-only filesystem. Manche folder (z.B. > /etc und /home) werden über ein overlay filesystem read-write gemounted > auf einer weiteren Partition. Darfst du deine Konfigurationsdatei dafür teilen?
Gustav G. schrieb: > Mark S. schrieb: >> Welche schlechten Erfahrungen halten Dich davon ab apt zu verwenden? > > Schon viele. Einerseits will ich bei einem Major Upgrade nicht das ganze > APT Repository auf das gerät rüberziehen müssen, wo einfach kein Platz > für ist und andererseits ging immer mal irgendetwas schief beim Update > von vielen Paketen. Ich persönlich finde es ja immer wieder interessant, zu lesen, wenn Menschen Schwierigkeiten mit "ganz normalen" Updates gehabt haben, insbesondere unter Debian GNU/Linux. Mir ist das natürlich auch schon passiert, aber bei meinen Nachforschungen konnte ich bisher keinen Fall entdecken, in dem die Probleme nicht auf selbstgemachten Unsinn zurückzuführen waren.
Sheeva P. schrieb: > Ich persönlich finde es ja immer wieder interessant, zu lesen, wenn > Menschen Schwierigkeiten mit "ganz normalen" Updates gehabt haben Noch einmal: Es gibt Anwendungen wo das System NICHT am Internet hängt und dem Benutzer auch kein SSH gefrickel zumutbar ist.
Warum benutzt du dann nicht Yocto? Das ist genau dafür gemacht, ein "Read-Only" Image/System zu erstellen. Ganz ähnlich zu Android. Und mit Swupdate hast du sogar eine fertige Update-Lösung.
Niklas G. schrieb: > Warum benutzt du dann nicht Yocto? Das ist genau dafür gemacht, ein > "Read-Only" Image/System zu erstellen. Ganz ähnlich zu Android. Und mit > Swupdate hast du sogar eine fertige Update-Lösung. Das ist doch noch mehr gefummel das ans laufen zu kriegen. Kann hier geschlossen werden ich denke es ist zwecklos.
Gustav G. schrieb: > Das ist doch noch mehr gefummel das ans laufen zu kriegen. Weniger als Debian für etwas zu missbrauchen, für das es nicht intendiert ist. Yocto ist ziemlich gut gemacht.
Niklas G. schrieb: > Weniger als Debian für etwas zu missbrauchen, für das es nicht > intendiert ist. Yocto ist ziemlich gut gemacht. Stimmt yocto ist gut aber bis das läuft wie man will und alle pakete am laufen hat vergehen so viele kompilierversuche mit stunden
Gustav G. schrieb: > Stimmt yocto ist gut aber bis das läuft wie man will und alle pakete am > laufen hat vergehen so viele kompilierversuche mit stunden Aber dabei, Debian Read-Only-Kompatibel zu machen und das Swupdate ans Laufen zu bringen nicht? Das Yocto-Buildsystem ist sehr clever und kompiliert nur das neu was unbedingt neu kompiliert werden muss.
Niklas G. schrieb: > Aber dabei, Debian Read-Only-Kompatibel zu machen und das Swupdate ans > Laufen zu bringen nicht? Das Yocto-Buildsystem ist sehr clever und > kompiliert nur das neu was unbedingt neu kompiliert werden muss. Von Read Only habe ich nie etwas erwähnt und das ist bei Debian auch gar kein Problem.
Gustav G. schrieb: > Noch einmal: Es gibt Anwendungen wo das System NICHT am Internet hängt > und dem Benutzer auch kein SSH gefrickel zumutbar ist. Ohoo, "SSH Gefrickel". Sag das doch gleich.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.