menginstal paket tanpa akses sudo


11

Apakah ada cara mudah untuk menginstal paket dengan pohon ketergantungan besar, asalkan Anda tidak memiliki akses superuser? Misalnya, saya ingin menginstal firefox. Firefox memiliki banyak dependensi, yang masing-masing memiliki dependensi sendiri, dll. Menginstalnya dengan cara "./configure; make; make install" akan membutuhkan waktu selamanya.

Apakah ada opsi yang bisa saya berikan agar apt-get untuk membuatnya menginstal di direktori pribadi? Atau adakah cara untuk meretasnya untuk melakukan semua pekerjaan berat bagi saya?


coba tanyakan di www.superuser.com atau jika pertanyaan server secara khusus www.serverfault.com

Jawaban:


4

Anda dapat menginstal file .deb di direktori home Anda dengan:

dpkg-deb -x /path/to/some.deb $HOME

Tapi ini tidak menangani dependensi seperti aptitude atau apt-get.


Saya menggunakan metode ini untuk menginstal atom untuk julia di workstation saya. Selain itu, saya membuat alias untuk atom di ~ / .bashrc: alias atom = "/ path / ke / the / executable / atom / binary / file". Kemudian jalankan: source ~ / .bashrc, Anda siap menjalankan atom di terminal.
Good Will

2

Lihat NixOs ( LWN ). Paket terisolasi (terkadang distribusi perlu menambalnya) dan dapat diinstal beberapa kali, pada versi yang berbeda, atau oleh pengguna yang berbeda.

jhbuild dapat mengotomatisasi proses cmmi besar. Tetapi seseorang perlu menulis moduleet (grafik ketergantungan).

Jika Anda menggunakan manual configure / make all process install, dimungkinkan untuk menggunakan stow untuk menyederhanakan pemasangan di rumah Anda. Menyimpan berguna untuk menginstal hal-hal di beberapa awalan tetapi hanya menggunakan satu awalan untuk resolusi dependensi.

dpkg dapat dipaksa untuk menginstal di awalan yang berbeda dengan instdir / admindir / root, tetapi ini hanya berguna untuk lingkungan chroot.


0

Jangan mengkompilasi Firefox dari sumber, cukup instal paket biner ke direktori home Anda.

Artikel Mozilla KnowledgeBase ini menjelaskan cara melakukannya. Pada dasarnya Anda hanya perlu mengekstrak tarball dan mengeksekusi firefoxfile di dalamnya; semua dependensi sudah termasuk sehingga Anda tidak perlu menginstal apa pun apt.

EDIT: Tidak, tidak ada metode generik ada, setidaknya karena sebagian besar aplikasi (dan terutama yang GUI) memerlukan banyak data terkait itu untuk ditempatkan di lokasi terkenal seperti / usr / share, dan itu di- hardcode di dalamnya (well, itu dapat dikonfigurasi pada waktu kompilasi, tetapi Anda tidak ingin mengkompilasi ulang semua seperti yang Anda katakan di pertanyaan). Jadi Anda bisa memeriksa paket biner yang telah dikompilasi yang mencari sumber daya di direktori peluncuran dan bukan yang sistem.


saya menafsirkan pertanyaan tentang praktik manajemen paket. Saya menduga Firefox hanyalah sebuah contoh, jadi metode spesifik Firefox tidak terlalu berguna.
quack quixote

Terima kasih, edit posnya. Info Firefox masih berguna.
whitequark

0

Saya pikir jawabannya cukup banyak "tidak". Pertama-tama basis data paket hanya dapat diakses oleh root, dan kedua, beberapa / banyak paket memiliki jalur hardcode yang membuatnya tidak mungkin untuk memindahkannya. Menggunakan chroot akan menjadi jawaban yang mungkin, tetapi Anda juga membutuhkan root untuk itu, atau setidaknya seseorang dengan root untuk memberi Anda hak terbatas.


0

Saya percaya Anda harus melakukan chroot maka Anda dapat menginstal paket Anda di sana.

ref: https://help.ubuntu.com/6.10/ubuntu/packagingguide/C/appendix-chroot.html https://wiki.ubuntu.com/DebootstrapChroot


root privilege diperlukan untuk membuat chroot, jadi mengapa tidak menginstal paket saja ? Terlepas dari ini, kemungkinan bahwa sysadmin Anda akan memberi Anda hak root penuh (atau bahkan hanya terkait-apt) jauh, jauh lebih sedikit daripada yang untuk chroot. Ini (hampir) tidak berbahaya untuk sistem host.
whitequark
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.