Ada banyak alasan untuk ini, dan sedikit sejarah adalah untuk meletakkan segala sesuatu ke dalam perspektif.
Ingatlah bahwa ketika kita berbicara tentang "Linux" yang biasanya kita maksud adalah salah satu dari banyak distribusi Linux yang berbeda . "Linux" sebenarnya hanya sebuah kernel sistem operasi.
Tujuan asli Linux adalah untuk menciptakan sistem berbasis Unix yang akan berjalan pada PC (awalnya 386). Langkah pertama adalah membuat kernel itu sendiri. Sementara Linus Torvalds sedang mengerjakan kernel Richard Stallman sedang mengerjakan sistem Free Unix miliknya sendiri , di bawah proyek GNU (Not Unix) GNU . Singkatnya, keduanya agak konvergen karena GNU memiliki utilitas terkait (C compiler / library / tools build, shell, editor teks dll.) Tetapi tidak ada inti untuk menjalankannya, dan Linux memiliki inti tetapi tidak memiliki utilitas untuk berjalan di atasnya untuk membuatnya berguna bagi massa.
Konvergensi ini kemudian dikenal secara resmi sebagai GNU / Linux. Anda akan melihat bahwa banyak distro masih menyebut diri mereka sebagai distribusi GNU / Linux.
Karena GNU / Linux bersifat gratis dan terbuka, siapa pun dapat mengambilnya dan membuat sistem paket sesuai dengan selera spesifik mereka. Hasilnya adalah banyak aliran berbeda dari berbagai metode konfigurasi yang digunakan untuk membuat sistem ini, yang memiliki efek samping menciptakan hampir sama banyak sistem manajemen paket yang berbeda agar sesuai dengan masing-masing.
Setiap sistem lengkap yang berbeda memiliki pengikut yang kuat yang bertahan bersama mereka selama bertahun-tahun, menghasilkan apa yang kita miliki saat ini: beberapa sistem manajemen paket yang digunakan secara luas, berakar dalam dan stabil seperti RPM , APT / dpkg dan Portage Gentoo .
Ada beberapa proyek, seperti Autopackage , yang berusaha menyelesaikan masalah, tetapi evolusi berkelanjutan dari berbagai sistem manajemen paket yang didukung berarti ada banyak target bergerak yang harus diikuti.
Apa yang akhirnya dilakukan oleh beberapa vendor perangkat lunak adalah menggabungkan binari spesifik dan salinan dependensi yang mereka perlukan ke dalam satu paket besar yang akan bekerja pada sistem tertentu.