Spójrz tutaj:
Oprócz innych rzeczy daje następującą listę opcji setup.exe
:
Command Line Options:
-A --disable-buggy-antivirus Disable known or suspected buggy anti
virus software packages during execution.
-C --categories Specify entire categories to install
-D --download Download from internet
-d --no-desktop Disable creation of desktop shortcut
-h --help print help
-K --pubkey Path to extra public key file (gpg format)
-L --local-install Install from local directory
-l --local-package-dir Local package directory
-n --no-shortcuts Disable creation of desktop and start menu
shortcuts
-N --no-startmenu Disable creation of start menu shortcut
-O --only-site Ignore all sites except for -s
-P --packages Specify packages to install
-p --proxy HTTP/FTP proxy (host:port)
-q --quiet-mode Unattended setup mode
-r --no-replaceonreboot Disable replacing in-use files on next
reboot.
-R --root Root installation directory
-S --sexpr-pubkey Extra public key in s-expr format
-s --site Download site
-U --keep-untrusted-keys Use untrusted keys and retain all
-u --untrusted-keys Use untrusted keys from last-extrakeys
-X --no-verify Don't verify setup.ini signatures
Więc setup.exe -P <package name>
powinien wykonać pracę. Nie masz tutaj cygwina, więc przetestuj go, aby sprawdzić, czy działa zgodnie z oczekiwaniami.
Aby wyszukać pakiet, wykonaj następujące czynności:
możesz użyć cygcheck -p
:
cygcheck -p REGEXP
...
-p, --package-query search for REGEXP in the entire cygwin.com package
repository (requires internet connectivity)
który wytwarza dane wyjściowe takie jak (przykład z powyższej strony):
$ cygcheck -p 'libexpat.*\.a'
Found 2 matches for 'libexpat.*\.a'.
expat-1.95.7-1 XML parser library written in C
expat-1.95.8-1 XML parser library written in C
cygwin1.dll
, programy Cygwin zaczną działać nieprawidłowo, a dokumentacje Cygwin zalecają ponowne uruchomienie. Dlatego najlepiej zamknąć wszystkie programy Cygwin, a następnie uruchomićsetup.exe
bezpośrednio zcmd
(jeśli chcesz zautomatyzować, użyj pliku wsadowego, a nie skryptu powłoki).grep
przynajmniej ...Wykonuje to nienadzorowaną aktualizację wszystkich komponentów cygwin
Powinieneś ponownie uruchomić komputer po zakończeniu aktualizacji, aby zapobiec niewłaściwemu działaniu aplikacji cygwin z powodu zaktualizowanego pliku cygwin1.dll
--no-desktop Wyłącz tworzenie skrótu na pulpicie
- brak skrótów Wyłącz tworzenie pulpitu i menu Start
--no-startmenu Wyłącz tworzenie skrótu menu Start
- tryb cichy Tryb instalacji nienadzorowanej
źródło
zsh: command not found: setup.exe
, ale plik instalacyjny jest tutaj.no-shortcuts
dlaczego miałbyś również potrzebowaćno-desktop
ino-startmenu
?Alternatywnym rozwiązaniem byłoby użycie
apt-cyg
skryptu dostępnego na GitHub.źródło
Miejsce instalacji Cygwina wydaje się mieć zmiany i podzielone. Teraz potrzebujesz albo
lub
źródło
bin\wget.exe --timestamping http://www.cygwin.com/setup-x86_64.exe && start setup-x86_64.exe
, upewniając się, że zawsze uruchamiam najnowszy instalator i pobieram go tylko wtedy, gdy faktycznie jest nowa wersja (to właśnie robi - timestamping), a następnie uruchamia go plik nietoperzaInstalator pozwala to z linii polecenia ( podwyższonej powłoki , proszę):
dla wersji 64-bitowej:
Detale:
c:\cygwin
na główny katalog instalacyjny CygWin.net stop sshd
jeśli zainstalowałeś OpenSSH).-q
nie jest obowiązkowy.Działa przez GUI (powłoka DOS) lub nawet na zdalnej konsoli (SSH lub telnet). Nie testowano na PowerShell (ktoś to zrobił?).
Przykład poprawnego wyniku aktualizacji:
Jeśli podczas aktualizacji wystąpiły takie problemy :
lub:
lub:
... po instalacji musisz dokonać zmiany bazy:
1. - Zamknij wszystkie powłoki, programy i usługi CygWin.
2. - Otwórz
c:\CygWin\bin\ash.exe
jako administrator (podniesiony).3. - Uruchom
/bin/rebaseall
.źródło
setup-86[_x64].exe -B
działać jako bieżący użytkownik. W razie potrzeby możesz później podwyższyć wersję, aby zainstalować cygrunsrv jako usługę systemu Windows.Już dawno czułem tę potrzebę. Kiedyś po prostu utrzymywałem plik instalatora pobrany, więc mogłem po prostu uruchomić go, aby zainstalować, ale czasami, gdy Cygwin był aktualizowany, plik instalatora był nieaktualny. W końcu stworzyłem skrypt Powershell, który automatycznie podnosi, pobiera instalator i uruchamia aktualizację bez nadzoru. Mam go siedzącego na pulpicie i mogę po prostu kliknąć prawym przyciskiem myszy i „Uruchom z PowerShell”, a on przeprowadzi uaktualnienie na miejscu wszystkich moich pakietów Cygwin. Jedyną potrzebną interakcją użytkownika jest UAC i na samym końcu komunikat „Naciśnij dowolny klawisz, aby kontynuować”. Można go również uruchomić z wiersza poleceń, ponieważ jest to tylko skrypt.
Mam już tutaj kod: http://pastebin.com/wMRctAuL
Skopiowałem to poniżej. Napisałem to również przy pomocy kilku pytań i odpowiedzi StackOverflow. :) Wszystko, co musisz zrobić, aby móc go uruchomić, to włączyć lokalne skrypty Powershell na twoim komputerze . To kompletne rozwiązanie dla Windows.
źródło
Rozwijanie odpowiedzi @ Johnny'ego https://superuser.com/a/624731/110335
Irytacja, z jaką się spotkałem, okazjonalnie podpowiada, że plik .ini pochodzi z nowszej wersji pliku setup.exe firmy Cygwin
Napisałem sobie następujący skrypt do samodzielnej aktualizacji, a następnie zaktualizuj wszystko, czego potrzeba, nieinteraktywnie.
cygwinSetup64.cmd
źródło
Aktualizacja bez nadzoru
https://cygwin.com/faq.html#faq.setup.cli
Znaczenie:
źródło
Utwórz plik wsadowy, taki jak „cygwin-update.bat”, o następującej treści i umieść go na swojej ścieżce:
źródło