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

Как проверить, был ли установлен RPM с нуля или обновлен?

мы установили следующие пакеты через yum на redhat версии 5

# rpm -qa --last | head -10
  kernel-headers-2.6.18-408.el5                 Wed May 18 13:33:59 2016
  bind-utils-9.3.6-25.P1.el5_11.6               Wed May 18 13:33:59 2016
  redhat-release-5Server-5.11.0.2               Wed May 18 13:33:58 2016
  nss-3.19.1-4.el5_11                           Wed May 18 13:33:58 2016
  nspr-4.10.8-2.el5_11                          Wed May 18 13:33:58 2016
  bind-libs-9.3.6-25.P1.el5_11.6                Wed May 18 13:33:58 2016
  kernel-2.6.18-409.el5                         Wed May 18 04:13:58 2016

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

Я пытаюсь об / мин -qi

но из об / мин -qi , мы не получаем информацию о том, была ли rpm установлена ​​с нуля или обновлена.

Во-вторых, если был обновлен пакет rpm, как я могу понизить его до предыдущей версии?

пример, когда я пытаюсь перейти на более раннюю версию:

 yum downgrade openssh-server-5.3p1-117.el6.x86_64

 Loaded plugins: product-id, rhnplugin, security, subscription-manager
 This system is receiving updates from RHN Classic or RHN Satellite.
 Setting up Downgrade Process
 Only Upgrade available on package: openssh-server-5.3p1-117.el6.x86_64
 Nothing to do



  yum list 'openssh-server'

  Loaded plugins: product-id, rhnplugin, security, subscription-manager
  This system is receiving updates from RHN Classic or RHN Satellite.

  openssh-server.x86_64      5.3p1-117.el6
  Available Packages
  penssh-server.x86_64   5.3p1-118.1.el6_8 

По-видимому (нет опыта, так как я не yum пользователь), yum хранит историю транзакций, которую вы можете просмотреть, используя

yum history

или

yum history list 

чтобы получить список транзакций, а затем

yum history info <transaction id>

который расскажет вам, что было установлено / обновлено и т. д.

и вы можете отменить транзакции, используя

yum history undo <transaction index>

Чисто на основе rpm команд, аффайк, нет никаких средств узнать, был ли установлен rpm с нуля или обновлен. Я также не знаю, сохраняет ли yum версию всех установленных rpms. Если не; нет гарантии, что вы сможете отменить определенную транзакцию. Предположим, пакет-1 был установлен с установочного компакт-диска (или любого другого репозитория, который больше не доступен); затем обновился до пакета-2. Предположим, вы хотите отменить эту транзакцию обновления; это было бы возможно только при наличии пакета package-1.rpm; что не всегда (и в большинстве случаев не так).

Предположим, вы хотите понизить скорость вращения; вы можете искать (yum search; или поиск в минуту или ...) меньшую версию нужного вам rpm и установите его. Это всегда будет работать (предположим, что у вас есть все правильные зависимости); с помощью yum, rpm или другие.