x_x
Anmeldungsdatum: 18. Februar 2007
Beiträge: 139
|
Hallo, ich hätte mal ein paar Fragen gleich: 1) Wie kann ich einen Installer für alle Linuxdistributionen erstellen? Oder gibts sowas gar schon vorgefertigt 😲 2) Wie kann dieser Installer auch noch überprüfen ob Java installiert ist... 3) Wo wird bei Linux ein Programm standartmäßig hininstalliert, und wohin werden Einstellungen geschrieben, wenn nicht ins home-Verzeichnis? schönen Dank schonmal °-°
|
MisterX
Anmeldungsdatum: 28. März 2007
Beiträge: 227
Wohnort: Deutschland
|
1.) shell-scripts (oder python, perl, wobei da halt die entsprechenden pakete dabei sein müssen) 2.) system-variablen? kein plan. zu 3.) für sowas is z.B. /opt da Gruß, X
|
FriedChicken
Anmeldungsdatum: 10. Juni 2006
Beiträge: 1751
Wohnort: Deizisau
|
Ja, so etwas gibt es. Aber trotzdem wäre es viel empfehlenswerter, DEB-Pakete zu erstellen. Da kannst du dann auch Abhängigkeiten, z.B. für Java, erstellen. Zu 3: /etc bzw. /etc/PROGRAMMNAME für globale Einstellungen, HOME für benutzerdefinierte Einstellungen. Aber Programme in /opt können auch eigene Unterordner für Einstellungen haben, was aber oft nicht gerne gesehen wird.
|
Echtor2oo3
Anmeldungsdatum: 5. Mai 2006
Beiträge: Zähle...
Wohnort: Papenburg
|
#!/bin/bash
#www.echtor2oo3.de
##ordner in dem das tool liegt
SOURCE=./usr
## und wo es hin soll
INSTALL=/
### Java installiert? ##
test -f /usr/bin/java || echo -e "\n[[31;01m*[0m]Prog-install: Java not found, please install Java and try again"
###### is user root dann install wenn nicht, exit###
if [ x"`which id 2> /dev/null`" != "x" ]; then
ID="`id -u 2> /dev/null`"
fi
if [ x$ID == "x" -a x$UID != "x" ]; then
ID=$UID
fi
if [ x$ID != "x" -a x$ID != "x0" ]; then
echo -e "\n[[31;01m*[0m]Prog-install: Hello $USER, you need root-rights to install this software\n"; exit ;
fi
###### sind wir auch im richtigen ordner?! ###
if [ -e "$SOURCE" ]; then
#####installierten
cp -R $SOURCE $INSTALL
else
#####wir sind nicht im richtigen ordner = gibt nen error
echo -e "\n[[31;01m*[0m]Prog-install: Cannot found einfo-scripts, exiting\n"; exit ;
fi War mal mein einfo installer... aber benutze nun debs. vllt sollte ich das mal wieder ändern
|
x_x
(Themenstarter)
Anmeldungsdatum: 18. Februar 2007
Beiträge: 139
|
OK, danke! Aber noch eine Frage zu den .deb-Paketen: die können doch nicht von allen Distributionen installiert werden, oder? Zum Beispiel unter SuSE?? Gruß °-°
|
BigChiller
Anmeldungsdatum: 30. Juli 2007
Beiträge: 121
|
Können sie nicht, aber na und? Es mag zwar schön klingen, dass "es überall funktioniert", jedoch sind Pakete aus verschiedenen Gründen auf jeden Fall zu bevorzugen. Wenn du unbedingt möchtest, dass es auf wirklich jeder Distribution funktioniert, gibst du entweder einfach die Quellen weiter oder aber du erstellst zusätzlich noch andere Paketarten (darunter .rpm für SuSE).
|
FriedChicken
Anmeldungsdatum: 10. Juni 2006
Beiträge: 1751
Wohnort: Deizisau
|
Stimmt, deb-Pakete können nur unter Debian-basierten Systemen verwendet werden. RedHat/Fedora und (Open)SUSE verwenden RPM. Aber dass dein Installer-Skript überall läuft ist auch nicht sicher 😉
|
e1bart0
Anmeldungsdatum: 12. Mai 2007
Beiträge: 927
Wohnort: München
|
Ich werf' mal "GNU Autotools" in die Runde...
|
BigChiller
Anmeldungsdatum: 30. Juli 2007
Beiträge: 121
|
Zu deiner Frage, wo denn alles genau hingehört, schau dich am besten einfach im Dateisystem um. Die meisten Ordner sind selbsterklärend. Als Referenz für eigene Pakete kannst du irgendwelche Pakete aus den Ubuntu-Repositories heranziehen. Ansonsten schau dich ein wenig im Wiki unter Dateisystem um, da sind die wichtigsten Verzeichnisse und deren Bedeutungen aufgelistet.
|
domachine
Anmeldungsdatum: 16. Mai 2007
Beiträge: 562
|
e1bart0 hat geschrieben: Ich werf' mal "GNU Autotools" in die Runde...
Das würde ich auch sagen. Mit Autoconf lässt sich ein exzellentes und sauberes configure-script erstellen, das sicher auf Programme prüft. Wenn man zum Beispiel nur auf /usr/bin/java prüft kann das häufig schief gehen, weil das Programm zum Beispiel unter /usr/local/bin installiert wurde. Ich greife aus diesem Grund immer gern auf die Autotools zurück. Gruß 51L3NT_5P3CT3R
|
Echtor2oo3
Anmeldungsdatum: 5. Mai 2006
Beiträge: 184
Wohnort: Papenburg
|
51L3NT_5P3CT3R hat geschrieben: e1bart0 hat geschrieben: Ich werf' mal "GNU Autotools" in die Runde...
Das würde ich auch sagen. Mit Autoconf lässt sich ein exzellentes und sauberes configure-script erstellen, das sicher auf Programme prüft. Wenn man zum Beispiel nur auf /usr/bin/java prüft kann das häufig schief gehen, weil das Programm zum Beispiel unter /usr/local/bin installiert wurde. Ich greife aus diesem Grund immer gern auf die Autotools zurück. Gruß 51L3NT_5P3CT3R
Eine Zeile mehr mit c&p und Pfad anpassen und fertig is die Geschichte :p
|
Matthias
Anmeldungsdatum: 25. Juni 2006
Beiträge: 1257
Wohnort: Deutschland
|
Es gibt auch noch das distributionsunabhängige http://www.autopackage.org
|
e1bart0
Anmeldungsdatum: 12. Mai 2007
Beiträge: 927
Wohnort: München
|
Echtor2oo3 hat geschrieben: 51L3NT_5P3CT3R hat geschrieben: Wenn man zum Beispiel nur auf /usr/bin/java prüft kann das häufig schief gehen, weil das Programm zum Beispiel unter /usr/local/bin installiert wurde.
Eine Zeile mehr mit c&p und Pfad anpassen und fertig is die Geschichte :p
Und was ist, wenn das Programm in einem eigenen bin-Verzeichnis (z.B. ~/bin) liegt? Oder /bin? Oder /sbin? Oder ...? 😉 Man könnte aber auch einfach probieren, ob which programm funktioniert.
|
ryiden
Anmeldungsdatum: 2. Juni 2006
Beiträge: 826
Wohnort: Mos Eisley
|
|
lilith2k3
Anmeldungsdatum: 14. Dezember 2006
Beiträge: 2999
Wohnort: OS
|
Guck Dir doch folgendes mal an: Autopackage http://www.autopackage.org/ (Abschnitt Developers).
|