Image verkleinern mit pishrink

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Ich möchte nur ganz kurz auf ein überaus interessantes Skript aufmerksam machen. Damit lassen sich bequem Images von Raspbian, LibreELEC, OpenELEC etc. komprimieren.

    Es reicht der Befehl:

    Code
    $ pishrink input.img output.img

    Sehr schön ist, dass sich das verkleinerte Image nach dem Aufspielen auf eine beliebig große neue SDHC-Karte nach dem ersten Reboot automatisch vergrößert.

    Mehr dazu:

    Nachtrag:
    Für die, die nicht genau lesen - so wie auch ich: Wenn das Skript so ausgeführt wird, wie oben, wird 1. eine Kopie von input.img angelegt und 2. diese Kopie verkleinert! Ihr müsst also für ausreichend Speicherplatz sorgen. Wird das Skript ohne output.img ausgeführt, wird input.img direkt verkleinert.


    Output eines Durchlaufs:
    Komprimierung laut Thunar: von 15,9 GB auf 4,1 GB

    Einmal editiert, zuletzt von raspelman (18. März 2017 um 15:45)

  • Das lief "eine ganze Weile". Das Image eines der Raspbian-Clients lag mir bereits vor. Dieses habe ich dann verkleinern lassen. Der erste Schritte des Skriptes hat, so wollte ich es, zunächst eine Kopie des Images angelegt. Und das dauerte aufgrund des USB-Stiftes mit USB2-Anschluss eine gefühlte Ewigkeit! :) 16 GB oha! Der eigentliche Komprimierungsprozess war in ca. 5-10 min (?) fertig, wobei mein Dell Vostro 131 auch nicht mehr ganz taufrisch ist ;)

    Code
    $ cat /proc/cpuinfo
    ...
    Intel(R) Core(TM) i5-2430M CPU @ 2.40GHz
    ...

    Das Endergebnis, also das komprimierte Image, habe ich aber noch nicht auf eine neue SDHC-Karte aufgespielt und in einem Raspi gebootet. Das mache ich im Laufe der kommenden Woche.

    Einmal editiert, zuletzt von raspelman (18. März 2017 um 22:56)

    • Offizieller Beitrag

    Mein Gedanke wäre von Zeit zu Zeit automatisch über Nacht ein komprimiertes Backup des Systems auf einem Stick/HDD zu erstellen. So würde nicht "unnützer" leerer Platz des Images gespeichert. Wie gesagt, sehe ich mir das mal in Ruhe an. ;)


  • Mein Gedanke wäre von Zeit zu Zeit automatisch über Nacht ein komprimiertes Backup des Systems auf einem Stick/HDD zu erstellen.

    Das dachte ich mir, dass es in die Richtung gehen soll (CPU-Auslastung). Ob das Skript dafür geeignet ist, wissen wir, wenn du hier hoffentlich eine kurze Rückmeldung an alle gibst. :)

    • Offizieller Beitrag

    Heute bin ich endlich mal dazu gekommen... Es funktioniert bestens! :thumbs1: Auf einem RPi 2 B dauerte das shrinken ca. 5 Minuten. Zum testen habe ich natürlich ein altes Image genommen.
    Zur Übersicht der informativste Teil der Ausgabe:

    //Edit: Was man noch wissen sollte falls man die Variante mit Quelle und Ziel wählt, wird das Image erstmal komplett in das Zielverzeichnis kopiert. Man muss also ausreichend Platz auf diesem Laufwerk haben! Und es dauert natürlich erheblich länger.

  • nach dieser: https://linuxundich.de/raspberry-pi/p…erry-pi-images/
    und der Pfad ist /home/aloha/bin
    Jetzt wo ich den Pfad sehe frage ich mich ob das Verzeichnis "aloha" nicht stört? Neben "aloha" gibt es im Dateimanager ein Haussymbol; das bedeutet wohl "home"?
    Dann verstehe ich zwar nicht wieso der Pfad zu pishrink sowohl home als auch aloha begreift.
    Ich habe vor dem Befehl der pishrink installiert ein neues Verzeichnis gemacht: "mkdir ~/bin".
    Ich blicke da nicht durch!

  • Hallo Aloha,


    Als Du nach dem Tutorial vorgegangen bist, was geschah nach Eingabe von

    Code
    chmod +x ~/bin/pishrink.sh

    ???

    Durch die Befehlsfolge

    Code
    $ mkdir ~/bin
    $ wget https://raw.githubusercontent.com/Drewsif/PiShrink/master/pishrink.sh -P ~/bin
    $ chmod +x ~/bin/pishrink.sh


    ist
    a) nicht zu erwarten, dass sich [font="Courier New"]pishrink.sh[/font] auch im Verzeichnis [font="Courier New"]~/bin[/font] befindet
    b) wird dann chmod ins Leere greifen und eine Fehlermeldung absetzen
    c) macht es an dieser Stelle keinen Sinn, auf dem Befehl herumzureiten, solange Du nicht sagen kannst, wo sich das Skript befindet
    d) ist das Skript dann auch nicht ausführbar

    Was ist die Ausgabe von

    Code
    ls -al ~/pishrink.sh


    Zielführender wäre wohl sowas:
    Durch die Befehlsfolge

    Code
    $ mkdir ~/bin
    $ cd bin
    $ wget https://raw.githubusercontent.com/Drewsif/PiShrink/master/pishrink.sh -P ~/bin
    $ chmod +x pishrink.sh
    $ cd /Pfad/in/dem/sich/das/Image/befindet/oder/abgelegt/werden/soll

    Zur letzten Zeile meines Vorschlags kann ich nichts Näheres sagen, weil ich mir das Tutorial zu pishrink.sh nicht weiter angesehen habe und zur Funktionsweise nur Vermutungen anstellen kann.


    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Einmal editiert, zuletzt von Andreas (2. April 2017 um 10:45)

  • Hallo,

    * Zu "chmod +x ~/bin/pishrink.sh": das hat er geschluckt und gleich wieder das Prompt angezeigt

    * Auf "mkdir ~/bin" reagiert er mit "mkdir: Das Verzeichnis >>/home/aloha/bin" kann nicht angelegt werden: Die Datei existiert bereits".


    * Die Reaktion auf "ls -al ~/pishrink.sh":
    "ls: Zugriff auf /home/aloha/bin/pishrink.sh nicht möglich: Datei oder Verzeichnis nicht gefunden." ("/home...sh" ohne Anführungszeichen!)

    * Wenn ich die Zeile die mit "Wget" beginnt eingebe legt er ein zweites pishrink an mit Namen "pishrink.sh.1"
    Uebrigens hatte ich das schon mal versucht.

    *Wenn ich "chmod +x pishrink.sh" eingebe kommt die Message "chmod: Zugriff auf >>pishrink.sh" nicht möglich: Datei oder Verzeichnis nicht gefunden."

    Schöne Grüße

    Aloha

    Einmal editiert, zuletzt von Aloha (2. April 2017 um 11:52)

  • Hallo Aloha,

    was ist die Ausgabe von

    Code
    ls -al ~/bin/pishrink*.sh

    Wenn hier auch nichts kommt, dann bleiben zwei Fragen offen:
    1. WO wurde pishrink.sh mittlerweile zum zweiten Mal abgelegt? Diesen Pfad musst Du dann auch beim Aufruf angeben, wenn Du Dich nicht in dem Pfad befindest!
    2. In welchem Verzeichnis befindet Du Dich beim Herunterladen und beim Starten? Ist es das gleiche?
    Diese Info gibt Dir

    Code
    pwd


    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • Hallo Aloha,

    ich hatte die gleichen Probleme.

    Mit dem Aufruf

    sudo bash pishrink.sh orginal.img neu.img

    funktioniert das Programm unter Ubunto 17.04 einwandfrei.

    Datai und Image im selben Verzeichniss.

    Rosty

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!