【问题标题】:How to get Cygwin DLL version before installation (command line output)?安装前如何获取 Cygwin DLL 版本(命令行输出)?
【发布时间】:2016-12-05 03:32:34
【问题描述】:

定期下载 Cygwinsetup.exe 会安装较新版本的 Cygwin DLL。

安装程序 GUI 显示版本,但我想在输出中使用命令行获取它,例如:

setup.exe --something-like-version

This answer 展示了如何在安装后得到这个,但对我来说已经太晚了。

【问题讨论】:

  • 您的意思是在从头开始安装 cygwin 之前还是在更新之前?第一种情况有什么关系?
  • @matzeri,我的意思是在从头开始安装之前。但是,即使它是更新,该版本仍应来自(尚未卸载的)包。我不确定方法是什么。但我想它(全新安装或更新)应该并不重要,因为如果我可以在更新之前检索软件内容的版本,我应该能够在从头开始安装之前使用类似的方式获得相同的值。价值来源(版本)来自同一个地方 - 尚未卸载下载的软件文件。
  • @matzeri,发布这个版本的答案(可以是新的或更新旧的),我会接受它。

标签: cygwin


【解决方案1】:
$ cygcheck -p cygwin1.dll |grep "cygwin:"
cygwin-2.5.1-1 - cygwin: The UNIX emulation engine (installed binaries and support files)
cygwin-2.5.2-1 - cygwin: The UNIX emulation engine (installed binaries and support files)
cygwin-2.6.0-0.5 - cygwin: The UNIX emulation engine (installed binaries and support files)

最后一行是测试版本(0.5 版)。 所以cygwin-2.5.2-1 是最新的。

该命令报告所有版本的www.cygwin.com 服务器上可用的包含cygwin1.dll 的包。有关-p 选项,请参见man cygcheck

相同的信息可在以下网址获得:

https://cygwin.com/packages/x86_64/cygwin/

如果您想查看所有软件包的所有版本,而不是需要直接从镜像之一查看 setup.ini:

http://www.mirrorservice.org/sites/sourceware.org/pub/cygwin/x86_64/setup.ini

【讨论】:

  • 如果我错了,请纠正我,但这些命令在安装 Cygwin 后可用。在这种情况下,uname -r(来自问题中链接的答案)是一种更清晰的方法。
  • 据我所知,在安装之前确定关于 DLL 版本的唯一方法(缺少阅读机器代码并找到关于 Cygwin 放置位置的某种参考DLL中的这个信息)是使用第二种和第三种方法(看网站)。但是,您需要在下载后立即执行此操作,或者您需要检查下载日期,希望能找到列出日期和文件的位置(可能是 [Wayback Machine ](archive.org),但我不确定。嗯。谈论机器代码让我想知道是否可以使用objdump ...有人知道吗?
猜你喜欢
  • 2012-03-04
  • 2014-06-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多