如何在安装之前获取Cygwin DLL版本(命令行输出)?

如何在安装之前获取Cygwin DLL版本(命令行输出)?,cygwin,Cygwin,定期下载的的setup.exe安装更新版本的Cygwin DLL 安装程序GUI显示了该版本,但我希望在输出中使用命令行获取该版本,例如: setup.exe --something-like-version 演示了如何在安装后获取此信息,但对我来说太晚了 $ cygcheck -p cygwin1.dll |grep "cygwin:" cygwin-2.5.1-1 - cygwin: The UNIX emulation engine (installed binaries and sup

定期下载的的
setup.exe
安装更新版本的Cygwin DLL

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

setup.exe --something-like-version
演示了如何在安装后获取此信息,但对我来说太晚了

$ 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
选项,请参见
mancygcheck

同样的信息可从以下网址获得:

如果要查看所有软件包的所有版本,则需要从以下镜像之一直接查看setup.ini:


如果我错了,请纠正我的错误,但这些命令只有在安装Cygwin之后才可用。在这种情况下,
uname-r
(来自问题中链接的答案)是一种更清晰的方法。据我所知,在安装前确保DLL版本的唯一方法(除了阅读机器代码和查找Cygwin将此信息放入DLL的某种参考)是使用第二种和第三种方法(查看网站)。但是,您可能需要在下载后立即执行此操作,或者您需要在hope查看您的下载日期,您可以找到列出日期和文件的地方(可能是[Wayback Machine](archive.org),但我不确定。嗯。谈论机器代码让我想知道是否可以使用
objdump
…有人知道吗?你的意思是在从头开始安装cygwin之前还是在更新之前?第一种情况下有什么关系?@matzeri,我的意思是从头开始安装之前。但是,即使它是一个更新,版本仍然应该来自(尚未卸载)软件包。我不确定方法是什么。但我想它(新安装或更新)并不重要,因为如果我可以在更新之前检索软件内容的版本,我应该能够使用类似的方法在从头开始安装之前获得相同的值。值的来源(版本)来自同一个地方-尚未卸载下载的软件文件。请查看@matzeri,发布此版本的答案(可以是新的或旧的),我将接受它。