Saya tidak memiliki akses root pada mesin ini.
Saya ingin tahu apakah ada cara saya dapat mengunduh paket Ubuntu dan menginstalnya sebagai non-root?
Mungkin di saya ~/bin
atau ~/usr/share
atau sesuatu seperti itu? Apakah itu akan berhasil?
Saya tidak memiliki akses root pada mesin ini.
Saya ingin tahu apakah ada cara saya dapat mengunduh paket Ubuntu dan menginstalnya sebagai non-root?
Mungkin di saya ~/bin
atau ~/usr/share
atau sesuatu seperti itu? Apakah itu akan berhasil?
Jawaban:
Apt tidak mendukungnya secara langsung, tetapi ada cara untuk melakukannya.
Salah satunya adalah menggunakan schroot
untuk membuat chroot non-root. Ini adalah proses yang agak terlibat , tetapi Anda harus dapat menemukan bantuan komunitas karena banyak pengembang mengatur lingkungan chroot untuk mengkompilasi kode.
Cara kedua yang saya tahu adalah menginstal dari paket deb. Anda mungkin dapat mengunduh ini dari situs web atau jika ada di repositori Ubuntu yang dapat Anda unduh.
apt-get download package
Ganti package
dengan nama paket
Setelah Anda memiliki panggilan file deb Anda dpkg
langsung dari baris perintah. Contoh berikut akan menginstal package.deb ke direktori home Anda.
dpkg -i package.deb --force-not-root --root=$HOME
Kerugian menggunakan dpkg seperti ini adalah bahwa pesan kesalahan cenderung samar; dpkg tidak secara otomatis menyelesaikan dependensi atau membuat struktur direktori yang diharapkan.
Terakhir, Anda bisa menggunakan apt-get source
perintah untuk mengambil sumber paket dan mengkonfigurasinya untuk menginstal secara lokal. Biasanya ini terlihat seperti:
apt-get source package
cd package
./configure --prefix=$HOME
make
make install
Kerugian dari pendekatan ini adalah bahwa Anda memerlukan lingkungan pengembangan yang tersedia untuk pendekatan ini untuk bekerja sama sekali, dan Anda mungkin menemukan diri Anda menyusun lusinan paket untuk menyelesaikan semua dependensi.
SUNTING:
Karena dpkg -i
tidak berfungsi (lihat komentar), saya menyarankan alternatif ini:
dpkg -x package.deb dir
Ini akan mengekstrak paket deb untuk dir. Kemudian Anda dapat mengekspor PATH di mana biner berada. Selama semua dependensi dari binary diinstal, ia harus berjalan seperti biasa.
sudo apt-get build-dep package
untuk menginstal semua yang diperlukan untuk membangun sebuah paket (setelah mendapatkan sumbernya apt-get source
).
--force-not-root --root=$HOME
atau variasi daripadanya tidak akan berfungsi. Paket biner Debian tidak dirancang untuk diinstal di direktori home, titik. Atau, dengan kata lain, "Contoh berikut ini akan menginstal package.deb ke direktori home Anda." Tidak, tidak akan.
--force-not-root --root=/your/custom/path
Saya berasumsi Anda ingin menginstal jedit . Pertama, Anda harus menemukan paket dan mengunduhnya. Saya hanya mengambil file deb dari beberapa mirror dan membuka konsol / terminal:
mkdir /tmp/jedit && cd /tmp/jedit
- Membuat direktori baru tmp
dan mengubahnya.wget http://mirrors.kernel.org/ubuntu/pool/universe/j/jedit/jedit_4.3.1.dfsg-0ubuntu1_all.deb
- Paket unduhanar x jedit_4.3.1.dfsg-0ubuntu1_all.deb
atau, mudah diketik, ar x *.deb
- ini mengekstraksi konten filetar xvzf data.tar.gz
- file data.tar.gz
memiliki semua hal yang Anda perlukan untuk menjalankan perangkat lunakusr/bin/jedit
membuka editorAnda dapat memindahkan file ke beberapa titik di direktori home Anda dan menjalankannya dari sana.
Saya menulis sebuah program bernama JuJu yang pada dasarnya memungkinkan untuk memiliki distribusi linux yang sangat kecil (hanya berisi manajer paket) di dalam direktori $ HOME / .juju Anda.
Memungkinkan sistem kustom Anda di dalam direktori home dapat diakses melalui proot dan, karenanya, Anda dapat menginstal paket apa pun tanpa hak root. Ini akan berjalan dengan baik untuk semua distribusi linux utama, satu-satunya batasan adalah JuJu dapat berjalan pada kernel linux dengan versi minimum yang direkomendasikan versi 2.6.32.
Sebagai contoh, setelah menginstal JuJu untuk menginstal jedit:
$>juju -f
(juju)$> pacman -S jedit
(juju)> jedit