59

Как я могу полностью удалить / удалить Cygwin? Я не думаю, что это так просто, как удаление C:\cygwin. Может быть, изменить реестр?

9 ответов9

53

Разработчики дают довольно подробные инструкции по удалению программного обеспечения:

Как мне удалить весь Cygwin?

Программа установки не имеет возможности автоматического удаления. Рекомендуемый метод удаления всех Cygwin заключается в следующем:

  1. Если у вас запущены какие-либо службы Cygwin, удалите их, повторив инструкции в http://cygwin.com/faq/faq.html#faq.setup.uninstall-service для всех установленных вами служб. Обычные службы, которые могли быть установлены: sshd, cron, cygserver, inetd, apache, postgresql, и т.д.

  2. Остановите сервер X11, если он работает, и закройте все программы Cygwin, которые могут работать в фоновом режиме. Выйдите из командной строки и убедитесь, что не осталось никаких процессов Cygwin. Примечание. Если вы хотите сохранить точки монтирования для последующей переустановки, сначала сохраните выходные данные команды mount -m как описано на странице http://cygwin.com/cygwin-ug-net/using-utils.html#mount.

  3. Удалите корневую папку Cygwin и все подпапки. Если вы получаете сообщение об ошибке, что объект используется, убедитесь, что вы остановили все службы и закрыли все программы Cygwin. Если вы получите сообщение об ошибке «Отказано в доступе», вам нужно будет изменить права доступа и / или права собственности на файлы или папки, которые вызывают ошибку. Например, иногда файлы, используемые системными службами, принадлежат учетной записи SYSTEM и недоступны для записи обычным пользователям.

    Самый быстрый способ удалить все дерево, если вы столкнулись с этой проблемой, - это изменить владельца всех файлов и папок на свою учетную запись. Для этого в проводнике Windows щелкните правой кнопкой мыши корневую папку Cygwin, выберите «Свойства», затем вкладку «Безопасность». Если вы используете Windows XP Home или Simple File Sharing, вам нужно загрузиться в безопасном режиме, чтобы открыть вкладку «Безопасность». Выберите «Дополнительно», затем перейдите на вкладку «Владелец» и убедитесь, что ваша учетная запись указана в качестве владельца. Установите флажок «Заменить владельца на субконтейнеры и объекты» и нажмите «ОК». После того, как Explorer применит изменения, вы сможете удалить все дерево за одну операцию. Обратите внимание, что вы также можете добиться этого в Cygwin, набрав chown -R user / или используя другие инструменты, такие как CACLS.EXE .

  4. Удалите ярлыки Cygwin на рабочем столе и в меню «Пуск», а также все, что осталось от setup.exe в каталоге загрузки. Однако, если вы планируете переустановить Cygwin, рекомендуется сохранить каталог загрузки setup.exe поскольку вы можете переустановить пакеты, оставленные в его кэше, без повторной загрузки.

  5. Если вы добавили Cygwin в системный путь, вы должны удалить его, если вы не планируете переустановить Cygwin в то же место. Точно так же, если вы устанавливаете переменную среды CYGWIN в масштабе всей системы и не планируете переустанавливать ее, вы должны удалить ее.

  6. Наконец, если вы хотите быть внимательным, вы можете удалить дерево реестра Software\Cygwin разделе HKEY_LOCAL_MACHINE и / или HKEY_CURRENT_USER . Однако, если вы следовали указанным выше инструкциям, вы уже удалили все важное. Обычно в реестре хранится только каталог установки.

33

На самом деле это было довольно ... легко. Просто сделай это ...

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

затем просто щелкните правой кнопкой мыши, чтобы удалить его. это исчезнет.

14

Выполните следующие шаги.

  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 и все ее подпапки. Этот подход работал для меня.

Имейте в виду, что команды Windows, такие как takeown, зависят от локали, то есть опция /d y работает только в английских системах. В немецкой системе для работы нужно использовать /d j (без подсказки в английской справке, * facepalm microsoft)*

5

Я сделал это в Win 7 после того, как попробовал все возможное из Win 7 (обратите внимание ... Мне удалось отключить руткиты проще, чем удалить CygWin !!)

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

    Работал только для одной папки (я думаю, 'var')

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

    работал

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

    повторение этой команды сработало после вышеуказанной (второй) команды !!

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

    отказано в доступе

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

отказано в доступе

НО я тогда пошел к проводнику Windows и удалил (переработал) папку C:\Cygwin, и это работало. Ушел полностью.

Спасибо вышеупомянутому посту! Надеюсь, это кому-нибудь поможет.

1

У меня были проблемы с удалением папки Cygwin, и я прошел всю структуру каталогов и удалил каждую подпапку. Это действительно больно, но другого выбора нет.

1

В дополнение к ответу Луиджи,

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

В локализованной Windows нет группы безопасности с именем "все", вы должны заменить имя группы на соответствующий SID:

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

Больше SID здесь.

0

Ну, ничего из этого не сработало, поэтому вот что я сделал:

  1. Установите владельца тем пользователем, которым вы являетесь, как описано выше.
  2. Удалите всех пользователей из прав доступа к папке в Security-Edit.
  3. Повторно добавьте своего пользователя и установите права полного доступа.
  4. Перейдите в раздел «Дополнительно» и установите оба флажка внизу («Включить неустранимые разрешения ...», «Заменить все разрешения дочерних объектов ...», бла-бла)
  5. Примените изменения.
  6. Просто удалите папку. Должно сработать.
0

Я не видел здесь упомянутого, но если кто-то все еще не может удалить папку C:\cygwin, потому что она используется, проверьте сервис «Сервер» на вашем компьютере. Это не часть Cygwin, но я видел, что он используется для совместного использования именованных каналов, и я смог удалить папку Cygwin, когда остановил ее.

Просто к вашему сведению

-1

Запустите установщик Cygwin и перейдите к средству просмотра пакетов, выберите вид в качестве категории и тип установки для удаления ... Готово.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .