Image verkleinern mit pishrink

  • 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
    1. $ 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


    Edited once, last by raspelman ().

  • 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
    1. $ cat /proc/cpuinfo
    2. ...
    3. Intel(R) Core(TM) i5-2430M CPU @ 2.40GHz
    4. ...


    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.

    Edited once, last by raspelman ().


  • 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. :)

  • 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.

  • Hallo,
    ich habe pishrink installiert laut Anleitung, ich finde es auch in dem betreffenden Verzeichnis, aber wenn ich den Befehl eingebe in das Terminal kommt die Meldung "pishrink.sh: Command not found".
    Woran kann das liegen?
    Mit freundlichen Greüßen
    Aloha

  • nach dieser: https://linuxundich.de/raspber…nert-raspberry-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
    1. chmod +x ~/bin/pishrink.sh

    ???


    Durch die Befehlsfolge

    Code
    1. $ mkdir ~/bin
    2. $ wget https://raw.githubusercontent.com/Drewsif/PiShrink/master/pishrink.sh -P ~/bin
    3. $ 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
    1. ls -al ~/pishrink.sh



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

    Code
    1. $ mkdir ~/bin
    2. $ cd bin
    3. $ wget https://raw.githubusercontent.com/Drewsif/PiShrink/master/pishrink.sh -P ~/bin
    4. $ chmod +x pishrink.sh
    5. $ 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

    • Icon-Tutorials (IDE: Geany) - GPIO-Library - µController-Programmierung in Icon! - ser. Devices - kein Support per PM / Konversation

    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.

    Edited once, last by Andreas ().

  • 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

    Edited once, last by Aloha ().

  • Hallo Aloha,


    was ist die Ausgabe von

    Code
    1. 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
    1. 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

    • Icon-Tutorials (IDE: Geany) - GPIO-Library - µController-Programmierung in Icon! - ser. Devices - kein Support per PM / Konversation

    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

  • Solange das Script nicht dem User root, der Gruppe root gehört, kann das nicht funktionieren.



    Servus !

    RTFM = Read The Factory Manual, oder so