Konfigurieren Ihres Builds
Wenn Sie Quellcode haben, der durch Ausführen von ./configure
und kompiliert wurde make
, verwenden Sie normalerweise make install
(oder sudo make install
), um ihn zu installieren. Dadurch werden Dateien aus dem Build-Verzeichnis in den Installationspfad kopiert. Wenn das zu installierende Objekt ausführbare Befehle bereitstellt, werden diese ausführbaren Dateien in der Regel in ein Verzeichnis kopiert, das sich in befindet $PATH
oder zu dem Sie möglicherweise hinzufügen sollten
$PATH
.
Obwohl das Erstellen und Installieren von Software oft so einfach wie das Ausführen ./configure
ist make
, möchten Sie manchmal make check
oder make test
und dann make install
oder sudo make install
manchmal Optionen an das configure
Skript übergeben, um das Build zu konfigurieren. Insbesondere konfigurieren Sie , wie Pfnuesel sagt , auf diese Weise,
wo die Software installiert werden soll. Obwohl der make install
Schritt die Software tatsächlich installiert, werden in der Regel die Speicherorte festgelegt, an denen alles installiert wird
./configure
.
Die häufigste Option hierfür ist --prefix
. Das Standardpräfix configure
ist normalerweise , wenn Sie nicht angeben, was verwendet werden soll /usr/local
. (Gelegentlich verwendet der Quellcode eines Programms oder einer Bibliothek standardmäßig ein anderes Präfix. Glücklicherweise ist dies selten.)
Ist ./configure
also meist gleichbedeutend mit ./configure --prefix=/usr/local
. Um Software in Ihrem Home-Verzeichnis zu installieren, können Sie ./configure --prefix=/home/galahad
(sofern /home/galahad
es sich um Ihr Home-Verzeichnis handelt) oder verwenden --prefix="$HOME"
. Dann musst du natürlich noch die Software mit bauen und installieren make
. Ich sollte sagen, dass nicht jede Software, die in Quellcodeform vertrieben wird, auf diese Weise erstellt wird. Sie sollten immer nach Dokumentation im extrahierten Quellcode-Archiv suchen.
Was --prefix
bedeutet
Wenn Sie ausführen , geben Sie an, dass die Software unter dem Verzeichnis installiert werden soll
. Dabei werden jedoch selten, wenn überhaupt, lose Dateien abgelegt . Stattdessen werden Dateien, die unterschiedlichen Zwecken dienen, in den verschiedenen Unterverzeichnissen von abgelegt . Wenn diese Unterverzeichnisse nicht vorhanden sind, werden sie erstellt../configure --prefix=directory
directory
directory
directory
Ausführbare Dateien gehen normalerweise ein directory/bin
, obwohl sie einsteigen können, directory/sbin
wenn sie üblicherweise für die Systemadministration verwendet werden, oder (heutzutage seltener),
directory/games
wenn es sich um Spiele handelt. Bibliotheken gehen in
directory/lib
oder ein anderes ähnlich benanntes Verzeichnis wie
directory/lib32
. Header-Dateien gehen rein
directory/include
. Manualseiten gehen rein
directory/man
. Von der Software verwendete Datendateien gehen ein
directory/share
.
Das bedeutet directory
es, ein Präfix zu sein . Es ist das übergeordnete Verzeichnis, das die Speicherorte enthält, an denen verschiedene Dateien installiert werden. Es erscheint daher als Präfix in den absoluten Pfaden der meisten Dateien und Verzeichnisse, die durch Ausführen von make install
oder erstellt wurden sudo make install
.
Hiervon gibt es einige Ausnahmen. Systemweite Konfigurationsdateien - die manchmal erstellt werden, wenn die Software installiert wird, die sie verwendet, jedoch nicht immer - werden normalerweise verwendet /etc
. Dies wird normalerweise nicht durch die Angabe eines anderen Präfixes beeinflusst. Auch wenn Sie viel Software installieren /usr/local
, wird diese meistens weiterhin verwendet
/etc
, und Ihr /usr/local/etc
Verzeichnis ist wahrscheinlich nicht vorhanden, leer oder enthält nur sehr wenige Dateien.
Auf vielen Systemen erhalten Sie durch Ausführen weitere Informationen zum typischen Dateisystemlayout man hier
. Wenn Sie ein GNU / Linux-System verwenden, interessiert Sie möglicherweise der Dateisystem-Hierarchiestandard .