Bir PC bağlamında / opt ve / usr / local dizinlerinin kullanımı


65

Dizinler arasındaki fark nedir /optve /usr/localbunlara ne tür programlar kurulmalıdır?

Linux Dosya Sistemi Hiyerarşisine atıfta bulundum ancak açıklama net değil. Yukarıdaki bağlantıya göre;

/opt : - Bu dizin, varsayılan kurulumun parçası olmayan tüm yazılım ve eklenti paketleri için ayrılmıştır.

/usr/local: - /usr/localHiyerarşi, yazılımı yerel olarak yüklerken sistem yöneticisi tarafından kullanılmak içindir. Sistem yazılımı güncellendiğinde, üzerine yazmaktan güvenli olması gerekir.

Ağa bağlı herhangi bir bilgisayarı olmayan bir PC bağlamında, birden fazla yerel kullanıcının erişeceği bir yazılımı kurmak için gereken dizin ne olmalıdır? (yani netbeans gibi bir yazılımı nereye kurmalıyım)

teşekkür ederim


4
Google Chrome optbu dizini nedense kullanması için kullanılır.
Camilo Martin

2
@CamiloMartin Sanırım optional.
becko

4
@becko Peki, optGoogle reklam verdi ise imalî bir seçim olmalı opt.
Camilo Martin

3
Hepiniz doğru yerde olsanız bile, optimus Prime daha iyi sesler.
erm3nda

2
Lol .. Partiye geç geldim opt.. Anlaşılan sizlere insanlar yorum bölümüne çok
benzemiş gibiler

Yanıtlar:


71

/optsöz konusu paketin kapsamı dışındaki herhangi bir bağımlılığa dayanmayan üçüncü taraf uygulamaları içindir. /usr/localBu makineye dağıtım paketi yöneticisinin kapsamı dışında kurulan paketler içindir.

Bir örnek:

Bir .deb olarak verilen açık kaynaklı bir yudum istemcisi içine yüklenir /usr. Qt çerçevesi ile inşa edilmiş olsaydı, apt onu bir bağımlılık olarak çekerdi.

Kaynaktan inşa edilen aynı açık kaynak kodlu yonga istemcisi /usr/local, içinde aynı uygulama için bir .deb paketi kurduysanız apt tarafından karıştırılmayacaktı. Bağımlılıklarını kaynaktan yapabilir ya da paket yöneticisinden alabilirsiniz.

Bir üçüncü taraf uygulamasında /optkendi kendine yeten olması gerekiyordu. Örneğin, Qt kullanan tescilli bir sip istemcisi apt sürümüne dayanmaz, paketlenmiş veya statik olarak bağlanmış olur.

Daha fazla bilgi için, Dosya Sistemi Hiyerarşi Standardı'na bakın .


1
netbeans jdk ve diğer derleyicilere bağlı olarak / usr / local 'a gider + artı linux FHS’yi izler mi?
Niroshan

1
Cevap Evet.
Egil,

1
İ yüklemek istiyorsanız condaönerildiği gibi global burada olduğu /optdoğru yer?
Alexey

@Egil, Neden mac'un bir opt dizini yok?
Pacerier

Bu cevabı daha önce oyladım, ancak artık sonuçlarının bu Linux Journal makalesinden biraz farklı olduğunu görüyorum . Makale, paketlenmiş yazılımla, paketi sağlayanın önemli olduğunu belirtir . Paket OS'nin paket repo ise, o zaman altında kurulmalıdır /usr(veya, muhtemelen, hatta doğrudan altında /bin, /libvs) her zamanki gibi. Ancak, başka bir kaynaktan geliyorsa, o zaman konulmalıdır /usr/local. Bu potansiyel .debolarak cevaba "açık kaynak kodlu müşteri" içerir .
sampablokuper

12

Üçüncü taraf sadece ikili paketleri kurardım /opt.

Kendini kaynaktan inşa ettiğin her şeyi /usr/local.

netbeansUbuntu Repos'ta. Belirli bir sürüme ihtiyacınız var mı?


Bunun arkasında herhangi bir gerekçe var mı yoksa sadece iyi bir uygulama mı? (Örnek olarak netbeans'dan bahsettim - herhangi bir belirsizliği ortadan kaldırmak için o kısmı değiştirdim). Teşekkür ederim
Niroshan 13:11

Bence diğer cevaplar en iyisini söyledi. Genellikle üçüncü taraf ikili dosyalar kendi kendine yeter.
03'te Broam

Python veya Java yazılımı gibi çalışma sürelerine bağlı olan şeyler ne olacak? Onları giyerdim /optama doğru olup olmadığından emin değilim.
Camilo Martin

8

Hepsi paketleme ile ilgili. Eğer bir şey LHS biçiminde paketlenirse (çalıştırılabilirleri bin / kütüphanelere lib / vs. içine koymak) / usr / local içine girmelidir.

Bir şey üst düzey bir dizine sahipse ve bu modeli izlemiyorsa, içeri / seçmeye gider. Genelde, PATH'inize açıkça seçmeli / seçmelisiniz.

Ayrıca bakınız Süper kullanıcı hakkındaki bu soru


Bu cevap, bu Linux Journal makalesinde doğrulanmış görünüyor .
sampablokuper
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.