/ usr / yerel veya / opt?


43

Genel olarak Linux'taki paket kurulumlarınız için, dağıtımınızın depolarının bir parçası olmayan paketler için nasıl ilerlersiniz?

Benim tarafımda / opt'i kurmaya alışkınım. Ancak bu dokümanı internette gördüm: http://www.pathname.com/fhs/ . Şimdi kafam karıştı: görünüşe göre / usr / local da bir olasılık olurdu.

İkisi arasındaki fark nedir? Paylaşılacak en iyi uygulamalar var mı?

Teşekkürler

SirFabel


Kutsal savaş toprakları ve boot gerçekten bir programlama konu.
dmckee

1
Benzer bir soru sor Ubuntu , superuser , unix & linux
kenchew

Yanıtlar:


32
  • Derlenmesi ve kurulması gereken her şey Unix stili ve FHS ile uyumlu ->/usr/local
  • Diğer her şey (örn. Kendi uygulama sunucusuyla birlikte gelen bir java web uygulaması ve bir zip arşivindeki birçok kaynak -> /opt

lintian, paketlerin kurulmasına izin vermez / artık hiçbirini / usr / local'i seçmez
Cristiano

24

Özgün anlamı: Sadece ek ilginç bilgi olarak /usr/localeğer olmasıdır /usrolduğunu ağ monteli (tek /usrBirden fazla bilgisayar arasında paylaşılan), /usr/localbilgisayar (yerel diskteki bölümü) yerel bağımsız bir dosya sistemi olacaktır.

Ve bu konuda, soruya konu olmasa bile: Farklı mimarilere sahip birden fazla bilgisayar varsa, doğal olarak /usrher bir kemer için bir tane /usr/shareolacaktı , ancak yine de mimariler arasında paylaşılan başka bir ayrı dosya sistemi olacaktı (dolayısıyla 'paylaşım'). .


4
Hayır ... tarihsel olarak (evet, oradaydım!) / Usr et al, satıcının sağladığı şeyler vardı, / usr / yerel yerel olarak kurulmuş şeylerdi (yani, bash, gcc ve diğer güzel şeyler).
vonbrand

@ vonbrand Gerçekten cevabı çelişiyor musunuz? Sadece ev sahibi arasında paylaşılması gereken her şey / usr olur ve her ne ihtiyaç duymadıysa, / usr / local olur gibi geliyor
Didier A.

@Didier A., ​​Unix ('80es) kullanmaya başladığımda bir makine vardı, ağ yok ... ve / usr ve / usr / local.
vonbrand

@ vonbrand Oh, ilginç görüyorum. O zaman / usr ve / usr / local'a sahip olmanın asıl amacı hala bir gizem gibi görünüyor.
Didier A.,

@Didier A., ​​yine: / usr, işletim sistemiyle birlikte gönderilen şeydi, "standart" şeyler, / usr / local yerel eklemelerdi (homebrewed, Usenet'ten çıkarıldı, bir kongre'deki dostça bir meslektaştan feshedildi, ...) . Standart değil, sadece yaygın kullanım.
vonbrand

7

Bunu yapmamın yolu, kendisine bir önek gerektiriyorsa VEYA bu ikili bir pakettirse, / opt (yani neredeyse Solaris yolu). Eğer / usr / local kaynağından derliyorsam nasıl gideceğim.


6

Her şeyi özel bir dizine koydum ve GNU stow'u kullandım .

Bu yüzden, X.ver paketini kuracağım /BASE/stow/X.ver. GNU istif sonra içine (sembolik bağları) tüm paketleri birleştirir /BASE/bin, /BASE/libvb

Çatışmalar ve paketlerin çıkarılması ile uğraşmak daha kolaydır.


Genellikle / usr / local / stow / <packagename> 'i "paketleri" koymak için bir ev olarak kullandım ve bunun iyi bir uygulama olduğunu hissediyorum - eğer / usr / local içinde başka biri görünüyorsa, neler olup bittiğini açıkça ortaya koyuyor sistem semboliklerin bakımını yapıyor.
Stephanie,

3

FHS standardını şu şekilde yorumluyorum:

/ usr / local, paketlenmiş olsun veya olmasın, bir kısmı İşletim Sistemi örneğinin bir parçası olmuş olsun, yerel olarak veya yerel olarak yüklenmiş dosyalar içindir.

/ opt, İşletim Sisteminin bir parçası olmayan "yabancı" paketleri kurabileceğiniz bir yerdir.

Dosyaları yalnızca oluşturduğunuz tek sistemde kullandığınız sürece, / usr / local iyidir ve bu nedenle açık kaynaklı yazılımın büyük çoğunluğu için varsayılan temel dizindir.

Paketinizi yeniden dağıtmayı planlıyorsanız, / opt / myPackage gibi özel bir temel dizin kullanmanızı öneririm.


2

Solaris çok kullandı / tercih etti. Pek çok modern Linux dağıtımı şimdi / usr / local / dizininde paketler bekliyor. Fikir aynı - bu makineyi işletim sisteminin aksine yaptığı gibi yapan bir yazılım koymak için bir yer. Windows sistemindeki kabaca "Program Files" a benziyor.

Birini seç ve buna bağlı kal. / Opt / / usr / local ile bağlantı kurmak kolaydır.


Lee'nin yorumunu beğendim, sorun hakkında düşünmenin güzel bir yolu. Bir Debian makinesinde bir seçim yapmak benim için biraz garip gelirdi, ama bu muhtemelen kişisel bir tercih.
Kyle Hodgson,

Lütfen yapma FHS biraz tarihli olabilir, ancak / usr vs / usr / local vs / opt mantığı: standart, dağıtım sağlanmış; yerel olarak kurulmuş, homebrew veya github dışındaki deneysel şeyler gibi; satıcı tarafından sağlanan standart olmayan şeyler.
vonbrand

0

İşletim sistemi dağıtımınız tarafından sağlanan bir yazılımı yeniden derlerseniz, kendi makinenize özgü mimari avantajlardan yararlanmak için / usr / local komutunu kullanın.

İşletim sisteminizin dağıtımından başka kaynaklardan bir yazılım eklerseniz, / opt.

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.