Cygwin - installing a specific version of a package using the command line installer

Using the command line installer, you can easily install Cygwin with a list of required packages

setup-x86.exe -q -p='tar,sed,<more packages>' 

Is it also possible to fix the version of packages, something like

 setup-x86.exe -q -p='tar:1.2.3,sed,<more packages>' 

(this obviously doesn't work)?

+5
source share
1 answer

Short answer to your request: None . Cygwin setup -x86.exe does not give you the flexibility to specify version names along with package names. According to the official document:

The main reason for the lack of a more fully functional package manager is that such a program requires full access to all the functions of Cygwin POSIX. However, this is difficult to achieve in an environment without Cygwin, for example, it exists during the first installation. In addition, Windows does not easily overwrite executable files, so installing a new version of the Cygwin DLL when the package manager uses the DLL is problematic.

However, there are several workarounds if you want to download a specific package:

  • Locate the cygwin mirror that hosts the specific version. Google for your version, and if you find a mirror that accepts this version, just use this mirror before running setup -x86.exe . [ source ]
  • Maintain the local pacakge repository and use the command line options -q -L -lx:\cygwin-local\ , where your downloaded package tree is located in x:\cygwin-local\ [ source >] . You can learn how to create and place packages here.
  • Compile and install the package after configuring cygwin with make .
+3
source

Source: https://habr.com/ru/post/1202874/


All Articles