Zaman zaman uygulamaları apt
veya başka bir paket yöneticisini kullanmak yerine manuel olarak yüklerim .
Ne (konum /usr/
, /usr/local/
, /opt/
, /home/
, vb) kullanıcı uygulamalarının kurulumu için "en iyi uygulamalar" nın,?
Zaman zaman uygulamaları apt
veya başka bir paket yöneticisini kullanmak yerine manuel olarak yüklerim .
Ne (konum /usr/
, /usr/local/
, /opt/
, /home/
, vb) kullanıcı uygulamalarının kurulumu için "en iyi uygulamalar" nın,?
Yanıtlar:
Bu gerçekten değişir. Uygulamanın bir setup.py
dosya dosyası veya örneğin uygulama distutils (örneğin, bir dosya var) veya benzer bir derleme / yükleme sistemi kullanıyorsa python uygulamaları için varsa, onu yüklemelisiniz /usr/local/
. Bu genellikle varsayılan davranıştır.
Anladığım kadarıyla, /usr/local/
benzer bir hiyerarşi var /usr/
. Bununla birlikte, /usr/bin/
ve gibi dizinler /usr/lib/
genellikle üzerinden yüklenen paketler için ayrılmıştır apt
. Bu yüzden "kurulmasını" bekleyen bir programın /usr/
iyi çalışması gerekir /usr/local/
.
Sadece bir tarball ayıklamanız ve doğrudan çalıştırmanız gerekirse (örn. Firefox) o zaman içine koyun /opt/
. Sadece bir dizine ihtiyaç duyan ve o dizine göre olan tüm dosya / kütüphaneleri alacak bir program kendisi için bir dizin alabilir /opt/
.
opt/
- bence amacına göre kafasına çiviyi vurdun.
~/.local/share
? @Marco
~
(giriş dizininiz), ancak bu, bir uygulamayı yalnızca bir kullanıcı tarafından erişilebilir hale getirir. Sisteminizdeki diğer kullanıcıların bu yazılımın kendi kurulumlarını kurması ve sürdürmesi gerekir. Uygulama yükleme konusundaki en iyi uygulamalara gelince, ana dizininizi kurun, sistem paketlerini etkilemeyeceğiniz için güçlü yönergeler olmadığına inanıyorum.
O hatırlamakta fayda /usr
için durmazsa kullanıcı ziyade Unix sistem kaynakları .
Dolayısıyla, herhangi bir dağıtımın tüm içeriğini durdurma haklarına sahip /usr,
olduğunu ve sisteme yapılan spesifik eklemelerimin içeri girdiğini /usr/local
, bir yükseltme yapmadan önce koruduğumu anlamaya meyilliyim .
Bu arada, uygulamalar ve diğer şeyler de içeri giriyor /opt
.
Bazı insanlar bir şeyleri koymakta kendilerini rahat hissederler /home
, ancak ben bu sözleşmeyi nadiren takip ederim.
Bütün bunlar, dağıtım paketi yöneticisinin önce işleri yolunda bırakmasına, sonra da el işleri yaparken yukarıdakileri yapmasına izin verdim.
User
. Çünkü linux kullanıcıları geliştiricilerdi. İlk önce kullanıcılara ve kullanıcılara ayrılmaya başladığında /home
dir tanıtıldı. Sonra biri anlama geldiğini söylemek fikri vardı Unix System Resources
, gerçekten mantıklı etmeyen, biz var çünkü Unix system Resources
in/dev
/ Home / user / opt / dizinine firefox devel gibi dengesiz programları kurun, kaldırmayı çok kolaylaştırır ve diğer kullanıcılar için hangi sürümü kullanmaları gerektiği konusunda bir karışıklık yaratmaz ... Yani, global kullanım için bir program değilse, kurun. Giriş dizininizdeki bir alt klasörde.
Asla / usr / 'da programlar yüklemeyin, kaos yaratma olasılığı yüksektir, / usr /' da kurulu olan şeyler sadece dağıtım paketleri içindir. / usr / local / yerel olarak derlenmiş paketler içindir. Ve genel bakış tamamen aynı şekilde çalışıyor! / usr / local / içindeki dosyalara / usr / içindeki dosyalara öncelik verilecektir
/ opt / önceden derlenmiş (ikili) paketlerin (Thunderbird, Eclipse, Netbeans, IBM NetSphere vb.) kurulumunda kullanılmalıdır. Ancak, yalnızca tek bir kullanıcı için kullanılıyorsa, giriş dizininize eklenmelidir.
"Garip" bir yere kurulmuş bir programı (/ home / user / opt / firefox / gibi) çalıştırabilmeniz için $ PATH değişkeninize eklemeniz gereken yolu yazmanız gerekir. /home/user/.profile dosyasına böyle bir satır eklemek
export PATH=/home/user/opt/firefox:$PATH
Klasör adı, çalıştırmanız gereken çalıştırılabilir dosyanın bulunduğu ad olmalıdır.
Linux Dosya Sistemi Hiyerarşi Standardı gösterir /usr/local
.
Http://tldp.org/LDP/Linux-Filesystem-Hierarchy/html/usr.html adresinden :
'/ Usr / local' arkasındaki asıl fikir, '/ usr' dışında her makinede ayrı bir ('yerel') '/ usr' dizini olmasıydı; '/ Usr' yapısını kopyalar. Bu günlerde, '/ usr / local', kendini derlenmiş ya da üçüncü parti programların sürdürüleceği iyi bir yer olarak kabul edilir. / Usr / local hiyerarşisi, yazılımı yerel olarak kurarken sistem yöneticisi tarafından kullanılır. Sistem yazılımı güncellendiğinde, üzerine yazmaktan güvenli olması gerekir. Bir grup ana bilgisayar arasında paylaşılabilen, ancak / usr'da 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ıkça, / usr yerine / usr / local içine yerleştirilmelidir.
Genelde evimde bu programları kurduğum "Programlar" adında bir klasör var, yeterince garip (ya da değil) hepsi şu anda java malzemesi.
Benim için büyük bir avantaja sahiptir, bilgisayarları yeniden taktığımda veya değiştirdiğimde evimin geri kalanıyla birlikte taşınırlar. Açık bir dezavantajı var, bu uygulamalar sadece kullanıcıma açıktır.
/
dizini ile yapmaya çalıştım ancak aynı eski kullanıcı adını ve şifreyi yazdım ancak Ubuntu'nun başka bir giriş klasörü yarattığını gördüm .
Alien paketinizi bir mebere dönüştürmek için "checkinstall" komutunu kullanın, böylece paket yöneticisi kullanılarak kaldırılamaz.
Config dosyalarının genellikle config dosyaları olarak kullanılmayacağını (belki de görmezden gelinir veya belki de uygulamanın bir parçası olarak kabul edilir) ve kurulum öncesi ve sonrası komut dosyalarının bazen tıklandığını, bunun genellikle sizi düşündüğü zaman sizi uyaracağını unutmayın. deb, kurulum öncesi veya sonrası kötü bir komut dosyasına sahip olacaktır.