Kök erişimi olmayan bir paketi nasıl kurabilirim?


126

Ben hiçbir root erişimi bu makinede.

Ubuntu paketlerini indirip root olmayan olarak kurmanın bir yolu olup olmadığını bilmek isterim.

Muhtemelen benim içinde ~/binya ~/usr/shareda onun gibi bir şey? Işe yarar mı?


1
Umarım, yakında destekleyeceklerdir.
Domi

4
Linux için taşınabilir uygulamaları kullanabilirsiniz: kurulum, kök gerekmez. Appimage.org adresinde bulabilirsiniz . Linus Torvalds bile hoşuna gidiyor. Bu garip, çünkü Linus hiçbir şeyden hoşlanmaz.
ipse lute,


Bir arada dpk -xve mvbenim için çalıştı. Veya, eğer dpkmevcut değilse arve tarçok kısıtlı sistemlerde benim için borulama / birleştirme de işe
yaramazsa

Yanıtlar:


107

Apt doğrudan desteklemiyor, ancak bunu yapmanın yolları var.

Bunlardan biri schrootkök olmayan bir chroot oluşturmak için kullanmaktır . Bu biraz dahil bir süreçtir , ancak bir çok geliştiricinin kod derlemesi için chroot ortamları oluşturduğu için topluluk yardımı bulabilmeniz gerekir.

Bildiğim ikinci yol ise bir .deb paketinden yüklemek. Bunu bir web sitesinden veya eğer indirebileceğiniz Ubuntu depolarında ise indirebilirsiniz.

apt-get download package

packagePaketin ismiyle değiştirin

Deb dosyanızın dpkgardından komut satırından doğrudan çağrı yapın . Aşağıdaki örnek, package.deb dosyasını ana dizininize yükleyecektir.

dpkg -i package.deb --force-not-root --root=$HOME 

Bu gibi dpkg kullanmanın dezavantajı, hata mesajlarının şifreli olması muhtemeldir; dpkg bağımlılıkları otomatik olarak çözmez veya beklediği dizin yapısını yaratmaz.

Son olarak, apt-get sourcepaketin kaynağını almak için komutunu kullanabilir ve yerel olarak kurması için yapılandırabilirsiniz. Genellikle bu şuna benzer:

apt-get source package
cd package
./configure --prefix=$HOME
make
make install

Bu yaklaşımın dezavantajı, bu yaklaşımın çalışabilmesi için mevcut geliştirme ortamına ihtiyaç duymanız ve tüm bağımlılıkları çözmek için kendinizi düzinelerce paket oluştururken bulabilirsiniz.

DÜZENLE:

As dpkg -i(yorumlar) çalışmıyor, ben bu alternatif önermek:

dpkg -x package.deb dir

Bu, .deb paketini dir. Daha sonra PATH'yi ikili değerin bulunduğu yere verebilirsiniz. İkilinin tüm bağımlılıkları kurulduğu sürece, normal şekilde çalışmalıdır.


1
Kök erişiminiz varsa, ancak genel olarak belirli bir paketi yüklemek istemiyorsanız, bir paket oluşturmak için sudo apt-get build-dep packagegereken her şeyi yüklemek için kullanabilirsiniz (kaynağını sağladıktan sonra ). apt-get source
Vladimir Panteleev

19
Bu cevap 2010 yılında tekrar yazıldı. O zamandan beri bunun nasıl yapıldığına dair herhangi bir değişiklik oldu mu?
becko

36
- force-root root olmasa bile, "dpkg: error: istenen işlem superuser ayrıcalığını gerektiriyor"
Clément

10
Millet, --force-not-root --root=$HOMEveya bunların varyasyonları çalışmaz. Debian ikili paketleri, ev dizinine kurulacak şekilde tasarlanmamıştır. Veya bunu başka bir yolla söylemek gerekirse. Msgstr "Aşağıdaki örnek package.deb dosyasını ana dizininize yükleyecektir." Hayır olmaz.
Faheem Mitha

1
Ne yazık ki bu işe yaramaz. Denedim--force-not-root --root=/your/custom/path
Viet

16

Jedit yüklemek istediğinizi varsayıyorum . Öncelikle paketi bulup indirmelisiniz. Sadece deb dosyasını bir aynadan alıp bir konsol / terminal açıyorum :

  1. mkdir /tmp/jedit && cd /tmp/jedit- Yeni bir hile yapar tmpve içine geçer.
  2. wget http://mirrors.kernel.org/ubuntu/pool/universe/j/jedit/jedit_4.3.1.dfsg-0ubuntu1_all.deb - İndirme paketi
  3. ar x jedit_4.3.1.dfsg-0ubuntu1_all.debveya, yazması kolay, ar x *.deb- bu dosya içeriğini çıkarır
  4. tar xvzf data.tar.gz- dosya data.tar.gz, yazılımı çalıştırmak için ihtiyacınız olan her şeye sahiptir
  5. usr/bin/jedit editörü açar
  6. bitti :-)

Dosyaları ana dizininizdeki bir noktaya taşıyabilir ve oradan yürütebilirsiniz.


11
Kurulum öncesi ve sonrası komut dosyalarının çalışmadığını unutmayın; ayrıca bağımlılıkları veya yolları kendiniz çözmeniz gerekecektir. Ancak varsayılan kurulumda bu, pek çok masaüstü uygulaması için yeterlidir.
jbowtie

Ayrıca arama yapmadan paketi indirebilirsiniz, sadece apt-get indir (diğer cevabı bakın)
lib

Bağlantının kopmuş olduğuna inanıyorum.
Winnemucca

9

$ HOME / .juju dizininizde temelde küçük bir linux dağıtımına (sadece paket yöneticisini içeren) izin veren JuJu adında bir program yazdım .

Özel sisteminizin ana dizinde proot üzerinden erişilebilir olmasını sağlar ve bu nedenle herhangi bir paketi kök ayrıcalıkları olmadan yükleyebilirsiniz. Tüm ana linux dağıtımlarına uygun şekilde çalışacaktır, tek sınırlama JuJu'nun linux çekirdeğinde önerilen minimum 2.6.32 sürümüyle çalışabilmesidir.

Örneğin, JuJu kurulduktan sonra jedit'i kurmak için:

$>juju -f
(juju)$> pacman -S jedit
(juju)> jedit

Bu sadece Ubuntu'da iyi sonuç verecek mi?
Seth

Evet, ubuntu'nun linux çekirdek sürümü 2.6.32'ye eşit veya büyükse, çalışacaktır.
user967489

2
İlk başta neden bahsettiğini sandım bu . İkinci büyük harf j fark yaratır.
kon psych

1
Soru Ubuntu paketini kurabilir miyizdi. Junest ile sadece ArchLinux paketini kurabilir ve bir Ubuntu paketini kuramayacağız. Örneğin, aynı paket ArchLinux için mevcut değilse, o zaman bu yardımcı olmaz. Bu, Junest için teşekkürler dedi.
Kiran
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.