Предположим, мы должны обновить существующий пакет PHP до его более высокой версии. Если что-то пойдет не так, какой вариант сейчас? Итак, у нас есть опция в Linux, где мы можем откатить пакет до его предыдущей версии. Давайте посмотрим, как выполнить откат и понижение версии обновления или пакета с помощью команды yum history undo в Linux.
В демонстрации мы установим версию PHP 5.4, которая является версией по умолчанию в репозитории Linux, и позже мы обновим ее до более поздней версии.
Давайте начнем установку:
Мы установим PHP для нашего эксперимента и запустим следующие команды, чтобы установить PHP 5.4.
[andreyex@destroyer ~]# yum install php -y
Вы можете проверить версию.
[andreyex@destroyer ~]# php -v PHP 5.4.16 (cli) (built: Nov 1 2019 16:04:20) Copyright (c) 1997-2013 The PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
Обновите PHP 5.4 до PHP 7.3:
Перед установкой нам нужно будет добавить репозиторий Remi для PHP 7.3 в Linux с помощью следующих команд.
[andreyex@destroyer ~]# yum install epel-release -y [andreyex@destroyer ~]# wget http://rpms.remirepo.net/enterprise/remi-release-7.rpm [andreyex@destroyer ~]# rpm -ivh remi-release-7.rpm warning: remi-release-7.rpm: Header V4 DSA/SHA1 Signature, key ID 00f97f56: NOKEY Preparing... ################################# [100%] Updating / installing... 1:remi-release-7.7-2.el7.remi ################################# [100%]
вы увидите репозиторий Remi, установленный внутри этого каталога /etc/yum.repos.d
[andreyex@destroyer ~]# vim /etc/yum.repos.d/remi-php73.repo [remi-php73] name=Remi's PHP 7.3 RPM repository for Enterprise Linux 7 - $basearch #baseurl=http://rpms.remirepo.net/enterprise/7/php73/$basearch/ #mirrorlist=https://rpms.remirepo.net/enterprise/7/php73/httpsmirror mirrorlist=http://cdn.remirepo.net/enterprise/7/php73/mirror enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
Теперь вам нужно включить репозиторий PHP7.3 и попытаться установить с помощью тех же команд. Как только это будет сделано, проверьте установленную версию. Это обновит предыдущую версию.
[andreyex@destroyer ~]# yum-config-manager --enable remi-php73 [andreyex@destroyer ~]# yum install php [andreyex@destroyer ~]# php -v PHP 7.3.17 (cli) (built: Apr 14 2020 08:29:22) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.3.17, Copyright (c) 1998-2018 Zend Technologies
Предположим, что ваше приложение перестало работать, потому что оно совместимо с версией 7.3 и сейчас не работает. В этом случае мы откатим предыдущую версию 5.4.
Мы можем проверить, что мы установили или удалить, используя команды yum. это хранит историю yum.
Итак, мы можем проверить, когда пакет был установлен и какой это был пакет.
Когда вы должны проверить, что мы установили. Таким образом, вы можете видеть, что есть идентификатор. мы можем использовать этот идентификатор, чтобы проверить, что мы установили. мы установили PHP.
[andreyex@destroyer ~]# yum history list 6
Если вам нужно проверить историю ID 6, мы можем использовать следующие команды.
[andreyex@destroyer ~]# yum history info 6
Как вы можете видеть, предыдущая версия была обновлена до новой. Теперь мы должны понизить или откатить его до более низкой версии.
Вы можете версию, используя любой список:
yum list | grep php or rpm -qa | grep php
Мы будем использовать две разные команды для понижения версии пакета, обе работают одинаково.
1. используя команды понижения:
[andreyex@destroyer ~]# yum downgrade package_name.rpm
2. используя команды истории yum. Синтаксис yum история отмена ID
[andreyex@destroyer ~]# yum history undo 6
Как мы видим, мы успешно понизили предыдущую версию. Приведенная выше команда удалит текущую версию и установит предыдущую.
[andreyex@destroyer ~]# php -v PHP 5.4.16 (cli) (built: Nov 1 2019 16:04:20) Copyright (c) 1997-2013 The PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
Вот и все!