新しいバイナリがソースからコンパイルされると、古いバイナリはどうなりますか?

新しいバイナリがソースからコンパイルされると、古いバイナリはどうなりますか?

パッケージマネージャを介してリポジトリからgitをインストールした後、ソースからgitをコンパイルしました。

このプロセスでは、git "from source"は "メインシステムgit"に代わるものです。

user@jeanny:~$ git --version
git version 1.8.3.2

リポジトリのgitを「メインシステムgit」に設定する方法はありますか?

ベストアンサー1

以下を実行してこれを確認できます。

$ /usr/bin/git --version

$ /usr/local/bin/git --version

現在、2つのバージョンがインストールされている可能性があり、git別のディレクトリに保存されている限り問題はありません。

新しくコンパイルされたバージョンはgitおそらくディレクトリ内のバージョンです/usr/local/bin

$PATH環境変数を使用するとgit$PATH

たとえば、

  • システムバージョンがgitデフォルトです。

    PATH=/usr/bin:/usr/local/bin
    
  • 新しくコンパイルされたバージョンがgitデフォルトです。

    PATH=/usr/local/bin:/usr/bin
    

それでは、代替案はどうでしょうか?

OPはコメントで次の質問をしました。

この図では、更新の選択肢はどこに適していますか?

代替はメカニズムです/usr/binこれにより、ソフトウェアで管理されているツールにアクセスできるリンクをディレクトリに配置して、システムが削除されたツールを統合できます。例は問題を最もよく説明しています。私のシステムでは、Javaは代替アプリケーションとして管理されています。/usr/bin/usr/bin

$ ls -l /usr/bin/java
lrwxrwxrwx. 1 root root 22 Dec 26  2010 /usr/bin/java -> /etc/alternatives/java

上記のリンクをたどるとわかります/usr/bin。これが代替として管理されているリンクであることを考慮すると、リンクがまだディレクトリの下にあるという事実は変わりません/usr/bin。だから$PATH上記のようにすれば、代替は問題になりません。

おすすめ記事