Gibt es im Cygwin-Paket ein Tool, das apt-get
Debian oder yum
Redhat ähnelt und es mir ermöglicht, Komponenten über die Befehlszeile zu installieren?
command-line
cygwin
vy32
quelle
quelle
Antworten:
Es gibt kein spezielles Tool im Installationsprogramm 'setup.exe', das die Funktionalität von apt-get bietet. Es gibt jedoch ein Befehlszeilenpaket-Installationsprogramm für Cygwin, das separat heruntergeladen werden kann. Es ist jedoch nicht vollständig stabil und basiert auf Problemumgehungen.
apt-cyg: http://github.com/transcode-open/apt-cyg
Überprüfen Sie die Registerkarte Probleme für das Projekt, um die bekannten Probleme anzuzeigen.
quelle
setup-x86.exe -q -P packagename1,packagename2
. Nicht so schick wieapt-get
oder sogar,apt-cyg
aber es macht den Trick in den meisten Fällen. Und Sie können dies auch ausführencmd.exe
(nach dem Schließen von Cygwin).Das Setup von Cygwin akzeptiert Befehlszeilenargumente , um Pakete über die Befehlszeile zu installieren.
zB
setup-x86.exe -q -P packagename1,packagename2
um Pakete ohne GUI-Interaktion zu installieren ('unbeaufsichtigter Setup-Modus').(Beachten Sie, dass Sie
setup-x86.exe
odersetup-x86_64.exe
entsprechend verwenden müssen.)Die Paketliste finden Sie unter http://cygwin.com/packages/ .
quelle
setup-x86_64 --packages="openssh,python"
Für ein bequemeres Installationsprogramm möchten Sie möglicherweise
apt-cyg
als Paketmanager verwenden. Die Syntax ähnelt derapt-get
, was ein Plus ist. Befolgen Sie dazu die obigen Schritte und verwenden Sie Cygwin Bash für die folgenden SchritteNun
apt-cyg
ist das installiert. Hier sind einige Beispiele für die Installation einiger Paketequelle
wget
und es wirdapt-cyg
ohne Probleme heruntergeladen . Ab wann erscheint der 404?Es gibt einige Skripte, die als einfache Paketmanager für Cygwin verwendet werden können. Aber es ist wichtig zu wissen, dass sie wegen ... ähm ... Windows immer ziemlich begrenzt sein werden .
Das Installieren oder Entfernen von Paketen ist in Ordnung. Jeder Paketmanager für Cygwin kann dies tun. Das Aktualisieren ist jedoch problematisch, da Sie mit Windows eine derzeit ausgeführte ausführbare Datei nicht überschreiben können. Sie können also keine z. B. Cygwin-DLL oder ein Paket aktualisieren, das die aktuell ausgeführte ausführbare Datei von Cygwin selbst enthält. Es gibt auch diesen Hinweis auf der Cygwin-Installationsseite :
Das Setup von Cygwin verwendet die Windows-Registrierung, um verwendete ausführbare Dateien zu überschreiben. Diese Methode erfordert einen Neustart von Windows . Daher ist es besser, alle Cygwin-Prozesse vor dem Aktualisieren von Paketen zu schließen , damit Sie Ihren Computer nicht neu starten müssen, um die Änderungen tatsächlich zu übernehmen. Die Installation eines neuen Pakets sollte völlig problemlos sein. Ich glaube, keiner der Paketmanager außer Cygwins
setup.exe
implementiert eine Methode zum Überschreiben der verwendeten Dateien. Es würde also einfach fehlschlagen, wenn sie nicht überschrieben werden können.Einige Paketmanager für Cygwin:
apt-cyg
Update : Das Repository wurde kürzlich aufgrund von Urheberrechtsproblemen deaktiviert ( DMCA-Deaktivierung ). Es sieht so aus, als hätte der Eigentümer des Repositorys den DMCA-Takedown für sein eigenes Repository ausgestellt und ein neues Projekt namens Sage erstellt (siehe unten).
Das beste für mich. Einfach weil es eines der neuesten ist. Es verwendet nicht Cygwins
setup.exe
, sondern implementiert neu, was essetup.exe
tut. Es funktioniert korrekt für beide Plattformen - x86 sowie x86_64 . Es gibt viele Gabeln mit mehr oder weniger zusätzlichen Funktionen. Zum Beispiel ist die kou1okada-Gabel eine der verbesserten Versionen , was wirklich großartig ist.apt-cyg ist nur ein Shell-Skript, es gibt keine Installation. Laden Sie es einfach herunter (oder klonen Sie das Repository), machen Sie es ausführbar und kopieren Sie es irgendwo in den PATH:
Es gibt auch eine Reihe von Gabeln mit verschiedenen Funktionen.
Salbei
Ein weiterer Paketmanager, der als Shell-Skript implementiert ist. Ich habe es nicht ausprobiert, aber es sieht tatsächlich gut aus.
Es kann nach Paketen in einem Repository suchen, Pakete in einer Kategorie auflisten, Abhängigkeiten überprüfen, Paketdateien auflisten und vieles mehr. Es verfügt über Funktionen, die andere Paketmanager nicht haben.
cyg-apt
Gabel des verlassenen Originals
cyg-aptmit Verbesserungen und Bugfixes. Es hat viele Funktionen und ist in Python implementiert. Die Installation erfolgt mitmake
.Chocolateys Cyg-Get
Wenn Sie Chocolatey zur Installation von Cygwin verwendet haben, können Sie das Paket cyg-get installieren , das eigentlich ein einfacher Wrapper um Cygwins
setup.exe
in PowerShell geschrieben ist.Cygwins setup.exe
Es hat auch einen Befehlszeilenmodus . Darüber hinaus können Sie alle installierten Pakete gleichzeitig aktualisieren (wie
apt-get upgrade
unter Debian-basiertem Linux).Anwendungsbeispiel:
Sie können einen Alias zur einfacheren Verwendung erstellen, zum Beispiel:
alias cyg-get="/cygdrive/d/path/to/cygwin/setup-x86_64.exe -q -P"
Dann können Sie beispielsweise das Vim- Paket installieren mit:
cyg-get vim
quelle
sage
ist eine Abzweigung derapt-cyg
aktivsten Mitwirkenden der letzten ein oder zwei Jahre (Steven Penny). Es scheint, dass er Anfang dieses Jahres einige Meinungsverschiedenheiten mit dem ursprünglichenapt-cyg
Autor (Stephen Jungels) hatte und die DMCA-Abschaltung herausgab, als er das Projekt gabelte. Da Jungels (auch bekannt als Transcode) nachweislich der ursprüngliche Autor des Projekts ist, hat GitHub das ursprüngliche Projekt bald darauf wiederhergestellt. Derzeit sind beide Projekte verfügbar - obwohl das ursprüngliche Projekt seit der Aufteilung keine neuen Code-Updates erhalten hat. Es ist wirklich eine unordentliche Situation.Laden Sie zuerst das Installationsprogramm herunter unter: https://cygwin.com/setup-x86_64.exe (Windows 64bit), dann:
z.B
quelle
Ich wollte eine ähnliche Lösung
apt-get --print-uris
, aber apt-cyg macht das leider nicht. Die folgende Lösung ermöglichte es mir, nur die benötigten Pakete mit ihren Abhängigkeiten herunterzuladen und zur Installation auf das Ziel zu kopieren. Hier ist ein Bash-Skript, das die Ausgabe vonapt-cyg
in eine Liste von URIs analysiert :Im obigen Abschnitt werden die Pfade der Pakete, die heruntergeladen werden müssen, relativ zum Cygwin Mirror-Stammverzeichnis ausgedruckt, wobei bereits installierte Pakete weggelassen werden. Um sie herunterzuladen, habe ich die Ausgabe in eine Datei geschrieben
cygwin-packages-list
und dann wget verwendet:Das Installationsprogramm kann dann zur Installation aus einem lokalen Cache-Verzeichnis verwendet werden. Beachten Sie, dass ich dafür
setup.ini
aus dem vorherigen Cygwin-Paket-Cache in das Verzeichnis mit den heruntergeladenen Dateien kopieren musste (andernfalls weiß das Installationsprogramm nicht, was was ist).quelle
Alte Frage, aber immer noch relevant. Folgendes hat heute (26.06.16) für mich funktioniert.
Aus der Bash-Shell:
quelle
wget
odercurl
ist wahrscheinlich ein besseres Werkzeug dafür. (Und persönlich würde ich es in einem anderen Verzeichnis in meinem$PATH
anstatt in installieren/bin
.)Dawid Ferenczys Antwort ist ziemlich vollständig, aber nachdem ich fast alle seine Optionen ausprobiert habe, habe ich festgestellt, dass der Chocolatey Cyg-Get ist der beste war (zumindest der einzige, den ich zur Arbeit bringen konnte).
Ich wollte installieren
wget
, die Schritte waren folgende:Dann:
quelle
Normalerweise muss man vor der Installation eines Pakets den genauen Namen kennen:
quelle