centos - make install到底做什么操作?
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-04-25 09:01:08
0
2
1104

今天在安装redis的时候发现官方的文档上没有说要执行make install,直接cd 到src 目录里面执行redis-server文件就能启动。
而看很多别人的笔记呢,则都写了make install,发现实际就是把src目录下的几个二进制文件复制到了系统的/usr/local/bin下面了而已。
查了下似乎是说make install执行的是Makefile里面的脚本。
实际的作用也就是上面说的复制二进制文件么?
只是以redis的安装为例,主要是问安装程序时候的make install

曾经蜡笔没有小新
曾经蜡笔没有小新

全員に返信(2)
给我你的怀抱

make install (make コマンドの場合) は、文字通り install の目標を達成することを意味します。この目標は install と呼ばれているため、もちろんソフトウェアをインストールすることです。 make install (对 make 命令来说)字面意思就是达成 install 这个目标。这个目标既然叫 install,当然是执行软件的安装了。

类 UNIX 系统中,软件的安装通常可选地包含以下步骤:

  • 将文件复制到相应的目录下
  • strip
  • UNIX のようなシステムでは、通常、ソフトウェアのインストールにはオプションで次の手順が含まれます:
  • ファイルを対応するディレクトリにコピーします
  • strip はバイナリ コード ファイルから不要なシンボルを削除します

人間文書と情報文書を圧縮

🎜ソフトウェアのニーズに応じて、さまざまなインデックス、mandb、情報インデックス、ダイナミックリンクライブラリキャッシュ、ソフトウェア独自のドキュメントディレクトリなどを更新します🎜 🎜 🎜一部の UNIX 系システム ソフトウェアはインストールが不要で、実行可能ファイルを実行することで直接使用できます。たとえば、ソフトウェアに必要な設定ファイルやリソース ファイルが対応する場所にコピーされていない場合は、ダイナミック リンク ライブラリのキャッシュを更新する必要があります。そうしないと、エラーが発生します。コンパイルしたばかりのダイナミック リンク ライブラリが見つからないなど、お待ちください。 🎜
いいねを押す +0
伊谢尔伦

公式 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 すれば次のことが分かります:

🎜このインストールでは、ファイル (通常はコンパイル済みのファイル) が選択した宛先にコピーされます。 🎜 🎜 🎜詳しい情報については、ご自身で入手してください。 🎜
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート