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


16

В Cygwin, как мне:

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

Ответы:


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:. Если по какой-либо причине используемое вами зеркало устарело, программа установки выдает предупреждение при загрузке информации.


По крайней мере, начиная с версии 2.8, есть опция -x --remove-packages, которая также удаляет пакеты через командную строку.
Howler

@ Хаулер apt-cyg removeработает, но сначала вам нужен инструмент, см. Ответ @ kevin.
user3123159

apt-cyg install packageдля установки.
user3123159

3

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


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/


0

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

/path/to/setup.exe -x yourpackagename
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.