Entwicklung: Packager - Das Tool für Einsteiger und Profis

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • In diesem Beitrag stelle ich mein Projekt Packager vor.

    Gliederung:
    1. Idee
    2. Repository
    3. Scripts
    4. Entwicklung
    5. Hilfe

    1. Idee

    Packager ist eine Software für Linux, um andere Software samt kompletter Konfiguration zu installieren. Dazu benutze ich eine Repository, zu der Nutzer ihre eigenen Pakete hinzufügen können.
    Dazu ein kleines Beispiel: Wenn Nutzer XY, der noch nicht sehr viel Erfahrung mit Linux hat, sich seine eigene Cloud (z.B. OwnCloud) installieren möchte, guckt er sich ein Tutorial an, wie man OwnCloud installieren kann.
    Wenn es dann aber einen Fehler gibt, kann Nutzer XY nichts machen, da er selber nicht versteht, was er da eingegeben hat.
    Wenn er aber Packager hätte, müsste er nur Packager starten, dann den Namen des Paketes angeben (in dem Fall z.B. webserver-owncloud), und schon wird ein kompletter Webserver, der von Packager konfiguriert wird, installiert und alles funktioniert ohne Probleme.
    Diese Möglichkeit können auch Fortgeschrittene Nutzer nutzen, da sie ihre eigenen Pakete erstellen können um damit Aufgaben zu vereinfachen können.

    2. Repository

    Packager greift auf eine Repository zu, um die Pakete zu downloaden. Zu dieser Repository können Nutzer ihre eigenen Scripts hinzufügen, die dann allerdings erst von den Supportern (bis jetzt nur von mir) geprüft werden. Sind diese dann freigeschaltet kann man das Script wie gewohnt per Packager herunterladen.

    3. Scripts
    Um ein Pack zu installieren, benötigt Packager Scripts. Diese Scripts haben ein bestimmtes Format usw. (ich werde bald einmal ein Beispiel-Script posten). Dazu habe ich meine eigene Script-Sprache entwickelt. Sie enthält einfache Elemente wie das ausführen von Konsolen-Befehlen, aber auch komplexe Elemente wie z.B. ein selbst programmiertes Variablen-System.

    4. Entwicklung
    Ich habe Packager in Python programmiert. Das Projekt wird Open-Source sein, so dass jeder den Quellcode herunterladen kann.

    5. Hilfe
    Dieses Projekt würde ich sehr gerne durchführen (und habe es fast schon fertig), dafür bräuchte ich aber eure Hilfe. Ersteinmal such ich noch sehr viele Ideen, die Packager noch interressanter machen könnten. Zweitens Brauche ich noch unbedingt einen Webserver, um meine Website und die Repository laufen lassen zu können. Und drittens ist es sehr erwünscht, wenn ihr mithelfen wollt.

    Wenn ihr also Verbesserungsvorschläge oder irgendetwas anderes für mich habt, postet es unter diesem Beitrag ;D

    Viele Grüße,
    Tim

    Einmal editiert, zuletzt von name(Tim) (6. März 2015 um 22:10)

  • Entwicklung: Packager - Das Tool für Einsteiger und Profis? Schau mal ob du hier fündig wirst!

    • Offizieller Beitrag

    Zu 4. an dieser Stelle ist es für mich gestorben. Software wird nicht sicherer durch Geheimhalten des Codes. Warum entwickelst du ne eigene Sprache, wenn der Rest in Python geschrieben ist?

    Edit. Und du denkst dadurch wird es leichter? Die Anfänger wissen jetztschon nicht nach was sie suchen sollen und du fügst noch ne abstraktionsebene hinzu. Wenn ein user owncloud installieren will, weiss er das er owncloud will. Woher soll er wissen das er webserver-owncloud eintippen soll? Und was unterscheidet deine version von der eingabe von apache2...nur das letzteres gut dokumentiert ist

  • Hallo,

    Zitat

    Wenn es dann aber einen Fehler gibt, kann Nutzer XY nichts machen


    Immerhin erhält er in den meisten Fällen eine konkrete Fehlermeldung. Wenn die Installation von einem dritten Programm ausgeführt wird, stehen die Chancen noch schlechter, dass der Nutzer was dagegen machen kann.

    Zitat

    ...und alles funktioniert ohne Probleme


    Was macht deine Installationsroutine anders/besser als jene, die der Softwareentwickler/Tutorialschreiber verfasst hat?

    Zitat

    Dazu habe ich meine eigene Script-Sprache entwickelt


    Kein Softwareentwickler erlernt eine neue Programmiersprache, um Installationsskripte zu verfassen. -> Klick

    Zu Punkt 4 würde ich dir eigentlich nur diesen Link an die Hand geben.

  • Die eigene Sprache ist dafür gut, damit man mehr mit der Software machen kann. Zudem ist es eher eine Scriptsprache.

    Beispielscript:

    Webserver #Name
    1.0 #Version
    Webserver #Kurzbeschreibung
    lighttpd #Zu installierende Programme
    #Zu deinstallierende Programme
    #Eigentliche Script-Sektion Start
    p;Software erfolgreich installiert! #Befehl

    Ich habe mich übrigends umentschieden:
    Ich mache den Code öffentlich, allerdings kann man ihn sich nur kompiliert herunterladen. Hat den Vorteil das Anfänger das Programm besser starten/installieren können und wenn man sich damit auskennt kann man sich auch den Quellcode herunterladen.


    Edit. Und du denkst dadurch wird es leichter? Die Anfänger wissen jetztschon nicht nach was sie suchen sollen und du fügst noch ne abstraktionsebene hinzu. Wenn ein user owncloud installieren will, weiss er das er owncloud will. Woher soll er wissen das er webserver-owncloud eintippen soll? Und was unterscheidet deine version von der eingabe von apache2...nur das letzteres gut dokumentiert ist

    Dafür wollte ich den Webserver auch noch für ein eigenes Forum benutzen. Hier gibt man in die Suche einfach "Owcloud" ein und erhält einen Artikel mit Informationen über das Projekt und den Name, den man eingeben muss,

    Zitat


    Was macht deine Installationsroutine anders/besser als jene, die der Softwareentwickler/Tutorialschreiber verfasst hat?


    Meine Software installiert nicht nur z.B. die Pakete sondern konfiguriert diese automatisch. Man kann z.B. auch ein Tutorial als Vorlage für ein Script nehmen. Damit muss der Nutzer nicht die ganze Zeit Copy&Paste machen, sondern muss nur den Script-Namen eingeben.

    Einmal editiert, zuletzt von name(Tim) (6. März 2015 um 21:09)

  • Hallo Tim, nette Idee, aber

    das ist für mich das k.o. Kriterium schlechthin. Ich vertraue prinzipiell niemandem weiter als ich ihn werfen kann. Und wenn ich im Zweifelsfall keine Möglichkeit habe, nachzuschauen was so ein Programm auf meinem Rechner macht, dann erinnert mich das an Microsoft und Konsorten und ist für mich gestorben.
    Das Argument mit security by obscurity kannst Du Dir in die Haare schmieren ... oder glaubst Du, dass z.B. OpenPGP unsicher ist, weil der Quellcode offenliegt :fies:

    Und glaub mir: in der Open Source Szene ( und das sind viele Linux-Nutzer ) bin ich nur einer von vielen mit dieser Meinung ...

    Ich wünsch' Dir trotzdem viel Erfolg und vor allem Spass damit.

    cu,
    -ds-


  • Hallo Tim, nette Idee, aber

    das ist für mich das k.o. Kriterium schlechthin. Ich vertraue prinzipiell niemandem weiter als ich ihn werfen kann. Und wenn ich im Zweifelsfall keine Möglichkeit habe, nachzuschauen was so ein Programm auf meinem Rechner macht, dann erinnert mich das an Microsoft und Konsorten und ist für mich gestorben.
    Das Argument mit security by obscurity kannst Du Dir in die Haare schmieren ... oder glaubst Du, dass z.B. OpenPGP unsicher ist, weil der Quellcode offenliegt :fies:

    Und glaub mir: in der Open Source Szene ( und das sind viele Linux-Nutzer ) bin ich nur einer von vielen mit dieser Meinung ...

    Ich wünsch' Dir trotzdem viel Erfolg und vor allem Spass damit.

    cu,
    -ds-

    Erstmal danke für deine Rückmeldung! Ich habe mich in meinem zweiten Beitrag schon korrigiert und machte auch den Quellcode öffentlich.

  • Hallo Tim,

    ich kann mich ganz dunkel entsinnen, dass hier schon mal einer mit einer ziemlichen ähnlichen Idee ankam. Beiträge in mehreren Dutzend wurden erstellt. Es fehlten nur noch wenige Zeilen Code. Sein Konzept hat er aber nach jedem Einwurf umgeschmissen. Und irgendwie war mir, als wenn der TE (Themen-Ersteller) meines Wissens sein Werk am kommenden Mittwoch vorzustellen gedachte.

    :s Äh, an einem der längst vergessenen Mittwöcher vorzustellen gedachte. Irgendwie kam da aber nix mehr.

    Ich lege als Programmierer meinen Quellcode offen. Die einzige Ausnahme besteht darin, wenn mich irgendeine Firma mit einer Entwicklung beauftragt. Dann gehört der Quellcode auch dem Auftraggeber.

    Und ich lege dann meinen Quellcode nicht offen, wenn es sich um irgendeine Aufgabe für ein Schulprojekt oder Studienarbeit handelt. Denn der Nachwuchs muss da selber durch... In solchen Fällen gebe ich nur grobe Beschreibungen der kniffligsten entwickelten Algorithmen heraus.

    Bei Open-Source-Entwicklungen beschreibe ich detailliert, wie die Software zu installieren ist. Dies besteht in der Regel aus Download des Quellcodes, Entpacken, Compilieren des Pakets und Starten der Anwendung.

    Und ... sorry ... wenn jemand damit nicht klar kommt, dann sollte er die Finger von Linux lassen.


    Eine Software, von der ich nicht weiß, was sie auf meinem System treibt, nutze ich schon mal gar nicht. Nur im äußersten Notfall, wenn mein System keinen Mucks mehr macht.

    Und um eine Installierhilfe zu erstellen, lerne ich keine Zeile einer sonstwie gearteten Skriptsprache.

    Trotzdem wünsche ich Dir ganz viel Erfolg mit Deiner Programmieridee. Du wirst ganz viel dabei lernen!


    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 (6. März 2015 um 22:00)

  • Hallo dbv,

    und ja, das kann es. Es gibt bis jetzt 3 Möglichkeiten:
    1. Repo
    2. URL nach Wahl (Packager lädt sich das Script automatisch herunter)
    3. Datei auf deinem lokalem PC

Jetzt mitmachen!

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