在 cygwin 中,我该如何:
- 列出所有已安装的包
- 列出属于某个包的文件
- 告诉文件属于哪个包
- 安装新包
- 卸载包
- 获取已安装软件包的信息(依赖项、版本等)
答案1
列出所有已安装的包
cygcheck --check-setup --dump-only
- 如果没有
--dump-only
该命令,则需要几分钟才能完成,因为它将测试所有包。如果一切正常,您应该会看到每个包都显示 OK ;)
列出属于某个包的文件
对于包bash
执行:
cygcheck --list-package bash
- 它仅适用于已安装的软件包
判断文件属于哪个包:
对于文件/usr/bin/bash.exe
cygcheck --find-package /usr/bin/bash.exe
- 它仅适用于已安装的软件包
安装新包
考虑到您已经运行安装 GUI 并且具有有效镜像、本地包目录和其他选项设置,您可以运行安装abook
:
/path/to/setup-1.7.exe --quiet-mode --download --local-install --packages abook
- 它还将自动地将所有已安装的软件包更新至最新版本
- 您还可以在命令行中选择镜像和其他选项,请参阅
/path/to/setup-1.7.exe --help
- 我知道新版本的 cygwin 1.7(测试版,但相当稳定)目前使用 setup 2.649 支持这些选项,但我没有在 1.6 上测试过
卸载包
据我所知,只有 GUI 支持此选项。
获取已安装软件包的信息(依赖项、版本等)
版本与列表中的每个软件包一起列出(第一项)。依赖项非常难找:安装程序运行时,它会在本地软件包目录中为每个镜像创建一个条目。在那里,您可以找到该镜像上可用的所有软件包的列表(版本 1.6 的 setup.ini 和版本 1.7 的 setup-2.ini),软件包名称前面带有 ,@
依赖项前面带有requires:
。如果您使用的镜像因任何原因已过时,则安装程序会在下载信息时显示警告消息。
答案2
运行 setup.exe。它将为您提供一个带有各种包复选框的 GUI。
答案3
这是目前 apt-cyg 的最佳分支。 https://github.com/kou1okada/apt-cyg
答案4
现在也可以卸载软件包:
/path/to/setup.exe -x yourpackagename