Управление пакетами Cygwin

16

В Cygwin, как мне:

  • Список всех установленных пакетов
  • Список файлов, принадлежащих пакету
  • Скажите, к какому пакету принадлежит файл
  • Установите новый пакет
  • Удалить пакет
  • Получить информацию об установленном пакете (deps, версия и т. Д.)

источник

Ответы:

23

Список всех установленных пакетов

cygcheck --check-setup --dump-only
  • без --dump-onlyкоманды потребуется несколько минут, чтобы выполнить тестирование всех пакетов. Вы должны увидеть ОК для каждого пакета, если все в порядке;)

Список файлов, принадлежащих пакету

Для пакета bashсделать:

cygcheck --list-package bash
  • работает только для установленных пакетов

Скажите, к какому пакету принадлежит файл:

Для файла /usr/bin/bash.exe

cygcheck --find-package /usr/bin/bash.exe
  • работает только для установленных пакетов

Установите новый пакет

Учитывая, что вы уже запустили графический интерфейс установки и у вас есть действительные зеркала, локальный каталог пакетов и другие параметры, вы можете запустить для установки abook:

/path/to/setup-1.7.exe --quiet-mode --download --local-install --packages abook
  • он также автоматически обновит все ваши установленные пакеты до последней доступной версии
  • Вы также можете выбрать зеркало и другие параметры в командной строке, см. /path/to/setup-1.7.exe --help
  • Я знаю, что новая версия cygwin 1.7 (бета-версия, но довольно стабильная), которая в настоящее время использует установку 2.649, поддерживает эти параметры, но я не тестировал на 1.6

Удалить пакет

Насколько я знаю, только GUI поддерживает эту опцию.

Получить информацию об установленном пакете (deps, версия и т. Д.)

Версия указана вместе для каждого пакета в списке (первый элемент). Найти хитрости действительно сложно: при запуске установки в локальном каталоге пакетов создается одна запись для каждого зеркала. Там вы можете найти список всех пакетов, доступных на этом зеркале (setup.ini для версии 1.6 и setup-2.ini для версии 1.7) с именем пакета, которому предшествуют a @и deps, перед которым стоит requires:. Если по какой-либо причине используемое вами зеркало устарело, программа установки выдает предупреждение при загрузке информации.

user25713
источник
По крайней мере, начиная с версии 2.8, есть опция -x --remove-packages, которая также удаляет пакеты через командную строку.
Howler
@ Хаулер apt-cyg removeработает, но сначала вам нужен инструмент, см. Ответ @ kevin.
user3123159
apt-cyg install packageдля установки.
user3123159
3

Запустите setup.exe. Это даст вам графический интерфейс с флажками для различных пакетов.

kmarsh
источник
5
ИМО, это главный провал Cygwins. Нам нужен настоящий менеджер пакетов!
Джозеф Керн
1
Я видел несколько сообщений в списке рассылки. Кто-то работает над подходящим эквивалентом Cygwin. Это может
появиться
@ Джозеф: это звучит очень круто. Спасибо за то, что дали нам знать.
Рожденный ездить
Реальный менеджер пакетов невозможен, так как невозможно перезаписать файлы, используемые в Windows. Вы должны закрыть Cygwin перед обновлением, а затем вы можете использовать внешний менеджер пакетов (Cygwin's setup.exe). Самый полный менеджер пакетов - apt-cyg , я не думаю, что будет что-то лучше.
Давид Ференци Рогожан
3

Я нашел apt-cyg полезным для установки пакетов без командной строки обновления всех других моих пакетов, но это не все, что вам нужно сделать.

Кевин Кросс
источник
Там нет никакого эквивалента apt show, apt policyили apt searchв ubuntu.
user3123159
0

Позвольте мне представить вам FAQ по Cygwin

  • Список установлен
  • Как удалить отдельные пакеты
  • Как удалить отдельные пакеты
  • Получить информацию об установленном пакете

Запустите Cygwin Setup

  • Список файлов, принадлежащих пакету
  • Скажите, к какому пакету принадлежит файл

Поиск по адресу http://cygwin.com/packages/

Zoredache
источник
0

Теперь можно также удалить пакеты:

/path/to/setup.exe -x yourpackagename
breizhmg
источник