лучший способ установить пакет от wheezy на squeeze

9

Я хочу использовать doxygen на моем сервере Debian Squeeze, но мне нужна версия Debian Wheezy, потому что она, очевидно, содержит нужное мне исправление .

Это не в бэкпортах - проверьте пакет

Я попытался добавить Wheezy в мой файл sources.list и запустить, apt-get install -t wheezy doxygenно он хочет установить слишком много из wheezy; Это рабочий сервер, поэтому он не может позволить себе такой риск.

Я предполагаю, что компиляция из исходного кода тоже захочет компилировать все остальное из вышеперечисленного из исходного кода?

Любые другие решения? (например, некоторая виртуализация или привязка?) и т. д.

artfulrobot
источник

Ответы:

6

Добавьте к вашему /etc/apt/apt.conf:

APT::Default-release "stable";

И тогда вы можете запустить:

aptitude install doxygen/wheezy

(не то же самое, что с -t)

Джованни Торальдо
источник
Хорошо, у меня был бит выпуска по умолчанию. Я не доверяю aptitude (я запускал его один раз, он сказал, что хочет удалить много, как 'realpath'; я отменил, запустил его снова, и он был счастлив просто установить doxygen ...). Но это сработало, спасибо.
artfulrobot
с aptitude вы получаете лучшую обработку зависимостей, особенно когда вы устанавливаете пакеты из другого выпуска, что с помощью apt-get должно быть исправлено вручную (например, понизьте пакет библиотеки перед установкой ранее обновленного пакета).
Джованни Торальдо
Мне пришлось использовать «squeeze» вместо «stable», а также добавить deb http://mirror.rackspace.com/debian/ wheezy mainв /etc/apt/sources.list, прежде чем он заработает
Motin
2

Компиляция из исходного кода имеет хорошие шансы на работу. Это то, что делает бэкпорт. Когда вы компилируете пакет Debian, результирующий двоичный пакет имеет версионную зависимость от всех библиотек, с которыми связаны исполняемые файлы пакета: версии установленных библиотек могут быть не старше версий, использованных во время компиляции. Если вы перекомпилируете пакет wheezy в системе squeeze, эти зависимости позволят вам запустить пакет в squeeze. Это при условии, что нет явной зависимости от версии пакета, которая не находится в сжатой среде, которую я не проверял для конкретного случая doxygen.

Жиль "ТАК - прекрати быть злым"
источник
1

Я бы рекомендовал вместо этого использовать apt-pinning:

Добавьте следующее в / etc / apt / preferences или альтернативно /etc/apt/preferences.d/pinning

Explanation: Uninstall or do not install any Debian-originated
Explanation: package versions other than those in the stable distro
Package: *
Pin: release a=stable
Pin-Priority: 900

Package: *
Pin: release o=Debian
Pin-Priority: -10

и установите пакет wheezy, как указал Джованни:

apt-get install doxygen/wheezy
Роберт Лакруа
источник
как это лучше, чем предложение Джованни?
artfulrobot
0

Я не уверен на 100%, что prevu работает на Debian, но он должен: https://wiki.ubuntu.com/Prevu Я установил несколько пакетов с prevu из более новых версий ubuntu.

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

Jure1873
источник
Превью выглядит великолепно! но не могу найти его для Debian :-( Когда вы говорите, попробуйте скомпилировать, вы имеете в виду apt-get build-dep doxygen;apt-get source --compile doxygen;dpkg -i doxygen*.deb? Я уверен, что это привлечет все остальные вещи?
artfulrobot