How do I install cygwin components from the command line?
up vote
151
down vote
favorite
Is there a tool in the Cygwin package similar to apt-get
on Debian or yum
on redhat that allows me to install components from the command line?
command-line cygwin
add a comment |
up vote
151
down vote
favorite
Is there a tool in the Cygwin package similar to apt-get
on Debian or yum
on redhat that allows me to install components from the command line?
command-line cygwin
Stack Overflow is a site for programming and development questions. This question appears to be off-topic because it is not about programming or development. See What topics can I ask about here in the Help Center. Perhaps Super User would be a better place to ask. Also see Where do I post questions about Dev Ops?
– jww
Oct 27 '16 at 19:08
4
@jww, This isn't devops.
– Pacerier
Mar 4 '17 at 0:12
add a comment |
up vote
151
down vote
favorite
up vote
151
down vote
favorite
Is there a tool in the Cygwin package similar to apt-get
on Debian or yum
on redhat that allows me to install components from the command line?
command-line cygwin
Is there a tool in the Cygwin package similar to apt-get
on Debian or yum
on redhat that allows me to install components from the command line?
command-line cygwin
command-line cygwin
edited May 25 '14 at 1:46
Steven Penny
1
1
asked Feb 13 '12 at 11:51
vy32
11.7k2180159
11.7k2180159
Stack Overflow is a site for programming and development questions. This question appears to be off-topic because it is not about programming or development. See What topics can I ask about here in the Help Center. Perhaps Super User would be a better place to ask. Also see Where do I post questions about Dev Ops?
– jww
Oct 27 '16 at 19:08
4
@jww, This isn't devops.
– Pacerier
Mar 4 '17 at 0:12
add a comment |
Stack Overflow is a site for programming and development questions. This question appears to be off-topic because it is not about programming or development. See What topics can I ask about here in the Help Center. Perhaps Super User would be a better place to ask. Also see Where do I post questions about Dev Ops?
– jww
Oct 27 '16 at 19:08
4
@jww, This isn't devops.
– Pacerier
Mar 4 '17 at 0:12
Stack Overflow is a site for programming and development questions. This question appears to be off-topic because it is not about programming or development. See What topics can I ask about here in the Help Center. Perhaps Super User would be a better place to ask. Also see Where do I post questions about Dev Ops?
– jww
Oct 27 '16 at 19:08
Stack Overflow is a site for programming and development questions. This question appears to be off-topic because it is not about programming or development. See What topics can I ask about here in the Help Center. Perhaps Super User would be a better place to ask. Also see Where do I post questions about Dev Ops?
– jww
Oct 27 '16 at 19:08
4
4
@jww, This isn't devops.
– Pacerier
Mar 4 '17 at 0:12
@jww, This isn't devops.
– Pacerier
Mar 4 '17 at 0:12
add a comment |
9 Answers
9
active
oldest
votes
up vote
88
down vote
accepted
There is no tool specifically in the 'setup.exe' installer that offers the
functionality of apt-get. There is, however, a command-line package installer
for Cygwin that can be downloaded separately, but it is not entirely stable and
relies on workarounds.
apt-cyg: http://github.com/transcode-open/apt-cyg
Check out the issues tab for the project to see the known problems.
Thanks! Just what I wanted to know. I wonder why they aren't mature?
– vy32
Feb 20 '12 at 2:53
Good question. I'm not entirely sure of the answer, actually.
– Zorobabel
Feb 25 '12 at 15:45
4
@vy32: because you didn't help to make them mature? :) They can't write themselves. Someone have to work on them. And since their usability is quite limited (to overwrite files currently in use on Windows you have to close Cygwin first, so it's not possible to execute any package manager in closed Cygwin :), there isn't many people interested.
– Dawid Ferenczy
Apr 17 '14 at 20:01
6
From another answer:setup-x86.exe -q -P packagename1,packagename2
. Not as fancy asapt-get
or evenapt-cyg
but it does the trick in most cases. And you can also run this fromcmd.exe
(after closing Cygwin).
– guaka
Jun 2 '15 at 16:40
2
@Steve , the answer by Dawid says it moved to "sage". stackoverflow.com/a/23143997/80772
– eel ghEEz
Feb 5 '16 at 17:29
|
show 1 more comment
up vote
124
down vote
For a more convenient installer, you may want to use
apt-cyg
as your package manager. Its syntax similar to
apt-get
, which is a plus. For this, follow the above
steps and then use Cygwin Bash for the following steps
wget https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg
chmod +x apt-cyg
mv apt-cyg /usr/local/bin
Now that apt-cyg
is installed. Here are few examples of
installing some packages
apt-cyg install nano
apt-cyg install git
apt-cyg install ca-certificates
13
Obviously use setup-x86_64.exe -q -P wget,tar,qawk,bzip2,subversion,vim for 64 bit windows.
– Arun
Dec 24 '13 at 16:46
thanks it works for me
– Shahjahan Khan
Jan 3 '14 at 10:02
2
Needed to add --no-check-certificate to the wget command. Otherwise, superb.
– akauppi
Mar 20 '14 at 11:31
And now it's a 404 (after a few redirects)
– Shadow
Jul 29 '14 at 23:27
1
wget is not installed by default with cygwin, meaning this needs to be bootstrapped with a manual and non-programmatic installation.
– user284244
Jan 30 '15 at 11:43
|
show 4 more comments
up vote
118
down vote
Cygwin's setup accepts command-line arguments to install packages from the command-line.
e.g. setup-x86.exe -q -P packagename1,packagename2
to install packages without any GUI interaction ('unattended setup mode').
(Note that you need to use setup-x86.exe
or setup-x86_64.exe
as appropriate.)
See http://cygwin.com/packages/ for the package list.
5
Nice! setup.exe is now called setup-x86.exe - or a variant depending on cpu bits. Also see here for the package list cygwin.com/packages
– ErichBSchulz
Jan 18 '14 at 6:43
2
Also, to specify multiple packages, separate them with commas. e.g. in DOS, typesetup-x86_64 --packages="openssh,python"
– Michael Scheper
Mar 19 '14 at 23:00
There doesn't seem to be a way of setting up specific versions.
– CMCDragonkai
May 26 '16 at 17:02
@jturney, Is this stable?
– Pacerier
Mar 4 '17 at 0:13
1
@Pacerier, It's unclear what you are asking. This should be a feature of setup that it's safe to rely on.
– jturney
Mar 5 '17 at 14:22
add a comment |
up vote
41
down vote
There exist some scripts, which can be used as simple package managers for Cygwin. But it’s important to know, that they always will be quite limited, because of...ehm...Windows.
Installing or removing packages is fine, each package manager for Cygwin can do that. But updating is a pain since Windows doesn’t allow you to overwrite an executable, which is currently running. So you can’t update e.g. Cygwin DLL or any package which contains the currently running executable from the Cygwin itself. There is also this note on the Cygwin Installation page:
"The basic reason for not having a more full-featured package manager is that
such a program would need full access to all of Cygwin’s POSIX functionality.
That is, however, difficult to provide in a Cygwin-free environment, such as
exists on first installation. Additionally, Windows does not easily allow
overwriting of in-use executables so installing a new version of the Cygwin
DLL while a package manager is using the DLL is problematic."
Cygwin’s setup uses Windows registry to overwrite executables which are in use
and this method requires a reboot of Windows. Therefore, it’s better to close
all Cygwin processes before updating packages, so you don’t have to reboot
your computer to actually apply the changes. Installation of a new package
should be completely without any hassles. I don’t think any of package managers
except of Cygwin’s setup.exe
implements any method to overwrite files in use,
so it would simply fail if it cannot overwrite them.
Some package managers for Cygwin:
apt-cyg
Update: the repository was disabled recently due to copyright issues (DMCA takedown). It looks like the owner of the repository issued the DMCA takedown on his own repository and created a new project called Sage (see bellow).
The best one for me. Simply because it’s one of the most recent. It doesn’t use Cygwin’s setup.exe
, it rather re-implements, what setup.exe
does. It works correctly for both platforms - x86 as well as x86_64. There are a lot of forks with more or less additional features. For example, the kou1okada fork is one of the improved versions, which is really great.
apt-cyg is just a shell script, there is no installation. Just download it (or clone the repository), make it executable and copy it somewhere to the PATH:
chmod +x apt-cyg # set executable bit
mv apt-cyg /usr/local/bin # move somewhere to PATH
# ...and use it:
apt-cyg install vim
There is also bunch of forks with different features.
sage
Another package manager implemented as a shell script. I didn't try it but it actually looks good.
It can search for packages in a repository, list packages in a category, check dependencies, list package files, and more. It has features which other package managers don't have.
cyg-apt
Fork of abandoned original cyg-apt with improvements and bugfixes. It has quite a lot of features and it's implemented in Python. Installation is made using make
.
Chocolatey’s cyg-get
If you used Chocolatey to install Cygwin, you can install the package cyg-get, which is actually a simple wrapper around Cygwin’s setup.exe
written in PowerShell.
Cygwin’s setup.exe
It also has a command line mode. Moreover, it allows you to upgrade all installed packages at once (as apt-get upgrade
does on Debian based Linux).
Example use:
setup-x86_64.exe -q --packages=bash,vim
You can create an alias for easier use, for example:
alias cyg-get="/cygdrive/d/path/to/cygwin/setup-x86_64.exe -q -P"
Then you can, for example, install Vim package with:
cyg-get vim
2
sage
is a fork ofapt-cyg
by its most active contributors over the past year or two (Steven Penny). It appears that earlier this year he had some disagreement with the originalapt-cyg
author (Stephen Jungels) and issued the DMCA takedown when he forked the project. Since Jungels (aka Transcode) is verifiably the original author of the project, GitHub restored the original project soon after. Currently, both projects are available – though the original project hasn't had any new code updates since the split. It’s a messy situation, really.
– Anthony Geoghegan
Dec 9 '16 at 13:26
setup-x86_64.exe -q --packages=bash,vim. This approach has helped me in the past. Just run it from command line and it works smoothly.
– TheWalkingData
Jan 11 '17 at 21:13
add a comment |
up vote
4
down vote
Old question, but still relevant. Here is what worked for me today (6/26/16).
From the bash shell:
lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg > apt-cyg
install apt-cyg /bin
1
wget
orcurl
is probably a better tool for this. (And personally, I'd install it in some other directory in my$PATH
rather than in/bin
.)
– Keith Thompson
Jul 22 '16 at 21:34
add a comment |
up vote
3
down vote
I wanted a solution for this similar to apt-get --print-uris
, but unfortunately apt-cyg doesn't do this. The following is a solution that allowed me to download only the packages I needed, with their dependencies, and copy them to the target for installation. Here is a bash script that parses the output of apt-cyg
into a list of URIs:
#!/usr/bin/bash
package=$1
depends=$(
apt-cyg depends $package
| perl -ne 'while ($x = /> ([^>s]+)/g) { print "$1n"; }'
| sort
| uniq)
depends=$(echo -e "$dependsn$package")
for curpkg in $depends; do
if ! grep -q "^$curpkg " /etc/setup/installed.db; then
apt-cyg show $curpkg
| perl -ne '
if ($x = /install: ([^s]+)/) {
print "$1n";
}
if (/[prev]/) {
exit;
}'
fi
done
The above will print out the paths of the packages that need downloading, relative to the cygwin mirror root, omitting any packages that are already installed. To download them, I wrote the output to a file cygwin-packages-list
and then used wget:
mirror=http://cygwin.mirror.constant.com/
uris=$(for line in $(cat cygwin-packages-list); do echo "$mirror$line"; done)
wget -x $uris
The installer can then be used to install from a local cache directory. Note that for this to work I needed to copy setup.ini
from a previous cygwin package cache to the directory with the downloaded files (otherwise the installer doesn't know what's what).
add a comment |
up vote
3
down vote
Dawid Ferenczy's answer is pretty complete but after I tried almost all of his options I've found that the Chocolatey’s cyg-get was the best (at least the only one that I could get to work).
I was wanting to install wget
, the steps was this:
choco install cyg-get
Then:
cyg-get wget
add a comment |
up vote
1
down vote
Usually before installing a package one has to know its exact name:
# define a string to search
export to_srch=perl
# get html output of search and pick only the cygwin package names
wget -qO- "https://cygwin.com/cgi-bin2/package-grep.cgi?grep=$to_srch&arch=x86_64" |
perl -l -ne 'm!(.*?)</a>s+-(.*?):(.*?)</li>!;print $2'
# and install
# install multiple packages at once, note the
setup-x86_64.exe -q -s http://cygwin.mirror.constant.com -P "<<chosen_package_name>>"
add a comment |
up vote
1
down vote
First, download installer at: https://cygwin.com/setup-x86_64.exe, then:
# move installer to cygwin folder
mv C:/Users/<you>/Downloads/setup-x86_64.exe C:/cygwin64/
# add alias to bash_aliases
echo "alias install='C:/cygwin64/setup-x86_64.exe -q -P'" >> ~/.bash_aliases
# add bash_aliases to bashrc if missing
echo "source ~/.bash_aliases" >> ~/.bashrc
e.g.
install vim
add a comment |
9 Answers
9
active
oldest
votes
9 Answers
9
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
88
down vote
accepted
There is no tool specifically in the 'setup.exe' installer that offers the
functionality of apt-get. There is, however, a command-line package installer
for Cygwin that can be downloaded separately, but it is not entirely stable and
relies on workarounds.
apt-cyg: http://github.com/transcode-open/apt-cyg
Check out the issues tab for the project to see the known problems.
Thanks! Just what I wanted to know. I wonder why they aren't mature?
– vy32
Feb 20 '12 at 2:53
Good question. I'm not entirely sure of the answer, actually.
– Zorobabel
Feb 25 '12 at 15:45
4
@vy32: because you didn't help to make them mature? :) They can't write themselves. Someone have to work on them. And since their usability is quite limited (to overwrite files currently in use on Windows you have to close Cygwin first, so it's not possible to execute any package manager in closed Cygwin :), there isn't many people interested.
– Dawid Ferenczy
Apr 17 '14 at 20:01
6
From another answer:setup-x86.exe -q -P packagename1,packagename2
. Not as fancy asapt-get
or evenapt-cyg
but it does the trick in most cases. And you can also run this fromcmd.exe
(after closing Cygwin).
– guaka
Jun 2 '15 at 16:40
2
@Steve , the answer by Dawid says it moved to "sage". stackoverflow.com/a/23143997/80772
– eel ghEEz
Feb 5 '16 at 17:29
|
show 1 more comment
up vote
88
down vote
accepted
There is no tool specifically in the 'setup.exe' installer that offers the
functionality of apt-get. There is, however, a command-line package installer
for Cygwin that can be downloaded separately, but it is not entirely stable and
relies on workarounds.
apt-cyg: http://github.com/transcode-open/apt-cyg
Check out the issues tab for the project to see the known problems.
Thanks! Just what I wanted to know. I wonder why they aren't mature?
– vy32
Feb 20 '12 at 2:53
Good question. I'm not entirely sure of the answer, actually.
– Zorobabel
Feb 25 '12 at 15:45
4
@vy32: because you didn't help to make them mature? :) They can't write themselves. Someone have to work on them. And since their usability is quite limited (to overwrite files currently in use on Windows you have to close Cygwin first, so it's not possible to execute any package manager in closed Cygwin :), there isn't many people interested.
– Dawid Ferenczy
Apr 17 '14 at 20:01
6
From another answer:setup-x86.exe -q -P packagename1,packagename2
. Not as fancy asapt-get
or evenapt-cyg
but it does the trick in most cases. And you can also run this fromcmd.exe
(after closing Cygwin).
– guaka
Jun 2 '15 at 16:40
2
@Steve , the answer by Dawid says it moved to "sage". stackoverflow.com/a/23143997/80772
– eel ghEEz
Feb 5 '16 at 17:29
|
show 1 more comment
up vote
88
down vote
accepted
up vote
88
down vote
accepted
There is no tool specifically in the 'setup.exe' installer that offers the
functionality of apt-get. There is, however, a command-line package installer
for Cygwin that can be downloaded separately, but it is not entirely stable and
relies on workarounds.
apt-cyg: http://github.com/transcode-open/apt-cyg
Check out the issues tab for the project to see the known problems.
There is no tool specifically in the 'setup.exe' installer that offers the
functionality of apt-get. There is, however, a command-line package installer
for Cygwin that can be downloaded separately, but it is not entirely stable and
relies on workarounds.
apt-cyg: http://github.com/transcode-open/apt-cyg
Check out the issues tab for the project to see the known problems.
edited Feb 5 '17 at 16:24
rany
1348
1348
answered Feb 19 '12 at 6:22
Zorobabel
96378
96378
Thanks! Just what I wanted to know. I wonder why they aren't mature?
– vy32
Feb 20 '12 at 2:53
Good question. I'm not entirely sure of the answer, actually.
– Zorobabel
Feb 25 '12 at 15:45
4
@vy32: because you didn't help to make them mature? :) They can't write themselves. Someone have to work on them. And since their usability is quite limited (to overwrite files currently in use on Windows you have to close Cygwin first, so it's not possible to execute any package manager in closed Cygwin :), there isn't many people interested.
– Dawid Ferenczy
Apr 17 '14 at 20:01
6
From another answer:setup-x86.exe -q -P packagename1,packagename2
. Not as fancy asapt-get
or evenapt-cyg
but it does the trick in most cases. And you can also run this fromcmd.exe
(after closing Cygwin).
– guaka
Jun 2 '15 at 16:40
2
@Steve , the answer by Dawid says it moved to "sage". stackoverflow.com/a/23143997/80772
– eel ghEEz
Feb 5 '16 at 17:29
|
show 1 more comment
Thanks! Just what I wanted to know. I wonder why they aren't mature?
– vy32
Feb 20 '12 at 2:53
Good question. I'm not entirely sure of the answer, actually.
– Zorobabel
Feb 25 '12 at 15:45
4
@vy32: because you didn't help to make them mature? :) They can't write themselves. Someone have to work on them. And since their usability is quite limited (to overwrite files currently in use on Windows you have to close Cygwin first, so it's not possible to execute any package manager in closed Cygwin :), there isn't many people interested.
– Dawid Ferenczy
Apr 17 '14 at 20:01
6
From another answer:setup-x86.exe -q -P packagename1,packagename2
. Not as fancy asapt-get
or evenapt-cyg
but it does the trick in most cases. And you can also run this fromcmd.exe
(after closing Cygwin).
– guaka
Jun 2 '15 at 16:40
2
@Steve , the answer by Dawid says it moved to "sage". stackoverflow.com/a/23143997/80772
– eel ghEEz
Feb 5 '16 at 17:29
Thanks! Just what I wanted to know. I wonder why they aren't mature?
– vy32
Feb 20 '12 at 2:53
Thanks! Just what I wanted to know. I wonder why they aren't mature?
– vy32
Feb 20 '12 at 2:53
Good question. I'm not entirely sure of the answer, actually.
– Zorobabel
Feb 25 '12 at 15:45
Good question. I'm not entirely sure of the answer, actually.
– Zorobabel
Feb 25 '12 at 15:45
4
4
@vy32: because you didn't help to make them mature? :) They can't write themselves. Someone have to work on them. And since their usability is quite limited (to overwrite files currently in use on Windows you have to close Cygwin first, so it's not possible to execute any package manager in closed Cygwin :), there isn't many people interested.
– Dawid Ferenczy
Apr 17 '14 at 20:01
@vy32: because you didn't help to make them mature? :) They can't write themselves. Someone have to work on them. And since their usability is quite limited (to overwrite files currently in use on Windows you have to close Cygwin first, so it's not possible to execute any package manager in closed Cygwin :), there isn't many people interested.
– Dawid Ferenczy
Apr 17 '14 at 20:01
6
6
From another answer:
setup-x86.exe -q -P packagename1,packagename2
. Not as fancy as apt-get
or even apt-cyg
but it does the trick in most cases. And you can also run this from cmd.exe
(after closing Cygwin).– guaka
Jun 2 '15 at 16:40
From another answer:
setup-x86.exe -q -P packagename1,packagename2
. Not as fancy as apt-get
or even apt-cyg
but it does the trick in most cases. And you can also run this from cmd.exe
(after closing Cygwin).– guaka
Jun 2 '15 at 16:40
2
2
@Steve , the answer by Dawid says it moved to "sage". stackoverflow.com/a/23143997/80772
– eel ghEEz
Feb 5 '16 at 17:29
@Steve , the answer by Dawid says it moved to "sage". stackoverflow.com/a/23143997/80772
– eel ghEEz
Feb 5 '16 at 17:29
|
show 1 more comment
up vote
124
down vote
For a more convenient installer, you may want to use
apt-cyg
as your package manager. Its syntax similar to
apt-get
, which is a plus. For this, follow the above
steps and then use Cygwin Bash for the following steps
wget https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg
chmod +x apt-cyg
mv apt-cyg /usr/local/bin
Now that apt-cyg
is installed. Here are few examples of
installing some packages
apt-cyg install nano
apt-cyg install git
apt-cyg install ca-certificates
13
Obviously use setup-x86_64.exe -q -P wget,tar,qawk,bzip2,subversion,vim for 64 bit windows.
– Arun
Dec 24 '13 at 16:46
thanks it works for me
– Shahjahan Khan
Jan 3 '14 at 10:02
2
Needed to add --no-check-certificate to the wget command. Otherwise, superb.
– akauppi
Mar 20 '14 at 11:31
And now it's a 404 (after a few redirects)
– Shadow
Jul 29 '14 at 23:27
1
wget is not installed by default with cygwin, meaning this needs to be bootstrapped with a manual and non-programmatic installation.
– user284244
Jan 30 '15 at 11:43
|
show 4 more comments
up vote
124
down vote
For a more convenient installer, you may want to use
apt-cyg
as your package manager. Its syntax similar to
apt-get
, which is a plus. For this, follow the above
steps and then use Cygwin Bash for the following steps
wget https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg
chmod +x apt-cyg
mv apt-cyg /usr/local/bin
Now that apt-cyg
is installed. Here are few examples of
installing some packages
apt-cyg install nano
apt-cyg install git
apt-cyg install ca-certificates
13
Obviously use setup-x86_64.exe -q -P wget,tar,qawk,bzip2,subversion,vim for 64 bit windows.
– Arun
Dec 24 '13 at 16:46
thanks it works for me
– Shahjahan Khan
Jan 3 '14 at 10:02
2
Needed to add --no-check-certificate to the wget command. Otherwise, superb.
– akauppi
Mar 20 '14 at 11:31
And now it's a 404 (after a few redirects)
– Shadow
Jul 29 '14 at 23:27
1
wget is not installed by default with cygwin, meaning this needs to be bootstrapped with a manual and non-programmatic installation.
– user284244
Jan 30 '15 at 11:43
|
show 4 more comments
up vote
124
down vote
up vote
124
down vote
For a more convenient installer, you may want to use
apt-cyg
as your package manager. Its syntax similar to
apt-get
, which is a plus. For this, follow the above
steps and then use Cygwin Bash for the following steps
wget https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg
chmod +x apt-cyg
mv apt-cyg /usr/local/bin
Now that apt-cyg
is installed. Here are few examples of
installing some packages
apt-cyg install nano
apt-cyg install git
apt-cyg install ca-certificates
For a more convenient installer, you may want to use
apt-cyg
as your package manager. Its syntax similar to
apt-get
, which is a plus. For this, follow the above
steps and then use Cygwin Bash for the following steps
wget https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg
chmod +x apt-cyg
mv apt-cyg /usr/local/bin
Now that apt-cyg
is installed. Here are few examples of
installing some packages
apt-cyg install nano
apt-cyg install git
apt-cyg install ca-certificates
edited Dec 30 '16 at 22:35
Steven Penny
1
1
answered Jun 1 '13 at 6:27
sagunms
4,80323237
4,80323237
13
Obviously use setup-x86_64.exe -q -P wget,tar,qawk,bzip2,subversion,vim for 64 bit windows.
– Arun
Dec 24 '13 at 16:46
thanks it works for me
– Shahjahan Khan
Jan 3 '14 at 10:02
2
Needed to add --no-check-certificate to the wget command. Otherwise, superb.
– akauppi
Mar 20 '14 at 11:31
And now it's a 404 (after a few redirects)
– Shadow
Jul 29 '14 at 23:27
1
wget is not installed by default with cygwin, meaning this needs to be bootstrapped with a manual and non-programmatic installation.
– user284244
Jan 30 '15 at 11:43
|
show 4 more comments
13
Obviously use setup-x86_64.exe -q -P wget,tar,qawk,bzip2,subversion,vim for 64 bit windows.
– Arun
Dec 24 '13 at 16:46
thanks it works for me
– Shahjahan Khan
Jan 3 '14 at 10:02
2
Needed to add --no-check-certificate to the wget command. Otherwise, superb.
– akauppi
Mar 20 '14 at 11:31
And now it's a 404 (after a few redirects)
– Shadow
Jul 29 '14 at 23:27
1
wget is not installed by default with cygwin, meaning this needs to be bootstrapped with a manual and non-programmatic installation.
– user284244
Jan 30 '15 at 11:43
13
13
Obviously use setup-x86_64.exe -q -P wget,tar,qawk,bzip2,subversion,vim for 64 bit windows.
– Arun
Dec 24 '13 at 16:46
Obviously use setup-x86_64.exe -q -P wget,tar,qawk,bzip2,subversion,vim for 64 bit windows.
– Arun
Dec 24 '13 at 16:46
thanks it works for me
– Shahjahan Khan
Jan 3 '14 at 10:02
thanks it works for me
– Shahjahan Khan
Jan 3 '14 at 10:02
2
2
Needed to add --no-check-certificate to the wget command. Otherwise, superb.
– akauppi
Mar 20 '14 at 11:31
Needed to add --no-check-certificate to the wget command. Otherwise, superb.
– akauppi
Mar 20 '14 at 11:31
And now it's a 404 (after a few redirects)
– Shadow
Jul 29 '14 at 23:27
And now it's a 404 (after a few redirects)
– Shadow
Jul 29 '14 at 23:27
1
1
wget is not installed by default with cygwin, meaning this needs to be bootstrapped with a manual and non-programmatic installation.
– user284244
Jan 30 '15 at 11:43
wget is not installed by default with cygwin, meaning this needs to be bootstrapped with a manual and non-programmatic installation.
– user284244
Jan 30 '15 at 11:43
|
show 4 more comments
up vote
118
down vote
Cygwin's setup accepts command-line arguments to install packages from the command-line.
e.g. setup-x86.exe -q -P packagename1,packagename2
to install packages without any GUI interaction ('unattended setup mode').
(Note that you need to use setup-x86.exe
or setup-x86_64.exe
as appropriate.)
See http://cygwin.com/packages/ for the package list.
5
Nice! setup.exe is now called setup-x86.exe - or a variant depending on cpu bits. Also see here for the package list cygwin.com/packages
– ErichBSchulz
Jan 18 '14 at 6:43
2
Also, to specify multiple packages, separate them with commas. e.g. in DOS, typesetup-x86_64 --packages="openssh,python"
– Michael Scheper
Mar 19 '14 at 23:00
There doesn't seem to be a way of setting up specific versions.
– CMCDragonkai
May 26 '16 at 17:02
@jturney, Is this stable?
– Pacerier
Mar 4 '17 at 0:13
1
@Pacerier, It's unclear what you are asking. This should be a feature of setup that it's safe to rely on.
– jturney
Mar 5 '17 at 14:22
add a comment |
up vote
118
down vote
Cygwin's setup accepts command-line arguments to install packages from the command-line.
e.g. setup-x86.exe -q -P packagename1,packagename2
to install packages without any GUI interaction ('unattended setup mode').
(Note that you need to use setup-x86.exe
or setup-x86_64.exe
as appropriate.)
See http://cygwin.com/packages/ for the package list.
5
Nice! setup.exe is now called setup-x86.exe - or a variant depending on cpu bits. Also see here for the package list cygwin.com/packages
– ErichBSchulz
Jan 18 '14 at 6:43
2
Also, to specify multiple packages, separate them with commas. e.g. in DOS, typesetup-x86_64 --packages="openssh,python"
– Michael Scheper
Mar 19 '14 at 23:00
There doesn't seem to be a way of setting up specific versions.
– CMCDragonkai
May 26 '16 at 17:02
@jturney, Is this stable?
– Pacerier
Mar 4 '17 at 0:13
1
@Pacerier, It's unclear what you are asking. This should be a feature of setup that it's safe to rely on.
– jturney
Mar 5 '17 at 14:22
add a comment |
up vote
118
down vote
up vote
118
down vote
Cygwin's setup accepts command-line arguments to install packages from the command-line.
e.g. setup-x86.exe -q -P packagename1,packagename2
to install packages without any GUI interaction ('unattended setup mode').
(Note that you need to use setup-x86.exe
or setup-x86_64.exe
as appropriate.)
See http://cygwin.com/packages/ for the package list.
Cygwin's setup accepts command-line arguments to install packages from the command-line.
e.g. setup-x86.exe -q -P packagename1,packagename2
to install packages without any GUI interaction ('unattended setup mode').
(Note that you need to use setup-x86.exe
or setup-x86_64.exe
as appropriate.)
See http://cygwin.com/packages/ for the package list.
edited Sep 6 '15 at 21:40
answered Feb 20 '13 at 18:08
jturney
1,97811121
1,97811121
5
Nice! setup.exe is now called setup-x86.exe - or a variant depending on cpu bits. Also see here for the package list cygwin.com/packages
– ErichBSchulz
Jan 18 '14 at 6:43
2
Also, to specify multiple packages, separate them with commas. e.g. in DOS, typesetup-x86_64 --packages="openssh,python"
– Michael Scheper
Mar 19 '14 at 23:00
There doesn't seem to be a way of setting up specific versions.
– CMCDragonkai
May 26 '16 at 17:02
@jturney, Is this stable?
– Pacerier
Mar 4 '17 at 0:13
1
@Pacerier, It's unclear what you are asking. This should be a feature of setup that it's safe to rely on.
– jturney
Mar 5 '17 at 14:22
add a comment |
5
Nice! setup.exe is now called setup-x86.exe - or a variant depending on cpu bits. Also see here for the package list cygwin.com/packages
– ErichBSchulz
Jan 18 '14 at 6:43
2
Also, to specify multiple packages, separate them with commas. e.g. in DOS, typesetup-x86_64 --packages="openssh,python"
– Michael Scheper
Mar 19 '14 at 23:00
There doesn't seem to be a way of setting up specific versions.
– CMCDragonkai
May 26 '16 at 17:02
@jturney, Is this stable?
– Pacerier
Mar 4 '17 at 0:13
1
@Pacerier, It's unclear what you are asking. This should be a feature of setup that it's safe to rely on.
– jturney
Mar 5 '17 at 14:22
5
5
Nice! setup.exe is now called setup-x86.exe - or a variant depending on cpu bits. Also see here for the package list cygwin.com/packages
– ErichBSchulz
Jan 18 '14 at 6:43
Nice! setup.exe is now called setup-x86.exe - or a variant depending on cpu bits. Also see here for the package list cygwin.com/packages
– ErichBSchulz
Jan 18 '14 at 6:43
2
2
Also, to specify multiple packages, separate them with commas. e.g. in DOS, type
setup-x86_64 --packages="openssh,python"
– Michael Scheper
Mar 19 '14 at 23:00
Also, to specify multiple packages, separate them with commas. e.g. in DOS, type
setup-x86_64 --packages="openssh,python"
– Michael Scheper
Mar 19 '14 at 23:00
There doesn't seem to be a way of setting up specific versions.
– CMCDragonkai
May 26 '16 at 17:02
There doesn't seem to be a way of setting up specific versions.
– CMCDragonkai
May 26 '16 at 17:02
@jturney, Is this stable?
– Pacerier
Mar 4 '17 at 0:13
@jturney, Is this stable?
– Pacerier
Mar 4 '17 at 0:13
1
1
@Pacerier, It's unclear what you are asking. This should be a feature of setup that it's safe to rely on.
– jturney
Mar 5 '17 at 14:22
@Pacerier, It's unclear what you are asking. This should be a feature of setup that it's safe to rely on.
– jturney
Mar 5 '17 at 14:22
add a comment |
up vote
41
down vote
There exist some scripts, which can be used as simple package managers for Cygwin. But it’s important to know, that they always will be quite limited, because of...ehm...Windows.
Installing or removing packages is fine, each package manager for Cygwin can do that. But updating is a pain since Windows doesn’t allow you to overwrite an executable, which is currently running. So you can’t update e.g. Cygwin DLL or any package which contains the currently running executable from the Cygwin itself. There is also this note on the Cygwin Installation page:
"The basic reason for not having a more full-featured package manager is that
such a program would need full access to all of Cygwin’s POSIX functionality.
That is, however, difficult to provide in a Cygwin-free environment, such as
exists on first installation. Additionally, Windows does not easily allow
overwriting of in-use executables so installing a new version of the Cygwin
DLL while a package manager is using the DLL is problematic."
Cygwin’s setup uses Windows registry to overwrite executables which are in use
and this method requires a reboot of Windows. Therefore, it’s better to close
all Cygwin processes before updating packages, so you don’t have to reboot
your computer to actually apply the changes. Installation of a new package
should be completely without any hassles. I don’t think any of package managers
except of Cygwin’s setup.exe
implements any method to overwrite files in use,
so it would simply fail if it cannot overwrite them.
Some package managers for Cygwin:
apt-cyg
Update: the repository was disabled recently due to copyright issues (DMCA takedown). It looks like the owner of the repository issued the DMCA takedown on his own repository and created a new project called Sage (see bellow).
The best one for me. Simply because it’s one of the most recent. It doesn’t use Cygwin’s setup.exe
, it rather re-implements, what setup.exe
does. It works correctly for both platforms - x86 as well as x86_64. There are a lot of forks with more or less additional features. For example, the kou1okada fork is one of the improved versions, which is really great.
apt-cyg is just a shell script, there is no installation. Just download it (or clone the repository), make it executable and copy it somewhere to the PATH:
chmod +x apt-cyg # set executable bit
mv apt-cyg /usr/local/bin # move somewhere to PATH
# ...and use it:
apt-cyg install vim
There is also bunch of forks with different features.
sage
Another package manager implemented as a shell script. I didn't try it but it actually looks good.
It can search for packages in a repository, list packages in a category, check dependencies, list package files, and more. It has features which other package managers don't have.
cyg-apt
Fork of abandoned original cyg-apt with improvements and bugfixes. It has quite a lot of features and it's implemented in Python. Installation is made using make
.
Chocolatey’s cyg-get
If you used Chocolatey to install Cygwin, you can install the package cyg-get, which is actually a simple wrapper around Cygwin’s setup.exe
written in PowerShell.
Cygwin’s setup.exe
It also has a command line mode. Moreover, it allows you to upgrade all installed packages at once (as apt-get upgrade
does on Debian based Linux).
Example use:
setup-x86_64.exe -q --packages=bash,vim
You can create an alias for easier use, for example:
alias cyg-get="/cygdrive/d/path/to/cygwin/setup-x86_64.exe -q -P"
Then you can, for example, install Vim package with:
cyg-get vim
2
sage
is a fork ofapt-cyg
by its most active contributors over the past year or two (Steven Penny). It appears that earlier this year he had some disagreement with the originalapt-cyg
author (Stephen Jungels) and issued the DMCA takedown when he forked the project. Since Jungels (aka Transcode) is verifiably the original author of the project, GitHub restored the original project soon after. Currently, both projects are available – though the original project hasn't had any new code updates since the split. It’s a messy situation, really.
– Anthony Geoghegan
Dec 9 '16 at 13:26
setup-x86_64.exe -q --packages=bash,vim. This approach has helped me in the past. Just run it from command line and it works smoothly.
– TheWalkingData
Jan 11 '17 at 21:13
add a comment |
up vote
41
down vote
There exist some scripts, which can be used as simple package managers for Cygwin. But it’s important to know, that they always will be quite limited, because of...ehm...Windows.
Installing or removing packages is fine, each package manager for Cygwin can do that. But updating is a pain since Windows doesn’t allow you to overwrite an executable, which is currently running. So you can’t update e.g. Cygwin DLL or any package which contains the currently running executable from the Cygwin itself. There is also this note on the Cygwin Installation page:
"The basic reason for not having a more full-featured package manager is that
such a program would need full access to all of Cygwin’s POSIX functionality.
That is, however, difficult to provide in a Cygwin-free environment, such as
exists on first installation. Additionally, Windows does not easily allow
overwriting of in-use executables so installing a new version of the Cygwin
DLL while a package manager is using the DLL is problematic."
Cygwin’s setup uses Windows registry to overwrite executables which are in use
and this method requires a reboot of Windows. Therefore, it’s better to close
all Cygwin processes before updating packages, so you don’t have to reboot
your computer to actually apply the changes. Installation of a new package
should be completely without any hassles. I don’t think any of package managers
except of Cygwin’s setup.exe
implements any method to overwrite files in use,
so it would simply fail if it cannot overwrite them.
Some package managers for Cygwin:
apt-cyg
Update: the repository was disabled recently due to copyright issues (DMCA takedown). It looks like the owner of the repository issued the DMCA takedown on his own repository and created a new project called Sage (see bellow).
The best one for me. Simply because it’s one of the most recent. It doesn’t use Cygwin’s setup.exe
, it rather re-implements, what setup.exe
does. It works correctly for both platforms - x86 as well as x86_64. There are a lot of forks with more or less additional features. For example, the kou1okada fork is one of the improved versions, which is really great.
apt-cyg is just a shell script, there is no installation. Just download it (or clone the repository), make it executable and copy it somewhere to the PATH:
chmod +x apt-cyg # set executable bit
mv apt-cyg /usr/local/bin # move somewhere to PATH
# ...and use it:
apt-cyg install vim
There is also bunch of forks with different features.
sage
Another package manager implemented as a shell script. I didn't try it but it actually looks good.
It can search for packages in a repository, list packages in a category, check dependencies, list package files, and more. It has features which other package managers don't have.
cyg-apt
Fork of abandoned original cyg-apt with improvements and bugfixes. It has quite a lot of features and it's implemented in Python. Installation is made using make
.
Chocolatey’s cyg-get
If you used Chocolatey to install Cygwin, you can install the package cyg-get, which is actually a simple wrapper around Cygwin’s setup.exe
written in PowerShell.
Cygwin’s setup.exe
It also has a command line mode. Moreover, it allows you to upgrade all installed packages at once (as apt-get upgrade
does on Debian based Linux).
Example use:
setup-x86_64.exe -q --packages=bash,vim
You can create an alias for easier use, for example:
alias cyg-get="/cygdrive/d/path/to/cygwin/setup-x86_64.exe -q -P"
Then you can, for example, install Vim package with:
cyg-get vim
2
sage
is a fork ofapt-cyg
by its most active contributors over the past year or two (Steven Penny). It appears that earlier this year he had some disagreement with the originalapt-cyg
author (Stephen Jungels) and issued the DMCA takedown when he forked the project. Since Jungels (aka Transcode) is verifiably the original author of the project, GitHub restored the original project soon after. Currently, both projects are available – though the original project hasn't had any new code updates since the split. It’s a messy situation, really.
– Anthony Geoghegan
Dec 9 '16 at 13:26
setup-x86_64.exe -q --packages=bash,vim. This approach has helped me in the past. Just run it from command line and it works smoothly.
– TheWalkingData
Jan 11 '17 at 21:13
add a comment |
up vote
41
down vote
up vote
41
down vote
There exist some scripts, which can be used as simple package managers for Cygwin. But it’s important to know, that they always will be quite limited, because of...ehm...Windows.
Installing or removing packages is fine, each package manager for Cygwin can do that. But updating is a pain since Windows doesn’t allow you to overwrite an executable, which is currently running. So you can’t update e.g. Cygwin DLL or any package which contains the currently running executable from the Cygwin itself. There is also this note on the Cygwin Installation page:
"The basic reason for not having a more full-featured package manager is that
such a program would need full access to all of Cygwin’s POSIX functionality.
That is, however, difficult to provide in a Cygwin-free environment, such as
exists on first installation. Additionally, Windows does not easily allow
overwriting of in-use executables so installing a new version of the Cygwin
DLL while a package manager is using the DLL is problematic."
Cygwin’s setup uses Windows registry to overwrite executables which are in use
and this method requires a reboot of Windows. Therefore, it’s better to close
all Cygwin processes before updating packages, so you don’t have to reboot
your computer to actually apply the changes. Installation of a new package
should be completely without any hassles. I don’t think any of package managers
except of Cygwin’s setup.exe
implements any method to overwrite files in use,
so it would simply fail if it cannot overwrite them.
Some package managers for Cygwin:
apt-cyg
Update: the repository was disabled recently due to copyright issues (DMCA takedown). It looks like the owner of the repository issued the DMCA takedown on his own repository and created a new project called Sage (see bellow).
The best one for me. Simply because it’s one of the most recent. It doesn’t use Cygwin’s setup.exe
, it rather re-implements, what setup.exe
does. It works correctly for both platforms - x86 as well as x86_64. There are a lot of forks with more or less additional features. For example, the kou1okada fork is one of the improved versions, which is really great.
apt-cyg is just a shell script, there is no installation. Just download it (or clone the repository), make it executable and copy it somewhere to the PATH:
chmod +x apt-cyg # set executable bit
mv apt-cyg /usr/local/bin # move somewhere to PATH
# ...and use it:
apt-cyg install vim
There is also bunch of forks with different features.
sage
Another package manager implemented as a shell script. I didn't try it but it actually looks good.
It can search for packages in a repository, list packages in a category, check dependencies, list package files, and more. It has features which other package managers don't have.
cyg-apt
Fork of abandoned original cyg-apt with improvements and bugfixes. It has quite a lot of features and it's implemented in Python. Installation is made using make
.
Chocolatey’s cyg-get
If you used Chocolatey to install Cygwin, you can install the package cyg-get, which is actually a simple wrapper around Cygwin’s setup.exe
written in PowerShell.
Cygwin’s setup.exe
It also has a command line mode. Moreover, it allows you to upgrade all installed packages at once (as apt-get upgrade
does on Debian based Linux).
Example use:
setup-x86_64.exe -q --packages=bash,vim
You can create an alias for easier use, for example:
alias cyg-get="/cygdrive/d/path/to/cygwin/setup-x86_64.exe -q -P"
Then you can, for example, install Vim package with:
cyg-get vim
There exist some scripts, which can be used as simple package managers for Cygwin. But it’s important to know, that they always will be quite limited, because of...ehm...Windows.
Installing or removing packages is fine, each package manager for Cygwin can do that. But updating is a pain since Windows doesn’t allow you to overwrite an executable, which is currently running. So you can’t update e.g. Cygwin DLL or any package which contains the currently running executable from the Cygwin itself. There is also this note on the Cygwin Installation page:
"The basic reason for not having a more full-featured package manager is that
such a program would need full access to all of Cygwin’s POSIX functionality.
That is, however, difficult to provide in a Cygwin-free environment, such as
exists on first installation. Additionally, Windows does not easily allow
overwriting of in-use executables so installing a new version of the Cygwin
DLL while a package manager is using the DLL is problematic."
Cygwin’s setup uses Windows registry to overwrite executables which are in use
and this method requires a reboot of Windows. Therefore, it’s better to close
all Cygwin processes before updating packages, so you don’t have to reboot
your computer to actually apply the changes. Installation of a new package
should be completely without any hassles. I don’t think any of package managers
except of Cygwin’s setup.exe
implements any method to overwrite files in use,
so it would simply fail if it cannot overwrite them.
Some package managers for Cygwin:
apt-cyg
Update: the repository was disabled recently due to copyright issues (DMCA takedown). It looks like the owner of the repository issued the DMCA takedown on his own repository and created a new project called Sage (see bellow).
The best one for me. Simply because it’s one of the most recent. It doesn’t use Cygwin’s setup.exe
, it rather re-implements, what setup.exe
does. It works correctly for both platforms - x86 as well as x86_64. There are a lot of forks with more or less additional features. For example, the kou1okada fork is one of the improved versions, which is really great.
apt-cyg is just a shell script, there is no installation. Just download it (or clone the repository), make it executable and copy it somewhere to the PATH:
chmod +x apt-cyg # set executable bit
mv apt-cyg /usr/local/bin # move somewhere to PATH
# ...and use it:
apt-cyg install vim
There is also bunch of forks with different features.
sage
Another package manager implemented as a shell script. I didn't try it but it actually looks good.
It can search for packages in a repository, list packages in a category, check dependencies, list package files, and more. It has features which other package managers don't have.
cyg-apt
Fork of abandoned original cyg-apt with improvements and bugfixes. It has quite a lot of features and it's implemented in Python. Installation is made using make
.
Chocolatey’s cyg-get
If you used Chocolatey to install Cygwin, you can install the package cyg-get, which is actually a simple wrapper around Cygwin’s setup.exe
written in PowerShell.
Cygwin’s setup.exe
It also has a command line mode. Moreover, it allows you to upgrade all installed packages at once (as apt-get upgrade
does on Debian based Linux).
Example use:
setup-x86_64.exe -q --packages=bash,vim
You can create an alias for easier use, for example:
alias cyg-get="/cygdrive/d/path/to/cygwin/setup-x86_64.exe -q -P"
Then you can, for example, install Vim package with:
cyg-get vim
edited Aug 22 at 12:39
ostergaard
1,42211631
1,42211631
answered Apr 17 '14 at 21:45
Dawid Ferenczy
9,91674451
9,91674451
2
sage
is a fork ofapt-cyg
by its most active contributors over the past year or two (Steven Penny). It appears that earlier this year he had some disagreement with the originalapt-cyg
author (Stephen Jungels) and issued the DMCA takedown when he forked the project. Since Jungels (aka Transcode) is verifiably the original author of the project, GitHub restored the original project soon after. Currently, both projects are available – though the original project hasn't had any new code updates since the split. It’s a messy situation, really.
– Anthony Geoghegan
Dec 9 '16 at 13:26
setup-x86_64.exe -q --packages=bash,vim. This approach has helped me in the past. Just run it from command line and it works smoothly.
– TheWalkingData
Jan 11 '17 at 21:13
add a comment |
2
sage
is a fork ofapt-cyg
by its most active contributors over the past year or two (Steven Penny). It appears that earlier this year he had some disagreement with the originalapt-cyg
author (Stephen Jungels) and issued the DMCA takedown when he forked the project. Since Jungels (aka Transcode) is verifiably the original author of the project, GitHub restored the original project soon after. Currently, both projects are available – though the original project hasn't had any new code updates since the split. It’s a messy situation, really.
– Anthony Geoghegan
Dec 9 '16 at 13:26
setup-x86_64.exe -q --packages=bash,vim. This approach has helped me in the past. Just run it from command line and it works smoothly.
– TheWalkingData
Jan 11 '17 at 21:13
2
2
sage
is a fork of apt-cyg
by its most active contributors over the past year or two (Steven Penny). It appears that earlier this year he had some disagreement with the original apt-cyg
author (Stephen Jungels) and issued the DMCA takedown when he forked the project. Since Jungels (aka Transcode) is verifiably the original author of the project, GitHub restored the original project soon after. Currently, both projects are available – though the original project hasn't had any new code updates since the split. It’s a messy situation, really.– Anthony Geoghegan
Dec 9 '16 at 13:26
sage
is a fork of apt-cyg
by its most active contributors over the past year or two (Steven Penny). It appears that earlier this year he had some disagreement with the original apt-cyg
author (Stephen Jungels) and issued the DMCA takedown when he forked the project. Since Jungels (aka Transcode) is verifiably the original author of the project, GitHub restored the original project soon after. Currently, both projects are available – though the original project hasn't had any new code updates since the split. It’s a messy situation, really.– Anthony Geoghegan
Dec 9 '16 at 13:26
setup-x86_64.exe -q --packages=bash,vim. This approach has helped me in the past. Just run it from command line and it works smoothly.
– TheWalkingData
Jan 11 '17 at 21:13
setup-x86_64.exe -q --packages=bash,vim. This approach has helped me in the past. Just run it from command line and it works smoothly.
– TheWalkingData
Jan 11 '17 at 21:13
add a comment |
up vote
4
down vote
Old question, but still relevant. Here is what worked for me today (6/26/16).
From the bash shell:
lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg > apt-cyg
install apt-cyg /bin
1
wget
orcurl
is probably a better tool for this. (And personally, I'd install it in some other directory in my$PATH
rather than in/bin
.)
– Keith Thompson
Jul 22 '16 at 21:34
add a comment |
up vote
4
down vote
Old question, but still relevant. Here is what worked for me today (6/26/16).
From the bash shell:
lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg > apt-cyg
install apt-cyg /bin
1
wget
orcurl
is probably a better tool for this. (And personally, I'd install it in some other directory in my$PATH
rather than in/bin
.)
– Keith Thompson
Jul 22 '16 at 21:34
add a comment |
up vote
4
down vote
up vote
4
down vote
Old question, but still relevant. Here is what worked for me today (6/26/16).
From the bash shell:
lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg > apt-cyg
install apt-cyg /bin
Old question, but still relevant. Here is what worked for me today (6/26/16).
From the bash shell:
lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg > apt-cyg
install apt-cyg /bin
edited Jul 22 '16 at 21:32
Keith Thompson
189k25273465
189k25273465
answered Jun 26 '16 at 23:24
Steve Isenberg
164210
164210
1
wget
orcurl
is probably a better tool for this. (And personally, I'd install it in some other directory in my$PATH
rather than in/bin
.)
– Keith Thompson
Jul 22 '16 at 21:34
add a comment |
1
wget
orcurl
is probably a better tool for this. (And personally, I'd install it in some other directory in my$PATH
rather than in/bin
.)
– Keith Thompson
Jul 22 '16 at 21:34
1
1
wget
or curl
is probably a better tool for this. (And personally, I'd install it in some other directory in my $PATH
rather than in /bin
.)– Keith Thompson
Jul 22 '16 at 21:34
wget
or curl
is probably a better tool for this. (And personally, I'd install it in some other directory in my $PATH
rather than in /bin
.)– Keith Thompson
Jul 22 '16 at 21:34
add a comment |
up vote
3
down vote
I wanted a solution for this similar to apt-get --print-uris
, but unfortunately apt-cyg doesn't do this. The following is a solution that allowed me to download only the packages I needed, with their dependencies, and copy them to the target for installation. Here is a bash script that parses the output of apt-cyg
into a list of URIs:
#!/usr/bin/bash
package=$1
depends=$(
apt-cyg depends $package
| perl -ne 'while ($x = /> ([^>s]+)/g) { print "$1n"; }'
| sort
| uniq)
depends=$(echo -e "$dependsn$package")
for curpkg in $depends; do
if ! grep -q "^$curpkg " /etc/setup/installed.db; then
apt-cyg show $curpkg
| perl -ne '
if ($x = /install: ([^s]+)/) {
print "$1n";
}
if (/[prev]/) {
exit;
}'
fi
done
The above will print out the paths of the packages that need downloading, relative to the cygwin mirror root, omitting any packages that are already installed. To download them, I wrote the output to a file cygwin-packages-list
and then used wget:
mirror=http://cygwin.mirror.constant.com/
uris=$(for line in $(cat cygwin-packages-list); do echo "$mirror$line"; done)
wget -x $uris
The installer can then be used to install from a local cache directory. Note that for this to work I needed to copy setup.ini
from a previous cygwin package cache to the directory with the downloaded files (otherwise the installer doesn't know what's what).
add a comment |
up vote
3
down vote
I wanted a solution for this similar to apt-get --print-uris
, but unfortunately apt-cyg doesn't do this. The following is a solution that allowed me to download only the packages I needed, with their dependencies, and copy them to the target for installation. Here is a bash script that parses the output of apt-cyg
into a list of URIs:
#!/usr/bin/bash
package=$1
depends=$(
apt-cyg depends $package
| perl -ne 'while ($x = /> ([^>s]+)/g) { print "$1n"; }'
| sort
| uniq)
depends=$(echo -e "$dependsn$package")
for curpkg in $depends; do
if ! grep -q "^$curpkg " /etc/setup/installed.db; then
apt-cyg show $curpkg
| perl -ne '
if ($x = /install: ([^s]+)/) {
print "$1n";
}
if (/[prev]/) {
exit;
}'
fi
done
The above will print out the paths of the packages that need downloading, relative to the cygwin mirror root, omitting any packages that are already installed. To download them, I wrote the output to a file cygwin-packages-list
and then used wget:
mirror=http://cygwin.mirror.constant.com/
uris=$(for line in $(cat cygwin-packages-list); do echo "$mirror$line"; done)
wget -x $uris
The installer can then be used to install from a local cache directory. Note that for this to work I needed to copy setup.ini
from a previous cygwin package cache to the directory with the downloaded files (otherwise the installer doesn't know what's what).
add a comment |
up vote
3
down vote
up vote
3
down vote
I wanted a solution for this similar to apt-get --print-uris
, but unfortunately apt-cyg doesn't do this. The following is a solution that allowed me to download only the packages I needed, with their dependencies, and copy them to the target for installation. Here is a bash script that parses the output of apt-cyg
into a list of URIs:
#!/usr/bin/bash
package=$1
depends=$(
apt-cyg depends $package
| perl -ne 'while ($x = /> ([^>s]+)/g) { print "$1n"; }'
| sort
| uniq)
depends=$(echo -e "$dependsn$package")
for curpkg in $depends; do
if ! grep -q "^$curpkg " /etc/setup/installed.db; then
apt-cyg show $curpkg
| perl -ne '
if ($x = /install: ([^s]+)/) {
print "$1n";
}
if (/[prev]/) {
exit;
}'
fi
done
The above will print out the paths of the packages that need downloading, relative to the cygwin mirror root, omitting any packages that are already installed. To download them, I wrote the output to a file cygwin-packages-list
and then used wget:
mirror=http://cygwin.mirror.constant.com/
uris=$(for line in $(cat cygwin-packages-list); do echo "$mirror$line"; done)
wget -x $uris
The installer can then be used to install from a local cache directory. Note that for this to work I needed to copy setup.ini
from a previous cygwin package cache to the directory with the downloaded files (otherwise the installer doesn't know what's what).
I wanted a solution for this similar to apt-get --print-uris
, but unfortunately apt-cyg doesn't do this. The following is a solution that allowed me to download only the packages I needed, with their dependencies, and copy them to the target for installation. Here is a bash script that parses the output of apt-cyg
into a list of URIs:
#!/usr/bin/bash
package=$1
depends=$(
apt-cyg depends $package
| perl -ne 'while ($x = /> ([^>s]+)/g) { print "$1n"; }'
| sort
| uniq)
depends=$(echo -e "$dependsn$package")
for curpkg in $depends; do
if ! grep -q "^$curpkg " /etc/setup/installed.db; then
apt-cyg show $curpkg
| perl -ne '
if ($x = /install: ([^s]+)/) {
print "$1n";
}
if (/[prev]/) {
exit;
}'
fi
done
The above will print out the paths of the packages that need downloading, relative to the cygwin mirror root, omitting any packages that are already installed. To download them, I wrote the output to a file cygwin-packages-list
and then used wget:
mirror=http://cygwin.mirror.constant.com/
uris=$(for line in $(cat cygwin-packages-list); do echo "$mirror$line"; done)
wget -x $uris
The installer can then be used to install from a local cache directory. Note that for this to work I needed to copy setup.ini
from a previous cygwin package cache to the directory with the downloaded files (otherwise the installer doesn't know what's what).
answered Nov 23 '15 at 12:52
wakjah
4,11911121
4,11911121
add a comment |
add a comment |
up vote
3
down vote
Dawid Ferenczy's answer is pretty complete but after I tried almost all of his options I've found that the Chocolatey’s cyg-get was the best (at least the only one that I could get to work).
I was wanting to install wget
, the steps was this:
choco install cyg-get
Then:
cyg-get wget
add a comment |
up vote
3
down vote
Dawid Ferenczy's answer is pretty complete but after I tried almost all of his options I've found that the Chocolatey’s cyg-get was the best (at least the only one that I could get to work).
I was wanting to install wget
, the steps was this:
choco install cyg-get
Then:
cyg-get wget
add a comment |
up vote
3
down vote
up vote
3
down vote
Dawid Ferenczy's answer is pretty complete but after I tried almost all of his options I've found that the Chocolatey’s cyg-get was the best (at least the only one that I could get to work).
I was wanting to install wget
, the steps was this:
choco install cyg-get
Then:
cyg-get wget
Dawid Ferenczy's answer is pretty complete but after I tried almost all of his options I've found that the Chocolatey’s cyg-get was the best (at least the only one that I could get to work).
I was wanting to install wget
, the steps was this:
choco install cyg-get
Then:
cyg-get wget
edited Aug 22 at 10:31
ostergaard
1,42211631
1,42211631
answered Jul 22 '16 at 21:29
fabriciorissetto
5,54423443
5,54423443
add a comment |
add a comment |
up vote
1
down vote
Usually before installing a package one has to know its exact name:
# define a string to search
export to_srch=perl
# get html output of search and pick only the cygwin package names
wget -qO- "https://cygwin.com/cgi-bin2/package-grep.cgi?grep=$to_srch&arch=x86_64" |
perl -l -ne 'm!(.*?)</a>s+-(.*?):(.*?)</li>!;print $2'
# and install
# install multiple packages at once, note the
setup-x86_64.exe -q -s http://cygwin.mirror.constant.com -P "<<chosen_package_name>>"
add a comment |
up vote
1
down vote
Usually before installing a package one has to know its exact name:
# define a string to search
export to_srch=perl
# get html output of search and pick only the cygwin package names
wget -qO- "https://cygwin.com/cgi-bin2/package-grep.cgi?grep=$to_srch&arch=x86_64" |
perl -l -ne 'm!(.*?)</a>s+-(.*?):(.*?)</li>!;print $2'
# and install
# install multiple packages at once, note the
setup-x86_64.exe -q -s http://cygwin.mirror.constant.com -P "<<chosen_package_name>>"
add a comment |
up vote
1
down vote
up vote
1
down vote
Usually before installing a package one has to know its exact name:
# define a string to search
export to_srch=perl
# get html output of search and pick only the cygwin package names
wget -qO- "https://cygwin.com/cgi-bin2/package-grep.cgi?grep=$to_srch&arch=x86_64" |
perl -l -ne 'm!(.*?)</a>s+-(.*?):(.*?)</li>!;print $2'
# and install
# install multiple packages at once, note the
setup-x86_64.exe -q -s http://cygwin.mirror.constant.com -P "<<chosen_package_name>>"
Usually before installing a package one has to know its exact name:
# define a string to search
export to_srch=perl
# get html output of search and pick only the cygwin package names
wget -qO- "https://cygwin.com/cgi-bin2/package-grep.cgi?grep=$to_srch&arch=x86_64" |
perl -l -ne 'm!(.*?)</a>s+-(.*?):(.*?)</li>!;print $2'
# and install
# install multiple packages at once, note the
setup-x86_64.exe -q -s http://cygwin.mirror.constant.com -P "<<chosen_package_name>>"
edited May 18 '16 at 5:49
answered Apr 7 '15 at 13:16
Yordan Georgiev
2,48812839
2,48812839
add a comment |
add a comment |
up vote
1
down vote
First, download installer at: https://cygwin.com/setup-x86_64.exe, then:
# move installer to cygwin folder
mv C:/Users/<you>/Downloads/setup-x86_64.exe C:/cygwin64/
# add alias to bash_aliases
echo "alias install='C:/cygwin64/setup-x86_64.exe -q -P'" >> ~/.bash_aliases
# add bash_aliases to bashrc if missing
echo "source ~/.bash_aliases" >> ~/.bashrc
e.g.
install vim
add a comment |
up vote
1
down vote
First, download installer at: https://cygwin.com/setup-x86_64.exe, then:
# move installer to cygwin folder
mv C:/Users/<you>/Downloads/setup-x86_64.exe C:/cygwin64/
# add alias to bash_aliases
echo "alias install='C:/cygwin64/setup-x86_64.exe -q -P'" >> ~/.bash_aliases
# add bash_aliases to bashrc if missing
echo "source ~/.bash_aliases" >> ~/.bashrc
e.g.
install vim
add a comment |
up vote
1
down vote
up vote
1
down vote
First, download installer at: https://cygwin.com/setup-x86_64.exe, then:
# move installer to cygwin folder
mv C:/Users/<you>/Downloads/setup-x86_64.exe C:/cygwin64/
# add alias to bash_aliases
echo "alias install='C:/cygwin64/setup-x86_64.exe -q -P'" >> ~/.bash_aliases
# add bash_aliases to bashrc if missing
echo "source ~/.bash_aliases" >> ~/.bashrc
e.g.
install vim
First, download installer at: https://cygwin.com/setup-x86_64.exe, then:
# move installer to cygwin folder
mv C:/Users/<you>/Downloads/setup-x86_64.exe C:/cygwin64/
# add alias to bash_aliases
echo "alias install='C:/cygwin64/setup-x86_64.exe -q -P'" >> ~/.bash_aliases
# add bash_aliases to bashrc if missing
echo "source ~/.bash_aliases" >> ~/.bashrc
e.g.
install vim
answered Nov 11 at 13:49
Jason
50659
50659
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f9260014%2fhow-do-i-install-cygwin-components-from-the-command-line%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Stack Overflow is a site for programming and development questions. This question appears to be off-topic because it is not about programming or development. See What topics can I ask about here in the Help Center. Perhaps Super User would be a better place to ask. Also see Where do I post questions about Dev Ops?
– jww
Oct 27 '16 at 19:08
4
@jww, This isn't devops.
– Pacerier
Mar 4 '17 at 0:12