2

Я использую версию rubygems, необходимую для запуска одного из приложений моего сервера, установленного следующим образом:

dpkg --install /tmp/rubygems1.8_1.3.7-2_all.deb

При каждом его использовании aptitude хочет выполнить откат к старой версии rubygems (хранящейся в репозиториях.

Как я могу сказать aptitude игнорировать эту проблему?

Я хотел бы получить решение для командной строки, так как я использую сервер (Ubutun 10.04), так что это не дубликат: Скажите aptitude игнорировать поврежденный пакет

4 ответа4

1

Просто установите версию драгоценных камней за пределами apt. На самом деле это тоже лучше , потому что он будет в /usr/local/bin (то, что вы установили), а не в /usr/bin который предназначен для дистрибутива (вещи, встроенные в репозиторий, из которого вы скачиваете). В этом случае дистрибутив явно пытается отклонить вашу версию гемов.

Кроме того, вещи, установленные с вашей версией Ruby Gems, вероятно, будут находиться в другом каталоге выше в каталоге include, например, /usr/local/share а не /usr/lib . Это означает, что когда вы устанавливаете вещи с помощью /usr/local/bin/gem они попадают в специальное место, которое не будет мешать установкам, которые устанавливает /usr/bin/gem .

0

Вы можете использовать equivs для создания фиктивных пакетов, которые предоставляют недостающие пакеты.

Конечно, это работает, только если между установленными пакетами нет конфликтов.

0

Я держу пакеты, используя aptitude hold <package> . Я не уверен, что это работает и для предотвращения откатов, но стоит попробовать.

Вы также можете использовать dpkg:echo “<package> hold” | dpkg --set-selections

Ссылка

0

На вашем месте я бы перекомпилировал (изменил) пакет, чтобы он не нарушал зависимости.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .