Назад | Перейти на главную страницу

Как установить пакет из aptitude, для которого требуется установить другой пакет вручную?

Представьте себе ситуацию, когда вы устанавливаете, например, пакет openssl следующим образом (вручную):

wget http://openssl.org/source/openssl-1.0.1h.tar.gz
tar -xvf openssl-1.0.1h.tar.gz
cd openssl-1.0.1h

./config shared
make depend
make
make test
make install

Теперь вы хотите установить еще один пакет из aptitude следующим образом:

apt-get install ca-certificates

Но в нем говорится, что он установит openssl (более низкая версия, но с aptitude) пакета, который вы уже установили вручную, как это можно установить с помощью пакета, который я уже установил вручную?

Пожалуйста, не беспокойтесь о том, почему мне нужно установить этот пакет вручную, а не использовать официальный, просто помогите мне ответить на вопрос, спасибо. Вы можете представить себе любой другой пакет, если этот будет для вас проблемой.

На самом деле нет чистого способа сделать это, но, поскольку вы установили openssl из исходного кода, вы все равно сами по себе.

  • Использовать apt-get download <package> чтобы получить файл .deb, который вы хотите установить.
  • Insatll файл .deb, используя dpkg --ignore-dep=openssl -i <dotdebfile.deb>
  • редактировать /var/lib/dpkg/status и удалите зависимость от <package>.

Хорошо, openssl / libssl немного сложен, поэтому давайте начнем с предположения о некоторой другой зависимости пакета.

Прежде всего, вы усложняете задачу, устанавливая что-то с помощью ./configure; делать; выполнить установку в операционной системе, в которой есть менеджер пакетов. Если вам нужно что-то, чего нет в существующем репозитории пакетов, гораздо лучший способ обычно - создать свой собственный (deb) пакет и установить его.

Тем не менее, если вы действительно настаиваете на установке материалов вручную, самый простой способ сохранить базу данных пакетов dpkg / apt счастливой - это, вероятно, использовать что-то вроде эквиваленты для создания пустых поддельных пакетов, обеспечивающих зависимость без фактической установки каких-либо файлов.

Что делает openssl / libssl более сложным, так это то, что у вас часто есть зависимости от конкретной версии. В зависимости от ситуации вам все равно может потребоваться установить стандартную версию Debian, а затем установить новую версию в отдельном месте за пределами пути (библиотеки).