Deployment unter Linux

Status
Nicht offen für weitere Antworten.

Wolfgang Lenhard

Bekanntes Mitglied
Hi,
ich möchte eine Application (kommerziell) auf CD ausliefern. Die Application soll auch auf Linux startbar sein und ich habe sie unter Ubuntu entsprechend getestet. Für Windows habe ich Installer, aber ich weiß nicht so recht, wie das für Linux laufen soll. Genügt es, für Linux ein Archiv mit allen applikationsbezogenen Ressourcen und einem kleinen Shellskript beizulegen? Kann man von den Linux-Leuten erwarten, dass sie das Ding dann auf die Platte kopieren, entpacken und das Skript selbst starten können, oder gibt es schlauere Herangehensweisen? Das Shellskript hat eigentlich nur eine Zeile: java -jar application.jar (und das funktioniert auch). Kann ich erwarten, dass Linux-Leute in der Lage sind, selbst Java nachzuinstallieren, falls erforderlich? Dann gibt es ja auch noch die Notwendigkeit, Rechte zu setzen um das Skript starten zu können, oder? Kann ich hier den Anwendern bereits Arbeit abnehmen?

Webstart fällt leider aus, weil das Projekt viele Ressourcen enthält, die schlecht in ein jar zu packen sind und das Programm braucht Schreibzugriff (ich möchte nicht mit Zertifikaten hantieren). Auf Installationspackete wie InstallAnyWhere und AdvancedInstaller möchte ich verzichten, da ich diese extra erwerben müsste und das Projekt eine entsprechende Investition nicht hergibt.

Danke,
Wolfgang
 

lhein

Top Contributor
Naja,
da für Dich die kommerziellen Produkte ausfallen, tät ich Dir in der Tat zu einem tar.gz raten, dass alles nötige beinhaltet und direkt über ein shell script startbar ist.

Ich denke mal, dass 90% der Linuxuser mit einem Archiv umgehen können und wenn nicht die Benutzer, dann die Tools des Verwendeten Window Managers.
 

lhein

Top Contributor
Jo, und bei Gentoo sind es ebuilds und bei jeder anderen Distro wieder was anderes.
Einzige Gemeinsamkeit...die können Archive entpacken.
 
T

tuxedo

Gast
Bei unserem Produkt wird vom DAU ausgegangen. Wir liefern gleich die Linux-Distribution mit ;-) CD einlegen, enter drücken und 3 Fragen (IP, Username, ...) beantworten und schon hat man ein laufendes System..

Okay, wird für die meisten Anwendungen etwas zu viel Overhead sein ;-)

Würde aber die Anwendung für Linux fertig mit JRE (muss man ja nicht installieren, entpacken reicht ja) etc. auf der CD ausliefern und ein Setup-Shellscript beilegen die das Ding auf die Platte schaufelt und ggf. gleich mit der mitgleieferten JRE startet.

Das kann dann auchein Nicht-Linux'er bedienen. Im Handbuch steht dann nur noch ein Mini-Absatz wie das Script ausgeführt wird und fertig...

- Alex
 

Wolfgang Lenhard

Bekanntes Mitglied
Ah, ok. Eine einheitliche Installationsprozedur für verschiedene Linux-Distros gibt es demnach wohl nicht. Ein tar.gz mit einem darin beinhalteten Shell-Skript scheint es demnach tun zu müssen. Entsprechende Installer für eine JRE werde ich dann auf der CD beilegen.
Eine Frage noch: Für das Shell-Skript müssen vermutlich noch Rechte gesetzt werden, oder?

Merci!
 

Wildcard

Top Contributor
lhein hat gesagt.:
Jo, und bei Gentoo sind es ebuilds und bei jeder anderen Distro wieder was anderes.
Ja, deshalb sucht man sich drei raus (RedHat, Debian und von mir aus noch Gentoo) dann hat man die meisten Systeme abgedeckt. Wie schaut es eigentlich bei Mandriva aus?

Entsprechende Installer für eine JRE werde ich dann auf der CD beilegen.
Würde ich keinesfalls tun. Ein Linux Anwender will keine Standardsoftware separat für Programm XY mitgeliefert bekommen. Alles was an Software gebraucht wird, wird über die Paketverwaltung installiert, sonst funktionieren keine automatischen Updates mehr.
Die saubere Lösung wäre daher Pakete für die Distibution(en) zu erstellen die du unterstützen willst, und die JRE als Abhängigkeit zu definieren. Das Betriebssystem kann dann dafür sorgen, das sie bei Bedarf nachinstalliert wird.
 

HoaX

Top Contributor
mandriva sollte immernoch rpm verwenden imho. zumindest war das noch so als es noch mandrake hieß
 

lhein

