Konfigurowanie twojej kompilacji
Jeśli masz kod źródłowy, który jest kompilowany przez uruchomienie ./configure
i make, zwykle użyjesz make install(lub sudo make install), aby go zainstalować. Spowoduje to skopiowanie plików z katalogu kompilacji do lokalizacji instalacji. Gdy instalowana rzecz zawiera komendy wykonywalne, te pliki wykonywalne są zwykle kopiowane do katalogu, który znajduje się w $PATHlub do którego należy rozważyć dodanie
$PATH.
Chociaż budowanie i instalowanie oprogramowania jest często tak proste, jak uruchamianie ./configure, makeczasami make checklub make test, a następnie make installlub sudo make install, czasami będziesz chciał przekazać opcje do configureskryptu, aby skonfigurować kompilację. W szczególności, jak mówi pfnuesel , w ten sposób konfigurujesz
miejsce instalacji oprogramowania. Chociaż make installkrok faktycznie instaluje oprogramowanie, lokalizacje, w których wszystko zostanie zainstalowane, są zwykle ustalane na tym
./configureetapie.
Najczęstszą opcją jest to --prefix. Domyślny prefiks, gdy nie configurewiesz, czego użyć, to zwykle /usr/local. (Czasami kod źródłowy programu lub biblioteki ma domyślnie inny prefiks. Na szczęście jest to rzadkie.)
Tak ./configurejest zazwyczaj równoważne ./configure --prefix=/usr/local. Aby zainstalować oprogramowanie w katalogu domowym, możesz użyć ./configure --prefix=/home/galahad(jeśli /home/galahadjest to katalog domowy) lub --prefix="$HOME". Oczywiście nadal musisz zbudować i zainstalować oprogramowanie make. Powinienem powiedzieć, że nie całe oprogramowanie dystrybuowane w postaci kodu źródłowego jest zbudowane w ten sposób. Zawsze należy szukać dokumentacji w rozpakowanym archiwum kodu źródłowego.
Co to --prefixznaczy
Po uruchomieniu wskazujesz, że oprogramowanie powinno zostać zainstalowane w
katalogu. Ale to rzadko, jeśli w ogóle, umieszcza luźne pliki . Zamiast tego umieszcza pliki, które służą różnym celom, w różnych podkatalogach . Jeśli te podkatalogi nie istnieją, tworzy je../configure --prefix=directorydirectorydirectorydirectory
Pliki wykonywalne zwykle wchodzą directory/bin, ale mogą się pojawiać, directory/sbinjeśli są powszechnie używane do administrowania systemem lub mogą (w rzadszych przypadkach obecnie) wchodzić w
directory/gamesgry. Biblioteki wchodzą do
directory/libinnego katalogu o podobnej nazwie, np
directory/lib32. Pliki nagłówka wchodzą
directory/include. Wchodzą strony podręcznika
directory/man. Pliki danych używane przez oprogramowanie wchodzą
directory/share.
To właśnie znaczy directorybyć prefiksem . Jest to katalog nadrzędny zawierający lokalizacje, w których zostaną zainstalowane różne pliki. Dlatego pojawia się jako przedrostek w bezwzględnych ścieżkach większości plików i katalogów utworzonych przez uruchomienie make install
lub sudo make install.
Istnieją pewne wyjątki od tego. Systemowe pliki konfiguracyjne - które są czasami tworzone podczas instalacji oprogramowania, które będą ich używać, choć nie zawsze - zwykle wchodzą /etc. Zazwyczaj nie ma na to wpływu określenie innego prefiksu. Nawet jeśli zainstalujesz dużo oprogramowania /usr/local, nadal będzie ono w większości używane
/etc, a twój /usr/local/etckatalog prawdopodobnie nie będzie istniał, będzie pusty lub będzie zawierał bardzo mało plików.
W wielu systemach można znaleźć więcej informacji o typowym układzie systemu plików, uruchamiając man hier. Jeśli korzystasz z systemu GNU / Linux, możesz zainteresować się standardem hierarchii systemów plików .