Linux'taki birçok lib klasörü arasındaki farklar


14

Linux sistemindeki birçok kütüphane arasındaki fark nedir? (/ lib, / usr / lib, / var / lib, / usr / share / lib, vb.).

Bir uygulama yüklediğimde otomatik olarak sinaptik tarafından işlendiğini biliyorum, ancak Linux geliştiricisi olmak istediğimde, uygulama kütüphanelerini nereye koyacağımı bilmem gerekiyor.

Yanıtlar:


10

Genellikle, yazılımınız /, veya / usr veya / usr / local altına yüklenir. Buna "önek" denir. / genellikle en kritik işletim sistemi programlarına ayrılmıştır. / usr / paket yöneticileri tarafından kullanılmak üzere ayrılmıştır. Bu nedenle, yazılım yazarken, öneki / usr / local olacak şekilde kurmak en naziktir. Birisi dağıtım için paketlediğinde bu geçersiz kılınabilir.

Özellikle "lib" den bahsetmiyorum. Ön ekin altında birkaç ortak alt dizin vardır, lib bunlardan sadece biridir. "bin" çalıştırılabilir dosyalar için kullanılır, veri dosyaları için "paylaş", paylaşılan kütüphaneler için "lib" vb. Programınız bir kütüphane ise, varsayılan olarak / usr / local / lib dizinine kurabilirsiniz. Normal bir programsa, / usr / local / share içindeki veri dosyalarınızla / usr / local / bin dizinine kurmasını sağlayabilirsiniz. Önemli olan, onu önek derleme zamanında seçilebilir hale getirmenizdir. Bazıları / usr / local yerine / usr yerine yüklemeyi tercih edebilir ya da tam tersi.


Demek istediğin, konumların zor bir sınırdan ziyade bir kılavuz olması mı?
Andreas Wong

1
Bu bir kılavuzdur, ancak takip edilmesi gerekir ve birçok uygulama belirli yerlerde belirli dosyalar bekler.
Jim Deville

@james point alındı: D
Andreas Wong

8

Ayrıca linux / unix dosya sistemi hiyerarşisini açıklayan bir standart vardır. : O bulunabilir http://www.pathname.com/fhs/ . Bu esas olarak dağıtım geliştiricileri içindir, ancak bir kullanıcının / geliştiricinin bunun farkında olmaması için herhangi bir neden göremiyorum.


0

/ bin ve / sbin

  • sistem yönetimi için ve ayrıca tek usermode kullanılan ikili dosyalar. Kütüphane dosyaları / lib'de bulunur.

/ usr / bin ve / usr / sbin

  • ağ hizmetleri ve tümü için kullanılan tüm kullanıcı ve ikili dosyalar tarafından kullanılan zorunlu olmayan temel ikili dosyaları içerir. Kütüphaneleri / usr / lib dizinine yerleştirilir.

/ Var / lib

  • çalışan programların durumu veya program örnekleri hakkında bilgileri koruyan dosyalar içerir. kullanıcı bunu değiştirmez.

/ Usr / share / lib

  • Mimariden bağımsız veri dosyaları içerir.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.