Рейтинг:0

Команда apt-get для установки libgdbm5 ИЛИ libgdbm6

флаг ng

Я написал несколько инструкций по установке с использованием команды

apt-get установить libgdbm5

... но в более новых версиях Ubuntu есть только libgdbm6 (в фокусе я думаю)

Ясно, что я мог бы написать разные инструкции для разных версий, но есть ли простой способ написать эту команду, чтобы она запускалась в любой версии Ubuntu и устанавливала любой из двух доступных пакетов?

Я задавался вопросом, если apt-get установить libgdbm может быть предоставлен как какой-то полезный псевдоним, но нет. Не существует.

Я задавался вопросом, если apt-get установить libgdbm* сделал бы что-нибудь полезное. Это работает, но устанавливает различные другие пакеты с тем же префиксом.

я видел этот вопрос но это не вопрос о пакетах с числовыми суффиксами в имени.

Knud Larsen avatar
флаг by
`$ wget http://de.archive.ubuntu.com/ubuntu/pool/main/g/gdbm/libgdbm5_1.14.1-6_amd64.deb` ... и установите с помощью `sudo dpkg -i libgdbm5_1.14.1-6_amd64. deb` (Нет зависимостей/конфликтов.)
nobody avatar
флаг gh
libgdm* будет установлен поверх метапакета ubuntu-standart как зависимость
Рейтинг:1
флаг in

... но в более новых версиях Ubuntu есть только libgdbm6

Действительно: согласно https://packages.ubuntu.com/search?keywords=libgdbm5 , libgdm5 доступен только в Bionic (18.04LTS), тогда как libgdm6 (Видеть https://packages.ubuntu.com/search?keywords=libgdbm6) доступен в версиях Focal (20.04LTS), Groovy (20.10) и Hirsuite (21.04).

Следовательно, в репозиториях пакетов Focal/Groovy/Hirsuite не должно быть пакетов, зависящих от libgdbm5 (или в любом недоступном пакете, если уж на то пошло).

Если у вас нет репозиториев Bionic, настроенных в вашем экземпляре APT, вы не сможете установить libgdm5, независимо от псевдонимов пакетов или виртуальных (предоставленных) пакетов.

Подход здесь будет состоять в том, чтобы добавить репозиторий Bionic в вашу конфигурацию APT. Я предлагаю вам сделать это, создав /etc/apt/sources.list.d/bionic.list файл и наличие соответствующих деб конфигурация репо там. Однострочник для достижения этого будет

sudo echo "deb http://in.archive.ubuntu.com/ubuntu/ основная ограниченная вселенная bionic" > /etc/apt/sources.list.d/bionic.list

...с последующим apt-получить обновление и apt-get установить libgdbm6.

Также помните, что по умолчанию репозитории для вашего релиза должны иметь приоритет над любыми другими репозиториями, определенными в /etc/apt/sources.list.d. Читайте https://wiki.debian.org/AptConfiguration чтобы иметь лучшее представление о том, как работают приоритеты репозитория.

Рейтинг:1
флаг cn

"[I] Есть ли простой способ написать эту команду, чтобы она запускалась в любой версии Ubuntu и устанавливала любой из двух доступных пакетов?"

В любом случае вы не должны явно устанавливать библиотеки. Вы должны установить приложения и позволить apt выяснить зависимости. Это то, для чего подходит.

НЕТ: sudo apt установить python3-gdbm libgdbm6
ДА: sudo apt установить python3-gdbm
  • Указание библиотек пометит их как «вручную», что может нарушить будущие обновления выпуска... или оставить старые, неиспользуемые библиотеки без необходимости болтаться в вашей системе.

Если вы все еще действительно хотите указать библиотеки, вы должны сначала проверить доступную версию в своем сценарии.

$ подходящий список libgdbm6
Листинг... Готово
libgdbm6/hirsute, теперь 1.19-2 amd64 [установлено, автоматически]

$ дпкг -л | grep libgdbm6
iilibgdbm6:amd64 1.19-2                                                              
Подпрограммы базы данных amd64 GNU dbm (версия для выполнения) 

$ подходящий список libgdbm5
Листинг... Готово
$ 

$ дпкг -л | grep libgdbm5
$ 

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.