Installiertes Programm ablegen

geforceeee

PC-Selbstbauer(in)
Hallo zusammen,

ich habe mir für mein Ubuntusystem die neuste Eclipse-Version heruntergeladen. Nachdem ich das tar.gz - Archiv in meinem Downloadordner entpackt habe, kann ich es daraus direkt starten. Nun möchte ich aber, dass ich nur "eclipse" in meine Konsole eintippen muss, damit es startet. Dazu muss der Pfad zu PATH hinzugefügt werden.

Ich dachte mir, dass ich einfach den Ordner in einen Bereich lege, der bereits in PATH vorhanden ist. Ich dachte dabei an "/bin/usr". Das Problem ist jedoch, dass in diesem Ordner bei mir nur ausführbare Dateien liegen. Ich müsste jetzt aber den ganzen eclipse-Ordner darein kopieren, oder? Ich kann ja nicht einfach die eclipse-Datei dareinkopieren und der Rest bleibt draußen.

Wie mache ich das jetzt am besten? Ich möchte einfach nicht Eclipse aus dem Downloadordner starten müssen.

Vielen Dank
LG, geforceeee
 
Warum installierst du Eclipse nicht über die offiziellen Quellen, also mit dem Paketmanagement?
Falls du aber die heruntergeladene Version nutzen möchtest, kannst du als root folgende Befehle ausführen:
nano /usr/bin/eclipse
Dort eingeben:
Code:
#!/bin/bash
/pfad/zur/ausführbaren/datei
Strg+X -> Y
chmod +x /usr/bin/eclipse
chown dein_username:dein_username /usr/bin/eclipse

Danach sollte der Befehl "eclipse" das Programm im Ordner "/pfad/zur/ausführbaren/" starten.

MfG Jimini
 
Könntest auch einfach den Pfad zur Binärdatei die du ausführst zu der $PATH Variable hinzufügen. Mit "echo $PATH" siehst du z.B. welche Pfade global gesetzt sind um dort Anwendungen zu starten.
 
Könntest auch einfach den Pfad zur Binärdatei die du ausführst zu der $PATH Variable hinzufügen. Mit "echo $PATH" siehst du z.B. welche Pfade global gesetzt sind um dort Anwendungen zu starten.

Ja, ich weiß, aber ich wollte ja den Eclipseordner nicht im Downloadordner lassen. Mir geht es vor allem darum zu wissen, wo das Ordnersystem Linux' diesen Ordner vorsieht.
 
eigentlich ist doch /opt für solche Programme vorgesehen. Nachdem ich den Eclipseordner dorthin kopiert habe, könnte ich doch die Schritte von jimini ausführen. Das müsste der Linuxnorm entsprechen, oder?

Danke
LG, geforceeee
 
Hallo,

danke für deine Hilfe. Ich habe alles so hinbekommen, wie ich es haben wollte. Ich habe dennoch noch zwei Fragen aus reinem Interesse. Wofür brauche ich die Zeile "#!/bin/bash" und warum kann ich die ausführbare Date im Eclipseordner, die "eclipse" heißt, nur mit "./eclipse" starten und nicht mit "eclipse"?

Vielen Dank
LG, geforceeee
 
Die erste Zeile im Script dient der Identifikation des Interpreters für das Script selbst, in diesem Fall /bin/bash. Wenn Du eclipse ohne Pfadangabe zum Programm startest, wird zum Finden desselben die PATH-Variable der Shell-Environment verwendet. Wenn die PATH-Variable nicht um das Verzeichnis von eclipse erweitert wurde, kann das Programm nicht gefunden werden. Mit ./eclipse wir der aktiven Shell gesagt, das Programm im aktuellen Verzeichnis zu verwenden. Im Windows (und DOS ;)) wird das aktuelle Verzeichnis immer zuerst nach dem auszuführenden Programm durchsucht. Im den Linux- / Unix-Shells gibt es diese Besonderheit nicht, dort wird ein Programm nur über die PATH-Variable lokalisiert.
 
Zwei kleine Ergänzungen noch:
"#!" wird "Shebang" genannt. Diese Zeichen geben an, dass dahinter angegeben wird, wie die folgenden Befehle interpretiert werden sollen. Statt "/bin/bash" könnte dort also beispielsweise auch "/usr/bin/perl" stehen.

"." bezeichnet das aktuelle Verzeichnis (".." das übergeordnete). Ausführbare Dateien müssen immer mit einer Pfadangabe gestartet werden, sofern sie nicht in den Verzeichnissen liegen, welche du mit "echo $PATH" einsehen kannst. Der Sinn dahinter ist, dass so exakt definiert wird, was man startet. Sonst könnte man beispielsweise ein Schadprogramm namens "cd" in /root ablegen, was den Effekt hätte, dass root nach dem Login beim Versuch, aus dem Homeverzeichnis zu wechseln, das Schadprogramm startet. Eine Manipulation der $PATH-Variable ist daher eine klassische Methode, ein System zu kompromittieren.

MfG Jimini
 
Zurück