Program dosyaları linuxta hangi directorylere yerleşir?

Başlatan mir_as82, 15 Ağustos 2015, 14:32:20

mir_as82

Linuxta, indirdiğimiz open source bir programı make yapıp daha sonra make install yapınca program dosyalarını linux içindeki belli directory lere yerleştiriyor.
Örneğin opensipsi derleyince /usr/local altında bir yere kendi dosyalarını yerleştiriyor. Sorum tam bu nokta ile ilgili. Bir programın executable dosyası dahil olmak üzere diğer ihtiyaç duyabileceği kütüphane dosyaları, konfigürasyon dosyaları dahil olmak üzere bunların nerelere yerleştirileceği ile ilgili bir standart var mı?

atomx

Hüseyin TECER

Tagli

Bu konu benim de hep kafamı karıştırıyor. Ama anladığım kadarıyla programın .so kütüphaneleri, çalıştırılabilir dosyaları ve .h header dosyaları farklı yerlere dağılıyor. Bunların her biri için de birden fazla alternatif var. Mesela çalıştırılabilir dosyalar /usr/bin içine veya /usr/local/bin içine gidebilir (belki başka yerler de vardır). Bunun dışında galiba daha çok sistem programlarını tutan sbin klasörleri de var birkaç yerde. Bazı programlar ise tüm dosyaları ile /opt altına yerleşiyorlar. Örneğin MPLAB X ve XC derleyicileri bu şekilde. ROS da yine /opt altına gidiyor.
Gökçe Tağlıoğlu

fatih6761

Hocam installer'ı olmayan programları /opt altına yerleştiriyorum genellikle. Ama dual boot benzeri bir durum varsa /home klasörünü disk içinde ayrı bir partitiona'a oluşturuyorum. İkinci linux'u kurarken bu part.'ı /home olarak tanıtıyorum.
İki tarafta da kullanmak istediğim programları /home/kullanici_adi/blablabla klasörünü yerleştiriyorum.
Hocam mesela şöyle bir komur işlettim sonucu:
fatih-sve ~ $ locate stdlib.h
/usr/include/stdlib.h
/usr/include/boost/cstdlib.hpp
/usr/include/c++/4.8/tr1/stdlib.h
/usr/include/freetype2/config/ftstdlib.h
/usr/include/x86_64-linux-gnu/bits/stdlib.h
/usr/lib/syslinux/com32/include/stdlib.h

stdlib.h dosyası /usr/include altına atılmış.
Aynı şekilde arayınca genel amaçlı .so dosyaları da /usr/lib altında toplanmış.
Çalıştırılabilir dosyalar /usr/bin ve /usr/local/bin altında genellikle.
Konfigürasyon dosyaları da /etc altında çoğunlukla.