Перейти к содержимому

Документация по BlackArch на русском языке

Инструкции, советы, новые программы

Меню
  • Главная
  • Список инструментов
  • HackWare
Меню

Как в Arch Linux установить пакет определённой версии. Как откатить пакет до предыдущей версии

Опубликовано в 17.06.202517.06.2025 от Alexey

Оглавление

  1. Можно ли в Arch Linux откатить версию пакета
  2. Локальный кеш пакетов Arch Linux
  3. Пакеты Arch Linux предыдущих версий онлайн
  4. Как установить пакет Arch Linux из локального файла
  5. Как откатить версию видеодрайвера NVIDIA в Arch Linux
  6. Как откатить версию ядра в Arch Linux
  7. Как предотвратить обновление некоторых пакетов
  8. Бонус: Как очистить локальный кеш пакетов

1. Можно ли в Arch Linux откатить версию пакета

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

Но иногда (точнее говоря, крайне редко) возникают ситуации, когда определённая версия пакета не работает, имеет серьёзные баги или является слишком сырой. В этом случае появляется желание откатиться до предыдущей версии пакета или выбрать определённую версию для установки вместо самой новой. Можно ли в Arch Linux установить пакет определённой версии?

Да, в Arch Linux можно установить пакет любой версии и это не вызывает трудностей не в установке ни дальнейших проблем в использовании (при условии, что вы установили зависимости соответствующих версий). Но есть одна загвоздка: в официальных репозиториях Arch Linux храниться только самая последняя версия пакета и отсутствуют предыдущие версии. Рассмотрим, где вы можете получить предыдущие версии пакетов Arch Linux.

2. Локальный кеш пакетов Arch Linux

Все пакеты всех версий, которые вы когда-либо устанавливали или обновляли в вашем Arch Linux сохраняются — конечно, если вы не очищали кеш пакетов. Все установочные файлы хранятся в директории /var/cache/pacman/pkg/, вы можете посмотреть их список:

ls -l /var/cache/pacman/pkg/

Используя команду следующего вида вы можете искать пакеты с определённым именем:

ls -l /var/cache/pacman/pkg/ | grep 'ИМЯ ПАКЕТА'

Например, чтобы вывести список пакетов чьё имя начинается на «nvidia-» я использую следующую команду:

ls -l /var/cache/pacman/pkg/ | grep ' nvidia-'

Пример вывода:

-rw-r--r-- 1 root root   75107881 Apr 11 02:28 nvidia-570.133.07-5-x86_64.pkg.tar.zst
-rw-r--r-- 1 root root        119 Apr 11 02:29 nvidia-570.133.07-5-x86_64.pkg.tar.zst.sig
-rw-r--r-- 1 root root   63750144 Apr 30 10:10 nvidia-570.144-2-x86_64.pkg.tar.zst.part
-rw-r--r-- 1 root root    7421189 Apr 11 02:28 nvidia-open-570.133.07-5-x86_64.pkg.tar.zst
-rw-r--r-- 1 root root        119 Apr 11 02:29 nvidia-open-570.133.07-5-x86_64.pkg.tar.zst.sig
-rw-r--r-- 1 root root    7419636 Apr 21 20:28 nvidia-open-570.144-1-x86_64.pkg.tar.zst
-rw-r--r-- 1 root root        119 Apr 21 20:28 nvidia-open-570.144-1-x86_64.pkg.tar.zst.sig
-rw-r--r-- 1 root root    7419681 Apr 26 08:05 nvidia-open-570.144-2-x86_64.pkg.tar.zst
-rw-r--r-- 1 root root        119 Apr 26 08:06 nvidia-open-570.144-2-x86_64.pkg.tar.zst.sig
-rw-r--r-- 1 root root    7406737 Apr 29 21:52 nvidia-open-570.144-3-x86_64.pkg.tar.zst
-rw-r--r-- 1 root root        215 Apr 29 21:52 nvidia-open-570.144-3-x86_64.pkg.tar.zst.sig
-rw-r--r-- 1 root root    7406558 May  3 22:32 nvidia-open-570.144-4-x86_64.pkg.tar.zst
-rw-r--r-- 1 root root        119 May  3 22:33 nvidia-open-570.144-4-x86_64.pkg.tar.zst.sig
-rw-r--r-- 1 root root    7408068 May 10 09:50 nvidia-open-570.144-5-x86_64.pkg.tar.zst
-rw-r--r-- 1 root root        119 May 10 09:50 nvidia-open-570.144-5-x86_64.pkg.tar.zst.sig
-rw-r--r-- 1 root root    7424516 May 22 13:08 nvidia-open-570.153.02-2-x86_64.pkg.tar.zst
-rw-r--r-- 1 root root        119 May 22 13:09 nvidia-open-570.153.02-2-x86_64.pkg.tar.zst.sig
-rw-r--r-- 1 root root    7407097 May 30 05:17 nvidia-open-570.153.02-3-x86_64.pkg.tar.zst
-rw-r--r-- 1 root root        118 May 30 05:18 nvidia-open-570.153.02-3-x86_64.pkg.tar.zst.sig
-rw-r--r-- 1 root root    7394841 Jun  5 02:44 nvidia-open-575.57.08-2-x86_64.pkg.tar.zst
-rw-r--r-- 1 root root        119 Jun  5 02:44 nvidia-open-575.57.08-2-x86_64.pkg.tar.zst.sig
-rw-r--r-- 1 root root    7392360 Jun 11 05:26 nvidia-open-575.57.08-5-x86_64.pkg.tar.zst
-rw-r--r-- 1 root root        119 Jun 11 05:26 nvidia-open-575.57.08-5-x86_64.pkg.tar.zst.sig
-rw-r--r-- 1 root root     793262 Apr 22 13:40 nvidia-settings-570.144-1-x86_64.pkg.tar.zst
-rw-r--r-- 1 root root        566 Apr 22 13:40 nvidia-settings-570.144-1-x86_64.pkg.tar.zst.sig
-rw-r--r-- 1 root root     792620 May 20 19:58 nvidia-settings-570.153.02-1-x86_64.pkg.tar.zst
-rw-r--r-- 1 root root        119 May 20 19:58 nvidia-settings-570.153.02-1-x86_64.pkg.tar.zst.sig
-rw-r--r-- 1 root root     793757 Jun  1 20:31 nvidia-settings-575.57.08-1-x86_64.pkg.tar.zst
-rw-r--r-- 1 root root        119 Jun  1 20:31 nvidia-settings-575.57.08-1-x86_64.pkg.tar.zst.sig
-rw-r--r-- 1 root root  282194152 Apr 21 20:22 nvidia-utils-570.144-1-x86_64.pkg.tar.zst
-rw-r--r-- 1 root root        119 Apr 21 20:22 nvidia-utils-570.144-1-x86_64.pkg.tar.zst.sig
-rw-r--r-- 1 root root  282065379 Apr 29 21:49 nvidia-utils-570.144-3-x86_64.pkg.tar.zst
-rw-r--r-- 1 root root        215 Apr 29 21:49 nvidia-utils-570.144-3-x86_64.pkg.tar.zst.sig
-rw-r--r-- 1 root root  282193174 May 20 00:52 nvidia-utils-570.153.02-1-x86_64.pkg.tar.zst
-rw-r--r-- 1 root root        119 May 20 00:52 nvidia-utils-570.153.02-1-x86_64.pkg.tar.zst.sig
-rw-r--r-- 1 root root  291841441 Jun  1 20:25 nvidia-utils-575.57.08-1-x86_64.pkg.tar.zst
-rw-r--r-- 1 root root        119 Jun  1 20:25 nvidia-utils-575.57.08-1-x86_64.pkg.tar.zst.sig
-rw-r--r-- 1 root root  291845849 Jun 10 23:50 nvidia-utils-575.57.08-3-x86_64.pkg.tar.zst
-rw-r--r-- 1 root root        119 Jun 10 23:50 nvidia-utils-575.57.08-3-x86_64.pkg.tar.zst.sig

Как можно увидеть из полученного вывода, в моём локальном кеше имеются пакеты nvidia-open следующих версий (а также ещё несколько промежуточных билдов):

  • nvidia-open-570.133.07
  • nvidia-open-570.144
  • nvidia-open-570.153.02
  • nvidia-open-575.57.08

3. Пакеты Arch Linux предыдущих версий онлайн

