Hangi kuruluş seçilirse seçilsin, bazı şeyleri daha kolay ve bazılarını daha zor hale getirecektir.
Türleri, Unix arada dosyaları organize (içine bin
, man
, lib/python
, ...), daha kolay dosyalarını kullanmayı kolaylaştırır. Bir komutu çalıştırmak istiyorsanız, hangi paketi sağlarsa sağlayın onu nerede bulacağınızı bilirsiniz. Dokümanları aramak istiyorsanız, bunların hepsi tek bir yerde. Bazı programlar bir Vim sözdizimi vurgulama modülü, zsh tamamlama işlevi veya Python bağlamaları sağlarsa, ilgili dosya vim / zsh / python'un bulabileceği bir yerde olacaktır.
Unix ayrıca dosyaları kullanım şekillerine göre düzenler. Yapılandırma dosyaları girilir /etc
, normal işlemde /usr
değişmeyen dosyalar girilir ve otomatik olarak değişen dosyalar girilir /var
. Kullanıcı verileri altına girilir /home
. Bu, yapılandırma yönetimi için çok kullanışlıdır (nelerin /etc
yanı sıra kurulu paketler listesini yönetin ). Yedekleme stratejilerini tanımlamak da yararlıdır: içeride /etc
ve /home
kritik derecede önemlidir, ancak içeride olanlar /usr
tekrar kolayca indirilebilir.
Unix yolunun ana maliyeti, bir yazılım parçası kurmanın birçok dizine yayılmış olmasıdır. Bununla birlikte, modern unix sistemleri zaten paket yöneticilerine sahiptir; birçok dizinde dosya yönetmek, yaptıkları en karmaşık şey değildir (bağımlılıkları izlemek çok yararlı ve zordur).
Bunu Windows ile karşılaştırın. Windows, paket yönetimi olmadan başladı ve her uygulama bir yerde kendi dizinini oluşturdu. Tüm dosyalar normalde bu dizinin içinde olur: programlar, statik veriler, kullanıcı verileri,… Bazen, programların çakışmalara bakılmaksızın ortak bir sistem dizinine düşeceği kütüphaneler (“DLL cehennem”) hariç. Zamanla, Windows çok kullanıcılı hale geldi ve kullanıcı dizinlerinin sistem dizinlerinden ayrılmasını gerektirdi. Windows ayrıca yapılandırma dosyaları (Unix'ler /etc
) ve bazı sistem verileri (Unix'ler) için merkezi bir yer oluşturdu/var
), kayıt defteri. Bu, büyük ölçüde paket yönetimi eksikliği ve tek kullanıcılı bir sistem olarak erken tarih nedeniyle daha tarihsel bir eserdir. Windows yaklaşımının birçok kısıtlaması vardır: yazılım paketlerinin kolayca etkileşime girmesine izin vermez. Örneğin, yüklü yazılımların çoğu varsayılan komut arama yoluna gitmez, bu nedenle herhangi bir komut dosyası biçimiyle kötü etkileşime girer. Yükleyiciler genellikle özel bir durum olarak bir menü simgesi sağlar - ayrı bir sistem dizinine (à la Unix!).
Unix yaklaşımının bir sınırlaması, bir paketin birden çok sürümünün bir arada bulunmasına kolayca izin vermemesidir, bu da paket yükseltilirken özellikle sorunludur. Her iki dünyanın en iyisini elde etmenin bir yolu, her paketi kendi dizininde (bir /opt
yapı) açmak ve paket dizinlerinden bir /usr
yapıya sembolik bağlantı ormanları oluşturmak olacaktır . Stow gibi bir yazılım bunu yapar.
Özetle, Unix yaklaşımı dosyaları kullanmayı, dosyaları yönetmeyi ve paketlerin etkileşimine izin vermeyi kolaylaştırır; paket yönetim yazılımı gerektirir, ancak yine de bu istenir. Windows yaklaşımı paketleri elle yönetmeyi kolaylaştırır, ancak kullanışlı işlevsellik elde etmek için Unix modeline yönelmek zorundadır.