apt-get dla Cygwin?

130

Czy istnieje apt-getpodobny program do użytku z Cygwin?

Próbowałem już, cyg-aptale kiedy próbuję, pojawia się ten błąd:

cyg-apt: downloading: http://cygwin.mirrors.pair.com/setup-2.bz2
cyg-apt: downloading: http://cygwin.mirrors.pair.com/setup-2.ini
cyg-apt: bad URL http://cygwin.mirrors.pair.com/setup-2.ini, exiting.
Hyztname
źródło
Plik jest dostępny w repozytorium źródłowym.
Bruno
Czy można pobrać z innego repozytorium niż Cygwin? Właściwie potrzebuję kilku nagłówków linuxowych dla komputera offline z linuxem, ale muszę je pobrać w systemie Windows z apt-get.
Alex
3
cyg-apt ma ostatnią aktualizację 5 lat temu. Obecna struktura repozytorium jest inna. Dlatego to nie zadziała.
David Ferenczy Rogožan
3
nie mylić cyg-aptz apt-cyg. To drugie jest dużo lepsze (pamiętaj tylko, że ten, który najbardziej przypomina apt-getten dobry).
Sridhar Sarnobat

Odpowiedzi:

132

Najlepsze, jakie kiedykolwiek używałem:

Menedżer pakietów apt-cyg

pansofizm
źródło
apt-cyg działa naprawdę dobrze. Właśnie zainstalowałem rsync, openssh, mc i inne.
Jako
9
Może tylko instalować i usuwać pakiety, prawda? Nie jest możliwe uaktualnienie określonego pakietu lub wszystkich pakietów do najnowszej wersji za pomocą apt-cyg. Więc to fajne, ale bezużyteczne, ponieważ muszę też użyć konfiguracji Cygwin. Byłbym zadowolony, jeśli się mylę.
David Ferenczy Rogožan
1
apt-cyg updatezaktualizuje setup.ini itp., jeśli ktoś ma problemy bez daty setup.ini
nwgat
Czy są jakieś lustra?
Danny Lo
2
@CodeMonkey Repozytorium zostało przywrócone, wraz ze swoim konkurentem: Sage
Brian Brownton
91

Możesz to zrobić za pomocą programu setup.exe Cygwin z wiersza poleceń systemu Windows. Przykład:

cd C:\cygwin64
setup-x86_64 -q -P wget,tar,qawk,bzip2,subversion,vim

Aby uzyskać wygodniejszy instalator, możesz użyć menedżera pakietów apt-cyg . Jego składnia jest podobna do apt-get, co jest plusem. W tym celu wykonaj powyższe kroki, a następnie użyj Cygwin Bash, aby wykonać następujące czynności:

wget rawgit.com/transcode-open/apt-cyg/master/apt-cyg
install apt-cyg /bin

Teraz to apt-cygjest zainstalowane. Oto kilka przykładów instalacji niektórych pakietów:

apt-cyg install nano
apt-cyg install git
apt-cyg install ca-certificates
sagunms
źródło
po wykonaniu powyższego kroku apt-cyg dla 64 bitów daje wyjątek / usr / local / bin / apt-cyg: wiersz 1: $ '\ r': nie znaleziono polecenia / usr / local / bin / apt-cyg: wiersz 3: $ '\ r': nie znaleziono polecenia / usr / local / bin / apt-cyg: wiersz 19: $ '\ r': nie znaleziono polecenia / usr / local / bin / apt-cyg: wiersz 21: $ '\ r' : nie znaleziono polecenia / usr / local / bin / apt-cyg: wiersz 27: błąd składni w pobliżu nieoczekiwanego tokenu ||' 'usr/local/bin/apt-cyg: line 27: || test "- $ GAWK-" = "-"
Shahjahan Khan
@sagunms zadziałał urok! był to irytujący problem, dopóki nie znalazłem rozwiązania. Dzięki.
Yoon Lee,
@Shahjahan Khan: Wygląda na to, że przerwałeś końcówki linii w jakimś edytorze tekstu Windows. Używaj końcówek linii w systemie Linux (\ n lub LF lub 0x0A), a nie w systemie Windows (\ r \ n lub 0x0D 0x0A lub CR LF).
David Ferenczy Rogožan
hej ... jak mógłbym zainstalować gcc za pomocą tego narzędzia, przypuśćmy, że zapomniałem zainstalować pakiety Devel podczas instalacji cygwin
Zuko
1
Pracuje dla mnie! a
Nick Gallimore
26

