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.

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


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

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


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>

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.


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

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

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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.