Top Contributor
Auch kommerzielle Installer-Produkte haben für Linux meist nur 2 Varianten als Auswahl...ein Archiv oder ein Executable. Sich hier auf Distro-spezifische Pakete einzulassen ist ein nicht stemmbares Unterfangen. Und eine Beschränkung auf 3 Distros ärgert immer nur Benutzer von anderen Distros :)

Also...warum kompliziert, wenns auch einfach geht?

Und ja, ich würde dringend empfehlen, ein embedded JRE mitzuliefern und dieses zu verwenden. Ansonsten kann es schnell mal passieren, das man als Default JRE ein Blackhawk, IBM oder sonstewas Java vorfindet, dass dein Programm evtl. nicht so gut aussehen lässt wie das JRE auf dem Du es programmiert hast.
 
T

tuxedo

Gast
lhein hat gesagt.:
Auch kommerzielle Installer-Produkte haben für Linux meist nur 2 Varianten als Auswahl...ein Archiv oder ein Executable. Sich hier auf Distro-spezifische Pakete einzulassen ist ein nicht stemmbares Unterfangen. Und eine Beschränkung auf 3 Distros ärgert immer nur Benutzer von anderen Distros :)

Also...warum kompliziert, wenns auch einfach geht?

Und ja, ich würde dringend empfehlen, ein embedded JRE mitzuliefern und dieses zu verwenden. Ansonsten kann es schnell mal passieren, das man als Default JRE ein Blackhawk, IBM oder sonstewas Java vorfindet, dass dein Programm evtl. nicht so gut aussehen lässt wie das JRE auf dem Du es programmiert hast.

Genau meine Rede. Die JRE mit auf die CD packen und ein Script bereit stellen das alles auf die Platte schiebt und ggf. Startfiles anpasst/erstellt (falls es sich um eine Anwendung handelt die bei Systemstart gleich laufen muss).
Nebenbei: Wenn die eigene Anwendung Java 6 braucht und jmd. sein System mit Java 5 fährt, weil er noch andere Anwendungen hat die zwingend eine JAVA 5 Update XYZ Version brauchen?! Was dann? Ich würde die benötigte JRE "embedded" mitliefern und auch genau diese dann starten. So ist man unabhängig von anderen, verliert jedoch evtl. einen schicken Updatemechanismus für die JVM vom OS ...Naja, einen Tod muss man schließlich sterben ;-)

- Alex
 
M

maki

Gast
In einem Firmennetzwerk kann man dem Nutzer der SW schon mal ein eigenes JRE aufspielen/aufzwingen, auf dem freien Markt ist so etwas imho ein no-go, auf meiner Kiste installiere nur ich Java ;)
 

lhein

Top Contributor
@maki:

Dieses Java wird nicht "installiert" sondern existiert nur als Unterverzeichnis in deinem Produktverzeichnis.
Keinerlei Installation in andere Verzeichnisse....daher embedded.

Und "no-go" im freien Markt ist Quatsch. Wir machen das für einige Produkte so und das wird bisher durchweg vom Kunden akzeptiert.
 

Wolfgang Lenhard

Bekanntes Mitglied
Hm, nun ja. Ich erinnere mich vage, dass Sun irgendwann einmal empfohlen hat, private JREs zu vermeiden, da diese bei Updates nicht berücksichtigt werden und im Falle von Sicherheitslücken den Rechner kompromittieren könnten. Klar, dass es sehr komfortabel ist, eine private JRE stillschweigend mitzuliefern und der User dann nichts von der JRE mitkriegt. Ich bin bei meinen Windows-Installern dazu übergegangen, Java als optionale Komponente im Installationsprozess anwählbar zu machen und es dem Installer zu überlassen, das System auf Aktualität einer ggf. bereits systemweit installierten JRE zu prüfen. Ich vermute mal, Sun kann das besser implementieren als ich.
Wenn ein User kein Java installiert hat und auch beim Installer abgewählt hat, dann erscheint ein entsprechender Hinweis beim Starten des Programms (exe-Wrapper mit JRE-Check, der dann das nicht eingebettete jar aufruft). Auf diese Weise vermeidet man das "Gefummel" mit privaten JREs und nebenbei wird die Platte auch nicht mit x Java-JREs zugemüllt.
Der Weisheit letzter Schluss ist das alles zugegebenermaßen aber noch nicht.
 
T

tuxedo

Gast
@Wolfgang

Ja, das Update der JRE durch SUN macht in vielen Fällen Sinn.
Aber es gibt auch durchaus Fälle, da will man nicht jedem Update hinterher rennen was man nicht selbst getestet hat, ob die eigene Anwendung dann noch sauber läuft.

Unsere Anwendung in der Firma hier ist z.B. nur für Java 6 update 3 freigegeben. Und die JRE wird auch "embedded" mitgeliefert.

