我有Windows 7 64位PC。我刚刚在c:\cygwin64
目录中安装了Cygwin最新版本2.6.0。在安装过程中,我确保选择了这些软件包:gcc-core
,make
,openssl
,ssh
,vim
,emacs
,{{1 }和scp
。安装成功完成。
现在我正在查看ftp
目录,我看到一些目录丢失了:
c:\cygwin64
(目录存在)/bin
(目录存在)/sbin
(目录不存在)/usr/bin
(目录存在)/usr/sbin
(目录存在)/usr/local/bin
(目录不存在)那么为什么/usr/local/sbin
和/usr/bin
目录丢失了?它们已经过时了吗?
由于
答案 0 :(得分:3)
正如Erik所说,c:\cygwin64\usr\bin
在你的情况下真的是c:\cygwin64\bin
。对于/usr/local/sbin/
,可能没有任何东西可以从那些软件包中安装,所以它没有被创建。
根据FAQ for the Cygwing directory structure
4.33。为什么奇怪的目录结构?为什么/ lib和/ usr / lib(和/ bin,/ usr / bin)指向同一个东西?
为什么要使用挂载而不是符号链接?
我可以使用磁盘根(例如C :)作为Cygwin root吗?为什么是这样 泄气?
在默认位置进行新安装后,您的挂载点 会看起来像这样:
bash$ mount C:\cygwin\bin on /usr/bin type ntfs (binary,auto) C:\cygwin\lib on /usr/lib type ntfs (binary,auto) C:\cygwin on / type ntfs (binary,auto) C: on /cygdrive/c type ntfs (binary,posix=0,user,noumount,auto)
请注意/ bin和/ usr / bin指向相同的位置,/ lib和 / usr / lib中。这是故意的,你不应该撤消这些坐骑 除非你真的知道自己在做什么。
可能希望在/ lib中安装各种应用程序和软件包 或/ usr / lib(类似于/ bin或/ usr / bin)。而不是区分 他们之间,并试图跟踪他们(可能需要 偶尔重复或符号链接),决定维持 只有一个实际目录,具有相同的访问方式。
为此目的考虑了符号链接,但是 被解雇是因为他们并不总是在Samba驱动器上工作。也, 挂载的处理速度更快,因为不需要磁盘访问 解决它们。
请注意,非cygwin应用程序不会观察到Cygwin安装(或 这个问题的符号链接)。例如,如果您使用WinZip解压缩 一个Cygwin包的tar分发,可能无法安装到 正确的Cygwin路径。所以不要这样做!
强烈建议不要将Cygwin根目录设为 除非你知道自己是什么,否则与你的驱动器的根目录相同 做并准备好应对后果。一般来说 如果Cygwin层次结构与之隔离,则更容易维护它 C:。首先,您可以避免与其他人发生碰撞 (非cygwin)应用程序可能会创建(例如)\ bin和\ lib 目录。 (也许你现在没有安装,但是谁 知道你将来可能添加的东西吗?)