今天在安装redis的时候发现官方的文档上没有说要执行make install,直接cd 到src 目录里面执行redis-server
文件就能启动。
而看很多别人的笔记呢,则都写了make install
,发现实际就是把src目录下的几个二进制文件复制到了系统的/usr/local/bin
下面了而已。
查了下似乎是说make install
执行的是Makefile
里面的脚本。
实际的作用也就是上面说的复制二进制文件么?
只是以redis的安装为例,主要是问安装程序时候的make install
给我你的怀抱2017-04-25 09:03:08
make install
(make
コマンドの場合) は、文字通り install
の目標を達成することを意味します。この目標は install
と呼ばれているため、もちろんソフトウェアをインストールすることです。 make install
(对 make
命令来说)字面意思就是达成 install
这个目标。这个目标既然叫 install
,当然是执行软件的安装了。
类 UNIX 系统中,软件的安装通常可选地包含以下步骤:
strip
strip
はバイナリ コード ファイルから不要なシンボルを削除します人間文書と情報文書を圧縮
🎜ソフトウェアのニーズに応じて、さまざまなインデックス、mandb、情報インデックス、ダイナミックリンクライブラリキャッシュ、ソフトウェア独自のドキュメントディレクトリなどを更新します🎜 🎜 🎜一部の UNIX 系システム ソフトウェアはインストールが不要で、実行可能ファイルを実行することで直接使用できます。たとえば、ソフトウェアに必要な設定ファイルやリソース ファイルが対応する場所にコピーされていない場合は、ダイナミック リンク ライブラリのキャッシュを更新する必要があります。そうしないと、エラーが発生します。コンパイルしたばかりのダイナミック リンク ライブラリが見つからないなど、お待ちください。 🎜伊谢尔伦2017-04-25 09:03:08
公式 README からの抜粋:
リーリーデフォルト設定で Redis を実行するには、次のように入力するだけです:
同様に、
リーリーRedis バイナリを /usr/local/bin にインストールするには、次を使用します:
を使用したい場合は、「make PREFIX=/some/other/directory install」を使用できます
目的地が違います
https://github.com/antirez/redis/blob/3.0/Makefileより抜粋
リーリーただし、これは src ディレクトリで make install
を実行するだけです。 make install
。
看了那个src/文件夹下的Makefile,就是对许多东西(请允许我不一一列举),以/usr/local/bin为目录参数(默认情况)执行install
命令。
备注: make后面加一个参数,一般是执行Makefile中的某个目标。比如make install
就是执行Makefile中install:
下面的一组命令。
那么install
命令是什么呢?man install
src/ フォルダー内の Makefile を確認した後、ディレクトリ パラメーター (デフォルト) として /usr/local/bin を指定して install
コマンドを実行して、多くのことを実行しました (それらを 1 つずつリストしないことをお許しください) 1つ)。
備考: 通常、make の後にパラメータを追加すると、Makefile 内のターゲットが実行されます。たとえば、make install
は、Makefile のinstall:
にある一連のコマンドを実行します。それでは、
install
コマンドとは何ですか?
man install
すれば次のことが分かります: 🎜このインストールでは、ファイル (通常はコンパイル済みのファイル) が選択した宛先にコピーされます。 🎜 🎜 🎜詳しい情報については、ご自身で入手してください。 🎜