Cara yang tepat untuk membangun dari sumber

12

Saya masuk sebagai pengguna biasa. Haruskah saya menggunakan:

./configure && make && make install

atau

sudo ./configure && sudo make && sudo make install

atau

./configure && make && sudo make install

saat menginstal paket.

Dan bisakah seseorang menjelaskan perbedaannya.

Saya ingin semua pengguna dapat menggunakannya.

8k_of_power
sumber
Bahkan lebih baik ... unix.stackexchange.com
mxmissile
1
Anda harus menginstal perangkat lunak dari repositori atau PPA ubuntu. Jika Anda mengalami sesuatu yang belum dikemas, silakan mempertimbangkan untuk memulai PPA Anda sendiri. Dengan cara ini Anda akan menjaga sistem Anda tetap bersih, akan menyediakan paket untuk orang lain juga dan bonus gratis pada akhirnya akan mendapatkan lebih banyak penguji.
vtest

Jawaban:

15

Versi 3 Anda benar ./configure && make && sudo make install,. Membuat dan mengonfigurasi dapat dilakukan sebagai pengguna biasa karena Anda tidak mencoba menulis file di direktori sistem, make installakan sering mencoba menyalin binari ke / usr / bin atau / bin yang memerlukan akses root untuk menulis.

Benn
sumber
... dan yang tidak boleh dituliskan karena kontennya dikelola oleh manajemen paket.
reinierpost
2
Anda bahkan mungkin melangkah lebih jauh untuk membuat pengguna local, kemudian mengeluarkan chown -R local /usr/localdan menginstal perangkat lunak menggunakan sudo local make installsehingga Anda akan diperingatkan ketika sebuah paket menulis di tempat lain daripada di bawahnya /usr/local(yang dapat mengacaukan manajemen paket Anda).
reinierpost
Jika paket dibangun sesuai dengan standar pengkodean gnu, mentah 'configure && make && sudo make install' hanya akan menginstal di / usr / local, dan bukan di / usr / bin atau / bin.
William Pursell
4

Anda memerlukan versi terakhir:

./configure && make && sudo make install

Konfigurasikan dan buat dapat terjadi di folder lokal Anda, tetapi Anda akan memerlukan izin root untuk menginstal. Perintah itu mencapainya.

Pastikan aplikasi yang Anda instal belum ada dalam manajer paket. Biasanya lebih mudah menggunakan perangkat lunak yang sudah dikompilasi untuk sistem Anda daripada mencoba menemukan semua dependensi untuk mengkompilasi sesuatu.

Cfreak
sumber
2

Anda harus menggunakan hak istimewa paling tidak yang berfungsi. Itu biasanya:

./configure && make && sudo make install
Mark Byers
sumber
2

Opsi nomor 3:

./configure

make

sudo make install
Justin Niessner
sumber
2

&& diuraikan oleh shell asli Anda. Meletakkan satu sudo di depan hanya memengaruhi konfigurasi. Opsi terakhir paling masuk akal, karena itu akan mengkonfigurasi dan mengkompilasi sebagai pengguna biasa dan kemudian menginstal hasilnya untuk semua orang untuk digunakan.

Satu peringatan adalah bahwa beberapa skrip konfigurasi akan mendeteksi bahwa mereka berjalan sebagai pengguna non-root dan membuat makefile yang menginstal ke $ HOME atau serupa. Dalam hal ini, Anda juga ingin 'sudo ./configure'. Jika Anda menjalankan konfigurasi atau menjadikannya root, Anda akan memiliki gangguan pada beberapa file yang dimiliki root di direktori pengguna biasa Anda.

Ben Jackson
sumber
2

Alih-alih sudo melakukan instalasi, Anda harus menggunakan sudo checkinstall

Dengan cara ini, program yang diinstal dikenali oleh manajemen paket dan Anda dapat menghapusnya lagi, jika Anda tidak lagi membutuhkannya.

https://help.ubuntu.com/community/CheckInstall

pengguna54114
sumber