Neden Linux için birleşik bir paket yöneticisi yok?


31

Neden son kullanıcı ve altta yatan düşük seviyeli paket yöneticisi (arasında bir arabirim olarak görev yapan bir birleşik paket yöneticisi olmadığı apt, yast, pacmanvs.)?

Yapması zor mu, bu yüzden pratik değil mi, yoksa imkansız kılan gerçek bir engel var mı?


14
Tahminime göre, birleşik bir paket yöneticisi olmadan çok önce birleşik bir alan teorisi elde edeceğiz ...


2
Aynı sebepten dolayı tek bir dağıtım istemiyoruz - dağıtımımın yapış şeklini seviyorum. Kullanmazsanız, başka birini kullanmakta veya kendi yazınızı yazmakta özgürsünüz. Siz bilmeden önce, programcılar kadar çok paket yöneticisine sahipsiniz.
yeni123456

2
düşük seviye paket yöneticileri demek istiyorsun rpm, dep, source? Sizin listeledikleriniz, kendilerinin önünde.
frogstarr78

Yanıtlar:


35

Her şeyden önce var. Sorun, birleşik bir paket yöneticisinin olmaması değil, onlardan birinin ciddi olması.

Benim favori atalım: poldek. Birkaç farklı dağıtımda çalışabilen rpmveya debpaketleri ya da yönetebilen paket yönetimi için bir kullanıcı ön ucu . Poldek, rpm'nin yaptığı şeyleri yapmaz (bunu rpm'ye bırakır) ve kullanıcının tüm bu karışıklığı çözmesi gerekmeden sadece doğru komutları gönderir.

Ancak sorunlar orada bitmiyor. Herkesin bir kullanıcı ön ucunun neye benzemesi gerektiği ve nasıl çalışması gerektiği ve hangi seçenekleri göstermesi gerektiği konusunda farklı bir fikri vardır. Yani diğer insanlar kendilerini yazdılar. Aslında, insanların ortak dağıtımlarda kullandıkları paket ön uç yöneticilerinin çoğu, birden fazla arka uçla başa çıkabiliyor.

Ancak, sonuçta sorun (veya avantaj), insanları gerçekten mutlu etmek için başarısızlığa uğramamak için herkesi tatmin etmeye çalışan bazı meta-tarzlarında değil, istedikleri gibi işlev gören insanlar gibi insanlardır. İlk etapta on beş gazilyon dağıtımının nedeni budur. Bu kadar çok farklı Masaüstü Ortamları ve Pencere Yöneticisinin (ve bunların aslında farklı şeyler olduğu gerçeği) nedeni budur.

Evrensel paketler yazma veya hepsini anlayan bir yöneticiye sahip olma ya da birini diğerine dönüştürmek için bir api alma yolları için hala olağanüstü öneriler var ... ama sonunda Unix, felsefesine göre kullanıldığında en iyisidir. bir şey yapar ve iyi yapar .

Birden fazla şey yapmaya çalışan bir araca sahip olduğunuzda, bunlardan birinde iyi olmamaya başlar. Örneğin, poldekdeb paket bağımlılıklarını ele almakta berbat.


1
Hemen hemen ne söyleyecektim. Ve açıkçası, şeyler kaputun altında düzgün bir şekilde çalıştığı sürece (diyelim ki, LSB standartlarına uyarak) o zaman sorunu gerçekten görmüyorum.
Shadur

10
++ "UNIX en iyisidir ... her araç bir şey yapar ve iyi yapar". Bazen bence çok fazla araç bu yoldan çıkıyor ...
ktf

Poldek.pld-linux.org sitesine bir link koyun --- 2005’te son güncelleme olan bir şeyi araştırmak için faydalı olabilir.
sorin

10

Kısacası: Çünkü her dağıtım paket yönetimine farklı yaklaşımlar kullanıyor. Onlar sadece uyumlu değiller. Ubuntu için en iyi şekilde çalışan yönetim stratejisi, Arch vb. Konusunda çok az anlam ifade edecektir. "Evrensel" (dağıtımdan bağımsız) bir paket yöneticisi, yalnızca her bir dağıtımın kendine özgü yöneticisi kadar iyi çalışmayan, ek bir kullanıcı arayüzü katmanı olacaktır.

Yani, kendi kelimelerinizi kullanarak, yapmak zor ve bu nedenle pratik değil - aynı zamanda neredeyse hiç kimse bundan faydalanamaz.


