Gibi Uther bahsedildiği , /usr/local
esasen, bir önek olarak tasarlanmıştır iken, sistem yöneticisi tarafından yüklenen yazılım /usr
dağıtımın paketleri yüklü yazılımlar için kullanılmalıdır.
Bunun arkasındaki fikir, (örneğin dağıtılan yazılım ile çatışma kaçınmaktır rpm
ve deb
paketler) ve "yerel" öneki üzerinde Admin tam saltanatı verir.
Bu, bir yöneticinin hala bir debian benzeri dağıtım kullanırken özel derlenmiş yazılım yükleyebileceği anlamına gelir.
/ Veya / usr içine yerleştirilmiş olan yazılımların sistem yükseltmeleri üzerine yazılması mümkündür (bu dağıtımların / etc içindeki verilerin üzerine yazılmasını önermemize rağmen). Bu nedenle, yerel yazılım / usr / local dışında iyi bir neden olmadan yerleştirilmemelidir.
Kullanıcıya özel yazılımı yüklerken , yazma izni almanızı sağladığından, önek olarak kullanılmasını önerir$HOME
. Şahsen, $HOME/.local
(umarım) güzel ve düzenli bir ev dizininizin dağınıklığından kaçındığından dolayı daha şık bir çözüm olarak kullanmayı düşünüyorum !
$HOME/.local/share
Zaten kullanılan freedesktop.org XDG Base Directory şartname bir ekleme tasavvur çok almaz böylece, $HOME/.local/bin
sizin için $PATH
ve bir yapım $HOME/.local/lib
sen bunu yaparken, vb.
Önekinizin gerçekten gizli bir dizin olmasını istemiyorsanız, kolayca sembolik bir bağlantı oluşturabilirsiniz, örneğin:
ln -s .local ~/local
Kenar notu
Kullanıcıya özel yapılandırma dosyaları için kullanılan varsayılan değerin .config
(değil .local/etc
) olduğuna dikkat etmek $XDG_CONFIG_HOME
önemlidir. Ayrıca, ne yazık ki, yazılımın büyük bir kısmının XDG'yi görmezden geldiğini ve istedikleri yerde (genellikle kökündeyken) config dosyaları oluşturduğunu belirtmeliyim $HOME
. Ayrıca $XDG_CONFIG_HOME
varsayılan $HOME/.config
istenirse ayarlanamayabileceğini unutmayın .
İşin garibi, bir dağıtımın varsayılan yapılandırma dosyaları için ayrılmış bir dizin yok, bu yüzden bir dosyanın /etc
dağıtım tarafından sağlanmış olup olmadığını veya sistem yöneticisi tarafından düzenlenip düzenlenmediğini bilmek mümkün değil .