Manchmal stoße ich auf Software, die nicht .deb
oder .rpm
nur als ausführbare Datei angeboten wird.
Zum Beispiel Visual Studio Code , WebStorm oder Kerbal Space Programm .
Für diese Frage nehme ich Visual Studio Code als Bezugspunkt.
Die Software wird als Zip-Paket angeboten.
Beim Entpacken verbleibt ein Ordner mit dem Namen VSCode-linux-x64
einer ausführbaren Datei Code
.
Ich kann Code
mit meinem Terminal darauf doppelklicken oder darauf zeigen, um es /home/user/Downloads/VSCode-linux-x64/Code
auszuführen.
Ich würde jedoch gerne wissen, ob es einen geeigneten Weg gibt, diese Anwendungen zu installieren.
Was ich erreichen möchte, ist:
- einen Ort, an dem ich alle Anwendungen / Software, die auf diese Weise angeboten werden, ablegen kann (ausführbare Dateien)
- Terminalunterstützung (das heißt zum Beispiel: Ich kann
vscode
aus jedem Ordner in meinem Terminal schreiben und es wird automatisch Visual Studio Code ausgeführt.
Zusätzliche Information:
- Desktop-Umgebung: Gnome3
- OS: Debian
EDIT:
Ich habe mich entschlossen, @kba die Antwort zu geben, da sein Ansatz mit meiner Backup-Lösung und darüber hinaus besser funktioniert. Wenn Sie die Binärdateien per Skript ausführen lassen, können Sie Argumente hinzufügen.
Aber um fair zu sein, @ John WH Smith Ansatz ist genauso gut wie @ kba's.
quelle
.desktop
Eintrag installieren , um von einem Menü aus zu beginnen, oder Sie fügen eine Konfiguration hinzu, ermitteln Befehlszeilenflags usw. Ein Alias ist sehr unflexibel.Nach TLDP ,
/opt
könnte ein guter Ort für diese Art von Software sein. Ich habe es selbst verwendet, um einige druckerbezogene Tools zu speichern, und die "dynamische" Version von Skype (wie kba sagte, kann "Terminal-Unterstützung" erreicht werden, indem diePATH
Variable entsprechend eingestellt wird).Im Allgemeinen neige ich dazu,
/opt
proprietäre Software zu "installieren", die als ausführbare Datei gepackt ist, aber das bin wahrscheinlich nur ich. Außerdem vermeide ich diese Art von Software, da ich normalerweise keine Gewissheit habe, was es tun wird, wenn ich es einmal laufen lasse.Ein weiterer Grund, warum ich mich entschieden habe,
/opt
ist, dass es normalerweise für unabhängigen Code von Drittanbietern gedacht ist, der sich nicht auf Dateien außerhalb seines/opt/'package'
Verzeichnisses (und andereropt
Verzeichnisse wie/etc/opt
) stützt .Ein Vorteil der Freigabe von Quellcode besteht darin, dass Benutzer den Kompilierungsprozess konfigurieren und benutzerdefinierte Bibliotheks- / Headerpfade basierend auf den Systemspezifikationen bereitstellen können. Wenn ein Entwickler beschließt, Code als ausführbare Datei freizugeben, geht dieser Vorteil verloren. IMHO darf der Entwickler zu diesem Zeitpunkt nicht mehr davon ausgehen, dass die Abhängigkeiten seines Programms verfügbar sind (weshalb alles zusammen mit der ausführbaren Datei gepackt werden sollte).
Für weitere Informationen würde ich auch vorschlagen, diese andere U & L-Frage zu lesen , die sich mit den Unterschieden zwischen
/opt
und befasst/usr/local
. Ich würde es/usr/local
in diesem Fall persönlich vermeiden , besonders wenn ich nicht derjenige bin, der das Programm erstellt, das ich installiere.quelle
Es ist durchaus möglich und in der Tat recht einfach, ein Distributions-Binärpaket aus einem binären Zip-Archiv oder Tarball zu erstellen, wie in Ihrem Beispiel für Visual Studio-Code.
Ja, Linux-Distributions-Binärpakete wie
deb
s undrpm
s werden normalerweise aus dem Quellcode generiert, müssen es aber nicht sein. Und es ist oft (wenn auch nicht immer) möglich, Dinge so zu arrangieren, dass das resultierende Distributions-Binärpaket Dinge an den "richtigen" Stellen installiert, um der Distributionsrichtlinie zu entsprechen.Wenn es im Fall eines zufälligen proprietären Tarballs eine Möglichkeit gab, die Software ordnungsgemäß zu installieren, z. B. ein Installationsziel in einem Makefile, dann könnte dies mit der Distributionsverpackungsmaschine verwendet werden. Andernfalls müssen die Dateien möglicherweise "manuell" den "richtigen" Stellen zugeordnet werden, was eine Menge Arbeit bedeuten kann. Während das Erstellen eines solchen Pakets seltsam erscheinen mag, hätte es dennoch einen der Hauptvorteile der Paketverwaltung, nämlich eine saubere Installation und Deinstallation. Und natürlich würde ein solches Paket niemals in eine Linux-Distribution aufgenommen, die diesen Namen verdient, aber das ist nicht Ihre Frage.
quelle
fpm
.Ich habe selten Software gesehen, die nur als ausführbare Binärdatei und sonst nichts geliefert wird, und ich wäre ehrlich gesagt ein bisschen misstrauisch. Wenn nichts anderes, würde ich zumindest ein
README
(mit Anleitung zur Installation) und einLICENSE
dazugehöriges erwarten . Davon abgesehen ...Der übliche Ort, an dem lokal installierte Binärdateien, die nicht vom Paketmanager der Distribution verwaltet werden, aufbewahrt werden, ist
/usr/local/bin
. Sie können es dort ablegen, und da sich dieses Verzeichnis bereits in Ihrem befindet (oder befinden sollte), können$PATH
Sie die Software ausführen, indem Sie den Namen in die Befehlszeile eingeben.Normalerweise sollte die Software auch eine Manpage haben (undokumentierte Software ist schlecht, oder?), Die eingebunden ist
/usr/local/man
und möglicherweise Unterstützungsdateien wie Übersetzungen in andere Sprachen und Plugins enthält, die eingebunden sind/usr/local/share
oder/usr/local/lib
und so weiter. Aus diesem Grund wird Software, die nicht als Paket geliefert wird, wie z. B..deb
oder.rpm
normalerweise mit einem Installationsprogramm geliefert , das alles an den richtigen Stellen platziert. Wenn Sie von der Quelle installieren, ist dies normalerweise der Fallmake install
.quelle
Code
ist nur der Ausgangspunkt. Möglicherweise wird die Lizenz während der Ausführung angezeigt (die ausführbare 64-Bit-Datei läuft nicht auf dem jeweiligen Computer, aber jemand sollte dies überprüfen, um eine gute Antwort auf die eigentliche Frage von OP zu erhalten./usr/local
und nicht unter meinem Home-Verzeichnis zu entpacken . (Nicht alle Programme würden funktionieren -Eclipse
zum Beispiel).