pishrink - nice Tool - aber leider nicht maintained :-(((

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • So wie das aussieht, hat der Maintainer schon beschlossen, dass er Python verwenden wird.

    Finde ich suboptimal. Aber meine Meinung ist von Drewsif ja nicht erwuenscht :lol:

    Die Umfrage ist wahrscheinlich nur eine Art von "legitimation".

    Hm ... wenn das wirklich so ist ist bei dem Kerl echt Hopfen und Malz verloren :no_sad:

  • pishrink - nice Tool - aber leider nicht maintained :-(((? Schau mal ob du hier fündig wirst!

  • Hm ... wenn das wirklich so ist ist bei dem Kerl echt Hopfen und Malz verloren :no_sad:

    Wie gesagt, nur eine Annahme meinerseits. Ich kann nicht in seinen Kopf schauen und geschrieben habe ich ihm bis jetzt auch noch nicht.


    Auch beim Lite-Image sind ein paar Python-Anwendungen vorinstalliert.

    Spoiler anzeigen

    Auf meinem Server tummeln sich noch viel mehr Python-Anwendungen. Unter anderem z.B. fail2ban.

  • Nach 6 Stimmen und dem bisherigen Ergebnis wird die Luft aber echt dünn für PiShrink in Python.:rofl:

    Galgenhumor! :shy: Wir werden uns darauf vorbereiten müssen, die Fragen der Anfänger zu beantworten, warum das bei ihnen nicht funktioniert.

    Dann soll aber bitte keiner behaupten, ich hätte nichts gesagt.

  • Beitrag von hyle (9. Februar 2023 um 00:22)

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • ich habe eben auch reagiert und vote für Python:

    Das bash-Script ist doch recht komplex und kommandozeilentypisch muss man da einige Verrenkungen machen (Parameterübergabe per echo-definierten Kommandos). DAS dürften Newcomer erst recht nicht verstehen.

    Wer mit dem RasPi umgeht oder umgehen will, wird sich über kurz oder lang 'eh mit Python beschäftigen (müssen).

    Insofern ist das dann kein Argument, dass die Leuts damit nicht klarkommen, sind im Normalfall 'eh "nur" Anwender.

    Python ist inzwischen recht portabel, was bash nicht ist.

    UND:

    Ein ordentlich kommentiertes Python-Script hilft dem Verständnis sehr. Das Logging vereinfacht zum einen sehr, was das Script macht. Mit der bash geht das alles auch, aber teilweise eben "durch die Brust ins Auge"..

  • kle Schau Dir das Skript doch an, dann siehst Du was da gemacht wird.

    Re Python Module: Die werden von den Leuten gewartet, die die Module halt warten. So einiges was man sich in Bash selbst schreiben oder externe Programme aufrufen muss, wird von der Python-Standardbibliothek abgedeckt. Wenn Du da die Wartung in Frage stellst, könntest Du auch die Funktionen von der Bash in Frage stellen. Und es gibt externe Module die ganz sicher morgen nicht ungewartet sind.

    “Dawn, n.: The time when men of reason go to bed.” — Ambrose Bierce, “The Devil's Dictionary”

  • Ich glaube ich werde immer noch nicht verstanden.

    Das bash-Script ist doch recht komplex und kommandozeilentypisch muss man da einige Verrenkungen machen (Parameterübergabe per echo-definierten Kommandos). DAS dürften Newcomer erst recht nicht verstehen.

    Die Skripte (egal ob Bash oder Python) müssen Anwender auch nicht verstehen. Dafür ist der Maintainer und seine Helfer verantwortlich.

    Meine Bedenken beziehen sich ausschließlich auf die Installation von PiShrink. Während ein Bash-Skript einfach nur kopiert und ausführbar gemacht werden muss, könnte da für ein Python-Skript die Hürde durch z.B. evtl. benötigte externe Module wesentlich höher liegen.

  • da für ein Python-Skript die Hürde durch z.B. evtl. benötigte externe Module wesentlich höher liegen.

    Das sehe ich genauso.

    Zueerst sollte man sich mal darüber im Klaren sein, für welche Zielgruppe PiShrink in erster Linie gemacht ist.

    Als erstes kommen mir da diejenigen in den Kopf, die sich ganz frisch mit einem Pi, Linux.... beschäftigen, und dann auf ein Problem stoßen, dass sie ein DD-Backup erstellen und sich dann wundern, dass sie dieses nicht auf eine "gleich große" SD oder ssd zurückspielen können.

    Viele davon kommen aus der Windows-Welt und sind es gewohnt, ein Programm zu installieren und sich darauf zu verlassen, dass es funktioniert.

    Wie viele von denen haben gar keine Lust, sich mit Python, Bash...... zu befassen, weil sie es einfach (zumindest vorerst) nicht brauchen.

    Die wundern sich, warum das Script nicht funktioniert, und dass sie noch einige Python-Module nachinstallieren müssen.

  • Da kann ich euch leider überhaupt nicht zustimmen.

    Das ist "nur" Sache der Installationsanleitung.

    Ob der "Frischling" nun die aktuellen Zeilen blind abkopiert

    Code
    wget https://raw.githubusercontent.com/Drewsif/PiShrink/master/pishrink.sh
    chmod +x pishrink.sh
    sudo mv pishrink.sh /usr/local/bin

    oder diese Zeilen abkopiert

    Code
    git clone xyz.git
    pip3 install --user -r xyz/requirements.txt

    bleibt doch egal. Auch die oberen 3 Zeilen versteht ein Anfänger nicht und kopiert die Blind rein und dann fügt man noch den Aufrufbefehl in die Installationsanleitung mit rein python3 xyz.py und schon ist das Python2/3 Problem auch aus der Welt.

    Sorry @hyle1 , aber nach deiner Logik/Argumentation dürfte es kein einziges Python Projekt geben.

    An der Stelle möchte ich doch mal daran erinnern, wofür das Pi in Raspberry Pi steht, nämlich Python Interpreter ;)

  • Meine Bedenken beziehen sich ausschließlich auf die Installation von PiShrink. Während ein Bash-Skript einfach nur kopiert und ausführbar gemacht werden muss, könnte da für ein Python-Skript die Hürde durch z.B. evtl. benötigte externe Module wesentlich höher liegen.

    Wozu willst du externe Module verwenden? Mit der Standardbibliothek kann ich alles machen, was erforderlich ist, um diese Aufgabe zu lösen.

    In meinem Beispiel habe ich gar keine Module von Drittanbietern verwendet und frage mich, wie du auf die Idee kommst, dass wir dafür externe Module benötigen würden. Das nennt man Strohmann-Argument.

    Wenn jemand in seinem Shell-Script ein Tool nutzt, dass nicht standardmäßig installiert ist, muss der Nutzer das auch nachinstallieren. Der riesige Unterschied ist, dass wir unsere Tools zur Not selbst programmieren können und eben nicht auf vorinstallierte Programme des OS angewiesen sind. Versuch mal shell-scripts zu programmieren, wenn awk, cat, sed und grep nicht vorhanden sind.

  • Versuch mal shell-scripts zu programmieren, wenn awk, cat, sed und grep nicht vorhanden sind.

    Das sind Standardtools auf Linux. Problematischer wird es wenn man z.B. jq benoetigt um json parsen zu koennen. Das nutze ich in raspiBackup um die APIs von Slack, Pushover und Telegram per curl nutzen zu koennen. Ist aber auch kein Hexenwert das nachzuinstallieren.

    PiShrink nutzt nur Standardlinuxtools.

  • In meinem Beispiel habe ich gar keine Module von Drittanbietern verwendet

    Das stimmt. Du rufst die Linux-Programme mit Python per subprocess auf, die ihre "Heimat" in Shell haben, nur um damit deren Ausgaben leichter verarbeiten zu können. Na das nenne ich ja mal ein Argument für Python! :bravo2: Nicht!

    Wie auch immer, mir soll es egal sein! Wir hier können das eh nicht entscheiden, das wird Drewsift schon selber machen.

  • Das ”nur” ist in „nur um damit deren Ausgaben leichter verarbeiten zu können.“ zu viel. Es ist tatsächlich ein Argument für jede ordentliche Programmiersprache, nicht nur Python, Ausgaben sichererer, lesbarer und auch in passenden Datentypen statt nur Zeichenketten verarbeiten zu können. Mit weniger archaischer Syntax und Semantik und teilweise überraschenden Effekten als das bei Shell-Programmierung der Fall ist.

    “Dawn, n.: The time when men of reason go to bed.” — Ambrose Bierce, “The Devil's Dictionary”

  • Das stimmt. Du rufst die Linux-Programme mit Python per subprocess auf, die ihre "Heimat" in Shell haben, nur um damit deren Ausgaben leichter verarbeiten zu können. Na das nenne ich ja mal ein Argument für Python! :bravo2: Nicht!

    In meinem Beispiel habe ich folgende Programme verwendet:

    Code
    REQUIRED_TOOLS = ("sfdisk", "losetup", "e2fsck", "resize2fs", "dumpe2fs")

    Siehst du da irgendwo ein awk, grep, cat, sed, tr?

    Um es mal hart auszudrücken: Wer diese Tools in Python verwendet, kann kein Python programmieren und sollte lieber Shell-Scripts schreiben.

    Es ist legitim auf dem System vorhandene Software zu verwenden, aber sobald eine Sprache die Funktionalität besser abbilden kann, nutzt man die Sprache und nicht die Tools.

Jetzt mitmachen!

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