今天在安装redis的时候发现官方的文档上没有说要执行make install,直接cd 到src 目录里面执行redis-server
文件就能启动。
而看很多别人的笔记呢,则都写了make install
,发现实际就是把src目录下的几个二进制文件复制到了系统的/usr/local/bin
下面了而已。
查了下似乎是说make install
执行的是Makefile
里面的脚本。
实际的作用也就是上面说的复制二进制文件么?
只是以redis的安装为例,主要是问安装程序时候的make install
make install
(untuk perintahmake
) secara literal bermaksud mencapai matlamatinstall
. Oleh kerana matlamat ini dipanggilinstall
, sudah tentu ia adalah untuk memasang perisian.Dalam sistem seperti UNIX, pemasangan perisian biasanya secara pilihan termasuk langkah berikut:
strip
Alih keluar simbol yang tidak diperlukan daripada fail kod binariSesetengah perisian untuk sistem seperti UNIX tidak memerlukan pemasangan Anda boleh menggunakannya secara langsung dengan melaksanakan fail boleh laku. Sesetengahnya tidak seperti ini Sebagai contoh, fail konfigurasi dan fail sumber yang diperlukan oleh perisian tidak disalin ke lokasi yang sepadan Perisian termasuk perpustakaan pautan dinamik perlu mengemas kini cache perpustakaan pautan dinamik perpustakaan pautan dinamik yang baru disusun tidak dapat ditemui, dsb. tunggu.
Dipetik daripada README rasmi:
Begitu juga,
Dipetik daripada https://github.com/antirez/redis/blob/3.0/Makefile
Tetapi ini hanya untuk melaksanakan
make install
di bawah direktori src.Selepas melihat Makefile dalam folder src/, saya melaksanakan perintah
install
dengan /usr/local/bin sebagai parameter direktori (lalai) untuk banyak perkara (sila benarkan saya tidak menyenaraikannya satu persatu).Catatan: Menambah parameter selepas make biasanya melaksanakan sasaran dalam Makefile. Contohnya,
make install
adalah untuk melaksanakan satu set arahan di bawahinstall:
dalam Makefile.Jadi apakah perintah
install
?man install
Selepas seketika, anda akan tahu:Dapatkan maklumat terperinci sendiri.