Есть ли в пакете Cygwin инструмент, похожий apt-get
на Debian или yum
Redhat, который позволяет мне устанавливать компоненты из командной строки?
command-line
cygwin
vy32
источник
источник
Ответы:
В инсталляторе 'setup.exe' нет специального инструмента, который предлагает функциональность apt-get. Однако для Cygwin существует установщик пакета командной строки, который можно загрузить отдельно, но он не является полностью стабильным и использует обходные пути.
apt-cyg: http://github.com/transcode-open/apt-cyg
Проверьте вкладку проблем для проекта, чтобы увидеть известные проблемы.
источник
setup-x86.exe -q -P packagename1,packagename2
. Не так красиво, какapt-get
даже,apt-cyg
но в большинстве случаев это помогает. И вы также можете запустить это изcmd.exe
(после закрытия Cygwin).Программа установки Cygwin принимает аргументы командной строки для установки пакетов из командной строки.
например,
setup-x86.exe -q -P packagename1,packagename2
для установки пакетов без какого-либо взаимодействия с графическим интерфейсом («режим автоматической установки»).(Обратите внимание, что вам нужно использовать
setup-x86.exe
или поsetup-x86_64.exe
мере необходимости.)См. Http://cygwin.com/packages/ для списка пакетов.
источник
setup-x86_64 --packages="openssh,python"
Для более удобного установщика вы можете использовать его в
apt-cyg
качестве менеджера пакетов. Его синтаксис похож наapt-get
, что является плюсом. Для этого выполните вышеуказанные шаги, а затем используйте Cygwin Bash для следующих шаговТеперь это
apt-cyg
установлено. Вот несколько примеров установки некоторых пакетовисточник
wget
и скачиваетapt-cyg
без проблем. В какой момент появляется 404?Существует несколько сценариев, которые можно использовать как простые менеджеры пакетов для Cygwin. Но важно знать, что они всегда будут весьма ограниченными из-за ... эм ... Windows.
Установка или удаление пакетов - это хорошо, это может сделать каждый менеджер пакетов для Cygwin. Но обновление является проблемой, поскольку Windows не позволяет перезаписать исполняемый файл, который в данный момент запущен. Таким образом, вы не можете обновить, например, Cygwin DLL или любой пакет, который содержит исполняемый в данный момент исполняемый файл из самого Cygwin. На странице установки Cygwin также есть это примечание :
Программа установки Cygwin использует реестр Windows для перезаписи исполняемых файлов, которые используются, и этот метод требует перезагрузки Windows . Поэтому перед обновлением пакетов лучше закрыть все процессы Cygwin , поэтому вам не нужно перезагружать компьютер, чтобы применить изменения. Установка нового пакета должна быть полностью без каких-либо хлопот. Я не думаю, что какой-либо из менеджеров пакетов, кроме Cygwin,
setup.exe
реализует какой-либо метод для перезаписи используемых файлов, поэтому он просто потерпит неудачу, если не сможет перезаписать их.Некоторые менеджеры пакетов для Cygwin:
кв-Лебедь
Обновление : хранилище было недавно отключено из-за проблем с авторским правом ( удаление DMCA ). Это выглядит как владелец репозитория выдал DMCA партер на своем собственном хранилище и создал новый проект под названием Sage (см ниже).
Лучший для меня. Просто потому, что это один из самых последних. Это не использует Cygwin's
setup.exe
, это скорее повторно реализует, чтоsetup.exe
делает. Он работает правильно для обеих платформ - x86 и x86_64 . Есть много вилок с более или менее дополнительными функциями. Например, вилка kou1okada - одна из улучшенных версий , которая действительно великолепна.apt-cyg - это всего лишь сценарий оболочки, установка не производится. Просто скачайте его (или клонируйте репозиторий), сделайте его исполняемым и скопируйте его куда-нибудь в PATH:
Есть также куча вилок с различными функциями.
шалфей
Еще один менеджер пакетов реализован в виде сценария оболочки. Я не пробовал, но на самом деле выглядит хорошо.
Он может искать пакеты в репозитории, перечислять пакеты в категории, проверять зависимости, перечислять файлы пакетов и многое другое. У него есть функции, которых нет у других менеджеров пакетов.
Лебедь-кв
Вилка заброшенного оригинала
Лебедь-квс улучшениями и исправлениями. Он имеет довольно много функций и реализован на Python. Установка производится с использованиемmake
.Шоколадный cyg-get
Если вы использовали Chocolatey для установки Cygwin, вы можете установить пакет cyg-get , который на самом деле является простой оболочкой для Cygwin,
setup.exe
написанной на PowerShell.Cygwin's setup.exe
Он также имеет режим командной строки . Более того, он позволяет обновлять все установленные пакеты одновременно (как
apt-get upgrade
в Linux на основе Debian).Пример использования:
Вы можете создать псевдоним для более удобного использования, например:
alias cyg-get="/cygdrive/d/path/to/cygwin/setup-x86_64.exe -q -P"
Затем вы можете, например, установить пакет Vim с:
cyg-get vim
источник
sage
является ответвлениемapt-cyg
его самых активных участников за последний год или два (Стивен Пенни). Похоже, что в начале этого года у него были некоторые разногласия с первоначальнымapt-cyg
автором (Стивеном Джангелсом), и он издал разборку DMCA, когда он раздвоил проект. Так как Jungels (он же Transcode), несомненно, является первоначальным автором проекта, вскоре после этого GitHub восстановил оригинальный проект. В настоящее время оба проекта доступны, хотя в исходном проекте не было никаких новых обновлений кода с момента разделения. Это действительно грязная ситуация.Сначала загрузите установщик по адресу: https://cygwin.com/setup-x86_64.exe (Windows 64bit), затем:
например
источник
Я хотел найти решение, похожее на это
apt-get --print-uris
, но, к сожалению, apt-cyg этого не делает. Ниже приведено решение, которое позволило мне загрузить только те пакеты, которые мне были нужны, с их зависимостями и скопировать их в целевую систему для установки. Вот скрипт bash, который анализирует выводapt-cyg
в список URI:Выше будет распечатывать пути пакетов, которые нужно скачать, относительно корневого корня cygwin, пропуская все пакеты, которые уже установлены. Чтобы загрузить их, я записал вывод в файл,
cygwin-packages-list
а затем использовал wget:Затем установщик можно использовать для установки из каталога локального кэша. Обратите внимание, что для этого мне нужно было скопировать
setup.ini
из кэша предыдущего пакета cygwin в каталог с загруженными файлами (в противном случае установщик не знает, что к чему).источник
Старый вопрос, но все еще актуален. Вот что сработало для меня сегодня (26.06.16).
Из оболочки Bash:
источник
wget
илиcurl
, вероятно, лучший инструмент для этого. (И лично я установил бы это в некотором другом каталоге в моем,$PATH
а не в/bin
.)Ответ Дэвида Ференци довольно полный, но после того, как я попробовал почти все его варианты, я обнаружил, что cyg-get от Chocolatey был лучшим (по крайней мере, единственным, который я мог заставить работать).
Я хотел установить
wget
, шаги были следующие:Затем:
источник
Обычно перед установкой пакета необходимо знать его точное имя:
источник