Wie kann ich Cygwin so einrichten, dass es automatisch aktualisiert und heruntergeladen wird, ohne dass die Benutzeroberfläche erforderlich ist?


17

Wie kann ich Cygwin so einrichten, dass es sich automatisch aktualisiert?

Wie kann ich Cygwin dazu bringen, ein Paket herunterzuladen, ohne über die GUI gehen zu müssen?

cygwin 

1
Cygwin läuft unter Windows; Dies gehört wahrscheinlich auf SU
Michael Mrozek

3
Urgh. Cygwin ist eine Version von Unix.

2
Ich kenne eine gute Anzahl von Leuten, die weinen würden, "Cygwin ist eine Version von Unix" zu hören, aber ich denke, wir werden mitmachen
Michael Mrozek

Antworten:


13

Cygwin: Unix :: Peaches: Posaune (das war auf meinem GRE;)

Angesichts der Tatsache, wie dramatisch Cygwin-Änderungen sein können, wäre ich sehr vorsichtig, wenn dies ohne meine ausdrückliche Zustimmung geschehen würde. Wenn Sie es wagen, können Sie cron aufrufen , um das von Ihnen gewählte Update-Skript auszuführen.

Wenn Sie für den setup.exe --quiet-modeunbeaufsichtigten Betrieb nach dem schlecht dokumentierten gesucht haben , ist es da.


7

Automatisieren der Cygwin-Installation

Quelle: Diese Wiki-Seite

Das Cygwin-Setup-Programm ist so konzipiert, dass es interaktiv ist. Es gibt jedoch verschiedene Möglichkeiten, es zu automatisieren. Wenn Sie auf mehreren Systemen bereitstellen, ist es am besten, eine vollständige Installation einmal auszuführen und den gesamten heruntergeladenen Paketbaum zu speichern. Führen Sie dann auf den Zielsystemen die Datei setup.exe als "Lokale Installation" aus, die auf den heruntergeladenen Paketbaum verweist. Sie können dies nicht interaktiv mit den Befehlszeilenoptionen tun setup.exe -q -L -l x:\cygwin-local\, in denen sich der heruntergeladene Paketbaum befindet x:\cygwin-local\(eine Erläuterung dieser Optionen finden Sie in den nächsten häufig gestellten Fragen.)

Durchsuchen Sie die Mailing-Listen nach anderen Optionen mit Begriffen wie "Automatisches Setup von Cygwin" oder " Automatische Installation von Cygwin" .

Ich habe einige der wichtigsten Stellen gefunden, an denen dies besprochen wird:

  1. Cygwin-Mailingliste: Klonen Sie die Cygwin-Setup-Einstellungen von einem PC auf einen anderen
  2. Cygwin Mail Archive: Frage zum Backup
  3. Cygwin Mailing List: Automatische Installation von Cygwin
  4. Cygwin Mailing List: Kann der gesamte Cygwin-Ordner auf einen anderen Computer kopiert werden?
  5. helix 'blog: Installiere cygwin-Pakete aus der cmdline

Vielleicht möchten Sie auch die Verwendung untersuchen cygcheck.

Außerdem: Ich habe das nicht selbst getestet, aber es gibt jetzt ein Projekt mit dem Namen, apt-cygdas so aussieht, als würde es ähnlich wie Debians apt-get funktionieren. Hier ist die Projektseite

Kopieren Sie Cygwin-Pakete auf ein neues System

Hier ist eine einfache Möglichkeit, eine Installation mit aktualisierten Paketen bei der Installation auf mehrere Systeme zu duplizieren:

#Save some copies of the /etc/setup/installed.db file
cp /etc/setup/installed.db ~/installed.db.bak
cp /etc/setup/installed.db ~/installed.db
#Create a sed script to zero version numbers
cat > ~/zero-version-nums.sed<<-'EOM'
s/-[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9a-zA-Z]\+-[0-9]\+\.tar/-0.0.0.0-0.tar/ 
s/-[0-9]\+\.[0-9]\+-[0-9]\.[0-9a-zA-Z]\+\.tar/-0.0-0.0.tar/ 
s/-[0-9]\+\.[0-9]\+\.[0-9a-zA-Z]\+-[0-9]\+\.tar/-0.0.0-0.tar/ 
s/-[0-9]\+\.[_+0-9a-zA-Z]\+-[0-9]\+\.tar/-0.0-0.tar/ 
s/-[0-9a-zA-Z]\+-[0-9]\+\.tar/-0-0.tar/ 
s/-[0-9]\+\.tar/-0.tar/ 
EOM
# Change all version numbers to 0 (run sed script)
sed -i -f ~/zero-version-nums.sed ~/installed.db

Kopieren Sie nun einfach diese Datei auf den neuen Computer C:\cygwin\etc\setup\installed.dbund führen Sie das Installationsprogramm Setup.exe aus. Die aufgelisteten Pakete sollten automatisch für die Aktualisierung ausgewählt werden. Möglicherweise kann dieser Prozess mithilfe der oben und hier genannten Tipps automatisiert werden .

Quellen:

  1. Cygwin-Mailingliste
  2. Code-Snippet in Snipplr: Sed-Skript
  3. Blog Post: Installieren Sie cygwin-Pakete aus der cmdline
  4. Cygwin Mail Archive: Frage zum Backup

3

Hier ist eine Antwort vom Superuser zum Ausführen eines unbeaufsichtigten Updates:

cd C:\cygwin
wget -N http://cygwin.com/setup.exe
setup.exe --no-desktop --no-shortcuts --no-startmenu --quiet-mode

Sie sollten nach Abschluss des Upgrades einen Neustart durchführen, um zu verhindern, dass sich Cygwin-Apps aufgrund eines Upgrades von cygwin1.dll schlecht verhalten

--no-desktop Deaktivieren Sie die Erstellung einer Desktopverknüpfung

--no-shortcuts Deaktivieren Sie die Erstellung des Desktops und des Startmenüs

--no-startmenu Deaktivieren Sie die Erstellung einer Startmenü-Verknüpfung

--quiet-mode Unbeaufsichtigter Setup-Modus

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.