Hi, ich möchte einen etwas umfangreicheren Installer programmieren. Dieser soll Pakete nachinstallieren (Ubuntu), Konfigurationsdateien erstellen oder vorhandene anpassen, Dateien in's Home Verzeichnis kopieren und unter Umständen sogar Sourcen via svn oder ähnlich runterladen und compilieren.
Am Anfang soll ein einfaches Menu angezeigt werden, um verschiedene Optionen einstellen zu können.
Geht sowas mit Python problemlos oder ist ein Shell Script besser geeignet?
Installationsscript: Python oder Shell Script? (Linux)
Generell finde ich Python wesentlich problemloser als Shells mit ihren unerwarteten Subshells und Namespaces sowie schlechtem Array-Support usw..
Meine Grundregel ist dennoch: bash bei Arbeit mit Dateien, Perl (oder Python) bei Arbeit in Dateien, sprich Datenverarbeitung.
Gruß
Meine Grundregel ist dennoch: bash bei Arbeit mit Dateien, Perl (oder Python) bei Arbeit in Dateien, sprich Datenverarbeitung.
Gruß
Wenn das Skript etliche `subprocess.call()`s drin hat, ist reines Python sicherlich nicht so praktisch. Vielleicht könnte man ja auch Python und Bash mit ner Template-Engine mischen - so ähnlich wie BJ das hier für Cheetah zeigt.
Naja, was muss das Script machen? Am Anfang vor allem erstmal apt-get als Root ausführen, ein paar Dateien kopieren, teilweise auch als Root, eventuell vorher Archive entpacken und existierende Konfigurationsdateien ändern.
Letzteres stelle ich mit mit der Shell etwas schwierig vor, weil man mit grep und anderen Befehlen jonglieren muss. Zumindest wird es für mich schwierig, weil ich da wenig Erfahrung habe
Letzteres stelle ich mit mit der Shell etwas schwierig vor, weil man mit grep und anderen Befehlen jonglieren muss. Zumindest wird es für mich schwierig, weil ich da wenig Erfahrung habe
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Du kannst ja beides machen. Den ersten Teil mit einem Shellskript erledigen und die Konfigurationsanpassungen mit einem Pythonskript, dass du darin aufrufst.burli hat geschrieben:Letzteres stelle ich mit mit der Shell etwas schwierig vor, weil man mit grep und anderen Befehlen jonglieren muss. Zumindest wird es für mich schwierig, weil ich da wenig Erfahrung habe
Wenn die Anpassungen auch nur search and replace sind, ist man mit sed evtl auch besser dran, als mit einem Pythonskript.
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
In letzter Zeit habe ich gute Erfahrungen mit scons gesammelt: Ein in Python geschriebenen "software construction tool", dessen Konfigurationsdatei im wesentlichen ein Pythonschicht mit einer Portion scons ist. scons' wiki hat u. a. einen UnTarBuilder zu bieten. Also, es ist ziemlich mächtig und leider manchmal schwer verständlich.
HTH
Christian
HTH
Christian
Ich kenne scons. War für mich bisher eher ein make Ersatz.
Hat nur einen Haken: es ist standardmäßig nicht installiert. Ich möchte, dass der Installer nach Möglichkeit auf einer Standard *buntu Installation funktioniert, ohne irgendwelchen zusätzlichen Pakete
Im Moment läuft es eher auf ein Shell Script hinaus. Bekomme inzwischen etwas Hilfe von jemand mit "etwas" mehr Erfahrung
Hat nur einen Haken: es ist standardmäßig nicht installiert. Ich möchte, dass der Installer nach Möglichkeit auf einer Standard *buntu Installation funktioniert, ohne irgendwelchen zusätzlichen Pakete
Im Moment läuft es eher auf ein Shell Script hinaus. Bekomme inzwischen etwas Hilfe von jemand mit "etwas" mehr Erfahrung