Cygwin: человек больше не работает
Я установил cygwin в папку по умолчанию (C:\cygwin) в Windows 7 Pro. Еще несколько месяцев назад (не знаю, как долго) справочные страницы работали нормально. Потом пришло обновление, а теперь man anything
не отображает ничего, кроме (END)
, Я пытался из моей учетной записи обычного пользователя, а также из учетной записи повышенных прав администратора. Нет радости
Я вполне уверен, что эвристика Comodo Firewall, нарушающая установку, сломала установку, помещая в песочницу компонент обновления (D+ кричит о autorebase и setup_x86 каждый раз, когда я проклят), но я знаю, что он не мешает отображению man-страниц (я отключил его, и проблема сохраняется). Таким образом, сама система человека нарушена. Есть идеи как это исправить?
Примечание: я также попытался запустить makewhatis, но безуспешно.
3 ответа
Похоже, что я исправил проблему самостоятельно с помощью SpaghettiCat в канале #cygwin на freenode. Вещи, которые я проверил, прежде чем выяснить проблему:
- Я проверил значения $PAGER и $MANPAGER (они были пустыми)
- Я попытался установить значение обоих "меньше" (без радости)
- Я пытался скормить человеку известную страницу человека через
man /usr/share/man/man8/fdisk.8.gz
(до сих пор нет радости) - Я обменял копию
/etc/man.conf
с одной из известных работающих Cygwin установки. (без кубиков)
В этот момент стало ясно, что было запутано больше, чем просто человек. Я подумала, что мне придется испортить мою установку. Тем не менее, я обнаружил cygcheck -c
команда, которой я управлял. Результат: половина моих пакетов была "неполной", включая groff. Спасибо, Восстановление системы Microsoft!
После запуска cygwin setup_x86.exe и переустановки пакетных пакетов все в порядке.
У меня была точно такая же проблема, и мне удалось отследить ее до cygwin1.dll
, Я обнаружил, что по какой-то причине (запустить установщик пока bash
бегал?) в моем было 2 файла /bin
папка, а более новая-одна была отключена:
* cygwin1.dll (3148035 bytes, v1.7.30, APIv-0.272)
* cygwin1.dll.new (3156896 bytes, v1.7.32, APIv-0.274)
Чтобы это исправить, мне пришлось переустановить пакет base/cygwin: the UNIX emulation engine
, Тогда я бегу mandb
, просто чтобы убедиться...
(Обратите внимание, что cygcheck -c
не сообщал ни о каких проблемах!)
Я исправил ту же проблему, установивMANPATH
в пустую строку (MANPATH=
), а затем устранить неполадки в его исходном содержимом. Оказалось, что вход в/usr/share/man
начиналось с двойной косой черты. В Unix multipla косые черты в любом месте пути недопустимы. В Windows (и, очевидно, CygWin) двойная косая черта в начале пути обозначает общий сетевой ресурс. Это привело к сбою команды.