Aktualizacja: możesz przeczytać bardziej złożoną odpowiedź , która zawiera więcej metod i informacji.

Istnieje kilka skryptów, których można używać jako prostych menedżerów pakietów. Ale o ile wiem, żaden z nich nie pozwala na aktualizację pakietów, ponieważ nie jest to łatwe zadanie w systemie Windows, ponieważ nie ma możliwości nadpisania używanych plików. Więc musisz najpierw zamknąć wszystkie instancje Cygwin, a następnie możesz użyć natywnego setup.exe Cygwin (który sam dokonuje aktualizacji metodą „zamień po ponownym uruchomieniu”, gdy pliki są w użyciu).


apt-cyg

Dla mnie najlepszy. Po prostu dlatego, że jest jednym z najnowszych. Działa poprawnie na obu platformach - x86 i x86_64. Istnieje wiele wideł z dodatkowymi funkcjami. Na przykład widelec kou1okada jest jedną z ulepszonych wersji.


Cygwin's setup.exe

Posiada również tryb wiersza poleceń . Ponadto umożliwia jednoczesną aktualizację wszystkich zainstalowanych pakietów.

setup.exe-x86_64.exe -q --packages=bash,vim

Przykładowe zastosowanie:

setup.exe-x86_64.exe -q --packages="bash,vim"

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

David Ferenczy Rogožan
źródło
19

zawsze możesz utworzyć alias bash do konfiguracji plików * .exe w $ home / .bashrc

cygwin 32bit

alias cyg-get="/cygdrive/c/cygwin/setup-x86.exe -q -P"

cygwin 64bit

alias cyg-get="/cygdrive/c/cygwin64/setup-x86_64.exe -q -P"

teraz możesz instalować pakiety z

cyg-get <package>
nwgat
źródło
6

Nie. Jedynym oficjalnie obsługiwanym narzędziem do pobierania i aktualizowania pakietów Cygwin jest plik setup.exe, którego użyłeś do pierwszej instalacji , chociaż można go wywołać za pomocą argumentów wiersza poleceń, aby pomóc w tym procesie.

Z tej samej strony:

Podstawowym powodem braku bardziej w pełni funkcjonalnego menedżera pakietów jest to, że taki program wymagałby pełnego dostępu do wszystkich funkcjonalności POSIX Cygwin. Jest to jednak trudne do zapewnienia w środowisku wolnym od Cygwin, takim jakie istnieje podczas pierwszej instalacji. Ponadto system Windows nie umożliwia łatwego nadpisywania używanych plików wykonywalnych, więc zainstalowanie nowej wersji biblioteki Cygwin DLL, gdy menedżer pakietów korzysta z biblioteki DLL, jest problematyczne.

ja i
źródło
1
To były dobre szczegóły, dlaczego nie jest to generalnie możliwe. Powinien być uwzględniony w dokumentach cyg-get lub apt-cyg.
oligofren
5

To działa dla mnie:

curl https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg > \
apt-cyg && install apt-cyg /bin
Willem van Ketwich
źródło
1
wget https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg && install apt-cyg /binto kolejna opcja, jeśli brakuje curl
Alex Telon
1
Pamiętaj też rm apt-cygpóźniej.
Alex Telon
-1

Możesz użyć Chocolatey, aby zainstalować, cyg-geta następnie zainstalować z nim swoje pakiety.

Na przykład:

choco install cyg-get

Następnie:

cyg-get install my-package
fabriciorissetto
źródło
1
Niestety, powoduje to pobranie konfiguracji Cygwin setup-x86_64.exei ponowne zainstalowanie Cygwin, nie tylko apt-cyg. Musiałem anulować instalację.
Metafaniel
Myślę, że mi się to nie przydarzyło: /
fabriciorissetto