确实,UNIX 下的某些软件包要求用户是“root”。在安装 Template::Toolkit 时,它触发了 AppConfig,它通过以下方式退出:
You may have to su to root to install the package
(Or you may want to run something like
o conf make_install_make_command 'sudo make'
to raise your permissions.
Cygwin 不是 UNIX。它只是 Cygwin 的一组 UNIX 实用程序。没有 root 用户,也没有 sudo,也没有办法伪造它。如果您以管理员身份运行 Bash,则不会以某种方式成为 root。 (实际上可能很危险。)
实际的问题是 /usr/man/man3 没有权限:
> ls -ls /usr/share/man
total 1.2M
384K d--------- 1 spindlea Domain Users 0 Oct 29 18:55 man1/
768K d--------- 1 spindlea Domain Users 0 Oct 29 18:55 man3/
8.0K d--------- 1 spindlea Domain Users 0 Oct 29 12:35 man5/
12K d--------- 1 spindlea Domain Users 0 Oct 6 16:26 man7/
12K d--------- 1 spindlea Domain Users 0 Oct 29 12:35 man8/
0 d--------- 1 spindlea Domain Users 0 Oct 6 16:26 mann/
因此无法安装手册页。原因:C:/Cygwin 已从存档中解压缩。在 NTFS 文件系统下,Cygwin 默认在 Windows ACL 上实现 UNIX 权限(尽管您在“安全”选项卡中看不到它们)。这些在 ZIP 存档中无法保存。
要恢复权限,请使用以下内容:
> chmod -R 755 /usr/bin # sets -rwxr-xr-x
> chmod -R 755 /usr/local/bin # sets -rwxr-xr-x
> find /bin -type d -print -exec chmod 777 {} \;
> find /etc -type d -print -exec chmod 777 {} \;
> find /usr -type d -print -exec chmod 777 {} \;
.
.
问题消失了。安装顺利进行。 CPAN 能够满足所有依赖关系。
不再出现“您可能需要 su 到 root 才能安装软件包”错误。