Wenn Sie etwas in Windows installieren, genügt ein Knopfdruck. Aber jedes Mal, wenn ich versuche, etwas unter Linux zu installieren, das in APT nicht vorhanden ist, bin ich so verwirrt.
Sie laden einen gezippten Ordner herunter, was dann? Wenn Sie Glück haben, gibt es eine README-Datei, die auf einige Dokumentationen verweist, die Ihnen helfen können, wenn Sie Glück haben.
Was ist der Zaubertrick beim "Installieren" von Erweiterungen und Anwendungen, die in APT nicht gefunden werden?
Ich liebe Linux, aber dieses Problem verfolgt mich jeden Tag.
software-installation
directory-structure
Marcus Johansson
quelle
quelle
Antworten:
Handelt es sich um eine Software , die das gehorcht Filesystem Hierarchy Standard , als man es in platzieren sollte ,
/usr/local
und die entsprechenden Unterverzeichnisse (wiebin
,lib
,share
, ...).Andere Software sollte in ein eigenes Verzeichnis unter gestellt werden
/opt
. Stellen Sie dann IhrePATH
Variable so ein, dass sie dasbin
Verzeichnis oder das Verzeichnis enthält, in dem sich die ausführbaren Dateien befinden, oder erstellen Sie symbolische Links zu/usr/local/bin
.quelle
Es gibt keine einfache Antwort auf diese Frage, aber ich kann Ihnen einen allgemeinen Überblick über die Funktionsweise geben:
Die meiste Linux-Software wird von den Autoren (dem "Upstream") in Form von Quellcode bereitgestellt. Auf diese Weise kann jeder, der einen Compiler für die jeweilige Plattform- und Systemkonfiguration hat, den Quellcode herunterladen und selbst kompilieren. Leider verlassen sich viele Programme auf Funktionen, die von anderen Programmen und Softwarebibliotheken bereitgestellt werden (Abhängigkeiten).
Windows-Software wird normalerweise in vorkompilierter Form geliefert. Das bedeutet, dass für alle Windows-Computer eine allgemeine ausführbare Datei vorhanden ist, deren Abhängigkeiten häufig im Installationspaket enthalten sind.
Linux-Distributionen nehmen den Quellcode, kompilieren ihn für Sie vor und bieten ihn Ihnen auch als Paket an. Das Paket enthält keine Abhängigkeiten, bezieht sich jedoch auf diese und zwingt das Paketsystem, diese ebenfalls zu installieren (was manchmal zu Unregelmäßigkeiten führen kann, die Sie wahrscheinlich bereits selbst erlebt haben).
Wenn es kein vorkompiliertes Paket gibt, können Sie den Quellcode jederzeit herunterladen und selbst kompilieren. In den meisten Fällen funktioniert Folgendes:
Die Zeile ./configure legt die Stufe für den Kompilierungsprozess fest (und gibt Fehler aus, wenn Abhängigkeiten nicht erfüllt sind). Die make-Zeile führt das Makefile aus, ein Skript, das alle Teile des Programms kompiliert.
Normalerweise verwenden Sie make install, um die Software zu installieren. Dadurch werden die ausführbaren Dateien normalerweise in / usr / local / bin abgelegt.
Da Sie apt verwenden, empfehle ich sehr, checkinstall zu installieren. Sie können es anstelle von make install verwenden und es wird ein .deb-Paket für Sie generieren. Dies macht es viel einfacher, die Software später sauber zu entfernen.
Beachten Sie, dass es eine Handvoll anderer Kompilierungssysteme gibt, zum Beispiel cmake; und manche Software wird vorkompiliert, aber entpackt geliefert (in diesem Fall können Sie sie direkt aus dem entpackten Ordner starten). und manche Software besteht aus einer Sammlung von Skripten, die Sie selbst ausführen müssen. Frischer SVN-Code wird manchmal ohne Konfigurationsskripte ausgeliefert. Sie müssen also zuerst die Autoconf-Toolchain ausführen. Es gibt viele Ausnahmen von der Regel, aber mit ein wenig Erfahrung werden Sie in der Lage sein, dies zu tun Erzählen Sie, was Sie mit den meisten dieser mysteriösen Downloads anfangen sollen. Configure-Make-Checkinstall ist ein guter erster Start.
PS. Verbringen Sie ein oder zwei Wochenenden, um zu lernen, wie man sich programmiert, und die Dinge werden sehr offensichtlich :-)
PPS. Sie fragen sich vielleicht, warum Linux-Software-Autoren nicht nur vorkompilierte Pakete anstelle des Quellcodes bereitstellen. Nun, manchmal schon. Unterschiedliche Plattformen und Linux-Distributionen haben jedoch jeweils eigene Paketformate und Dateisystemregeln. Als Entwickler müssten Sie daher Pakete für jede mögliche Konfiguration bereitstellen - was sehr schwierig ist. Ubuntu-Pakete sind jedoch oft am einfachsten zu finden - Sie sollten herausfinden, was ein PPA ist und wie es funktioniert!
quelle
Sie sollten checkinstall auschecken . Anstatt von
Sie machen
und Sie können dieses Paket so verwalten, als hätten Sie es über apt installiert.
quelle
Es gibt einen gültigen, vernünftigen Grund, der so verwirrend ist (es gibt auch einen ärgerlichen Artefaktgrund) ...
Unix war in der Vergangenheit mehrbenutzerfähig, und die meisten Benutzer hatten keinen Zugriff auf die Installation von Apps außerhalb der Bereiche, auf die ihnen spezifischer Zugriff gewährt wurde.
Die Theorie wäre also, dass Sie etwas in Ihrem Home-Verzeichnis erstellen und es dann in einen Bereich kopieren, über den Sie Kontrolle hatten (Ihren eigenen Projektbereich oder einen gemeinsam genutzten Bereich).
Windows-PCs sind in der Regel Einzelplatzsysteme und unterliegen dieser Einschränkung nicht. In den Programmdateien wird alles gespeichert, egal was passiert.
Hinzu kommt die blöde, ärgerliche Tatsache, dass die Entwickler jedes Mal, wenn eine neue Version von Unix herauskam, es für notwendig hielten, die Speicherorte zu ändern, während die alten weiterhin für automatisierte Skripte zur Verfügung stehen mussten. Dadurch erhalten Sie eine Reihe verknüpfter Verzeichnisse, die denselben Zweck erfüllen.
Das Init-System ist noch schlimmer.
quelle