Windows altında, özellikle eski sürümlerde, programların yapılandırma dosyalarını ve sabit olmayan verileri C:\Program Filesdizinlerinde depolaması yaygındı . Bu, programların genellikle nasıl yüklendiğine ve tek kullanıcılı, ağa bağlı olmayan, dosya izni olmayan DOS'a göre çalıştırılmasından türetilmiştir.
Güvenlik açısından bakıldığında bu kötü bir fikirdir. Yürütülebilir kodun yaşadığı yerler değiştirilebilir verilerden ayrılmalıdır. Bu şekilde, yüklü ikili dosyaların yetkisiz kullanıcılar tarafından değiştirilmesini önlemek için uygun dosya izinlerini uygulamak daha kolaydır. Benzer şekilde, ana yürütülebilir dosyalardan ayrı olarak güncellenebilen kütüphane dizinleri de ayrı bir dizinde bulunmalıdır.
Vista ve UAC sıkıntılarının ortaya çıkmasıyla, bu gelenek nihayetinde ciddi çekiş gücü kaybetmeye başladı.
UNIX ve daha önceleri çok kullanıcılı bir sistem olan Linux, çalıştırılabilir dizinleri diğer dizinlerden daha önce ayırma eğilimindeydi, çünkü root dışındaki kullanıcıların yüklü ikili dosyaları değiştirmelerini engelleme ihtiyacı vardı. Ayrıca yüzden /usrve hatta /sbinbazen ayrı bölümler vardır - özellikle güvenlik bilinçli yönetici bir yükleme / yazma / kaldırma olması gereken okuma salt okunur bu bölümleri mount ve bunları yeniden monte edebilirsiniz.
Paketler genellikle bir paket yöneticisinden yüklenir. aptitude(Debian ve türetilmiş dağıtımlar), yum(Redhat ve türetilmiş dağıtımlar), pacman(bunun hangi dağınıklığı unutma ...) ve diğerleri gibi çeşitli paket yöneticileri var .
Paket yöneticisi, sofistike (ve ücretsiz) bir "uygulama mağazası" gibi depolara göz atmanıza, indirmenize, yüklemenize, sorgulamanıza ve kaldırmanıza olanak tanır. Bağımlılıkların halledilmesini sağlamak ve şu anda kurulu olanları izlemek sorumluluğunu üstlenir.
Genellikle paket yöneticisi, manuel olarak indirdiğiniz bir paketin üzerinde aynı işlemlere izin verir. Ayrıca, kendiniz oluşturduğunuz veya kendiniz derlediğiniz yazılımdan kendi yazılımınızı oluşturmak istiyorsanız da kullanılabilir.
Paketin kendisi yürütülebilir bir dosya olmadığından, ne yaptığını gerçekten bilmediğiniz güvenilir olmayan bir yürütülebilir dosyayı çalıştırmanız gerekmez. (Windows nihayet .msuyerine s 'ları dağıtarak güncelleştirmelerle geliyor .exe- ama .msibir süredir ...)
rpm,rpm -q --whatprovidesbelirli bir dosyanın paket adınırpm -q -abulmak ve ardından hangi paketin yüklü olduğunu bulmak için kullanabilirsiniz .