I love cygwin. Wouldn't last 24 hours without it. And the installer is very reliable and easy to use. The only headache I usually run into is when I setup a new laptop. I find that I'm constantly re-running cygwin to make sure I've got all the packages I need installed.
This time I had plan, though. I noted which packages I was going to need and using setup.exe carefully went through and selected each one. It took some time, but I figured I'd only have to do this once. Of course, once the download process began I lost my Internet connection and was going to have to repeat the process, including the annoying package selection step.
I figured there had to be a better way. And thanks to ServerFault, I now know there is. The basic strategy is to create a script that invokes setup.exe using command line arguments.
Below is the script I arrived at. At the top is a list of packages I want installed. It's safe to re-run this as often as I want, so adding new packages is easy: just add it to the list and re-run.
#!/bin/bash PACKAGES=' openssh zip unzip subversion git screen gcc make automake autoconf vim vim-common rxvt ncftp cvs rcs aspell aspell-en md5deep ImageMagick ' C=/cygdrive/c export PATH=$PATH:$C/cygwin/bin mirror=http://cygwin.mirrors.pair.com pkgs=`echo $PACKAGES | tr ' ' ','` ./setup.exe -A -q -n -N -d -R 'C:\cygwin' \ -s $mirror \ -l 'c:\temp\packages' -P $pkgs
The process for setting up a new laptop then becomes:
- Install cygwin using the default settings
- As administrator run the above script. I did this by opening up a cmd window using Administrator privliges and then running:
c:\cygwin\bin\bash cygwinstall.sh
It's not a fully automated process, but it's close enough.
That is really nice, thanks.
ReplyDeleteYou're very welcome, Grant.
ReplyDeleteHope this is a time saver for all.