web-dev-qa-db-ja.com

Windows 7からcygwinを完全にアンインストール/削除する方法

Cygwinを完全にアンインストール/削除するにはどうすればいいですか? C:\ cygwinを削除するのと同じくらい簡単だとは思わない。たぶんレジストリを変更する?

61
Mohit Deshpande

開発者はソフトウェアを削除する方法についてかなり 詳細な指示 を与えます:

Cygwinをすべてアンインストールするにはどうすればよいですか?

セットアップには自動アンインストール機能はありません。 Cygwinをすべて削除するための推奨方法は次のとおりです。

  1. Cygwinサービスが実行されている場合は、そのすべてのサービスについて http://cygwin.com/faq/faq.html#faq.setup.uninstall-service の手順を繰り返して削除します。インストールされています。インストールされている可能性がある一般的なサービスはsshd, cron, cygserver, inetd, Apache, postgresql,などです。

  2. X11サーバーが稼働している場合は停止し、バックグラウンドで稼働している可能性があるCygwinプログラムをすべて終了します。コマンドプロンプトを終了し、Cygwinプロセスが残っていないことを確認します。注:後で再インストールするためにマウントポイントを保存する場合は、まず http://cygwin.com/cygwin-ug-net/using-utils.html#mountの説明に従って、mount -mの出力を保存してください。 .

  3. Cygwinのルートフォルダとすべてのサブフォルダを削除します。オブジェクトが使用中であるというエラーが発生した場合は、すべてのサービスを停止し、すべてのCygwinプログラムを閉じたことを確認してください。 'Permission Denied'エラーが表示された場合は、エラーの原因となっているファイルまたはフォルダのアクセス許可や所有権を変更する必要があります。たとえば、システムサービスによって使用されるファイルは、SYSTEMアカウントによって所有され、通常のユーザーによっては書き込み不可能になることがあります。

    この問題が発生した場合にツリー全体を削除する最も簡単な方法は、すべてのファイルとフォルダの所有権を自分のアカウントに変更することです。 Windowsエクスプローラでこれを行うには、Cygwinのルートフォルダを右クリックし、[プロパティ]、[セキュリティ]タブの順に選択します。 Windows XP HomeまたはSimple File Sharingを使用している場合は、セーフモードで起動して[セキュリティ]タブにアクセスする必要があります。 [詳細設定]を選択し、[所有者]タブに移動して、自分のアカウントが所有者として表示されていることを確認します。 [サブコンテナとオブジェクトの所有者を置き換える]チェックボックスをオンにして、[OK]を押します。エクスプローラが変更を適用した後は、1回の操作でツリー全体を削除できるはずです。 Cygwinでは、chown -R user /と入力するか、CACLS.EXEなどの他のツールを使用してこれを実現することもできます。

  4. デスクトップとスタートメニューのCygwinのショートカットと、setup.exeによってダウンロードディレクトリに残ったものをすべて削除します。ただし、Cygwinを再インストールする場合は、ダウンロードしないでキャッシュに残っているパッケージを再インストールできるので、setup.exeのダウンロードディレクトリを保持することをお勧めします。

  5. システムパスにCygwinを追加した場合は、Cygwinを同じ場所に再インストールする予定がない限り、削除する必要があります。同様に、CYGWIN環境変数をシステム全体に設定し、再インストールする予定がない場合は、それを削除する必要があります。

  6. 最後に、徹底的にやりたいのなら、Software\CygwinHKEY_LOCAL_MACHINEの下のレジストリツリーHKEY_CURRENT_USERを削除することができます。ただし、上記の指示に従えば、重要なものはすべて削除されているはずです。通常、インストールディレクトリのみがレジストリに格納されています。

54
John T

実はそれはむしろ…簡単でした。ちょっとこれをしてください...

takeown /f C:\cygwin /r /d y
icacls c:\cygwin /t /grant everyone:F
del c:\cygwin

それを右クリックして削除します。それは消えます。

以下の手順に従ってください。

  1. C:\>takeown /r /d y /f cygwin
  2. C:\>icacls cygwin /t /grant Everyone:F
  3. C:\cygwin\bin>.\cygrunsrv.exe -E sshd
  4. C:\cygwin\bin>.\cygrunsrv.exe -R sshd

その後、フォルダc:\cygwinとそのすべてのサブフォルダを削除します。このアプローチは私には役に立ちました。

takeownのようなwindowsコマンドはロケールに依存することに注意してください。すなわち、オプション/d yは英語のシステムでのみ機能します。ドイツのシステムでは/d jを使う必要があります(英語のヘルプにはヒントがありません。* facepalmMicrosoft)*

14
Radhakrishna

私は勝利7の中から可能なすべてを試みた後勝利7でこれをしました(注意...私はCygWinを削除するより簡単にルートキットを無効にすることができました!!)

  1. C:\>takeown /r /d y /f cygwin

    1つのフォルダでしか動作しませんでした( 'var'と思います)

  2. C:\>icacls cygwin /t /grant Everyone:F

    働いた

  3. C:\>takeown /r /d y /f cygwin

    このコマンドを繰り返すことは、上記の(2番目の)コマンドの後でうまくいきました。

  4. C:\cygwin\bin>.\cygrunsrv.exe -E sshd

    アクセスを拒否しました

  5. C:\cygwin\bin>.\cygrunsrv.exe -R sshd

アクセスを拒否しました

しかし、私はそれからWindowsエクスプローラに行き、C:\ Cygwinフォルダを削除(リサイクル)してそれはうまくいった。完全になくなりました。

上記の記事に感謝します。これが誰かに役立つことを願っています。

5
Peter

Cygwinインストーラーを起動し、パッケージビューアーに移動して、カテゴリとしてビューを選択し、アンインストールとしてインストールタイプを選択します...完了。

Cygwinフォルダの削除に問題があり、ディレクトリ構造全体を調べて各サブフォルダを削除しました。これは本当に痛いですが、他の選択肢はありません。

1

Luigiの答え に加えて、

icacls c:\cygwin /t /grant everyone:F

ローカライズされたWindowsでは、 "everyone"という名前のセキュリティグループはありません。グループ名を対応するSIDに置き換える必要があります。

icacls cygwin /t /grant "*S-1-1-0":F

より多くのSIDはここ です

1

まあ、それはどれもうまくいきませんでした、それで、ここに私がしたことがあります:

  1. 上記のように、所有者を自分がどのユーザーであるかに設定します。
  2. セキュリティ - 編集でフォルダのアクセス許可からすべてのユーザーを削除します。
  3. ユーザーを再追加して、フルコントロール権限を設定してください。
  4. [詳細設定]に移動して、下部にある両方のチェックボックスを選択します(不適切な権限を含める...、すべての子オブジェクトの権限を置き換える...、blahblahblah)。
  5. 変更を適用してください。
  6. フォルダを削除するだけです。うまくいくはずです。
0
user267389

ここでは触れていませんが、C:\ cygwinフォルダが使用中のために削除できない場合は、コンピュータのサービス「Server」を確認してください。これはCygwinの一部ではありませんが、名前付きパイプの共有に使用されていることがわかり、停止するとCygwinフォルダを削除できました。

ちょっと参考に

0
Isaac