Но что если вы очистили кеш пакетов или у вас в локальном кеше по другим причинам отсутствует нужная вам версия? Ничего страшного — предыдущие версии пакетов Arch Linux также имеются онлайн по адресу https://archive.archlinux.org/packages.

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

  • https://archive.archlinux.org/packages/l/linux/
  • https://archive.archlinux.org/packages/l/linux-headers/
  • https://archive.archlinux.org/packages/n/nvidia-open/
  • https://archive.archlinux.org/packages/n/nvidia-settings/
  • https://archive.archlinux.org/packages/n/nvidia-utils/

Самые последние версии пакетов на этом сайте, обычно, расположены внизу страницы, но из-за особенности сортировки это правило может нарушаться — обращайте на это внимание. Например, не смотря на то, что версия 153 более новая, она идёт перед версией 86, поскольку сортировка выполняется посимвольно, а не с учётом величины чисел (цифра 1 меньше 8, поэтому второй пакет ниже, хотя и является более ранним — 86 меньше 153):

nvidia-open-570.153.02-3-x86_64.pkg.tar.zst
nvidia-open-570.86.16-1-x86_64.pkg.tar.zst


4. Как установить пакет Arch Linux из локального файла

Для установки пакета из локального файла используйте команду вида:

sudo pacman -U ПАКЕТ

За один раз вы можете установить сразу несколько пакетов — это особенно полезно если пакет требует зависимости определённых версий:

sudo pacman -U ПАКЕТ1 ПАКЕТ2 ПАКЕТ3...

Этими командами вы можете устанавливать пакеты как из локального кеша (/var/cache/pacman/pkg/), так и скаченный онлайн.

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

cd /home/mial/Downloads/fallback/
sudo pacman -U *.zst

Для некоторых пакетов имеются зависимости определённых версий. Чтобы посмотреть зависимости пакета, выполните команду вида:

pacman -Si ПАКЕТ

Например:

pacman -Si nvidia-open

Зависимости пакета перечислены в поле «Depends On», например:

Depends On      : linux  nvidia-utils=575.57.08  libglvnd

Для пакета nvidia-open важно установить пакет nvidia-utils такой же версии. Зависимостями для которых не указана точная версия можно пренебречь.

5. Как откатить версию видеодрайвера NVIDIA в Arch Linux

Рассмотрим как установить предыдущую версию драйвера nvidia-open.

Для начала скачаем пакеты nvidia-open, nvidia-settings и nvidia-utils на следующих страницах:

  • https://archive.archlinux.org/packages/n/nvidia-open/
  • https://archive.archlinux.org/packages/n/nvidia-settings/
  • https://archive.archlinux.org/packages/n/nvidia-utils/

Вы можете выбрать nvidia-open любой версии — главное правило, все пакеты nvidia-open, nvidia-settings и nvidia-utils должны быть одной версии.

Удалите имеющиеся пакеты драйвера NVIDIA следующей командой:

sudo pacman -R nvidia-open nvidia-utils nvidia-settings

Наконец, теперь мы устанавливаем локальные пакеты nvidia-open, nvidia-settings и nvidia-utils следующей командой:

sudo pacman -U nvidia-open-570.153.02-3-x86_64.pkg.tar.zst nvidia-utils-570.153.02-2-x86_64.pkg.tar.zst nvidia-settings-570.153.02-1-x86_64.pkg.tar.zst

Примечание: если у вас возникли проблемы я проприетарным драйвером NVIDIA, то причина может быть как в самом драйвере, так и в определённой версии ядра Linux. Если откат видеодрайвера вам не помог, то также откатите ядро Linux до предыдущей версии.

6. Как откатить версию ядра в Arch Linux

Примечание: вы можете перейти на версию ядра linux-lts, этому посвящена статья «Как в Arch Linux перейти к предыдущей версии ядра. Как установить и переключиться на linux-lts». Но если вы хотите всего лишь откатиться до предыдущей версии ядра без перехода на linux-lts, то этому посвящён данный раздел.

Для пакета linux нужно установить пакет linux-headers такой же версии.

Скачайте желаемые версии ядра и заголовков ядра по следующим ссылкам:

  • https://archive.archlinux.org/packages/l/linux-headers/
  • https://archive.archlinux.org/packages/l/linux/

Установите их командой вида:

sudo pacman -U linux-6.14.9.arch1-1-x86_64.pkg.tar.zst linux-headers-6.14.9.arch1-1-x86_64.pkg.tar.zst

Примечание: предварительно удалять установленную версию ядра вручную необязательно — можно выполнить установку поверх имеющейся версии ядра Linux.

