apt-get для Cygwin?

127

Есть ли какая-нибудь apt-getподобная программа для Cygwin?

Я уже пробовал, cyg-aptно при попытке получаю такую ​​ошибку:

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
источник
Файл доступен в исходном репозитории.
Бруно
Можно ли скачать с репо, отличного от cygwin? На самом деле, мне нужно несколько заголовков linux для компьютера, работающего в автономном режиме с Linux, но мне нужно загрузить их в Windows с помощью apt-get.
Alex
2
cyg-apt имеет последнее обновление 5 лет назад. Текущая структура репозитория отличается. Следовательно, это не сработает.
Давид Ференци Рогожан
2
не путайте cyg-aptс apt-cyg. Последний намного лучше (просто помните, что тот, который звучит наиболее похоже, apt-getявляется хорошим).
Шридхар Сарнобат

Ответы:

131

Лучшее, что я когда-либо использовал:

менеджер пакетов apt-cyg

пансофизм
источник
apt-cyg orks действительно хорошо. Только что установили rsync, openssh, mc и другие.
Jako
9
Он может только устанавливать и удалять пакеты, не так ли? Невозможно обновить определенный пакет или все пакеты до новейшей версии с помощью apt-cyg. Так что это приятно, но бесполезно, так как мне тоже нужно использовать настройку Cygwin. Буду рад, если ошибаюсь.
Давид Ференци Рогожан
1
apt-cyg updateобновит setup.ini и т. д., если у кого-то возникнут проблемы без даты setup.ini
nwgat
Зеркала есть?
Дэнни Ло,
2
@CodeMonkey Репо возобновлено вместе с его конкурентом: Sage
Брайан Браунтон
91

Вы можете сделать это с помощью программы setup.exe Cygwin из командной строки Windows. Пример:

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

Для более удобного установщика вы можете использовать менеджер пакетов apt-cyg . Его синтаксис похож на apt-get, что является плюсом. Для этого выполните указанные выше действия, а затем используйте Cygwin Bash для следующих шагов:

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

Теперь это apt-cygустановлено. Вот несколько примеров установки некоторых пакетов:

apt-cyg install nano
apt-cyg install git
apt-cyg install ca-certificates
sagunms
источник
после выполнения вышеуказанного шага apt-cyg для 64 бит дает исключение / usr / local / bin / apt-cyg: line 1: $ '\ r': command not found / usr / local / bin / apt-cyg: line 3: $ '\ r': команда не найдена / usr / local / bin / apt-cyg: строка 19: $ '\ r': команда не найдена / usr / local / bin / apt-cyg: line 21: $ '\ r' : команда не найдена / usr / local / bin / apt-cyg: строка 27: синтаксическая ошибка возле неожиданного токена ||' 'usr/local/bin/apt-cyg: line 27: || test "- $ GAWK-" = "-"
Shahjahan Khan
@sagunms очарование! это была неприятная проблема, пока я не нашел решение. Спасибо.
Юн Ли
@Shahjahan Khan: Похоже, вы сломали окончания строк с помощью какого-то текстового редактора Windows. Используйте окончания строк Linux (\ n или LF или 0x0A), а не Windows (\ r \ n или 0x0D 0x0A или CR LF).
Давид Ференци Рогожан
эй .. как бы мне установить gcc с помощью этого инструмента, предположим, я забыл установить пакеты Devel при установке cygwin
Олу Смит
1
Работает для меня! a
Ник
26

Обновление: вы можете прочитать более сложный ответ , который содержит больше методов и информации.

Существует пара скриптов, которые можно использовать как простые менеджеры пакетов. Но, насколько мне известно, ни один из них не позволяет обновлять пакеты, потому что это непростая задача в Windows, так как нет возможности перезаписывать используемые файлы. Таким образом, вам нужно сначала закрыть все экземпляры Cygwin, а затем вы можете использовать собственный файл setup.exe Cygwin (который сам выполняет обновление с помощью метода «заменить после перезагрузки», когда файлы используются).


кв-Лебедь

Самый лучший для меня. Просто потому, что он один из самых последних. Он корректно работает на обеих платформах - x86 и x86_64. Существует множество вилок с некоторыми дополнительными функциями. Например, вилка kou1okada - одна из улучшенных версий.


Файл setup.exe из Cygwin

Также есть режим командной строки . Более того, он позволяет обновлять сразу все установленные пакеты.

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

Пример использования:

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

Вы можете создать псевдоним для более удобного использования, например:

alias cyg-get="/cygdrive/d/path/to/cygwin/setup-x86_64.exe -q -P"

Затем вы можете, например, установить пакет Vim с помощью:

cyg-get vim

Давид Ференци Рогожан
источник
18

вы всегда можете создать псевдоним bash для установки файлов * .exe в $ 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"

теперь вы можете устанавливать пакеты с помощью

cyg-get <package>
nwgat
источник
6

Нет. Единственным официально поддерживаемым инструментом для загрузки и обновления пакетов Cygwin является файл setup.exe, который вы использовали для начальной установки , хотя его можно вызвать с помощью аргументов командной строки, чтобы облегчить процесс.

С той же страницы:

Основная причина отсутствия более полнофункционального менеджера пакетов заключается в том, что такой программе потребуется полный доступ ко всем функциям Cygwin POSIX. Однако это трудно обеспечить в среде, свободной от Cygwin, например, существующей при первой установке. Кроме того, Windows не позволяет легко перезаписывать используемые исполняемые файлы, поэтому установка новой версии Cygwin DLL, когда диспетчер пакетов использует DLL, проблематична.

я и
источник
1
Это были хорошие подробности того, почему это вообще невозможно. Должен быть включен в документы cyg-get или apt-cyg.
oligofren
5

Это сработало для меня:

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 /bin- еще один вариант, если локон отсутствует
Alex
1
Также помните rm apt-cygпотом.
Alex
-1

Вы можете использовать Chocolatey для установки, cyg-getа затем устанавливать вместе с ним свои пакеты.

Например:

choco install cyg-get

Затем:

cyg-get install my-package
fabriciorissetto
источник
1
К сожалению, при этом загружается программа setup-x86_64.exeустановки Cygwin и снова устанавливается Cygwin, а не просто apt-cyg. Пришлось отменить установку.
Метафаниэль
Думаю, со мной этого не случилось: /
fabriciorissetto