buat perintah untuk menginstal di linux berikan direktori

-1

Saya ingin menginstal bedtools (yaitu, kode sumber c ++ untuk memanipulasi jenis file tertentu). Untuk menginstalnya instruksi instalasi mengatakan untuk mengunduh file tar, untar file, buka direktori file untar, dan kemudian ketik make.

Petunjuk instalasi adalah sebagai berikut:

curl http://bedtools.googlecode.com/files/BEDTools.<version>.tar.gz > BEDTools.tar.gz
tar -zxvf BEDTools.tar.gz
cd BEDTools
make clean
make all
sudo cp bin/* /usr/local/bin/

Tetapi bagaimana saya bisa memberinya awalan sehingga saya bisa menginstalnya di direktori tertentu?

Saya tahu saya bisa google dan mencoba untuk mendapatkan jawaban tetapi karena saya menginstal perangkat lunak saya lebih suka bertanya dan memastikan saya menjalankannya dengan benar tanpa risiko tidak tahu di mana saya menginstalnya, dll.

Saya mencoba membuat --prefix tetapi awalan bukan opsi. Saya terbiasa menggunakan configure, make, make install tetapi perangkat lunak ini mengatakan hanya diinstal dengan make.

Terima kasih!

Dnaiel
sumber
dapatkah Anda memberikan tautan ke instruksi dan / atau file tar mereka?
Karthik T
Tanyakan pada milis atau forum proyek tertentu itu, atau pelajarilahMakefile
Basile Starynkevitch

Jawaban:

1

Bagian terakhir dari proses instalasi adalah menyalin binari ke lokasi yang ada di jalur pencarian shell Anda. Anda dapat mencari tahu tentang jalur pencarian dengan mengetik echo $PATH. Bagi saya itu:

$ echo $PATH
/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/texbin:/usr/X11/bin

Ini berarti, bahwa ketika saya mengetik nama program ke dalam shell, itu pertama-tama akan melihat /opt/local/binapakah perintah dapat ditemukan di sana, kemudian di /opt/local/sbin, dll. Jika saya ingin melihat di folder rumah saya, saya akan mengeluarkan perintah berikut:

PATH=$PATH:~/bin # search my personal bin folder last

atau

PATH=~/bin:$PATH # search my personal bin folder first

Perubahan ini akan hilang segera setelah saya keluar dari shell. Untuk memperbaikinya, saya perlu menambahkan perintah ke skrip yang dijalankan saat masuk (ini mungkin tergantung pada OS). Bagi saya (pada Mac OS X) itu adalah file (tersembunyi) .profiledi folder rumah saya, tempat saya menambahkan baris berikut:

export PATH=/opt/local/bin:/opt/local/sbin:$PATH:~/bin

The $PATHpenting untuk menjaga jalur pencarian penting di sekitar, yang telah ditetapkan. Jika Anda tidak sengaja menghapus bagian itu, Anda harus memberikan path absolut perintah Anda: seperti /bin/ls, /usr/bin/vim...

Anda dapat mengetahui tentang perintah mana yang sedang dieksekusi dengan mengetikkan which <cmd>ke shell Anda.

bjoernz
sumber
3

Garis

sudo cp bin/* /usr/local/bin

sedang menginstal binari yang dikompilasi ke /usr/local/bin. Jika Anda ingin menginstalnya di tempat lain, cukup ubah folder tujuan dalam pernyataan ini. Sebagai contoh jika Anda ingin meletakkannya di binfolder di direktori home Anda, itu akan menjadi

cp bin/* ~/bin

(Anda dapat menghilangkan sudobagian tersebut jika Anda memasang ke suatu tempat yang sudah memiliki akses tulis.)

sjs
sumber
Terima kasih! Saya tidak memiliki akses ke / usr / local / bin atau izin untuk menulis di sana atau sudo tetapi jika instalasi di bin baik, akan di dir saya sendiri.
@Ken saya katakan baik
1

Itu tergantung pada proyek tertentu.

Bagi banyak program GNU, Anda dapat mengubah tujuan dengan melewati --prefixdi configurewaktu.

Dan beberapa Makefile-s ditulis sehingga Anda bisa

  make install DESTDIR='/tmp/somedestdir'

(tapi ini mungkin tidak berfungsi jika biner memiliki beberapa jalur yang di-hardcod di dalamnya)

Basile Starynkevitch
sumber