Di bawah Windows, terutama versi yang lebih lama, itu umum untuk program untuk menyimpan file konfigurasi dan data yang tidak konstan dalam C:\Program Filesdirektori mereka . Ini berasal dari bagaimana program biasanya diinstal dan dijalankan di bawah DOS single-user, non-jaringan, non-file.
Dari sudut pandang keamanan, ini adalah ide yang buruk. Tempat di mana kode yang dapat dieksekusi harus dipisahkan dari data yang dapat dimodifikasi. Dengan begitu lebih mudah untuk menerapkan izin file yang sesuai untuk mencegah modifikasi binari yang diinstal oleh pengguna yang tidak sah. Demikian pula direktori perpustakaan yang dapat diperbarui secara terpisah dari executable utama juga harus di direktori yang terpisah.
Dengan munculnya gangguan Vista dan UAC, tradisi ini akhirnya mulai kehilangan daya tarik.
UNIX, dan Linux, sebagai sistem multiuser dari jauh sebelumnya, memiliki kecenderungan untuk memisahkan direktori yang dapat dieksekusi dari direktori lain jauh lebih awal, karena ada kebutuhan untuk mencegah pengguna selain root untuk memodifikasi binari yang diinstal. Itu juga mengapa /usrdan bahkan /sbinkadang-kadang partisi yang terpisah - admin yang sangat sadar keamanan dapat me-mount partisi tersebut hanya baca dan tulis mereka baca / tulis ketika instalasi / uninstall perlu terjadi.
Paket biasanya diinstal dari manajer paket. Ada berbagai manajer paket, seperti aptitude(Debian dan distribusi yang diturunkan), yum(Redhat dan distribusi yang diturunkan), pacman(lupakan distro mana ini ...), dan lainnya.
Manajer paket memungkinkan Anda menjelajahi repositori, mengunduh, memasang, menanyakan, dan menghapus perangkat lunak, seperti "app store" yang canggih (dan gratis). Ini mengasumsikan tanggung jawab untuk memastikan dependensi dijaga dan melacak apa yang saat ini diinstal.
Biasanya manajer paket juga akan mengizinkan operasi yang sama pada paket yang Anda unduh secara manual di luar repositori mana pun. Alat juga tersedia jika Anda ingin membuat sendiri dari perangkat lunak yang Anda buat atau kompilasi sendiri.
Karena paket itu sendiri BUKAN file yang dapat dieksekusi, Anda tidak perlu menjalankan file yang tidak dapat dieksekusi yang Anda tidak benar-benar tahu apa fungsinya. (Windows akhirnya hadir dengan pembaruan dengan mendistribusikan .msubukan .exe- tetapi .msisudah ada beberapa saat ...)
rpm, Anda dapat menggunakanrpm -q --whatprovidesuntuk menemukan nama paket untuk file tertentu dan kemudianrpm -q -auntuk mencari tahu file apa yang diinstal paket.