Menginstal paket deb di direktori home

31

Apakah mungkin untuk menginstal .debpaket sepenuhnya di bawah direktori home saya di debian?

free_easy
sumber
Anda dapat membuat paket deb yang menginstal di mana saja. Tapi mengapa kamu mau? Paket seharusnya diinstal ke dalam sistem.
Faheem Mitha
5
@Faheem Mitha - Kita semua tidak memiliki akses root ke kotak Unix kami, Anda tahu, saya tentu tidak di tempat saya bekerja. Jika kita memerlukan paket (RPM dalam kasus saya) untuk menggunakan beberapa perangkat lunak, alangkah baiknya jika kita dapat menginstalnya di ruang pengguna daripada harus berbicara dengan IT dan meminta mereka untuk menginstal paket pada sistem untuk kita.
Mark Booth
@FaheemMitha Hal lain sedang menguji versi baru dari sebuah paket. Jika saya ingin membuat paket khusus tersedia untuk satu pengguna saja saya tidak menginstalnya di seluruh sistem.
Erathiel
@ Erathiel Yah, itu benar-benar kasus penggunaan untuk mesin virtual.
Faheem Mitha
@FaheemMitha Mungkin atau mungkin tidak;) Kasus penggunaan saya adalah mesin pengembangan dengan beberapa pengguna yang berfungsi sebagai lingkungan pengembangan. Saya perlu menabrak sebuah paket ke versi baru hanya untuk satu pengguna tertentu, sehingga kami dapat menguji bagaimana versi baru itu berperilaku. Tetapi server adalah mesin virtual itu sendiri, jadi Anda sebagian benar;)
Erathiel

Jawaban:

19

Itu tergantung apa yang Anda maksud dengan "instal". Dimungkinkan untuk mengekstrak konten file menggunakan file .deb dpkg-deb -x <filename.deb>, tetapi apakah Anda benar-benar dapat menggunakan perangkat lunak setelah mengekstraksi secara lokal tergantung pada bagaimana itu ditulis. Banyak perangkat lunak Linux akan mengharapkan untuk menemukan file sumbernya di lokasi standar yang ditentukan pada waktu kompilasi, seperti /usr/shareatau /usr/lib, yang akan gagal jika perangkat lunak tidak diinstal di lokasi yang biasa. Juga file konfigurasi seluruh sistem yang diinstal oleh paket, seperti .desktopfile yang membuat entri di menu mulai, tidak akan berfungsi sebagaimana dimaksud jika diinstal di lokasi yang salah.


sumber
3
seharusnyadpkg-deb -x app.deb /path/to/target/dir/
qed
atau hanya dpkg -x app.deb / path / ke / target / dir /
Erik Aronesty
5

Terima kasih atas semua komentar Anda, jawaban. Itu adalah perangkat lunak yang dikemas sendiri di mana saya ingin melakukan beberapa pemeriksaan dasar jika kemasan saya benar. Saya root di komputer saya tetapi tidak ingin melakukan instalasi nyata di sana atau ingin menggunakan gambar virtual untuk saat ini. Saya datang dengan solusi ini: https://serverfault.com/questions/23734/is-there-any-way-to-get-apt-to-install-packages-to-my-home-directory Yang berfungsi sempurna untuk saya atm.

free_easy
sumber
5
@Ivogel bertanya "Halaman yang Anda tautkan memiliki banyak posting, dan saya tidak tahu yang mana solusi yang sesuai untuk Anda. Bisakah Anda tentukan?"
drs
4

Perhatikan bahwa penggunaan sistem paket Debian membutuhkan akses root. Jadi, menginstal paket deb di direktori home pengguna memerlukan akses root. Jika Anda memiliki akses root, maka lebih masuk akal untuk menginstal ke sistem seperti biasa.

Jika Anda tidak memiliki akses root, Anda tidak dapat menggunakan sistem pengemasan Debian. Anda tentu bisa membongkar file deb ke dalam komponen-komponennya dan menempelkannya di direktori home Anda, tetapi hal itu akan membuat sedikit masuk akal. Saya sarankan Anda pergi dengan instalasi lokal. Tergantung pada perangkat lunak apa yang Anda instal, perangkat lunak tersebut mungkin memiliki semacam sistem manajemen paket internal yang dapat Anda gunakan.

Faheem Mitha
sumber
Saya tidak tahu apakah sudah ditambahkan setelah jawaban ini dibuat tetapi dpkg memiliki opsi --force-non-root yang dapat digunakan untuk menyiasatinya.
Bruce Adams
@BruceAdams Saya tidak melihat opsi ini tercantum di halaman manual. Bisakah Anda memberikan referensi?
Faheem Mitha
Jika Anda menjalankan dpkg --membantu itu menyebutkan --force-thing. Jika Anda menjalankan dpkg --force-help itu memberikan lebih banyak detail. Lihat misalnya askubuntu.com/questions/193695/…
Bruce Adams
@BruceAdams Ok, saya lihat, tapi saya tidak tahu bagaimana itu akan bekerja: not-root Try to (de)install things even when not root.
Faheem Mitha
Lihat pertanyaan saya stackoverflow.com/questions/47099045/... Namun, pada saat penulisan ini belum ada jawaban. Jadi saya juga tidak tahu.
Bruce Adams