Arch Linux pacman с указанием версии пакета

12

Я знаю, что могу определить требуемую версию пакета, pacmanкак показано в его руководстве pacman -S "bash>=3.2". Но как узнать, какие версии доступны?

Я также знаю, что pacmanсоздает копии зеркал при синхронизации в файлах .db /var/lib/pacman/sync/, но эти файлы не читаются человеком.

А что, если я захочу установить какую-нибудь версию, virtualboxнапример, которая, я надеюсь, где-то в зеркалах, для которой не потребуется более новая версия linux(установлена ​​как IgnorePkgв pacman.conf), чем я установил (из-за nvidiaдрайверов)? Как узнать, что это за версия и доступна ли она?

meridius
источник
"Но как я узнаю, какие версии доступны?" не pacman -Si package_nameдостаточно?
Брайам
@Braiam Нет, это дает вам только самые новые из доступных.
Меридиус
Тем временем я загружал нужные пакеты вручную с Arch Rollback Machine по адресу seblu.net/a/arm. Но этот подход требует ручной загрузки и попытки установить требуемые пакеты, что действительно отнимает много времени.
Меридиус

Ответы:

10

Вы не можете указать версию, которая легко, в качестве скользящей версии, pacmanбудет предоставлять только самую последнюю версию . Когда вы устанавливаете что-то, этот пакет сохраняется на вашем компьютере в /var/cache/pacman/pkg/директории, поэтому, если вы хотите понизить одну версию или указать другую, вы должны использовать pacman -Uи имя пакета в вашем кэше. Существуют репо "машины времени", где люди просто хранят старые пакеты, вы можете скачать нужную версию и использовать ее pacman -Uдля установки.

Помните, что вам нужно «заблокировать» обновления этого пакета, если вы не хотите, чтобы он обновлялся, чтобы узнать, как это сделать, посмотрите вики на странице pacman или на этом https://wiki.archlinux.org/index.php /Downgrading_Packages#Q:_I_cannot_downgrade_a_package.2C_because_of_dependencies .

Стоик алхимик
источник
Я знаю pacman -U и ранее установленные пакеты, а также Arch Archback Machines. Мой вопрос был на самом деле о том, как упростить процесс поиска нужной версии пакета.
Меридиус
@meridius Вы задаете неправильный вопрос: Arch - это скользящий выпуск, единственная версия пакета - для всех целей - это текущая версия. Частичные обновления не поддерживаются .
Джейсонвриан
2
«В качестве скользящего релиза pacman предоставит только самую последнюю версию». Неправильно! Роллинг релиз не подразумевает этого. Вы можете иметь скользящий выпуск, который поддерживает более старые пакеты.
Рок Краль
@meridius Я использовал pacman -Uопцию с полным URL-адресом нужного мне пакета на сайте archive.archlinux.org/packages . Также вы можете добавить этот специальный пакет в список игнорирования, иначе он будет переопределен. @jasonwryan, Роллинг релиз имеет много преимуществ, но кое-что доставляет радость, и вы вынуждены оставить какую-то «не новую» версию: D, пока не будут применены исправления.
m3nda