How to add packages after install Cygwin


Cygwin don’t support command yum for install a new package. But we can use apt-cyg to install a new package on within Cygwin.

apt-cyg is a Cygwin package manager. It includes a command-line installer for Cygwin which cooperates with Cygwin Setup and uses the same repository.

Step 1: install apt-cyg

Updated: 6/4/2023

wget --no-check-certificate https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg --secure-protocol tlsv1
install apt-cyg /bin

Old:

lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg > apt-cyg
install apt-cyg /bin

or

wget --no-check-certificate githubraw.com/transcode-open/apt-cyg/master/apt-cyg
install apt-cyg /bin

apt-cyg install

Now, you can check if apt-cyg is installed successfully by use this command line:

apt-cyg –version

$ apt-cyg --version
apt-cyg version 1

The MIT License (MIT)

Copyright (c) 2005-9 Stephen Jungels

There are some Operations of apt-cyg:

install
  Install package(s).

remove
  Remove package(s) from the system.

update
  Download a fresh copy of the master package list (setup.ini) from the
  server defined in setup.rc.

download
  Retrieve package(s) from the server, but do not install/upgrade anything.

show
  Display information on given package(s).

depends
  Produce a dependency tree for a package.

rdepends
  Produce a tree of packages that depend on the named package.

list
  Search each locally-installed package for names that match regexp. If no
  package names are provided in the command line, all installed packages will
  be queried.

listall
  This will search each package in the master package list (setup.ini) for
  names that match regexp.

category
  Display all packages that are members of a named category.

listfiles
  List all files owned by a given package. Multiple packages can be specified
  on the command line.

search
  Search for downloaded packages that own the specified file(s). The path can
  be relative or absolute, and one or more files can be specified.

searchall
  Search cygwin.com to retrieve file information about packages. The provided
  target is considered to be a filename and searchall will return the
  package(s) which contain this file.

Step 2: install any package
Now, you can install any package within Cygwin. Ex:

apt-cyg install wget

Result:

$ apt-cyg install wget
Installing wget
wget is not installed, using lynx as fallback
wget-1.17.1-2.tar.xz: OK
Unpacking...
Package wget requires the following packages, installing:
cygwin libgnutls28 libiconv2 libidn11 libintl8 libnettle4 libpcre1 libpsl5 libuuid1 zlib0
Package cygwin is already installed, skipping
Installing libgnutls28
wget is not installed, using lynx as fallback
libgnutls28-3.3.17-1.tar.xz: OK
Unpacking...
Package libgnutls28 requires the following packages, installing:
ca-certificates cygwin libgcc1 libgmp10 libhogweed2 libiconv2 libintl8 libnettle4 libp11-kit0 libstdc++6 libtasn1_6 zlib0
Package ca-certificates is already installed, skipping
Package cygwin is already installed, skipping
Package libgcc1 is already installed, skipping
Package libgmp10 is already installed, skipping
Installing libhogweed2
wget is not installed, using lynx as fallback
libhogweed2-2.7.1-1.tar.xz: OK
Unpacking...
Package libhogweed2 requires the following packages, installing:
cygwin libgmp10 libnettle4
Package cygwin is already installed, skipping
Package libgmp10 is already installed, skipping
Installing libnettle4
wget is not installed, using lynx as fallback
libnettle4-2.7.1-1.tar.xz: OK
Unpacking...
Package libnettle4 requires the following packages, installing:
cygwin
Package cygwin is already installed, skipping
Package libiconv2 is already installed, skipping
Package libintl8 is already installed, skipping
Package libnettle4 is already installed, skipping
Package libp11-kit0 is already installed, skipping
Package libstdc++6 is already installed, skipping
Package libtasn1_6 is already installed, skipping
Package zlib0 is already installed, skipping
Package libiconv2 is already installed, skipping
Installing libidn11
wget is not installed, using lynx as fallback
libidn11-1.29-1.tar.xz: OK
Unpacking...
Package libidn11 requires the following packages, installing:
cygwin libiconv2 libintl8
Package cygwin is already installed, skipping
Package libiconv2 is already installed, skipping
Package libintl8 is already installed, skipping
Package libintl8 is already installed, skipping
Package libnettle4 is already installed, skipping
Package libpcre1 is already installed, skipping
Installing libpsl5
wget is not installed, using lynx as fallback
libpsl5-0.13.0-1.tar.xz: OK
Unpacking...
Package libpsl5 requires the following packages, installing:
cygwin libiconv2 libidn11 libunistring2
Package cygwin is already installed, skipping
Package libiconv2 is already installed, skipping
Package libidn11 is already installed, skipping
Installing libunistring2
wget is not installed, using lynx as fallback
libunistring2-0.9.6-1.tar.xz: OK
Unpacking...
Package libunistring2 requires the following packages, installing:
cygwin libgcc1 libiconv2
Package cygwin is already installed, skipping
Package libgcc1 is already installed, skipping
Package libiconv2 is already installed, skipping
Package libuuid1 is already installed, skipping
Package zlib0 is already installed, skipping
Running /etc/postinstall/wget.sh
Package wget installed

cygwin install wget

To check if wget is installed:

wget --version

Result:

$ wget --version
GNU Wget 1.17.1 built on cygwin.

+digest -gpgme +https +ipv6 +iri +large-file -metalink +nls +ntlm
+opie +psl +ssl/gnutls

Wgetrc:
    /etc/wgetrc (system)
Locale:
    /usr/share/locale
Compile:
    gcc -DHAVE_CONFIG_H -DSYSTEM_WGETRC="/etc/wgetrc"
    -DLOCALEDIR="/usr/share/locale" -I.
    -I/usr/src/wget-1.17.1-2.x86_64/src/wget-1.17.1/src -I../lib
    -I/usr/src/wget-1.17.1-2.x86_64/src/wget-1.17.1/lib
    -I/usr/include/uuid -DNDEBUG -ggdb -O2 -pipe
    -Wimplicit-function-declaration
    -fdebug-prefix-map=/usr/src/wget-1.17.1-2.x86_64/build=/usr/src/debug/wget-1.17.1-2
    -fdebug-prefix-map=/usr/src/wget-1.17.1-2.x86_64/src/wget-1.17.1=/usr/src/debug/wget-1.17.1-2
Link:
    gcc -I/usr/include/uuid -DNDEBUG -ggdb -O2 -pipe
    -Wimplicit-function-declaration
    -fdebug-prefix-map=/usr/src/wget-1.17.1-2.x86_64/build=/usr/src/debug/wget-1.17.1-2
    -fdebug-prefix-map=/usr/src/wget-1.17.1-2.x86_64/src/wget-1.17.1=/usr/src/debug/wget-1.17.1-2
    -liconv -lintl -lpcre -luuid -lnettle -lgnutls -lz -lpsl -lidn
    ftp-opie.o gnutls.o http-ntlm.o ../lib/libgnu.a

Copyright (C) 2015 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<http://www.gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Originally written by Hrvoje Niksic <hniksic@xemacs.org>.
Please send bug reports and questions to <bug-wget@gnu.org>.

8 Comments

Leave a Reply