Yapınızı Yapılandırma
Çalıştırılarak derlenen kaynak kodunuz varsa ./configure
ve onu yüklemek için make
genellikle make install
(veya sudo make install
) kullanırsınız. Bu, dosyaları build dizininden yükleme konumuna kopyalar. Kurmakta olduğunuz şey yürütülebilir komutlar verdiğinde, bu yürütülebilir dosyalar genellikle içinde olan $PATH
veya eklemeyi düşünmeniz gereken
bir dizine kopyalanır $PATH
.
Bina ve yazılım yüklemeden çalışan olarak basit sıklıkta olmasına rağmen ./configure
, make
bazen make check
ya make test
, ardından make install
ya sudo make install
, bazen seçenekleri es isteyecektir configure
yapı yapılandırma komut dosyası. Özellikle, pfnuesel'in dediği gibi , yazılımın nereye yükleneceğini bu şekilde yapılandırıyorsunuz
. Olsa make install
adım aslında yazılım yükleyen, her şey kurulacağı yerleri tipik kurulmuş olan
./configure
adım.
Bunun için en yaygın seçenek --prefix
. configure
Ne kullanılacağını söylemediğinizde, varsayılan önek genellikle 'dir /usr/local
. (Bazen, bir program veya kitaplığın kaynak kodu varsayılan olarak başka bir ön eke döner. Neyse ki bu nadirdir.)
Bu yüzden ./configure
genellikle eşittir ./configure --prefix=/usr/local
. Yazılımı ana dizininize yüklemek için, ./configure --prefix=/home/galahad
( /home/galahad
ana dizininiz ise) kullanabilirsiniz --prefix="$HOME"
. O zaman elbette yazılımı hala kurmanız ve kurmanız gerekir make
. Kaynak kod biçiminde dağıtılan tüm yazılımların bu şekilde inşa edilmediğini söylemeliyim. Çıkarılmış kaynak kod arşivi içindeki dokümanları her zaman aramalısınız.
Ne --prefix
Demektir?
Çalıştırdığınızda , yazılımın dizinin altına kurulması gerektiğini belirtirsiniz
. Ancak bu nadiren, hiç değilse, gevşek dosyaları içine yerleştirir . Bunun yerine, farklı alt dizinlere farklı amaçlara hizmet eden dosyaları yerleştirir . Bu alt dizinler mevcut değilse, onları oluşturur../configure --prefix=directory
directory
directory
directory
Executables genellikle gitmek directory/bin
onlar devam etse de, directory/sbin
bunlar yaygın sistem yönetimi için kullanılan konum ya da gidebilir (daha nadiren bu gün)
directory/games
onlar oyunlar ise. Kütüphaneler
directory/lib
ya da benzer şekilde adlandırılmış başka bir dizine girerler
directory/lib32
. Başlık dosyaları girildi
directory/include
. Manuel sayfalar girildi
directory/man
. Yazılım tarafından kullanılan veri dosyaları girilir
directory/share
.
Önekdirectory
olmanın anlamı budur . Farklı dosyaların yükleneceği konumları içeren ana dizindir. Böylece ,
veya tarafından çalıştırılan birçok dosya ve dizinin mutlak yollarında önek olarak görünür .make install
sudo make install
Bunun bazı istisnaları var. Her zaman olmasa da, bunları kullanacak yazılımı kurarken oluşturulan sistem çapında konfigürasyon dosyaları genellikle içeriye girer /etc
. Bu genellikle farklı bir önek belirtilmesinden etkilenmez. Çok fazla yazılım yükleseniz bile /usr/local
, çoğunlukla kullanmaya devam edecek
/etc
ve /usr/local/etc
dizininiz muhtemelen varolmayacak, boş veya çok az dosya içerecektir.
Birçok sistemde, çalıştırarak tipik dosya sistemi düzeni hakkında daha fazla bilgi bulabilirsiniz man hier
. Bir GNU / Linux sistemi kullanıyorsanız, Dosya Sistemi Hiyerarşisi Standardı ile ilgilenebilirsiniz .