ソースからインストールされたgitをアンインストールする方法は?[閉まっている]


21

この記事を使用してgitをインストールしました。次に、gitをアンインストールします。どうやってするの?


1
ダウンロードして使用したソースコードはまだありますmake installか?
ヘネス

はい、ソースコードを持っています
ミハイル

'make uninstall'の出力は何ですか?すべてのMakefileにこのオプションがあるわけではありませんが、多くのMakefileにはあります。
ヘネス

1
make:***ターゲットを「アンインストール」するルールはありません。やめる。
ミハイル

1
なぜ-1ですか?説明
ミハイル

回答:


15

ここで解決策を見つけました。

2012年2月11日に更新

Gitを構成する際に/ opt / gitなどの特定の階層にインストールされるように、十分に賢く非標準のプレフィックスを使用した場合は、その階層を再帰的に削除してください。

そうでない場合は、次のようにすることができます。

1)ビルドしてインストールしたバージョンのソースtarballを取得して、展開します。

2)インストール場所(prefix、exec-prefixなど)に関して、元のインストールで行ったとおりに設定します。おそらく、何もオーバーライドしないでください。

3)次のように、インストールを実行する一時ディレクトリを作成します。$ mkdir / var / tmp / git

4)作成する適切なDESTDIR変数を渡してGitをインストールします。$ make DESTDIR = / var / tmp / git install Git階層は、その一時ディレクトリの下に作成されます。

5)作成された階層を使用して、実際の階層(「/」自体)の下で削除するファイルを決定します。

最後のステップは、「魔法」が発生する場所であるため、より多くの説明が必要です。たとえば、次を実行できます

$ find /var/tmp/git -type f -printf '/%P\n' | xargs -n 10 rm -f

(rootとして)最初の誤ったインストールでインストールされたファイルをルートファイルシステムに削除します。上記の説明では、/ var / tmp / git階層を使用して、見つかったファイルのリストを出力しますが、それらの「/ var / tmp / git」プレフィックスを「/」に置き換え、「/ var / tmp / git出力の/ usr / bin / git」は、「/ usr / bin / git」としてリストされます。次に、このリストがパイプされxargsrm 、10個のパックで読み取られるファイル名で実行されます(呼び出し回数をrm1桁減らすため)。

ファイルを処理した後、実行します

$ find /var/tmp/git -type d -printf '/%P\n'

インストールされているディレクトリのリストを検査します。これらは手動のアプローチを必要とするので、生成されたリストを見て、それらのうちrmdirシステムから安全にできるものを考えてください(これらは「/ usr / libexec / git」などのディレクトリになります。おそらく削除したくないでしょう。 「/ usr / share / man / mann」または何かが空であっても)。

PS将来的に、実行してシステムに何かをインストールする ことはありませんmake install!最近のほとんどのメイクファイルは、テスト用のプライベートスクラッチ場所へのインストールまたはパッケージ(.rpm、.debなど)の作成に使用されるため、「アンインストール」ターゲットをサポートしません。その後、パッケージマネージャーがクリーンアップを処理します。何かをインストールする必要がある場合は、公式パッケージを見つけるか、使用可能な場合はOSの最新バージョンから別の公式パッケージをバックポートしてみてください。最後の手段として、実行checkinstallからバイナリパッケージを作成しようとするツールを使用してみてくださいmake install。これはひどいですが、それでもむき出しよりはましmake installです。


そこにある詳細の一部を展開してください。ビット腐敗が発生し、それを行うと、この答えは役に立たなくなります。
sysadmin1138

OK、答えを更新しました
ミハイル

尊敬。それは動作します
ドットスラッシュ

要約:./configuresudo make && sudo make DESTDIR=/var/tmp/git installsudo find /var/tmp/git -type f -printf '/%P\n' | sudo xargs -n 10 rm -f
ヴァヒド

3

Makefileの2691行を調べました。確かに、make uninstallはありません。ドラット。

その場合、回避策はmake rpmオプションを使用することです。rpmをインストールします(インストールされているすべてのファイルを上書きします。これは、既にインストールされているファイルと同じである必要があります)。次に、rpmを削除します。

将来のすべてのケースで、パッケージ(RPM、yumなど)をビルドします。メンテナンスがとても簡単になります。


1
ただし、通常make installは接頭辞を使用します/usr/localが、rpm / deb / your-package-here ./configureは異なるパラメータで実行されるため、インストールするファイルはprefixになります/usr
ptman

私はCentOSの初心者です。どのコマンドを実行する必要がありますか?詳細を教えてください
ミハイル

make rpmコマンドを実行しました。次はどうすればいいですか?
ミハイル

man rpmまたはで始め'rpm --helpます。おそらくを使用するように指示しますrpm -i packagename.rpm。ただし、アンブレラWebのシステム管理者に問い合わせることをお勧めします。遠くからできることはそれだけです。
ヘネス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.