Yapınızı Yapılandırma
Çalıştırılarak derlenen kaynak kodunuz varsa ./configure
ve onu yüklemek için makegenellikle 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 $PATHveya 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, makebazen make checkya make test, ardından make installya sudo make install, bazen seçenekleri es isteyecektir configureyapı 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 installadım aslında yazılım yükleyen, her şey kurulacağı yerleri tipik kurulmuş olan
./configureadım.
Bunun için en yaygın seçenek --prefix. configureNe 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 ./configuregenellikle eşittir ./configure --prefix=/usr/local. Yazılımı ana dizininize yüklemek için, ./configure --prefix=/home/galahad( /home/galahadana 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 --prefixDemektir?
Ç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=directorydirectorydirectorydirectory
Executables genellikle gitmek directory/binonlar devam etse de, directory/sbinbunlar yaygın sistem yönetimi için kullanılan konum ya da gidebilir (daha nadiren bu gün)
directory/gamesonlar oyunlar ise. Kütüphaneler
directory/libya 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 installsudo 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
/etcve /usr/local/etcdizininiz 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 .