ライブラリをインストールしてソースからコンパイルした後、make install
これが/usr/local/
悪い考え(ファイルの競合など)であることを発見して作業を元に戻したいと思います。このパッケージは提供されていませんmake uninstall
。オペレーティングシステム全体を再インストールしなくてもこれは可能ですか?現在、オペレーティングシステムTumbleweedを実行しています。
答え1
はい、これを行うにはいくつかの方法があります(OSが独自の目的で使用されている場合(たとえば、* BSDがそれをパッケージまたはポートのターゲットとして使用する場合)、より複雑になる可能性があり、インストール/usr/local
によって/usr/local
実際にベンダーがハングする(提供されたファイルがあるベンダーファイルを置き換えないでください/usr
...)
/usr/local
ライブラリによってインストールされた既知のファイルと変更時間がほぼ同じファイルをドリルダウンします。make install
どのファイルが嫌がらせされたかを記録することをやり直してください。strace -o installlog -e trace=file -ff make install
その後、見つかったファイルを横に移動できます(ほとんどとlib
bin
ディレクトリinclude
の下のファイル)。make install
ベンダーから提供されたファイルを変更または置き換える場合は、元のファイルを復元するために特定のパッケージを再インストールする必要があります。
(大規模なカスタムバージョンのソフトウェアをインストールする場合は、ベンダーの管理スペースの外(ホームディレクトリなど)にあるソフトウェアリポジトリを使用する方法を学ぶのが役立ちます。)
答え2
あなたはあなたのソフトウェアを使用しますかautotools
?その場合は、標準のターゲット以外の場所にインストールを設定できます。
./configure --prefix=/somewhere/else/than/usr/local
最良の結果を得るには、この目的のために最初に作成された空のディレクトリを使用してください。これにより、インストールしたすべてのファイルが表示され、リストに移動して内部からファイルを削除できます/usr/local
。これらのファイルが多い場合は、スクリプトを使用してこのプロセスを自動化できます。
そうでない場合でも、ターゲットがハードコードされていない限り、ソフトウェアMakefileを使用して同様の操作を実行できます。
autotools
通常使用可能なmake uninstall
ため、ソフトウェアで使用できない場合がありますautotools
。
通常、ローカルインストールは問題になる可能性があります。部分的にはすでに発見した理由による。ローカルインストールは追跡が難しく、既存のファイルを上書きできます。常にオペレーティングシステムまたはディストリビューションに適したバイナリパッケージを見つけてください。ローカルでのインストールは最後の手段と見なすべきです。単純なソフトウェアでは、バイナリパッケージを作成するのは難しくなく、これを行うのに役立つツールがあります。