Aptitude - выберите стратегию разрешения (например, обновление до нестабильного состояния перед удалением)

354
Marek Sebera

Можно ли выбрать стратегию разрешения «неудовлетворенных зависимостей» aptitude по умолчанию (или для каждого запуска)?

Например, чтобы aptitude сначала предложила обновить-до-нестабильного / установить-из-нестабильного (sid), чем удалить пакеты, которые имеют неудовлетворенные зависимости?

Пример данных из моментов назад (debian 9 stretch, с репозиторием sid)

Исходная ситуация представлена ​​в способности

# aptitude dist-upgrade The following NEW packages will be installed: libboost-program-options1.67.0  The following packages will be upgraded: libgnuradio-analog3.7.13 libgnuradio-audio3.7.13 libgnuradio-blocks3.7.13 libgnuradio-digital3.7.13 libgnuradio-fcd3.7.13 libgnuradio-fft3.7.13  libgnuradio-filter3.7.13 libgnuradio-pmt3.7.13 libgnuradio-runtime3.7.13 libgnuradio-uhd3.7.13  10 packages upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 2,387 kB of archives. After unpacking 2,656 kB will be used. The following packages have unmet dependencies: libgnuradio-analog3.7.13 : Depends: libboost-regex1.67.0 (>= 1.67.0-10) but it is not going to be installed libgnuradio-runtime3.7.13 : Depends: libboost-regex1.67.0 (>= 1.67.0-10) but it is not going to be installed libgnuradio-blocks3.7.13 : Depends: libboost-regex1.67.0 (>= 1.67.0-10) but it is not going to be installed libgnuradio-uhd3.7.13 : Depends: libboost-regex1.67.0 (>= 1.67.0-10) but it is not going to be installed libgnuradio-filter3.7.13 : Depends: libboost-regex1.67.0 (>= 1.67.0-10) but it is not going to be installed libgnuradio-digital3.7.13 : Depends: libboost-regex1.67.0 (>= 1.67.0-10) but it is not going to be installed libgnuradio-fft3.7.13 : Depends: libboost-regex1.67.0 (>= 1.67.0-10) but it is not going to be installed libgnuradio-pmt3.7.13 : Depends: libboost-regex1.67.0 (>= 1.67.0-10) but it is not going to be installed libgnuradio-audio3.7.13 : Depends: libboost-regex1.67.0 (>= 1.67.0-10) but it is not going to be installed libgnuradio-fcd3.7.13 : Depends: libboost-regex1.67.0 (>= 1.67.0-10) but it is not going to be installed 

Aptitude предлагает решения на заказ

  1. сохранить пакеты в текущей версии
  2. удалить некоторые пакеты и сохранить другие в текущей версии
  3. удалить некоторые пакеты, оставить некоторые в текущей версии, оставить некоторые зависимости нерешенными
  4. удалить все конфликтующие пакеты, оставить некоторые зависимости нерешенными
  5. установить отсутствующую зависимость от неприоритетного канала (sid, 100) и выполнить обновление всех пакетов в соответствии с запросом

Окончательное решение

The following actions will resolve these dependencies:  Install the following packages:  1) libboost-regex1.67.0 [1.67.0-10 (unstable)]    Accept this solution? [Y/n/q/?] Y The following NEW packages will be installed: libboost-program-options1.67.0 libboost-regex1.67.0  The following packages will be upgraded: libgnuradio-analog3.7.13 libgnuradio-audio3.7.13 libgnuradio-blocks3.7.13 libgnuradio-digital3.7.13 libgnuradio-fcd3.7.13 libgnuradio-fft3.7.13 libgnuradio-filter3.7.13  libgnuradio-pmt3.7.13 libgnuradio-runtime3.7.13 libgnuradio-uhd3.7.13  10 packages upgraded, 2 newly installed, 0 to remove and 0 not upgraded. Need to get 2,871 kB of archives. After unpacking 5,837 kB will be used. 

Допустимое решение моей проблемы, вероятно, не является одним из них:

  1. Измените приоритет канала sid (/ etc / apt / предпочтения) на вес, равный стабильному / backports - это приведет к нестабильной работе всей системы
  2. Запуск, так aptitude -t sid dist-upgradeкак это приведет к обновлению всей системы с нестабильного канала

Итак, вопросы:

  • Можно ли настроить aptitude, использовать другую стратегию разрешения?
  • Есть ли стратегия, которая предлагает сначала установить / обновить-из-нестабильного, чем чрезмерное удаление пакета? (т.е. обновление нестабильных пакетов с нестабильными зависимостями)
  • Есть ли стратегия, которая предлагает сначала понизить до стабильного, чем чрезмерное удаление пакета? (то есть для понижения версии пакета и зависимостей от нестабильного до стабильного)
0

0 ответов на вопрос