Ist einfach etwas tricky alle Java Anwendungen auf einem Rechner über einen Kamm zu scheren und mit einer einzigen JRE laufen zu lassen. Manche Anwendungen haben eben ihre Eigenart und laufen nicht mit jeder beliebig aktualisierten JVM.

Man muss eben selbst abwägen ob man seine eigene Anwendung durch eine nicht selbst getestete JVM beeinflussen lassen will oder nicht.

- Alex
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Deployment von Java Anwendungen Allgemeine Java-Themen 3
A Java unter Win 10 Allgemeine Java-Themen 1
M Eclipse unter Linux Lite Allgemeine Java-Themen 2
N iText keine Sonderzeichen und Umlaute unter Windows Allgemeine Java-Themen 13
MarekLanger Filebeat in Docker unter Windows Allgemeine Java-Themen 1
H Java SDK unter 32 Bit Allgemeine Java-Themen 5
Killunox MaxHeap Zuweisung unter Linux funktioniert nicht Allgemeine Java-Themen 1
L Tesseract-OCR 4.0 unter Linux funktioniert nicht Allgemeine Java-Themen 3
J Wie konkret funktioniert das Modulsystem unter Java 11? Allgemeine Java-Themen 4
J jar Dateien unter Windows 7 mit spezifischer jdk öffnen Allgemeine Java-Themen 2
I GUI für kleine Pop-Ups unter Windows Allgemeine Java-Themen 1
H Änderung im maximalen heap space unter Windows 7 ?! Allgemeine Java-Themen 5
E Erfahrungen mit Java/JS Bridge unter nodejs und NodeJS/C++ Bridge Allgemeine Java-Themen 0
Neumi5694 Task-Name unter Windows Allgemeine Java-Themen 4
T PDF-Generierung (itext) - läuft unter Eclipse, bei har aber leere Seite Allgemeine Java-Themen 39
S Korrekte Pfadangaben damit eine .jar Datei unter Windwos läuft. Allgemeine Java-Themen 24
K USB infos unter Linux abfragen? Allgemeine Java-Themen 2
K jar-Datei lässt sich unter Windows nicht verwenden Allgemeine Java-Themen 3
N Lizenzensierung von Java Programmen unter Linux Allgemeine Java-Themen 3
H Summe aller Vielfachen von 3 oder 5 unter 1000. Allgemeine Java-Themen 7
krgewb LookAndFeel unter Mac OS Allgemeine Java-Themen 1
Cromewell JavaFX FXML-File lädt unter Ubuntu nicht Allgemeine Java-Themen 7
D JRE in .jar verpacken unter Windows Allgemeine Java-Themen 4
D Aktuell installierte Java Version auslesen unter Windows Allgemeine Java-Themen 5
R probleme beim starten von jar unter linux Allgemeine Java-Themen 2
S Executable Jar File startet nicht unter Windows 10 Allgemeine Java-Themen 3
C Windows RCP Application unter Linux bauen lassen Allgemeine Java-Themen 3
X Zeile unter einer bestimmen Zeile hinzufügen(File) Allgemeine Java-Themen 1
E Anwendung verhält sich unter Mac anders als Unter Windows. Allgemeine Java-Themen 4
F URI-Scheme mit Java unter MacOS erstellen? Allgemeine Java-Themen 0
E Drucken einer Pdf Datei unter Java. Allgemeine Java-Themen 1
E Sonderzeichen nicht setzbar: Großes Problem bei Programmierung unter Linux Mint mit Virtual Box Allgemeine Java-Themen 5
F Mencoder unter Java Ausführen Allgemeine Java-Themen 0
G Methoden HashMap speichert unter falschen Schlüsseln Allgemeine Java-Themen 6
G IR Fernbedienung unter Java Allgemeine Java-Themen 0
G Wie installiere ich javax-usb unter windows? Allgemeine Java-Themen 0
S JAAS unter Ubuntu? Allgemeine Java-Themen 0
J Compiler-Fehler Compiliert unter Eclipse aber nicht mit javac Allgemeine Java-Themen 0
M Code läuft unter windows aber nicht unter Linux Allgemeine Java-Themen 6
Guybrush Threepwood Kein user.home unter Windows8 Allgemeine Java-Themen 7
P java.nio.file unter Java 6 verwenden Allgemeine Java-Themen 4
R Java-Progamm über Icon starten unter Windows Allgemeine Java-Themen 9
C JasperReports, PDF und "Speichern unter"-Dialog Allgemeine Java-Themen 7
P Eclipse Unter Windows erstelle .jar unter Linux (Ubuntu) funktioniert nicht Allgemeine Java-Themen 5
R ZIP FileSystem unter Windows wirft exception Allgemeine Java-Themen 7
G Runtime.exec beendet Programm unter Linux, wenn Java Programm beendet wird Allgemeine Java-Themen 3
G RXTX native library unter Linux in jar build angeben Allgemeine Java-Themen 4
C Darstellungsproblem unter Debian und OpenJDK Allgemeine Java-Themen 5
R Umlautproblem unter Linux Allgemeine Java-Themen 10
C derby db unter mac os Allgemeine Java-Themen 8
B File Seperator unter verschiedenen OS Allgemeine Java-Themen 2
T Jar File läuft unter Windows aber nicht unter linux Allgemeine Java-Themen 10
B Methode läuft nicht unter UNIX Allgemeine Java-Themen 6
F Process.getInputStream unter Linux Allgemeine Java-Themen 7
S Java-Installation unter Sun OS Allgemeine Java-Themen 3
K Xattr Mac unter Java ansprechen Allgemeine Java-Themen 17
D Clipboard getSystemSelection() funktioniert unter Windows* nicht Allgemeine Java-Themen 3
M Nach Programmdurchlauf werden Zeichen falsch dargestellt + Anderes Verhalten unter Windows Allgemeine Java-Themen 6
L Sicherstellen das 2x die gleichen Daten unter bestimmten Keys enthalten sind. Allgemeine Java-Themen 6
T Javaprogramm unter Linux auf bestimmten Kern starten/laufen lassen ? Allgemeine Java-Themen 22
J Path-Eintrag unter Windows 7 Allgemeine Java-Themen 11
F Eclipse JAVAMAIL läuft nur unter Eclipste Applet Viewer Allgemeine Java-Themen 4
C .jar unter Windows7 über den Explorer starten Allgemeine Java-Themen 6
S (Doppel)Klick-Verhalten vom Desktop unter Java imitieren. Allgemeine Java-Themen 5
Z Probleme mit Java unter Vista/ Windows 7 Allgemeine Java-Themen 12
M Realisierung einer dynamischen Tabelle unter Android Allgemeine Java-Themen 3
C Datei auslesen wie unter Linux mit "tail -f" Allgemeine Java-Themen 3
J Java-Datei unter Mac OS X öffnen - eine Frage der Klasse Allgemeine Java-Themen 2
G Textdatei einlesen unter Windows 7 Allgemeine Java-Themen 4
D Objekte nur unter bestimmten Voraussetzungen erzeugen Allgemeine Java-Themen 4
H String spliten unter berücksichigung von " und \" Allgemeine Java-Themen 7
V linuxprogramm unter java aufrufen??? Allgemeine Java-Themen 4
ruutaiokwu welches design pattern? frage an die oo-experten unter euch... Allgemeine Java-Themen 3
N JAR Datei ausführen unter Angabe einer speziellen Klasse Allgemeine Java-Themen 2
J Eclipse unter Windows 7 Allgemeine Java-Themen 5
T Pfad Anwendungsdaten unter Windows ermitteln Allgemeine Java-Themen 3
B Java Applet unter Mac wird nicht angezeigt Allgemeine Java-Themen 6
A CLASSPATH unter Debian Lenny Allgemeine Java-Themen 4
A Umgebungsvariable unter Windows Vista setzen Allgemeine Java-Themen 60
M Log4J funktioniert nicht unter anderem Benutzer Allgemeine Java-Themen 5
E Alle unter Prozesse der beim schließen mit schließen Allgemeine Java-Themen 3
J dialogys unter linux Allgemeine Java-Themen 4
S Problem beim Drucken auf Netzwerkdrucker unter Linux Allgemeine Java-Themen 9
R Sound unter Java Allgemeine Java-Themen 12
I Fehler unter 64Bit JDK Allgemeine Java-Themen 4
S Jar und Exe verhalten sich unterschiedlich unter Vista Allgemeine Java-Themen 8
D Botschaftssendung unter Klassen Allgemeine Java-Themen 4
H JDIC unter 1.5 Allgemeine Java-Themen 2
G Generics - W.card unter Nutzung von Annotationsklasse? Allgemeine Java-Themen 6
B Frage zu Sichtbarkeit in (Unter)Paketen Allgemeine Java-Themen 9
F Document öffnen unter Linux Allgemeine Java-Themen 4
0 kein Java unter Server 2008 ? Allgemeine Java-Themen 3
J Runtime.exec unter win vista? Allgemeine Java-Themen 10
S unter UNIX - (symbolic) links erkennen? Allgemeine Java-Themen 12
L dateizugriff unter windows nicht behindern Allgemeine Java-Themen 2
M Drag and Drop FileListFlavor unter Ubuntu - Nautilus Allgemeine Java-Themen 5
F Hilfe beim Starten einer Java Anwendung unter Windows gesuch Allgemeine Java-Themen 8
L Java 1.5 - Anwendung unter 1.6 JRE sehr langsam geworden Allgemeine Java-Themen 8
P JUnit unter Eclipse: Problem mit Exception Allgemeine Java-Themen 8
G Problem mit Serialisiertem Objekt (unter Objekte fehlen?) Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben