How to completely uninstall/remove cygwin from Windows 7
How can I completely uninstall/remove cygwin? I don’t think it is as simple as deleting C:\cygwin. Maybe alter registry?
9 Answers 9
The developers give fairly detailed instructions on how to remove the software:
How do I uninstall all of Cygwin?
Setup has no automatic uninstall facility. The recommended method to remove all of Cygwin is as follows:
If you have any Cygwin services running, remove by repeating the instructions in http://cygwin.com/faq/faq.html#faq.setup.uninstall-service for all services that you installed. Common services that might have been installed are sshd, cron, cygserver, inetd, apache, postgresql, and so on.
Stop the X11 server if it is running, and terminate any Cygwin programs that might be running in the background. Exit the command prompt and ensure that no Cygwin processes remain. Note: If you want to save your mount points for a later reinstall, first save the output of mount -m as described at http://cygwin.com/cygwin-ug-net/using-utils.html#mount.
Delete the Cygwin root folder and all subfolders. If you get an error that an object is in use, then ensure that you’ve stopped all services and closed all Cygwin programs. If you get a ‘Permission Denied’ error then you will need to modify the permissions and/or ownership of the files or folders that are causing the error. For example, sometimes files used by system services end up owned by the SYSTEM account and not writable by regular users.
The quickest way to delete the entire tree if you run into this problem is to change the ownership of all files and folders to your account. To do this in Windows Explorer, right click on the root Cygwin folder, choose Properties, then the Security tab. If you are using Windows XP Home or Simple File Sharing, you will need to boot into Safe Mode to access the Security tab. Select Advanced, then go to the Owner tab and make sure your account is listed as the owner. Select the ‘Replace owner on subcontainers and objects’ checkbox and press Ok. After Explorer applies the changes you should be able to delete the entire tree in one operation. Note that you can also achieve this in Cygwin by typing chown -R user / or by using other tools such as CACLS.EXE .
Delete the Cygwin shortcuts on the Desktop and Start Menu, and anything left by setup.exe in the download directory. However, if you plan to reinstall Cygwin it’s a good idea to keep your setup.exe download directory since you can reinstall the packages left in its cache without redownloading them.
If you added Cygwin to your system path, you should remove it unless you plan to reinstall Cygwin to the same location. Similarly, if you set your CYGWIN environment variable system-wide and don’t plan to reinstall, you should remove it.
Finally, if you want to be thorough you can delete the registry tree Software\Cygwin under HKEY_LOCAL_MACHINE and/or HKEY_CURRENT_USER . However, if you followed the directions above you will have already removed everything important. Typically only the installation directory has been stored in the registry at all.
Как полностью удалить / удалить Cygwin из Windows 7
Как я могу полностью удалить / удалить Cygwin? Я не думаю, что это так просто, как удаление C:\cygwin. Может быть, изменить реестр?
9 ответов 9
Разработчики дают довольно подробные инструкции по удалению программного обеспечения:
Как мне удалить весь Cygwin?
Программа установки не имеет возможности автоматического удаления. Рекомендуемый метод удаления всех Cygwin заключается в следующем:
Если у вас запущены какие-либо службы Cygwin, удалите их, повторив инструкции в http://cygwin.com/faq/faq.html#faq.setup.uninstall-service для всех установленных вами служб. Обычные службы, которые могли быть установлены: sshd, cron, cygserver, inetd, apache, postgresql, и т.д.
Остановите сервер X11, если он работает, и закройте все программы Cygwin, которые могут работать в фоновом режиме. Выйдите из командной строки и убедитесь, что не осталось никаких процессов Cygwin. Примечание. Если вы хотите сохранить точки монтирования для последующей переустановки, сначала сохраните выходные данные команды mount -m как описано на странице http://cygwin.com/cygwin-ug-net/using-utils.html#mount.
Удалите корневую папку Cygwin и все подпапки. Если вы получаете сообщение об ошибке, что объект используется, убедитесь, что вы остановили все службы и закрыли все программы Cygwin. Если вы получите сообщение об ошибке «Отказано в доступе», вам нужно будет изменить права доступа и / или права собственности на файлы или папки, которые вызывают ошибку. Например, иногда файлы, используемые системными службами, принадлежат учетной записи SYSTEM и недоступны для записи обычным пользователям.
Самый быстрый способ удалить все дерево, если вы столкнулись с этой проблемой, — это изменить владельца всех файлов и папок на свою учетную запись. Для этого в проводнике Windows щелкните правой кнопкой мыши корневую папку Cygwin, выберите «Свойства», затем вкладку «Безопасность». Если вы используете Windows XP Home или Simple File Sharing, вам нужно загрузиться в безопасном режиме, чтобы открыть вкладку «Безопасность». Выберите «Дополнительно», затем перейдите на вкладку «Владелец» и убедитесь, что ваша учетная запись указана в качестве владельца. Установите флажок «Заменить владельца на субконтейнеры и объекты» и нажмите «ОК». После того, как Explorer применит изменения, вы сможете удалить все дерево за одну операцию. Обратите внимание, что вы также можете добиться этого в Cygwin, набрав chown -R user / или используя другие инструменты, такие как CACLS.EXE .
Удалите ярлыки Cygwin на рабочем столе и в меню «Пуск», а также все, что осталось от setup.exe в каталоге загрузки. Однако, если вы планируете переустановить Cygwin, рекомендуется сохранить каталог загрузки setup.exe поскольку вы можете переустановить пакеты, оставленные в его кэше, без повторной загрузки.
Если вы добавили Cygwin в системный путь, вы должны удалить его, если вы не планируете переустановить Cygwin в то же место. Точно так же, если вы устанавливаете переменную среды CYGWIN в масштабе всей системы и не планируете переустанавливать ее, вы должны удалить ее.
Наконец, если вы хотите быть внимательным, вы можете удалить дерево реестра Software\Cygwin разделе HKEY_LOCAL_MACHINE и / или HKEY_CURRENT_USER . Однако, если вы следовали указанным выше инструкциям, вы уже удалили все важное. Обычно в реестре хранится только каталог установки.
Как установить Cygwin на Windows 7
Задача : Разобрать, как установить OpenSSH сервис на Windows 7 с применением Cygwin.
Для справки: В данном примере используется Windows 7 с архитектурой x 64
В данном случае это заметка, как напоминалка для следующих заметок использования особого инструмента целью которого является портирование утилит Linux систем на Windows в основе которых лежит динамическая библиотека без которой не было бы возможности запускать их. Пакет Cygwin обобщает различные инструменты разработки, прикладного обеспечения и их эквивалентные аналоги базовых программ. Если по простому, то привычные программы из Linux можно запускать в Windows получая в замен ту легкость и простоту создаваемых скриптов, а также совмещение использования консольных команд Windows редакций. Т.е. выигрыш на лицо, два в одном. Ниже я покажу, да и себе заметка на будущее,
- Как установить в систему Windows пакет Cygwin
- Как установить OpenSSH пакет
- Как настроить аутентификацию по ключу против по паролю
Устанавливаю в систему пакет Cygwin , скачав необходимый по следующей ссылке: http://cygwin.com/setup-x86_64.exe
если используется архитектура x 86, то ссылка на скачиваемый пакет:
http://cygwin.com/setup-x86.exe
На заметку: для установки в системе должны быть права Администратора, и у меня UAC Отключён.
В конечном этоге в этой заметке рассматривается как для двух систем установить и настроить безпарольный доступ друг к другу по ключам.
W7X86 – 192.168.1.59
W7X64 – 192.168.1.40
Запускаю установщик (версия 2.852 (64 bit ) — Далее – Install from Internet , Далее – каталог установки оставляю по умолчанию: C :\ cygwin 64 и тип установки для всех пользователей: All Users ( RECOMMENDED ), Далее – следующим шагом оставляем путь предложенный установщиком где будет располагаться локальные пакеты: C :\ Users \ ekzorchik \ Downloads , Далее – предопределяем тип используемого соединений, Direct Connection (в моем случае, соединение прямой, прокси сервер не используется), Далее – на следующем шаге выбираем сервер загрузки из множества (любой), к примеру: http :// mirrors — ru . go — parts . com , Далее – на следующем шаге выбираем пакет(ы) которые нужны в системе нам, в моем случаем мне нужен пакет:
В текущем примере моей заметки — это пакет для организации безопасного подключения к системе посредством SSH, т. е. Пакет OpenSSH, как серверная так и клиентская часть.
, Далее – в процессе установки мастер определит, какие зависимости сперва нужно до установить, соглашаемся, Далее – и начнется процесс скачивания зависимостей и самого приложений, просто ожидаем – после того, как установка пройдет успешно останется только проконтролировать, чтобы были поставлены галочки для создания ярлыков быстрого доступа к Cygwin :
- Create icon on Desktop
- Add icon to Start Menu
И нажать Готово.
На заметку: Если понадобится установить в эмулятор консоли еще какие либо утилиты, то данные шаги повторяются, запуск исполняемого файла, указания сайта с которого будем производить скачивание и установку утилит.
Далее запускаю терминал Cygwin :
Пуск – Все программы – Cygwin — Cydwin 64 Terminal , окно консоли примет вид:
Copying skeleton files.
These files are for the users to personalise their cygwin experience.
They will never be overwritten nor automatically updated.
ekzorchik @srv-w7x64
В консоли после приглашения курсора $ набираем ssh-host-config –y этим мы генерируем ключи доступа к данной машине по ssh и создаем нового пользователя cyg _ server где в качестве его пароля нужно указать текущий пароль от пользователя (в моем случае пользователь ekzorchik с дефолтный паролем 712 mbddr @) под которым происходит инсталляция пакета cygwin и дополнительных пакетов в систему:
$ ssh-host-config -y
Часть информации выводимая в консоли отвечающая за создание нового пользователя cyg _ server от имени которого будет происходит запуск инсталлированной службы « CYDWIN sshd »
*** Query: Please enter the password:712mbddr@
*** Query: Reenter: 712mbddr@
Как видно, созданный пользователь инсталлирует службу в систему запуск которой будет осуществляться от имени данного пользователя ( cyg _ server ), по умолчанию она становится не запущенной, запускаю:
Win + R -> cmd.exe
C:\Users\ekzorchik>sc config sshd start= auto
SC] ChangeServiceConfig: успех
C:\Users\ekzorchik>net start sshd
Служба «CYGWIN sshd» запускается.
Служба « CYGWIN sshd » успешно запущена.
Либо через запущенную терминальную консоль Cygwin Terminal :
- -S, —start Starts a service named .
- -E, —stop Stops a service named .
$ cygrunsrv.exe -E sshd
$ cygrunsrv.exe -S sshd
Также важно открыть доступ к системе по порту 22 (порт по дефолту). Для этого нужно добавить правило в брандмауэр для всех профилей системы:
netsh avdfirewall firewall add rull name=”SSH Server” dir=in protocol=tcp localport=22 action=allow
Проверим, открыт ли порт на котором работает служба SSH в системе:
C:\Users\ekzorchik>netstat -an | findstr :22
TCP 0.0.0.0:22 0.0.0.0:0 LISTENING
TCP [::]:22 [::]:0 LISTENING
Из вывода ясно, что порт открыт.
По такому же принципу шагов описанных выше устанавливаю и на другую систему с осью Windows 7 но применительно к архитектуре x86, хотя разницы в шагах вообщем-то никакой. Просто мне нужно для тестирования и показа, как это работает в дальнейшем.
Следующим шагом перехожу к тестированию подключения к системе посредством SSH соединения, в роли клиента на подключение к системе может использоваться, как консольный вариант — это через Cygwin Terminal, так и отдельным приложением ,к примеру утилита — Putty. Я же буду использовать Cygwin Terminal.
$ hostname
$ ssh -l ekzorchik 192.168.1.40 -p 22
The authenticity of host ‘192.168.1.40 (192.168.1.40)’ can’t be established.
ECDSA key fingerprint is 57:8b:b2:35:43:f5:18:22:c0:e7:61:9b:44:d4:56:fe.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‘192.168.1.40’ (ECDSA) to the list of known hosts.
ekzorchik@192.168.1.40’s password:712 mbddr@
— подключение по SSH прошло успешно в другую систему.
Отлично, работает, теперь же надо сделать, чтобы авторизация шла только по ключам доступа.
Ниже практические шаги, как это сделать:
Генерирую публичный и приватный ключ системы:
$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/ekzorchik/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/ekzorchik/.ssh/id_dsa.
Your public key has been saved in /home/ekzorchik/.ssh/id_dsa.pub.
The key fingerprint is:
The key’s randomart image is:
Далее копируем публичный(открытый ключ) на вторую систему:
/.ssh/id_dsa.pub | ssh -p 22 ekzorchik@192.168.1.59 ‘umask 077;test -d .ssh | cat >>
ekzorchik@192.168.1.59’s password:712 mbddr@
Точно такие же шаги проделываем на второй системе по отношения к первой, но не забываем указать соответствующий IP адрес системы, в моем случае — это 192.168.1.40
/.ssh/id_dsa.pub | ssh -p 22 ekzorchik@192.168.1.40 ‘umask 077;test -d .ssh | mkdir .ssh ; cat >> .ssh/authorized_keys’
mkdir: cannot create directory ‘.ssh’: File exists
/.ssh/id_dsa.pub | ssh -p 22 ekzorchik@192.168.1.40 ‘umask 077;test -d .ssh | cat >> .ssh/authorized_keys’
$ ssh -l ekzorchik 192.168.1.40 -p 22 Last login: Thu Nov 27 18:36:23 2014 from 192.168.1.59
Но пока авторизация по ключам не заработает, в системах по умолчанию отключены все параметры настроек службы OpenSSH. Поэтому сперва произведу кое-какую настройку, в качестве редактора посредством которого буду изменять конфигурационные файлы выступит установленный по умолчанию — редактор vi: (советую познакомиться с его работой подробно, к примеру по моей заметке или по книгам посвященным Linux), но для быстро по первой настройке доустановлю пакет простого текстового редактора nano. Для этого снова запускаем setup-x86_64.exe – шаги до установки пакета точно такие же которые я проделывал выше когда устанавливал OpenSSH. Ниже скриншот поиска и установки необходимого бинарного пакета, исходники пакета не требуются поэтому их и не отмечаю.
Далее переходим к редактированию настроек сервиса SSHD:
$ nano /etc/sshd_config
Сохраняем внесенные ( Ctrl + O, Ctrl + X) изменения и перезапускаю службу для применения настроек.
$ cygrunsrv.exe -E sshd
$ cygrunsrv.exe -S sshd
Точно такие же действия проделываем и на другой системе.
Теперь пробует подключиться друг к другу посредством ключей, а не паролей:
Работает с 192.168.1.40 на 192.168.1.59
ssh ekzorchik@192.168.1.59 -p 22
Last login: Thu Nov 27 17:58:06 2014 from w7x64
Работает с 192.168.1.59 на 192.168.1.40
$ ssh -l ekzorchik 192.168.1.40 -p 22
Last login: Thu Nov 27 18:40:21 2014 from 192.168.1.59
Отлично, все заработало, шаги один в один, как и на Ubuntu 12.04.5 Server/Desktop. Если же у Вас не заработает, то при подключении включите режим логирования, параметр — v, либо проверьте что содержимое authorized_keys удаленной системы содержит id_dsa.pub ключ первой , возможно в этом проблема, вообщем вот так сразу сложно сказать в чем может быть проблема, если работает по паролю, а не работает по ключу, скорое всего не добавлен ключ на удаленную систему. Будьте внимательнее, но раз столкнувшись с проблемами и решив их Вы будете более подкованными в дальнейшем . Свой опыт лучше, чем подсказка более опытных, хотя и знаешь что сэкономишь время, но это как в школе, мало того что можно списать решение из книги содержащей пошаговое решение, пока сам не повторишь и не разберешь ни будешь знать в общем-то ничего . Вот так. На этом задачу считаю выполненной и смею прощаться. До встречи в следующих реальных заметках — с уважением автор блога — ekzorchik.
Используйте прокси ((заблокировано роскомнадзором, используйте vpn или proxy)) при использовании Telegram клиента:
Поблагодари автора и новые статьи
будут появляться чаще 🙂
Карта МКБ: 4432-7300-2472-8059
Yandex-деньги: 41001520055047
Большое спасибо тем кто благодарит автора за практические заметки небольшими пожертвованиями. С уважением, Олло Александр aka ekzorchik.