Asumsikan saya memiliki akses ssh ke beberapa server Ubuntu sebagai pengguna dan saya perlu beberapa alat sistem tidak diinstal untuk kenyamanan (mc, rtorrent, mcedit). Saya tidak ingin repot admin untuk program kecil ini.
Apakah ada cara untuk menginstalnya (membuatnya berjalan) tanpa menggunakan sesuatu seperti sudo apt-get install
?
Jawaban:
Kompilasi dan instal ke
~/bin
(dan edit Anda.bashrc
untuk mengaturPATH
untuk memasukkannya). perpustakaan juga dapat dikompilasi dan diinstal ke dalam~/lib
(setLD_LIBRARY_PATH
to point to itu), dan header pengembangan dapat diinstal ke misalnya~/includes
.Bergantung pada perincian spesifik program yang ingin Anda instal dan perpustakaan tempat mereka bergantung, Anda dapat mengunduh file .deb dan menggunakan '
dpkg-deb -x
' untuk mengekstraknya di bawah direktori home Anda. Anda kemudian akan memiliki banyak "menyenangkan" pengaturanPATH
,LD_LIBRARY_PATH
dan lainnyavariables
. Semakin kompleks program atau aplikasi yang Anda instal, semakin banyak kesenangan yang akan Anda lakukan :)Anda tentu saja tidak akan dapat menginstal
setuid
binari dengan cara ini - mereka akan menginstal tetapi (karena Anda tidak memiliki izin untuk chew mereka untuk me-root atau mengatursetuid
bit pada mereka) mereka hanya akan menjadi binari normal yang dimiliki oleh Anda .Demikian pula, daemon dan layanan sistem yang berharap untuk berjalan sebagai tertentu
UID
atau memiliki kemampuan untuk mengubah uid, atau mengharapkan file berada dalam/etc
agak~/etc
dan sebagainya tidak mungkin berfungsi dengan baik, jika sama sekali.Kebanyakan sysadmin akan mempertimbangkan
mc
danmcedit
menjadi "tidak berbahaya", program tidak berbahaya.Namun, sangat sedikit yang menganggap menginstal klien torrent tidak berbahaya, terutama jika mereka harus membayar bandwidth atau akhirnya menjadi tanggung jawab hukum. Sebagian besar sysadmin mungkin tidak akan sepenuhnya bahagia bagi pengguna akhir untuk menginstal perangkat lunak seperti itu tanpa izin. Mereka mungkin mengatakan "yakin, silakan, hancurkan dirimu" atau mereka mungkin tidak ... tetapi Anda harus bertanya tentang apa pun yang dapat menyebabkan masalah bagi pemilik / administrator mesin.
sumber
LD_LIBRARY_PATH
adalah peretasan jahat . Apakah ini berlaku di sini juga, atau apakah saya salah paham?dpkg-deb -x
ke direktori lokal). Bekerja seperti pesona. Saya tidak perlu melakukanLD_LIBRARY_PATH
peretasan. Bahkan jika saya harus melakukannya, saya akan melakukannya di baris perintah yang sama agar tidak mempengaruhi pengaturan global (misalnya$ LD_LIBRARY_PATH=/home/usr1/zoom/opt/zoom:/home/usr1/zoom/opt/zoom/zoom ZoomLauncher
).Anda perlu mengkompilasi ini dari sumber. Seharusnya hanya masalah
Biner kemudian akan ditempatkan di
~/myapps/bin
. Jadi, tambahkanexport PATH="$HOME/myapps/bin:$PATH"
ke.bashrc
file Anda dan muat ulang.bashrc
file dengansource ~/.bashrc
. Tentu saja, ini mengasumsikan bahwa gcc diinstal pada sistem.sumber
Anda dapat menggunakan JuNest , yang menciptakan wadah Linux kecil di direktori pengguna, tempat Anda dapat menginstal paket apa pun.
sumber
Saya menghadapi masalah yang sama, di sini adalah bagaimana saya cepat memperbaikinya, dengan asumsi Anda memiliki server linux dengan OS dan arsitektur yang sama.
Instal perangkat lunak pada sistem yang Anda kontrol
Temukan contoh yang dapat dieksekusi
which python
dan salin ke~/
Salin perpustakaan dengan:
Transfer yang dapat dieksekusi dan perpustakaan ke sistem lain di mana Anda hanya memiliki hak istimewa lokal, kemudian jalankan yang berikut:
Ini akan membuat folder
~/lib
untuk menyimpan perpustakaan, menambahkannya ke jalur Anda, dan memberi tahu LD untuk melihat perpustakaan di sana, jadi tambahkan saja berkas executable dan perpustakaan di sana, sekarang Anda dapat menjalankannya seperti yang Anda inginkan di tempat lainIni mungkin sangat retas, tetapi sangat portabel, cepat, dan saya belum menemukan sesuatu yang tidak dapat saya jalankan dengan cara itu, tentu saja, perangkat lunak tidak dapat mencoba melakukan hal-hal yang memerlukan akses root, seperti mengikat ke port yang lebih rendah dari 1024, dll.
sumber
Saya mengalami masalah yang sama seperti Anda. Saya belum mencobanya tetapi tampaknya Linuxbrew dapat membantu dalam masalah ini.
sumber