Mengapa tidak ada manajer paket terpadu yang bertindak sebagai antarmuka antara pengguna akhir dan mendasari manajer paket tingkat rendah ( apt
, yast
, pacman
, dll)?
Apakah itu sulit dilakukan dan karenanya tidak praktis, atau adakah hambatan yang tulus sehingga tidak mungkin dilakukan?
linux
package-management
vonPetrushev
sumber
sumber
Jawaban:
Pertama-tama, ada. Masalahnya bukan bahwa tidak ada manajer paket terpadu, masalahnya ada sepuluh dari mereka - serius.
Mari kita favorit saya:
poldek
. Ini adalah ujung depan pengguna untuk manajemen paket yang dapat berjalan di beberapa distro yang berbeda dan mengelola salah saturpm
ataudeb
paket. Poldek tidak melakukan hal-hal yang dilakukan rpm (ia membiarkannya ke rpm) dan hanya mengirimkan perintah yang tepat tanpa pengguna harus mencari tahu semua kekacauan itu.Tapi masalahnya tidak berhenti di situ. Setiap orang memiliki ide yang berbeda tentang seperti apa tampilan ujung pengguna dan bagaimana fungsinya dan opsi apa yang harus diekspos. Jadi orang lain sudah menulis sendiri. Sebenarnya banyak manajer front-end paket yang digunakan orang-orang di distro umum saat ini mampu menangani lebih dari satu backend.
Namun, pada akhirnya, masalahnya (atau keuntungan) adalah orang-orang menyukai hal-hal berfungsi persis seperti yang mereka inginkan, bukan dalam mode meta yang mencoba memuaskan semua orang, tetapi gagal untuk benar-benar membuat orang bahagia. Ini adalah alasan kami memiliki sekian banyak distro gazillion di tempat pertama. Itulah alasan kami memiliki begitu banyak Lingkungan Desktop dan Pengelola Jendela yang berbeda (dan faktanya hal-hal itu sebenarnya berbeda).
Masih ada proposal luar biasa untuk cara menulis paket universal atau memiliki manajer yang memahami semuanya atau memiliki api untuk mengkonversi satu ke yang lain ... tetapi pada akhirnya Unix terbaik jika digunakan sesuai dengan filosofi ... setiap alat melakukan satu hal dan melakukannya dengan baik .
Setiap kali Anda memiliki alat yang mencoba melakukan lebih dari satu hal, itu akhirnya menjadi tidak sebaik di salah satu dari mereka. Misalnya,
poldek
payah menangani dependensi paket deb.sumber
Singkatnya: karena setiap distribusi menggunakan pendekatan berbeda untuk manajemen paket. Mereka tidak kompatibel. Strategi manajemen yang berfungsi paling baik untuk Ubuntu akan memiliki sedikit akal pada Arch dll. Seorang manajer paket "universal" (distribusi-independen) hanya akan menjadi lapisan tambahan dari antarmuka pengguna, yang tidak akan pernah bekerja sebaik manajer khusus setiap distribusi.
Jadi, menggunakan kata-kata Anda sendiri, itu sulit dilakukan dan karena itu tidak praktis - juga karena hampir tidak ada orang yang mendapat manfaat darinya.
sumber
Alasan historis, terutama. Beberapa sistem manajemen paket dibentuk sekitar waktu yang sama - khususnya .rpm dan .deb. Masing-masing memiliki penganutnya dan masing-masing cukup baik sehingga tidak ada manajer paket tunggal yang memiliki keunggulan menarik. Distributor tentu tidak akan melihat titik dalam membangun kembali sistem mereka untuk mengimplementasikan manajer paket yang berbeda.
Ini juga akan memerlukan setiap paket dalam sistem (10.000 dalam kasus debian) untuk dibangun kembali. Ini juga akan membutuhkan sistem migrasi yang lancar untuk diimplementasikan sehingga pengguna sistem dapat beralih dari yang lama ke manajer paket yang baru. Upaya untuk bermigrasi akan sangat besar, dan secara eksponensial lebih besar untuk menguji migrasi, sehingga Anda hampir pasti akan mendapatkan banyak kerusakan. Ini akan menghasilkan banyak penumpang marah.
Setiap distro mempertahankan set dependensinya sendiri berdasarkan apa yang dibangun untuk rilis itu. Repositori paket universal akan terlalu sulit untuk dikoordinasikan di antara distribusi karena konflik ketergantungan hampir pasti akan muncul. Oleh karena itu manfaat sebenarnya dari sistem manajemen paket terpadu (paket universal) tidak akan mungkin terwujud dalam praktiknya.
Akhirnya, siapa yang bisa memilih manajer paket standar universal? Komik XKCD yang dirujuk dalam komentar pada OP merangkum mode kegagalan biasa dalam jenis latihan ini. Membakukan hal semacam ini akan sangat politis dan kemungkinan menghasilkan sesuatu yang tidak dapat digunakan, atau cacat yang begitu mendalam sehingga hal itu melahirkan putaran lain mengenai standar - jika para pihak dapat mencapai kesepakatan sama sekali.
Jadi, pada dasarnya ia berujung pada: terlalu politis, terlalu keras, terlalu berisiko dan tidak ada manfaat untuk direalisasikan dengan melakukannya.
sumber
Apa yang Anda gambarkan,
Kedengarannya seperti PackageKit bagi saya, yaitu ,
Sunting: Lihat di sini untuk daftar backend yang didukung. Sunting2: Menghapus komentar yang tidak berguna.
sumber
Pertama, pahami bahwa "Linux" bukan sistem operasi. Itu adalah kernel. Manajer paket adalah konsep tingkat OS, bukan konsep tingkat kernel. Oleh karena itu meminta manajer paket terpadu untuk Linux tidak terlalu sensual.
Namun, jika Anda bertanya mengapa berbagai sistem operasi yang menggunakan kernel Linux tidak memiliki manajer paket yang kompatibel, Anda juga mungkin bertanya mengapa Windows dan Mac tidak memiliki manajer paket yang kompatibel. Atau dua sistem operasi lainnya.
OS yang berbeda memenuhi kebutuhan pengguna yang berbeda, dan manajer paket adalah bagian darinya. Mengapa tidak semua distro Linux memiliki window manager yang sama? Atau datang dengan semua perangkat lunak pra-instal yang sama?
Jawaban: Stroke berbeda untuk orang yang berbeda.
sumber