Paket yönetimi çözümü diğer sistemlere taşınabilir. debian'da portage gördüm. Ancak oyunun adı, örneğin kullanıcı için işe yarayan bir şey bulmaktır. ubuntu'da portage'ı varsayılan yapmak pek mantıklı gelmiyor. Zaten çok iyi yapıyoruz gibi görünüyor.
Silverfire

8

Esas olarak tarihsel nedenler. Birçok paket yönetim sistemi aynı zamanda kuruldu - özellikle .rpm ve .deb. Her birinin taraftarları vardır ve her biri tek bir paket yöneticisinin zorlayıcı bir avantaja sahip olmaması için yeterince iyidir. Distribütörler kesinlikle, farklı bir paket yöneticisi uygulamak için sistemlerini yeniden inşa etmedeki noktayı görmeyeceklerdir.

Bu aynı zamanda sistemdeki her bir paketin (debian durumunda 10.000'in) yeniden yapılmasını gerektirecektir. Ayrıca, sistemin kullanıcılarının eskiden yeni paket yöneticisine geçebilmesi için sorunsuz bir geçiş sisteminin uygulanması gerekecektir. Göç etme çabası inanılmaz derecede büyük olacak ve göçü test etmek için katlanarak daha büyük olacaktı, bu yüzden neredeyse kesin olarak birçok kırılmaya başlayacaksınız. Bu, birçok öfkeli bahisçi oluşturur.

Her dağıtım, bu sürüm için neyin oluşturulduğuna bağlı olarak kendi bağımlılık kümesini korur. Bağımlılık çatışmalarının ortaya çıkması neredeyse kesin olduğundan, evrensel bir paket deposu dağıtımlar arasında koordine etmek çok zor olacaktır. Bu nedenle, birleşik bir paket yönetim sisteminin (evrensel paketler) fiili faydası, uygulamada yine de gerçekleştirilemez.

Sonunda, evrensel standart paket yöneticisini kim seçer? OP hakkındaki yorumlarda referans verilen XKCD çizgi romanı, bu tür egzersizlerde olağan başarısızlık modunu özetlemektedir. Bu tür bir şeyi standardize etmek çok politik olabilir ve kullanılamayacak bir şeye neden olabilir ya da taraflar bir anlaşmaya varabilirse, standartlarla ilgili başka bir el sıkışma turu ortaya çıkacak kadar derinden hatalı davranırlar.

Bu yüzden, temel olarak aşağı: aşağı doğru geliyor: çok politik, çok zor, çok riskli ve bunu gerçekleştirmenin faydası yok.


8

Ne tarif ettin?

Bu, son kullanıcı ile alttaki düşük kaldıraçlı paket yöneticisi arasında bir arayüz görevi görür.

Bana PackageKit, gibi küçük sesler olduğunu ,

PackageKit, bilgisayarınıza yazılım yüklemeyi ve güncellemeyi kolaylaştırmak için tasarlanmış bir sistemdir. Birincil tasarım amacı, farklı dağıtımlarda kullanılan tüm yazılım grafik araçlarını birleştirmek ve işlemi daha az emmek için PolicyKit gibi en son teknolojilerden bazılarını kullanmaktır.

Düzenleme: Desteklenen arka uçların bir listesi için buraya bakın. Düzen2: İşe yaramaz bir açıklama kaldırıldı.


6

İlk önce, "Linux" un bir işletim sistemi olmadığını anlayın. Bu bir çekirdek. Paket yöneticisi işletim sistemi düzeyinde bir konsepttir, çekirdek seviyesinde değildir. Bu nedenle Linux için birleşik bir paket yöneticisi istemek gerçekten anlamlı değil.

Ancak, neden Linux çekirdeğini kullanan çeşitli işletim sistemlerinin uyumlu paket yöneticilerine sahip olmadığını soruyorsanız, Windows ve Mac'lerin neden uyumlu paket yöneticilerine sahip olmadığını da sorabilirsiniz. Veya diğer iki işletim sistemi.

Farklı işletim sistemleri farklı kullanıcıların ihtiyaçlarını karşılar ve paket yöneticisi bunun bir parçasıdır. Neden tüm Linux dağıtımları aynı pencere yöneticisine sahip değil? Ya da önceden yüklenmiş tüm yazılımlarla birlikte mi geliyorsunuz?

Cevap: Farklı insanlar için farklı vuruşlar.


1
"Linux" işletim sistemi için + 1 değil
Silverfire
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.