Bagaimana saya bisa menginstal versi GNU utils (coreutils) yang lebih modern di Debian Linux tanpa hak admin?

13

Saya ingin menginstal versi GNU utils (coreutils) yang lebih modern pada sistem linux debian di mana saya tidak memiliki hak admin. Apakah ada cara untuk melakukan itu?

Alasannya adalah bahwa saya memerlukan versi yang lebih modern untuk yang diinstal di sistem di mana saya bermaksud untuk menjalankan analisis saya. Saya mencoba menggunakan "sort -R" atau "shuf" untuk mengacak garis dalam file teks besar.

719016
sumber
1
Tidak mungkin. Mengapa Anda ingin melakukan ini?
Michael K
4
Alasannya adalah bahwa saya memerlukan versi yang lebih modern untuk yang diinstal di sistem di mana saya bermaksud untuk menjalankan analisis saya. Saya mencoba menggunakan "sort -R" atau "shuf" untuk mengacak garis dalam file teks besar.
719016

Jawaban:

16

Anda tidak dapat menginstalnya dalam arti bahwa mereka menimpa yang sudah ada untuk semua pengguna sistem, tetapi Anda dapat mengkompilasi dan menginstalnya di direktori home Anda dan mengonfigurasi Anda PATHsedemikian rupa sehingga mereka dijalankan alih-alih yang sistem.

Untuk melakukannya, unduh versi coreutils terbaru dari situs web GNU . Kemudian, ekstrak arsip dan cdke dalamnya, dan jalankan perintah berikut untuk mengkompilasi dan menginstalnya. Perhatikan --prefixsakelar yang memungkinkan Anda mengonfigurasi direktori tempat Anda ingin menginstalnya.

./configure --prefix=/home/avilella/coreutils/
make
make install

Sebagian besar sistem Debian dikonfigurasi untuk secara otomatis ditambahkan ~/binke PATH Anda. Jika demikian, Anda dapat menyalin utilitas ke direktori itu. Namun, itu mungkin tidak dikonfigurasi untuk menjalankan executable dari direktori itu sebelum mencari direktori sistem, atau Anda mungkin lebih suka menyimpannya di direktori mereka sendiri. Dalam hal ini, Anda perlu mengedit Anda ~/.profileuntuk mencari direktori itu sebelum mencari yang sistem. Untuk melakukannya, tambahkan baris seperti ini:

PATH="$HOME/coreutils/bin:$PATH"

Jika Anda lebih memilih untuk tidak kompilasi mereka, Anda juga bisa mengambil mereka dari paket Debian yang lebih baru dengan menggunakan ar vxpada .debfile output data.tar.gztarbal dengan isi kemasan. Tetapi paket yang lebih baru mungkin memerlukan pustaka yang lebih baru tidak ada di sistem Anda.

Tambalan
sumber
3
In PATH=..., double atau no quote harus digunakan. Menggunakan tanda kutip tunggal akan menyebabkan literal $HOMEdan $PATHdimasukkan, bukan nilainya.
user1686
@grawity: Wow, kesalahan bodoh, terutama mengingat bahwa saya telah mengalami kerusakan otak oleh penanganan string PHP yang sama sejak lama. Terima kasih untuk perbaikannya!
Tambalan