Neden paket yöneticileri kullanıcı başına kurulum ve kayıtlara sahip değil?


23

Hem benim hem de Linux dağıtımları için en popüler iki paket yönetim programı olan Apt ve DNF / Yum, yalnızca sistem genelinde paket kurulumunu destekliyor: Köklere ait dosyalar, ikili dosyalar giriyor (/usr)?/s?bin, ayarlar var /etcve böyle devam ediyor.

Ancak, kök ayrıcalıklarına sahip olmayan birden fazla bireysel kullanıcının bulunduğu sistemlerde, çok sık - her zaman değilse - bir kullanıcının bu dağıtım için kullanılabilen bazı uygulamaları veya yardımcı programları yüklemek istediği ortaya çıkar; ve kişisel / birçok kullanıcı için ortak olmayan bir kurulumda iyidir.

Şimdi, paketlerin kurulum sırasında farklı bir kök dizini veya kök dizini seti ile uyarlanabilmesi için çok zor ve hatta inanılmaz derecede karmaşık bir fikir olarak görünmüyor, böylece kullanıcılar bunu yapabiliyor. Ayrıca, kurulu paketlerin kullanıcıya özgü bir kaydını (tek bir kullanıcının kendi paketi DB'si olsun ya da olmasın) yönetmek de önemli değildir.

Peki bu işlevselliğin bu ortak paket yönetim sistemlerine / planlarına eklenmemesinin nedeni nedir?

Not: Bu yani İnsanların neyi soruyorum, bilgilendirici bir sorudur biliyoruz ilgili geçmişte insanlar ne değil düşünmek Bu özellik hakkında.


3
Sağlanmış olsaydı, zamanımın çoğunu derleme yazılımım, süper kullanıcı ayrıcalığına sahip olmayan bilgisayarlarımdaki kaynaktan derlenmiş olacaktı. Cevabını bilmek için istekliyim.
Weijun Zhou,

1
Kuşkusuz, bu konudaki bilgilerim en iyisi değil, ancak kullanıcıların sabit sürücüleri kişisel olarak yükledikleri yazılım bağımlılıklarıyla doldurmalarını engellemek için yapılmış olabilir. Apt kök olarak çalıştırılmazsa, sistem kitaplıklarını güncelleyemez, bu nedenle kullanıcının artık sistemden daha yeni bir sürümü vardır. Her kullanıcı için tekrarlayın ve daha eski, daha küçük sabit diskler oldukça hızlı doluyordu.
Thegs

1
@Thegs: Bunun dikkate alındığından şüpheliyim. Çok az sayıda yazılım projesi, “insanlar bunu yaparsa disk sürücülerini dolduracaklar” gibi düşüncelerden dolayı önemli özelliklerden kaçınırlar. Belki bir tür güvenlik riski olsaydı. Ayrıca, çok kullanıcılı sistemlerde kotalar olacaktır; Zaten çok az insan bunu kullanırdı. Ayrıca tüm bu spekülasyonlar ...
einpoklum - Monica,

2
Kısacası: Kullanıcı verilerini karıştırmak sistem paketi yöneticisinin işi değildir. ~ / bin, ~ / lib, vb, sistemin POV'sinden "kullanıcı verileri" dir.
Cas

1
Ben aracılığıyla dağıtılan bir kaç paket gördüm pip, npmve gopkg- kısmen çünkü onlar sizsiniz, dağıtıma bağımsız ve kısmen genellikle kullanıcıya özgü yüklenmesine izin çünkü.
Bob

Yanıtlar:


15

Ortak paket yöneticileri bu kullanım durumunu ele almazken, şunları yapan birkaç proje vardır:

Geleneksel paket yöneticilerinin neden bu kullanım durumuyla ilgilenmediğine dair en iyi tahminim, paket oluşturucuların paketlerinin dinamik bir yükleme dizinini doğru bir şekilde desteklediğinden emin olmak için çok dikkatli olmaları gerekeceğinden, paket oluşturma ve yükleme işlemini büyük ölçüde karmaşık hale getirdiğidir. Aslında, RPM gibi pek çok yaygın paket formatı dinamik bir kurulum dizinini destekler, ancak yüksek ek masraf nedeniyle paketler oluştururken, hiçbir bakım sağlayıcısı bu özellikten yararlanamaz.


Yani, RPM bunu destekliyor ama dpkg değil mi?
einpoklum - Monica,

1
Dpkg hakkında dürüst olmam gerektiğini bilmiyorum, çünkü hiç .deb paketleri oluşturmadım. Dpkg'ın dinamik yükleme dizinlerini desteklediğini tahmin ediyorum, ancak birçok .deb paket sahibinin yaptığı konusunda şüpheliyim.
jayhendren

Başka bir şey ... bunlar tipik olarak sıfırdan, önyüklemeden mi oluşuyor yoksa sistem genelinde kurulu olana güveniyor mu?
einpoklum - Monica,

1
Sistem genelinde paket yönetimi, kurulmamışsa hiçbir şeyin mevcut olmadığını varsayar; bu nedenle, dosyalar açısından bağımlılıkları aramak, bu dosyaları içeren yüklü paketler bakımından bağımlılıkları aramakla aynıdır. Ancak ikincil bir paket yöneticisiyle, sistem genelinde paketler / dosyalar ve kullanıcıya özel paketler / dosyalar vardır. Paket yöneticileri genellikle yalnızca indirdikleri ve / veya inşa ettikleri şeye güveniyor mu?
einpoklum - Monica,

2
Bağlı. Homebrew ve Emerge gibi bir kaynaktan derlenenler genellikle paketi çok fazla bağımlılık takibi olmadan oluşturmaya çalışırlar. Diğerleri, paketlerle bağımlılıkları paketler (bu, çoğu App Store stili aracının yanı sıra Flatpak ve Snaps'ın çalışma şeklidir). Zero Install gibi diğerleri, tüm bağımlılıkları bireysel kullanıcı seviyesi paketleri olarak kurar.
jayhendren

6

Peki bu işlevselliğin bu ortak paket yönetim sistemlerine / planlarına eklenmemesinin nedeni nedir?

Çünkü, gerekli olanın ötesinde yönetim sistemlerinin karmaşıklığını arttırır.

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.