Jawaban:
Hindari membuat pemasangan lokal ke direktori sistem. Direktori sistem misalnya /usr
, dicadangkan untuk digunakan sistem manajemen paket. Menurut definisi, jika Anda melakukan make install
itu berarti Anda membuat instalasi lokal, dan jika Anda perlu melakukan sudo make install
itu berarti Anda tidak memiliki izin ke mana pun Anda menulis.
Jadi, jika Anda mendapatkan kesalahan izin dengan make install
, periksa dan lihat apakah Anda mencoba untuk menginstal ke direktori sistem, dan menginstal ke dalam /usr/local
atau yang serupa. /usr/local
dicadangkan untuk instalasi lokal. Anda mungkin perlu memberi izin pada diri sendiri untuk menulis /usr/local
, tetapi ini biasanya mudah dilakukan. Di Debian ini dapat dilakukan dengan menambahkan diri Anda ke staff
grup. Lebih baik lagi, cari atau buat paket biner, dan instal saja. Dengan begitu Anda dapat dengan mudah melacak paket yang diinstal dan mendapatkan manfaat lain dari manajemen paket.
Perhatikan bahwa sistem manajemen paket sebaliknya tidak menginstal ke /usr/local
, sesuai FHS. Lihat Bagian 9.1 dari Manual Kebijakan Debian - Hirarki sistem file untuk tinjauan umum.
Berikut ini ikhtisar dasar dari perintah tersebut:
Karena perintah sudo menjalankan perintah yang Anda berikan sebagai root, itu berarti bahwa perintah make memiliki hak pengguna-super. Ini berarti bahwa jika makefile berbahaya, atau salah satu skrip yang disebutnya berbahaya, maka itu dapat membahayakan sistem Anda.
Singkatnya, jika Anda tidak mempercayai perangkat lunak, jangan instal. Jika Anda mempercayai perangkat lunak, menjalankannya sebagai root seharusnya tidak menyakiti apa pun.
catatan:
sudo make install
sama seperti su; make install
pada kebanyakan kasus.
Seperti yang telah dijawab di atas, sudo make install
Anda dapat menginstal file dalam direktori yang hanya dapat dibaca oleh Anda sebagai pengguna.
Masalah yang dapat saya perkirakan adalah bahwa di kemudian hari Anda mungkin ingin menghapus atau meningkatkan program. Jika Anda masih memiliki pohon kode sumber direktori maka make uninstall
akan menghapus program untuk Anda tetapi jika, seperti banyak pengguna biasa lainnya, Anda telah menghapus pohon direktori kode sumber maka Anda kurang beruntung. Dan karena Anda belum menginstal program menggunakan sistem manajemen paket, Anda mungkin juga tidak dapat menghapus instalasi program dengan cara itu.
Cara terbaik untuk menginstal program semacam itu adalah dengan menginstalnya di direktori home Anda. Lewati pilihan --prefix=/home/<user>/<some>/<directory>
ke ./configure
. Ini akan memungkinkan Anda untuk menggunakan make install
alih-alih sudo make install
karena /home/<user>/<some>/<directory>
dapat ditulis oleh Anda. Penghapusan instalasi juga mudah -rm -rf /home/<user>/<some>/<directory>