Ada server yang saya kerjakan, menjalankan versi Linux yang lebih lama. Saya tidak memiliki akses root ke sistem, jadi saya ingin membangun versi yang lebih baru dari alat yang saya gunakan banyak (Vim 7.3). Saya pikir saya hanya akan membangun dan menginstalnya di ~ / bin. Namun, ini membutuhkan file pengembangan ncurses yang tidak diinstal di seluruh sistem. Saya menemukan rpm ncurses-devel, dan mengekstrak folder 'lib' dan 'include', di mana saya akan meletakkannya dan bagaimana saya memberi tahu skrip ./configure untuk menemukannya sehingga saya dapat mengkonfigurasi dan membuat paket secara lokal?
Sunting: Saya akhirnya mengatasi ini dengan menginstal OS yang identik di Virtualbox, dan membangun paket di sana dan menyalin di atas binari.
Jawaban:
Saya melakukan ini cukup sering di pekerjaan terakhir saya - solusi yang tampaknya bekerja paling baik adalah membuat direktori ~ / usr, dan menggunakan argumen --prefix untuk mengarahkan skrip ./configure ke arah yang benar. Inilah langkah-langkahnya:
./configure --prefix=/home/<username>/usr
Pengaturan ini bekerja untuk saya pada sebagian besar situasi di mana saya perlu membangun sesuatu di ruang pengguna. Bagian tersulit biasanya menemukan dan membangun semua dependensi yang Anda butuhkan, tetapi itu hanya membutuhkan beberapa googling atau penggunaan yang bijaksana dari fungsionalitas 'dapatkan sumber' dari manajer paket Anda.
sumber
${HOME}
alih-alih~
di semua panggilan ekspor saya, dan kemudian pkg-config senang dan dapat menemukan pengguna saya menginstal pustaka dan paket.Biasanya Anda harus dapat mengkonfigurasi ulang dan mengubah kode untuk menentukan lokasi baru di direktori home Anda atau jalur lain untuk semua perpustakaan dan program ...
Tapi, IMHO, cara termudah (jika Anda memiliki banyak ruang) adalah menggunakan chroot di subdirektori dengan semua distro linux terpasang di dalamnya. Tentu saja sebagai pengguna biasa Anda tidak dapat menggunakan chroot , tetapi Anda dapat menggunakan alat-alat hebat ini: fakechroot dan fakeroot
Untuk membuat sistem file chroot, saya ingin menggunakan direktori dengan Debian (atau turunan Debian seperti ubuntu) menggunakan utilitas debootstrap .
Jadi prosedurnya mudah (saya tidak akan memasukkan rincian teknis, baca manual perintah):
Jika Anda membutuhkan detail lebih lanjut, saya pikir saya punya skrip di suatu tempat untuk melakukan semua ini.
sumber
Solusi lain untuk masalah ini adalah menggunakan Gentoo Prefix, seperti yang dilakukan pengguna MacOSX dan platform lainnya (solaris, AIX):
http://www.gentoo.org/proj/en/gentoo-alt/prefix/
Ini akan mengkompilasi tumpukan Gentoo (dengan portage) di lokasi $ PREFIX. Ini menggunakan paket Gentoo, sebagian besar paket mendukung penggunaan pengaturan ini.
Portage akan melacak semua dependensi, Anda akan memiliki versi terakhir dari perangkat lunak, ini telah diuji oleh komunitas ...
sumber
Jika
prefix=/home/foo/usr
tidak berhasil, coba:sumber