Cygwin 包管理

16 cygwin

在 cygwin 中,我如何:

  • 列出所有已安装的包
  • 列出属于包的文件
  • 告诉一个文件属于哪个包
  • 安装新包
  • 卸载一个包
  • 获取有关已安装软件包的信息(deps、版本等)

小智 23

列出所有已安装的包

cygcheck --check-setup --dump-only
Run Code Online (Sandbox Code Playgroud)
  • 没有--dump-only该命令将需要几分钟才能完成,因为它将测试所有包。如果一切正常,您应该看到每个包裹都OK ;)

列出属于包的文件

对于包bash做:

cygcheck --list-package bash
Run Code Online (Sandbox Code Playgroud)
  • 它仅适用于已安装的软件包

告诉一个文件属于哪个包:

对于文件 /usr/bin/bash.exe

cygcheck --find-package /usr/bin/bash.exe
Run Code Online (Sandbox Code Playgroud)
  • 它仅适用于已安装的软件包

安装新包

考虑到您已经运行安装 GUI 并设置了有效的镜像、本地包目录和其他选项,您可以运行安装abook

/path/to/setup-1.7.exe --quiet-mode --download --local-install --packages abook
Run Code Online (Sandbox Code Playgroud)
  • 它还会自动将所有已安装的软件包更新到可用的最新版本
  • 您还可以在命令行中选择镜像和其他选项,请参阅 /path/to/setup-1.7.exe --help
  • 我知道当前使用 setup 2.649 的新版本 cygwin 1.7(测试版,但非常稳定)支持这些选项,但我没有在 1.6 上测试

卸载一个包

据我所知,只有 GUI 支持这个选项。

获取有关已安装软件包的信息(deps、版本等)

版本与列表中的每个包一起列出(第一项)。Deps 真的很难找到:当安装程序运行时,它会在本地包目录中为每个镜像创建一个条目。在那里您可以找到该镜像上可用的所有软件包的列表(1.6 版的 setup.ini 和 1.7 版的 setup-2.ini),软件包名称以 a 开头,@而 deps以 开头requires:。如果出于任何原因,您使用的镜像已过时,安装程​​序会在下载信息时显示警告消息。


kma*_*rsh 3

运行setup.exe。它将为您提供一个带有各种软件包复选框的 GUI。

  • IMO 这是 cygwins 的主要失败。我们需要一个真正的包管理器! (5认同)