Kök erişimi olmadan rpm kullanmak mümkün müdür?
Kök erişimi olmadan rpm kullanmak mümkün müdür?
Yanıtlar:
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.
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.
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
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:
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.
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.
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
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.
rpm
sudo / root erişimi olmadan komutu çalıştıramazsınız .