Cygwin安装:缺少/ usr / bin和/ usr / local / sbin目录

时间:2017-01-07 15:28:21

标签: windows unix cygwin

我有Windows 7 64位PC。我刚刚在c:\cygwin64目录中安装了Cygwin最新版本2.6.0。在安装过程中,我确保选择了这些软件包:gcc-coremakeopensslsshvimemacs,{{1 }和scp。安装成功完成。

现在我正在查看ftp目录,我看到一些目录丢失了:

  • c:\cygwin64(目录存在)
  • /bin(目录存在)
  • /sbin(目录不存在)
  • /usr/bin(目录存在)
  • /usr/sbin(目录存在)
  • /usr/local/bin(目录不存在)

那么为什么/usr/local/sbin/usr/bin目录丢失了?它们已经过时了吗?

由于

1 个答案:

答案 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   目录。 (也许你现在没有安装,但是谁   知道你将来可能添加的东西吗?)