我只需要没有 cygwin 环境的特定文件。例如,有没有办法下载某些 unix 工具文件的最新版本,例如 grep.exe 和最新的 cygwin1.exe 文件,就是这样。
编辑:我知道可以在这里浏览:http : //cygwin.com/packages/,好的,但是这个列表不允许下载。
我不知道有任何独立程序以现成的方式执行此操作而不需要更大的 Cygwin 块及其setup.exe
(如果需要,请参阅底部的编辑)。我认为所有的部分都可以使超最小安装相对容易编写脚本。
这个有两个部分:检索文件和检测版本更改(如果这是您说“最新”时要查找的内容的一部分)。
要检索特定文件,您可以检查(或嗅探) Cygwinsetup.exe
安装程序/更新程序以确定它在何处检索单个文件。选择一个镜像,导航到pub/cygwin/release
并检索文件。例如,这里是我使用的 OSL OSL 镜像的核心 cygwin 包目录的链接。
我认为,如果您的单个文件(如grep.exe
)包含在特定包中,则您必须获取整个包。某些第三方可能会从 Cygwin 提供解压的单个文件,但我不愿意相信除了 Cygwin 及其官方镜像之外的任何人,因此我建议从受信任的来源获取整个包,然后提取您需要的文件。
确定文件何时更新比较棘手。伪代码类似于:
从镜像中获取子目录的当前内容(使用wget
或类似)。这种语法留下了更容易解析的.listing
文件。
wget --no-remove-listing ftp://cygwin.osuosl.org/pub/cygwin/release/grep/
确定与预期文件名模式匹配的最新文件。 我认为,如果文件命名约定是干净的(Cygwin 通常是这样),您可以通过将数字部分分解为标记并按数字排序来轻松获取最新版本。您可以快速操作,只获取.listing
匹配项中的最后一个文件,但这可能会放在grep.2.tgz
之后grep.10.tgz
,具体取决于所使用的排序方法。
下载并解压/解压/解压。 根据您使用的归档程序,您可能会告诉它只提取特定文件。
将文件复制到您想要的目的地。
您可以安排脚本每天/每周/任何时间检查一次。您可能还想获取随附md5.sum
文件并比较校验和,具体取决于文件对您的用例的重要性。
说到这一点,什么是你的使用情况?你只是想要grep
没有其他开销,并保持更新/修补吗?如果没有,我的答案可能需要相应调整。
编辑:您可能还想查看apt-cyg。我认为它实际上可能需要一些核心安装框架,但页面上说它只需要 bash、wget、tar、gawk 和 bzip2,因此您可能能够在那里获得依赖项。
我是新手,所以我的链接用完了,但是这个答案有apt-cyg信息,以及如何使用setup.exe
.
你的问题有点暗示你可能想要比那个问题提供的更精简的东西,所以我会为那些正在寻找更简单的东西的人保留我的其余答案。
归档时间: |
|
查看次数: |
19064 次 |
最近记录: |