Nasıl organize edilir / seçilir?

Aug 27 2020

Geleneksel yerine ve klasör yapısına el yapımı bir komut dosyası yerleştirmek istiyorum. Şu anda konumunda bulunuyor /opt/chkobm/chkobm, ancak $PATHjoker karakter yollarının ( /opt/*/) dahil edilmesi gerektiğinden kötü bir uygulama gibi görünüyor

Gönderen tldp (bölüm "Linux Dosya Sistemi Hiyerarşi"):

Kullanıcılar tarafından çağrılacak programlar / opt / 'package' / bin dizininde bulunur.

İlk olarak, bu tür dosyaların nereye yerleştirileceğine dair mutabakat sağlayan bir kural var mı? ( /usr/binbana uygun bir alternatif yer gibi görünüyor) İkincisi, /opt/*/bin/bu yola el yapımı komut dosyaları yerleştirmeli ve bu yola aktarmalı $PATHmıyım?

Yanıtlar

Stewart Aug 27 2020 at 18:15

/usr/local/bin bunu koymak için deyimsel yerdir.

Başına Linux dosya sistemi heirarchy :

Arkasındaki asıl fikir , her makinede /usr/localayrı bir ('yerel') /usrdizine sahip olmaktı /usr, bu dizine başka bir yerden sadece salt okunur olarak monte edilebilir. Yapısını kopyalar /usr. Bugünlerde, /usr/localkendi kendine derlenen veya üçüncü taraf programları tutmak için iyi bir yer olarak kabul edilmektedir. / Usr / local hiyerarşisi, yazılımı yerel olarak yüklerken sistem yöneticisi tarafından kullanılmak içindir. Sistem yazılımı güncellendiğinde üzerine yazılmaması gerekir. Bir grup ana bilgisayar arasında paylaşılabilen, ancak / usr içinde bulunmayan programlar ve veriler için kullanılabilir. Yerel olarak kurulan yazılım, / usr içindeki yazılımı değiştirmek veya yükseltmek için kurulmadığı sürece / usr / local yerine / usr / local içine yerleştirilmelidir.

Debian olarak tanımlanan FHS'ye güvenme eğilimindeyim. Debian, standartları uygulama konusunda oldukça iyidir. Bu da gereken budur opt hakkında söylenecek :

/ Opt / bin, / opt / doc, / opt / include, / opt / info, / opt / lib ve / opt / man dizinleri yerel sistem yöneticisi kullanımı için ayrılmıştır. Paketler, yerel sistem yöneticisi tarafından bu ayrılmış dizinlere yerleştirilmesi (bağlanarak veya kopyalanarak) amaçlanan "ön uç" dosyaları sağlayabilir, ancak bu ayrılmış dizinlerin yokluğunda normal şekilde çalışmalıdır.

...

Genel olarak, bir sistemdeki bir paketi desteklemek için gereken tüm veriler / etc / opt / ve / var / opt / içine kopyalanması amaçlanan dosyalar ve / opt içindeki ayrılmış dizinler dahil olmak üzere / opt / içinde bulunmalıdır.

...

/ Opt / altındaki dizinlerin yapısı, yazılımın paketleyicisine bırakılmıştır, ancak paketlerin / opt // dizinine kurulması ve / opt / yönergelerine benzer bir yapıyı izlemesi önerilir. Bu yapıdan ayrılmanın geçerli bir nedeni, dosyaları / opt // lib veya / opt // bin içine yüklenmiş olabilen destek paketleridir.

Debian'ın tanımı /usr/local, TLDP bağlantısındaki önceki tanımla aynıdır.