Могут ли несколько версий одного и того же пакета сосуществовать в одной системе?

Чтобы установить tmux 2.1, мне нужно было установить libtinfo5 версию 6, я сделал это, загрузив архив .deb, содержащий libtinfo5, и установил непосредственно с помощью команды:

sudo dpkg -i libtinfo5_6.0+20160213-1ubuntu1_amd64.deb

. Зависимость от tmux 2.1 и tmux установлены нормально.
Теперь я попытался установить vnstat с помощью ошибки

sudo apt-get install vnstat 

apt-get, возникла следующая ошибка:

$ sudo apt-get install vnstat
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 libncurses5 : Depends: libtinfo5 (= 5.9+20150516-2ubuntu1) but 6.0+20160213-1ubuntu1 is to be installed
 libncursesw5 : Depends: libtinfo5 (= 5.9+20150516-2ubuntu1) but 6.0+20160213-1ubuntu1 is to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

Я всегда понимал, что система управления пакетами Ubuntu способна устанавливать и управлять несколькими версии того же пакета, для ситуаций, подобных этой. Другими словами, apt / dpkg распознает

  • tmux для работы libtinfo5 - version 6
  • vnstat для работы libtinfo5 - version 5

Тогда apt / dpkg скажет, что хорошо, я установлю обе версии .
Я могу видеть, как некоторые программы, такие как двоичный файл системы, например, bash или ls могут быть установлены только один раз, так как большинство вызовов просто говорят bash -c "<command>", а не bashv.3.2 -c "<command>".
Поэтому мой вопрос заключается в том, может ли менеджер пакетов установить и управлять несколькими зависимостями? Или это просто невозможно, потому что, как и в примере с bash выше, большинство программ вызывают вызов зависимости по имени зависимости без указания версии. В каком случае проблема находится вне контроля диспетчера пакетов (т.е. это скорее проблема компиляции / конфигурации / организации программирования), и диспетчер пакетов в этот момент отказывается?

6
задан 18 April 2016 в 02:34

2 ответа

Нет, невозможно иметь две версии одного и того же пакета , потому что будут конфликтующие файлы. Другое дело, если библиотека может быть установлена ​​в двух разных версиях одновременно. Если вы смелы, вы можете получить исходный код для одной версии и посмотреть, сможете ли вы установить его в другой каталог. Это вполне может серьезно испортить вашу систему. Это также могло просто не работать. Dpkg этого не устроит, поэтому вам придется получить исходный код одной из программ и скомпилировать его.Но имейте в виду, что как только вы начнете компилировать программы самостоятельно, вы можете вызвать у себя самые разные проблемы.

1
ответ дан 18 April 2016 в 12:34
  • 1
    Ну, Adobe Acrobat делает это вполне прилично, который показывает, что это возможно. На самом деле я использую Xodo для создания аннотаций на планшете. Возможно, Xodo хранит комментарии таким же образом как Okular? – becko 21 September 2017 в 21:03

Нет, у вас не может быть установленных разных версий одного и того же пакета. в то же время. Обычно зависимости выражаются как по крайней мере версия X. Однако для пакетов, которые все построены из одного источника, зависимость часто бывает точной. Это то, с чем вы столкнулись. libncurses5 и libtinfo5 созданы из исходного пакета ncurses. Если вы хотите обновить один из пакетов, созданных из этого источника, вы должны обновить их все, поэтому вам просто нужно получить и установить одну и ту же версию других пакетов, созданных из этого источника, чтобы все они были в одной версии.

1
ответ дан 18 April 2016 в 12:34
  • 1
    Вы - верная Adobe Acrobat, может сделать это для комментариев, добавленных в других программах? Я wouldn' t рассчитывают на it†¦, я просто протестировал, и хранилища Xodo комментирует так же к Okular, таким образом, последняя команда в моем ответе в состоянии отобразить их. – dessert 21 September 2017 в 22:24

Другие вопросы по тегам:

Похожие вопросы: