【问题标题】:Cygwin Installation Hangs - man-dbCygwin 安装挂起 - man-db
【发布时间】:2014-08-18 09:49:44
【问题描述】:

我正在尝试在 Windows 2012R2(64 位)上安装 Cygwin 64 位。 下载和初始设置已经完成,但是当它到达 man-db (/etc/postinstall/man-db) 时,设置挂起 并且永远如此。我等了超过 1.5 小时,但仍然没有进展。 我检查了 /var/log/setup.log 中的日志文件,其中包含以下内容。

Updating index cache for path `/usr/share/man/man1'. Wait...
Processing manual pages under /usr/share/man...
/usr/bin/mandb: warning: /usr/share/man/man1/col.1.gz: whatis parse for col(1) failed
/usr/bin/mandb: warning: /usr/share/man/man1/imv.1 is a dangling symlink
/usr/bin/mandb: iconv_open ("UTF-8//IGNORE", "utf8"): Invalid argument
/usr/bin/mandb: warning: /usr/share/man/man1/mc.1.gz: whatis parse for mc(1) failed

我不确定是否应该取消并重新开始。这个设置是否会在这个阶段出现至少有一些错误? 有人安装 64 位 Cygwin 并收到此错误吗? 请帮忙

【问题讨论】:

  • 我在过去的两个晚上遇到了这个问题,同时使用了 Cygwin32 和 Cygwin64;我把它们留了 7 到 8 个小时,最后都完成了。

标签: cygwin


【解决方案1】:

经常发生在我身上。本周我设置了 8 台服务器,其中 3 台发生了这种情况。等了好几个小时,它仍然不会完成。有时重新安装有效,有些则无效。所以我采取了杀死 ma​​ndb.exe 进程,让安装程序正常完成。到目前为止,我没有发现这样做的副作用。

【讨论】:

  • 我相信这个答案对我来说是正确的 - 在 Windows 7 中,我运行任务管理器并从进程选项卡中终止了 mandb.exe 进程,它确实正确完成了。
  • 以管理员身份运行任务管理器,我不得不杀死 bash.exe 进程而不是 mandb.exe 进程。它在 mandb.exe 上给了我一个拒绝访问错误(!),但是当我杀死父 bash 进程时,安装程​​序继续进行。然而,安装后发现 mandb 仍在运行,我不得不用“结束任务”而不是“结束进程树”来终止它。
【解决方案2】:

等了3个多小时,我决定取消设置。然后我尝试重新安装,完全按照第一次安装中的步骤操作。我没有添加或删除任何包。在第一次尝试中已选择的软件包被识别为已安装。这一次,安装程序在上述步骤 (man-db) 处短暂停止,然后完成安装。没有错误。所以,重新安装解决了我的问题。

【讨论】:

  • 不幸的是,这个解决方案对我不起作用。我像你一样取消了,重新安装了,但它仍然挂在 man-db 步骤上……顺便说一下,这是针对 32 位 Cygwin 的
  • 也许你可以再次取消设置并尝试手动运行命令 /usr/bin/mandb -c (见mail-archive.com/cygwin@cygwin.com/msg135909.htmlcygwin.com/ml/cygwin/2014-06/msg00298.html
  • 好的,我运行了 /usr/bin/mandb -c。它运行了几分钟,虽然它产生了几个看似无关的错误或警告,但它以 0 退出代码结束(并不是说它意味着什么。)很难判断它是否成功。有什么方法可以测试吗?
  • 我搜索了一下,发现'如果一个进程的退出状态为0,则认为它在Linux中已正确完成'。现在 Cygwin 成功安装通常以显示“安装完成”的标准对话框结束。您现在可以做的是,启动 Cygwin 更新(类似于安装),不要添加任何额外的包。由于 man-db 已经安装,它不会卡在那个阶段。因此,您应该收到“设置完成”消息。如果您不想重新安装,您可以假设设置已完成并检查您希望从 Cygwin 获得的功能,看看它是否有效。
  • 对先前评论的补充:如果您没有重新安装,那么您可能会丢失启动 Cygwin 的桌面图标。您可以使用目标创建快捷方式 'C:\cygwin\bin\mintty.exe -i /Cygwin-Terminal.ico -'
【解决方案3】:

聚会迟到了,但是——

  • mandb.exe挂起时,我通过任务管理器杀死了它的父bash.exe,安装完成。
  • 然后我在任务管理器中杀死了mandb.exe,因为它仍在运行。
  • 然后我打开一个 Cygwin shell 并运行mandb -cds-c 重新创建索引,-d 打印消息(因此您实际上可以看出它正在做一些建设性的事情!),-s 禁止检查孤立的格式化手册页 ("stray cats")。

在我写这篇文章的时候,mandb 仍在努力,三四个小时后,还有很多事情要做。

所以我会记得稍后提交错误报告 :),我确实在 mandb 运行期间注意到了一个奇怪的地方:

mandb: /usr/share/man/man3/jN.3 is self referencing
mandb: warning: /usr/share/man/man3/jnf.3.gz: bad symlink or ROFF `.so' request

【讨论】:

    【解决方案4】:

    我今天一直在为同样的问题苦苦挣扎,直到我意识到移动 Cygwin 主设置窗口时会弹出一个弹出窗口,抱怨“无法打开(null)进行读取:没有这样的文件”

    这种情况在(重新)安装中会发生多次

    【讨论】:

      猜你喜欢
      • 2013-05-28
      • 2014-07-21
      • 2016-02-28
      • 2015-09-10
      • 1970-01-01
      • 2018-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多