"sudo make install"でインストールされたプログラムをアップデートする方法を教えてください。 私はプログラムをアンインストールしてから "./autogen.sh"を "make" "sudo make install"を実行する必要があるかどうか尋ねています。私がプログラムを削除してからgit pull、私は単に更新されたソースを使用して再インストールすることができます。ソースから構築されたプログラムをアップデートするには
答えて
単純にマイナーアップデートすれば、再コンパイルとmake install
に行きます。
付属のライブラリファイルやヘッダーファイルに変更が加えられた場合(名前が変更されたなど)、ソフトウェアをまずアンインストールしてファイルシステム上の不要なファイルを取り除くことをお勧めします。
(通常)make uninstall
はありません。
私はこのようなソフトウェアをソフトウェアとそのバージョン番号にちなんで名付けられた別のディレクトリにインストールするのはこのためです。例えば、ソースからGNU Make 4.1をインストールする場合、それをディレクトリmake-4.1
にインストールします。
次に、関連するすべてのファイルを、私が$PATH
、$MANPATH
などで使用する共通のディレクトリツリーにシンボリックリンクします。私はそれを行うために私自身のスクリプトを使用しますが、それは私がそれを書いたときにstow
について知らなかったためです。
これにより、複数のバージョンを並べてインストールし、問題のシンボリックリンクを削除してスクリプトに追加することで、「現在の」バージョンを選択することができます。ディレクトリツリーを削除するだけで、ソフトウェアをアンインストールできます。
これは、この方法でもインストールする必要がある依存関係を持つソフトウェアでも機能します。最も難しいのは、依存関係をバージョン固有にするかどうかを決めることです。
実際には自分でインストールしたプログラムをデフォルトの場所にアンインストールするのは難しいです。非常に運が良ければmake
のuninstall
またはdeinstall
のターゲットがありますが、ほとんどの時間はありません。同じバージョンのコードをもう一度インストールし直して、実際にどこが終わっているのかを常に把握していない限り、ファイルを手作業で削除して削除するのはおそらく問題です(これは「ハンティング・ダウン」のほうがはるかに簡単です)将来的には
、あなたは違ったことを行うことを選択することがあります。GNU
configure
スクリプトを使用しています ほとんどのソースディストリビューションは、あなたが--prefix=path
を使用して、インストールのための接頭を指定することができます。これにより、別のサブディレクトリにインストールすることができます。これは削除が簡単です。
$ ./configure --prefix=/usr/local/stow/thepackage-14.4
$ make && sudo make install
(私は通常$HOME/local/stow
の下にパスを使用)
お知らせそこにstow
:たとえば
は、バージョン14.4、のは、私がThePackageと呼ばれるソフトウェアの架空の作品を設置していましょうか!正確にこれと呼ばれる純粋なユーティリティ、available from the GNU peopleがあることは偶然ではありません。例えば、/usr/local/stow/thepackage-14.4/bin
における任意の実行が/usr/local/bin
(等で利用可能であるように、上記のようにソフトウェアをインストールした後
は、.../stow/thepackage-14.4
下で、それは単に
$ cd /usr/local/stow
$ sudo stow -v thepackage-14.4
の問題だこれはシンボリックリンクを/usr/local
を移入しますアンインストールするには)
:
$ cd /usr/local/stow
$ sudo stow -D -v thepackage-14.4
$ sudo rm -rf thepackage-14.4
これもあなたが許しますいくつかのソフトウェアのいくつかのバージョンを/usr/local/stow
の下にインストールすること。特定のバージョンを「有効にする」には、使用しているバージョンがstow -D
で、テストするものはstow
となります。要件を満たしていない新しいバージョンの場合は、アクションを元に戻します。
別のビルドシステムを別のプレフィックスの下にインストールすることもできます。例えば、CMakeのは、上記のようにインストールするために、あなたはまた、Perlのパッケージとstow
を使用し、それ以外のものは何でもカスタマイズ可能なパスにインストールすることができます
$ cmake -DCMAKE_INSTALL_PREFIX=/usr/local/stow/thepackage-14.4
$ make && sudo make install
を使用しています。
- 1. ソースからKVMを構築
- 2. アクセスデータベースから構築されたDatagridview - コンボボックス
- 3. Makefile:ソースが変更された場合、ターゲットを再構築
- 4. 他のソースからのバナーバナーまたは実行時にグラデルで構築する
- 5. あらかじめ構築されたWARからのGradle EARの構築
- 6. 与えられたエッジポイントからメッシュを構築するには?
- 7. Raspbianはソースからのncursesとvimを構築します
- 8. automakeで構築されたソースの数が不明確
- 9. ソースからNginxとOpenSSLを構築する
- 10. プログラムで構築されたテーブルビューのセルにセグを使用
- 11. Fodyを2.0.0(サンプルソリューション)から2.3.1にアップデートした後、アセンブリはデバッグ情報で構築されません。
- 12. UbuntuのNumPy/Scikitは、あらかじめコンパイルされたソース(例えばAnaconda)のソースからうまく構築されていますか?
- 13. infopathから構築されたシェイプフォームは安全ですか?
- 14. ルーメンはモデルコレクションからシリアル化された構造を構築する方法?
- 15. データベースから構築された動的メニューを作成する
- 16. githubからダウンロードされたmavenプロジェクトにpom.xmlを構築するには?
- 17. OpenCVはソースからビルドされたprotobufへの未定義参照を構築します
- 18. MongoDBからフィルタリングされたレコードを含むSparkデータフレームを構築するには?
- 19. 同じ正確なソースから構築された2つの実行可能ファイルのチェックサムを比較する
- 20. XPathDocumentは構築後に構築されるメモリストリームを使用しますか?
- 21. 動的に構築されたフォームからデータを取得する方法は?
- 22. 新しく構築されたイメージからドッカーボリュームを取得するには?
- 23. Pythonでフラットなものからネストされたリストを構築するには?
- 24. クリーンインストール./mvnw私はソースから春ブートを構築しようとした
- 25. ネストされたセットを構築する
- 26. インターネットを持たずにTensorFlowをソースから構築する方法はありますか?
- 27. Windows上のソースからPDOのSQL Relayを構築するにはどうすればいいですか?
- 28. R - サブセットaプログラム式で構築されたデータフレーム
- 29. RHEL向けにあらかじめ構築されたErlang/OTP
- 30. ASPからプログラムでJ2Meアプリケーションを構築する
ありがとうございます。ですから、毎回変更をチェックして決定する必要がありますか? – Fabiuz99
@ Fabiuz99あなたはそれを複雑にしています。ちょうど 'make install'より新しいバージョンです。何か問題がある場合は、 'make uninstall'を実行して再インストールしてください。 –
私はgitでインストールされたプログラムを更新するためにスクリプトを使用していますが、単にインクルードするとプログラムをインストールまたは削除してから再インストールする必要がありません。あなたの答えから、私は第二の選択肢がより良いことを理解しています – Fabiuz99