Czy w pakiecie Cygwin jest narzędzie podobne do tego apt-get
w Debianie lub yum
na redhat, które pozwala mi instalować komponenty z wiersza poleceń?
command-line
cygwin
vy32
źródło
źródło
Odpowiedzi:
W instalatorze „setup.exe” nie ma żadnego narzędzia oferującego funkcjonalność apt-get. Istnieje jednak instalator pakietu wiersza poleceń dla Cygwin, który można pobrać osobno, ale nie jest on całkowicie stabilny i wymaga obejść.
apt-cyg: http://github.com/transcode-open/apt-cyg
Sprawdź kartę problemów dla projektu, aby zobaczyć znane problemy.
źródło
setup-x86.exe -q -P packagename1,packagename2
. Nie tak wyszukaneapt-get
lub nawet,apt-cyg
ale w większości przypadków wystarcza. Możesz także uruchomić to zcmd.exe
(po zamknięciu Cygwin).Konfiguracja Cygwin akceptuje argumenty wiersza poleceń, aby zainstalować pakiety z wiersza poleceń.
np.
setup-x86.exe -q -P packagename1,packagename2
aby zainstalować pakiety bez interakcji z GUI („tryb instalacji nienadzorowanej”).(Pamiętaj, że musisz użyć
setup-x86.exe
lubsetup-x86_64.exe
odpowiednio).Zobacz http://cygwin.com/packages/, aby zapoznać się z listą pakietów.
źródło
setup-x86_64 --packages="openssh,python"
Aby uzyskać wygodniejszy instalator, możesz użyć go
apt-cyg
jako menedżera pakietów. Jego składnia jest podobna doapt-get
, co jest plusem. W tym celu wykonaj powyższe kroki, a następnie użyj Cygwin Bash do następujących krokówTeraz to
apt-cyg
jest zainstalowane. Oto kilka przykładów instalacji niektórych pakietówźródło
wget
i pobiera sięapt-cyg
bez problemów. W którym momencie pojawia się 404?Istnieje kilka skryptów, których można używać jako prostych menedżerów pakietów dla Cygwin. Ale ważne jest, aby wiedzieć, że zawsze będą one dość ograniczone , ze względu na ... ehm ... Windows.
Instalowanie lub usuwanie pakietów jest w porządku, każdy menedżer pakietów dla Cygwin może to zrobić. Ale aktualizacja jest uciążliwa, ponieważ system Windows nie pozwala na zastąpienie pliku wykonywalnego, który jest obecnie uruchomiony. Nie możesz więc aktualizować np. Cygwin DLL ani żadnego pakietu, który zawiera aktualnie działający plik wykonywalny z samego Cygwin. Na stronie instalacji Cygwin znajduje się również ta uwaga :
Konfiguracja Cygwin używa rejestru systemu Windows do nadpisywania plików wykonywalnych, które są w użyciu, a ta metoda wymaga ponownego uruchomienia systemu Windows . Dlatego lepiej zamknąć wszystkie procesy Cygwin przed aktualizacją pakietów , więc nie musisz ponownie uruchamiać komputera, aby faktycznie zastosować zmiany. Instalacja nowego pakietu powinna przebiegać całkowicie bezproblemowo. Nie sądzę, aby którykolwiek z menedżerów pakietów poza Cygwin
setup.exe
implementował jakąkolwiek metodę nadpisywania używanych plików, więc po prostu zawiódłby, gdyby nie mógł ich zastąpić.Niektóre menedżery pakietów dla Cygwin:
apt-cyg
Aktualizacja : repozytorium zostało niedawno wyłączone z powodu problemów z prawami autorskimi ( usunięcie DMCA ). To wygląda jak właściciel repozytorium wydał DMCA Takedown na własnym repozytorium i stworzył nowy projekt o nazwie Sage (patrz poniżej).
Dla mnie najlepszy. Po prostu dlatego, że jest jednym z najnowszych. Nie korzysta z Cygwina
setup.exe
, raczej ponownie implementuje, cosetup.exe
robi. Działa poprawnie na obu platformach - x86 oraz x86_64 . Istnieje wiele wideł z mniej lub bardziej dodatkowymi funkcjami. Na przykład widelec kou1okada to jedna z ulepszonych wersji , która jest naprawdę świetna.apt-cyg to tylko skrypt powłoki, nie ma instalacji. Wystarczy go pobrać (lub sklonować repozytorium), uczynić go wykonywalnym i skopiować gdzieś do PATH:
Jest też kilka widelców z różnymi funkcjami.
szałwia
Kolejny menedżer pakietów zaimplementowany jako skrypt powłoki. Nie próbowałem, ale faktycznie wygląda dobrze.
Może wyszukiwać pakiety w repozytorium, wyświetlać pakiety w kategorii, sprawdzać zależności, wyświetlać pliki pakietów i nie tylko. Posiada funkcje, których nie mają inni menedżerowie pakietów.
cyg-apt
Widelec porzuconego oryginału
cyg-aptz ulepszeniami i poprawkami. Ma sporo funkcji i jest zaimplementowany w Pythonie. Instalacja odbywa się za pomocąmake
.Chocolatey's Cyg-Get
Jeśli użyłeś Chocolatey do zainstalowania Cygwin, możesz zainstalować pakiet cyg-get , który jest w rzeczywistości prostym opakowaniem wokół Cygwin
setup.exe
napisanego w PowerShell.Cygwin's setup.exe
Posiada również tryb wiersza poleceń . Co więcej, pozwala na jednoczesną aktualizację wszystkich zainstalowanych pakietów (podobnie
apt-get upgrade
jak w systemie Linux opartym na Debianie).Przykładowe zastosowanie:
Możesz utworzyć alias, aby ułatwić korzystanie z niego, na przykład:
alias cyg-get="/cygdrive/d/path/to/cygwin/setup-x86_64.exe -q -P"
Następnie możesz na przykład zainstalować pakiet Vima z:
cyg-get vim
źródło
sage
jest rozwidleniemapt-cyg
najbardziej aktywnych współpracowników w ciągu ostatniego roku lub dwóch (Steven Penny). Wygląda na to, że na początku tego roku nie zgadzał się z oryginalnymapt-cyg
autorem (Stephenem Jungelsem) i wydał żądanie DMCA, kiedy rozwidlił projekt. Ponieważ Jungels (aka Transcode) jest oryginalnym autorem projektu, GitHub przywrócił oryginalny projekt wkrótce potem. Obecnie oba projekty są dostępne - chociaż oryginalny projekt nie miał żadnych nowych aktualizacji kodu od czasu podziału. To naprawdę nieporządna sytuacja.Najpierw pobierz instalator ze strony: https://cygwin.com/setup-x86_64.exe (Windows 64bit), a następnie:
na przykład
źródło
Chciałem rozwiązania podobnego do tego
apt-get --print-uris
, ale niestety apt-cyg tego nie robi. Poniżej przedstawiono rozwiązanie, które pozwoliło mi pobrać tylko potrzebne pakiety wraz z ich zależnościami i skopiować je do miejsca docelowego w celu instalacji. Oto skrypt bash, który analizuje dane wyjścioweapt-cyg
na listę identyfikatorów URI:Powyższe wypisze ścieżki pakietów, które wymagają pobrania, względem głównego lustrzanego katalogu cygwin, pomijając wszelkie pakiety, które są już zainstalowane. Aby je pobrać, zapisałem wynik do pliku,
cygwin-packages-list
a następnie użyłem wget:Instalatora można następnie użyć do zainstalowania z lokalnego katalogu pamięci podręcznej. Zauważ, że aby to zadziałało, musiałem skopiować
setup.ini
z poprzedniej pamięci podręcznej pakietu cygwin do katalogu z pobranymi plikami (w przeciwnym razie instalator nie wie, co jest).źródło
Stare pytanie, ale nadal aktualne. Oto, co zadziałało dla mnie dzisiaj (26.06.16).
Z powłoki bash:
źródło
wget
lubcurl
jest prawdopodobnie lepszym narzędziem do tego. (Osobiście zainstalowałbym go w innym katalogu w moim,$PATH
a nie w/bin
.)Odpowiedź Dawida Ferenczego jest dość kompletna, ale po wypróbowaniu prawie wszystkich jego opcji stwierdziłem, że cyg-get Chocolatey'ego jest najlepsze (przynajmniej jedyne, które udało mi się zabrać do pracy).
Chciałem zainstalować
wget
, kroki były następujące:Następnie:
źródło
Zwykle przed zainstalowaniem pakietu trzeba znać jego dokładną nazwę:
źródło