köksüz rpm


12

Kök erişimi olmadan rpm kullanmak mümkün müdür?

Yanıtlar:


2

Paketin içeriğine bağlı olarak, rpm içeriğini ayıklayabilir ve ana dizininiz olan bir yerden kullanabilirsiniz. Yeniden yerleştirilebilir olarak işaretlenmemiş olsa bile. Paketteki ikili dosyaların sabit kodlanmış yolları varsa veya uygulama kök erişimi gerektiriyorsa, bu mümkün olmayabilir.


1
bu aslında yanlış, rpmsudo / root erişimi olmadan komutu çalıştıramazsınız .

8

Yeniden yerleştirilebilir paketleri öneren birçok yanıt vardır. Yer değiştirme seçeneği, yöneticilerin hedefi seçmesidir (örneğin, / usr / local yerine / opt olmasını sağlamak) ve gerçekte kullanıcı izinleri için değildir.

Bu yöntemi kullanarak bazı izin sorunları aşmak mümkün olsa da, ana sorun rpm işlemleri gerçekleştirdiğinizde, root: root sahip olan /var/lib/rpm/__db.* veritabanlarını değiştirmesidir. JPerkSter'in "kısa cevap = hayır" dediği gibi. Sudo'yu belirli ihtiyaçlara izin verecek şekilde ayarlamak muhtemelen en iyi seçenektir.


8

Yukarıdakilerin tümünü göz önünde bulundurarak, yeniden yerleştirilebilir yapılarla ilgili olarak, burada listelenen talimatları izlemeyi deneyebilirsiniz .

rpm --initdb --root /home/username/local --dbpath /home/username/local/lib/rpm
rpm --root /home/username/local --dbpath /home/username/local/lib/rpm \
 --relocate /usr=/home/username/local --nodeps -ivh package.rpm

3

RPM spesifikasyonu 'yeniden yerleştirilebilir' adı verilen bir seçenek içerir. Devir, yeniden yerleştirilebilirlik açık olarak oluşturulmuşsa, '--prefix' seçeneği kullanılarak kullanıcı tanımlı bir dizine kurulabilir. Bu nedenle, iki koşul karşılandığı sürece süper kullanıcı erişimi olmadan yerel olarak bir rpm kurulabilir:

  1. Paket aslında yeniden yerleştirilebilir olacak şekilde üretildi
  2. 'Rpm' ikili paketi paketi genel sistem kataloğuna eklemeye çalışmaz

Ancak, genel olarak, hayır, bir RPM yüklemek için süper kullanıcı erişimine ihtiyacınız vardır. Yeniden yerleştirilebilir seçenek mevcut olsa da, neredeyse onu desteklemek için oluşturulmuş bir paket görmedim.


3

Bazı paketler yeniden yerleştirilebilir, bu nedenle root olmadan düzgün çalışabilirler, sadece öneki yüklerken belirtin: rpm -i my.rpm --prefix = / my / home / folder

Paket yeniden konumlandırılamıyorsa, dosyaları yine de RPM'den çıkarabilir ve çalıştırmayı deneyebilirsiniz. RPM dosyalarını örneğin:

Dosyaları ~ / klasörünüze kopyalayın, ek bağımlılık kitaplıkları ekleyin ve en iyisini umun. Garantili değil, ancak bu şekilde çalışan bazı yeniden yerleştirilemeyen paketler alabilirsiniz.


2

Farklı bir dbpath kullanarak farklı bir dizin altında yüklemeye zorlayabilirsiniz. Ayrıca, herhangi bir komut dosyasını kontrol etmeden doğrudan çalıştırmamalısınız.

Bu, geçerli dizinin altına bir rpm koyar ve gerektiğinde bunları düzenleyip çalıştırabilmeniz için komut dosyalarını ayıklar.

rpm --install --badreloc --relocate /=`pwd` -dbpath `pwd`/rpm_db --nodeps --noscripts package.rpm

rpm --query --scripts -p package.rpm > scripts.txt

2

Evet, ama istemeyebilirsiniz. Kök erişimi olmayan hesaplama kümeleri üzerindeki yazılımları korumak için özel kukla manifestleri ve rpm paketleri kullandım. Teoride bu kadar basit

rpm --inittb --root /foo 
rpm --dbpath /foo -i bar.rpm

Bununla birlikte, bunun EL4, EL5 ve EL6'da nasıl davrandığı konusunda tuhaflıklar var, bu nedenle her biri için farklı bir dizi adım ve seçeneğe ihtiyacınız olacak. Artık bu bilgileri kullanmıyorum. Bu tuhaflıklar ve sık sık RPM veritabanı sorunları (belki de NFS nedeniyle) rpm kullanarak pişman oldum.


1

Kök erişimi olmadan RPM'ler oluşturabilirsiniz, bunu yalnızca ev dizininizin içinde yapın. BGBM yüklemek kadar kısa cevap = hayır diyebilirim.


-2

hayır kök, su veya sudo erişimi ile mümkün değil rpm

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.