7. Как предотвратить обновление некоторых пакетов

Сделанные таким образом изменения сохраняться до следующего обновления системы.

После отката версии пакета, изменения могут вступить в силу немедленно (для большинства пакетов), либо после перезагрузки компьютера (для видеодрайверов и ядра linux).

Вы можете использовать устаревшие версии пакетов по вашему усмотрению, но вам нужно помнить, что при полном обновлении системы следующей командой, установленные вручную пакеты также будут обновлены:

sudo pacman -Syu

Если вы хотите защитить пакеты предыдущих версий от обновлений, то вариантов действий 2:

  1. Временно отказаться от полного обновления системы. При этом вы по-прежнему можете устанавливать пакеты и обновлять определённые пакеты.
  2. Отредактировать файл /etc/pacman.conf, перечислив в нём пакеты, которые вы не хотите обновлять.

Чтобы запретить обновление некоторых пакетов при обновлении Arch Linux откройте файл /etc/pacman.conf:

sudo gedit /etc/pacman.conf

Найдите там строку:

#IgnorePkg =

Раскомментируйте её и перечислите пакеты, которые вы не хотите обновлять при полном обновлении операционной системы, например:

IgnorePkg   = linux linux-headers nvidia-open nvidia-utils nvidia-settings

Обратите внимание, что разделителем является пробел, а не запятая.

8. Бонус: Как очистить локальный кеш пакетов

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

Для начала, вы можете посмотреть размер кеша пакетов следующей командой:

du -h /var/cache/pacman/pkg/

Пример вывода:

32G	/var/cache/pacman/pkg/

Чтобы очистить локальный кеш пакетов выполните следующую команду:

sudo pacman -Scc

Также смотрите:

  • Какие файлы можно удалить при нехватке места на диске Linux
  • Как найти файлы и папки занимающие больше всего места в Linux
  • ncdu: графический интерфейс du чтобы быстро узнать, какие файлы и папки израсходовали место на диске

Близкие статьи

  • Ошибка «не удалось завершить транзакцию (неверный или поврежденный пакет)» (РЕШЕНО) (100%)
  • Ошибка «error: blackarch: signature from "Levon 'noptrix' Kayan (BlackArch Developer) " is invalid» (РЕШЕНО) (100%)
  • Как найти самые быстрые зеркала Arch Linux и BlackArch (87.3%)
  • Ошибки «Incorrect definition of table mysql.event: expected column 'definer' at position 3 to have type varchar(, found type char(141)» и «Event Scheduler: An error occurred when initializing system tables. Disabling the Event Scheduler» (РЕШЕНО) (83.9%)
  • Аналог опции --force в pacman (70.2%)
  • Решение проблемы Unable to load dynamic library 'mcrypt.so' (tried: /usr/lib/php/modules/mcrypt.so (RANDOM - 54.1%)

Добавить комментарий Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

wp-puzzle.com logo


Поиск


Свежие записи

  • Как в Linux настроить медиасервер для показа фильмов на телевизоре (как установить и настроить Serviio в Arch Linux, Manjaro, BlackArch)
  • Как в Arch Linux установить пакет определённой версии. Как откатить пакет до предыдущей версии
  • Ошибка «error: failed retrieving file ‘community.db’» (РЕШЕНО)
  • Ошибка «PHP Startup: session.sid_length INI setting is deprecated» (РЕШЕНО)
  • Как в pacman выполнить установку (или удаление) пакетов по регулярному выражению

Свежие комментарии

  • Иван к записи Ошибка «error: failed retrieving file ‘community.db’» (РЕШЕНО)
  • Alexey к записи Как в Arch Linux (BlackArch, Manjaro) посмотреть информацию о пакете
  • - к записи Как в Arch Linux (BlackArch, Manjaro) посмотреть информацию о пакете
  • Егор к записи Ошибка PostgreSQL «An old version of the database format was found.» (РЕШЕНО)
  • Анастасия к записи Как установить и настроить OpenVPN в ArchLinux / BlackArch




Рубрики

  • Sniffing и Spoofing
  • Архив
  • Без рубрики
  • Взлом Wi-Fi сетей
  • Инструкции
  • Новости
  • Общая информация/новости
  • Разведка
  • Справка и подсказки




Яндекс.Метрика
© 2026 Документация по BlackArch на русском языке | На платформе Minimalist Blog Тема WordPress