YUM : Utilisation de l'historique
Présentation[modifier | modifier le wikicode]
YUM a ajouté depuis quelques temps dans la liste de ses fonctionnalités une gestion de l'historique des opérations.
Cette fonctionnalité permet de retrouver les opérations effectuées avec leurs dates et tous les détails, mais elle permet aussi de réutiliser ces détails que ce soit pour annuler, rejouer ou exporter cette opération et la rejouer sur un autre système ...
Afficher l'historique[modifier | modifier le wikicode]
On peut afficher facilement la liste des dernières opérations ou rechercher les opérations liées à un paquet spécifique :
| [root@linux] # | yum history | dblclick to copy |
- ou
| [root@linux] # | yum history <paquet> | dblclick to copy |
Loaded plugins: remove-with-leaves ID | Command line | Date and time | Action(s) | Altered ------------------------------------------------------------------------------- 381 | install Xorg | 2015-02-25 19:29 | Install | 3 380 | install gnome-shell | 2015-02-25 19:25 | Install | 71 379 | install x2goserver x2gos | 2015-02-25 19:18 | Install | 26 378 | install http://download. | 2015-02-25 19:12 | Install | 2 EE 377 | update | 2015-02-25 01:17 | E, I, U | 126 EE 376 | install xclip.x86_64 | 2015-02-23 08:26 | Install | 1 375 | update | 2015-02-10 11:10 | E, I, U | 45 EE 374 | remove ceph-libs-compat- | 2015-02-04 13:59 | Erase | 5 373 | remove perl-PlRPC-0.2020 | 2015-02-04 13:55 | Erase | 1 372 | remove anaconda-yum-plug | 2015-02-04 13:54 | Erase | 2 371 | update | 2015-02-04 13:46 | E, I, U | 114 EE 370 | update | 2015-01-23 04:29 | Update | 50 369 | update | 2015-01-20 04:23 | I, U | 61 368 | update | 2015-01-19 07:15 | I, U | 270 EE 367 | update | 2015-01-19 07:07 | I, U | 270 ** 366 | install avidemux-cli | 2015-01-03 21:43 | Install | 1 365 | install avidemux avidemu | 2015-01-03 21:41 | Install | 20 364 | install system-release-s | 2014-12-13 06:52 | Install | 11 363 | remove firewalld-config- | 2014-12-13 06:52 | Erase | 4 362 | -y reinstall tftp-server | 2014-12-13 06:39 | Reinstall | 1 history list
Pour chacune des opérations il est possible d'afficher le détail qui nous permettra de voir le détail de tous les paquets modifiés :
| [root@linux] # | yum history info 381 | dblclick to copy |
Loaded plugins: remove-with-leaves
Transaction ID : 381
Begin time : Wed Feb 25 19:29:44 2015
Begin rpmdb : 1753:38058cddc1253c7af67486bee3e4aaa329655b14
End time : 19:29:47 2015 (3 seconds)
End rpmdb : 1756:a287fbbe2b5529dbad600c8b8a4f7bb83d3588d5
User : root <root>
Return-Code : Success
Command Line : install Xorg
Transaction performed with:
Installed rpm-4.12.0.1-4.fc21.x86_64 @updates
Installed yum-3.4.3-153.fc21.noarch @fedora
Installed yum-metadata-parser-1.1.4-14.fc21.x86_64 @fedora
Packages Altered:
Dep-Install libepoxy-1.2-1.fc21.x86_64 @fedora
Install xorg-x11-server-Xorg-1.16.3-2.fc21.x86_64 @updates
Dep-Install xorg-x11-server-common-1.16.3-2.fc21.x86_64 @updates
history info
On peut donc retrouver facilement le détail de tout ce qui a été fait, que ce soit les dépendances installées ou les paquets qu'on a choisi d'installé/mettre à jour.
Annulation d'une opération[modifier | modifier le wikicode]
C'est ma fonction favorite, il m'arrive souvent d'installer un logiciel et ses dépendances juste pour tester quelque chose et ensuite de vouloir remettre mon système dans l'état où il était avant, mais c'était assez long et fastidieux jusque là de devoir supprimer toutes les dépendances installées surtout dans certains cas où on se retrouve avec une bonne trentaine de dépendances pour un simple paquet installé.
Maintenant il nous suffit de retrouver l'ID de l'opération et demander à yum d'annuler l'opération
| [root@linux] # | yum history undo 381 | dblclick to copy |
root@srv:~
# yum history undo 380
Loaded plugins: remove-with-leaves
Undoing transaction 380, from Wed Feb 25 19:25:36 2015
Dep-Install NetworkManager-config-connectivity-fedora-1:0.9.10.1-3.20150219git.fc21.x86_64 @updates
Dep-Install abattis-cantarell-fonts-0.0.16-2.fc21.noarch @fedora
Install gnome-shell-3.14.3-1.fc21.x86_64 @updates
Resolving Dependencies
--> Running transaction check
---> Package NetworkManager-config-connectivity-fedora.x86_64 1:0.9.10.1-3.20150219git.fc21 will be erased
---> Package abattis-cantarell-fonts.noarch 0:0.0.16-2.fc21 will be erased
---> Package gnome-shell.x86_64 0:3.14.3-1.fc21 will be erased
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================================================
Package Arch Version Repository Size
================================================================================================================
Removing:
NetworkManager-config-connectivity-fedora x86_64 1:0.9.10.1-3.20150219git.fc21 @updates 89
abattis-cantarell-fonts noarch 0.0.16-2.fc21 @fedora 121 k
gnome-shell x86_64 3.14.3-1.fc21 @updates 9.2 M
Transaction Summary
================================================================================================================
Remove 3 Packages
[...]
Complete!
Ah que c'est beau l'évolution de la technologie quand même !!!
Rejouer une opération[modifier | modifier le wikicode]
Si par hasard on a annulé une opération par erreur ou si une opération s'est mal passée, on peut avoir la soudaine envie de la relancer à l'identique et ben encore une fois C'EST POSSIBLE !!!!
| [root@linux] # | yum history redo 381 | dblclick to copy |
Loaded plugins: remove-with-leaves
Repeating transaction 381, from Wed Feb 25 19:29:44 2015
Dep-Install libepoxy-1.2-1.fc21.x86_64 @fedora
Install xorg-x11-server-Xorg-1.16.3-2.fc21.x86_64 @updates
Dep-Install xorg-x11-server-common-1.16.3-2.fc21.x86_64 @updates
Resolving Dependencies
--> Running transaction check
---> Package xorg-x11-server-Xorg.x86_64 0:1.16.3-2.fc21 will be installed
--> Processing Dependency: xorg-x11-server-common >= 1.16.3-2.fc21 for package: xorg-x11-server-Xorg-1.16.3-2.fc21.x86_64
--> Processing Dependency: libepoxy.so.0()(64bit) for package: xorg-x11-server-Xorg-1.16.3-2.fc21.x86_64
--> Running transaction check
---> Package libepoxy.x86_64 0:1.2-1.fc21 will be installed
---> Package xorg-x11-server-common.x86_64 0:1.16.3-2.fc21 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
===========================================================================================================================
Package Arch Version Repository Size
===========================================================================================================================
Installing:
xorg-x11-server-Xorg x86_64 1.16.3-2.fc21 updates 1.5 M
Installing for dependencies:
libepoxy x86_64 1.2-1.fc21 fedora 185 k
xorg-x11-server-common x86_64 1.16.3-2.fc21 updates 55 k
Transaction Summary
===========================================================================================================================
Install 1 Package (+2 Dependent packages)
Total download size: 1.7 M
Installed size: 4.6 M
Is this ok [y/d/N]: y
Downloading packages:
(1/3): libepoxy-1.2-1.fc21.x86_64.rpm | 185 kB 00:00:00
(2/3): xorg-x11-server-common-1.16.3-2.fc21.x86_64.rpm | 55 kB 00:00:00
(3/3): xorg-x11-server-Xorg-1.16.3-2.fc21.x86_64.rpm | 1.5 MB 00:00:01
---------------------------------------------------------------------------------------------------------------------------
Total 1.4 MB/s | 1.7 MB 00:00:01
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction (shutdown inhibited)
Installing : libepoxy-1.2-1.fc21.x86_64 1/3
Installing : xorg-x11-server-common-1.16.3-2.fc21.x86_64 2/3
Installing : xorg-x11-server-Xorg-1.16.3-2.fc21.x86_64 3/3
Verifying : xorg-x11-server-common-1.16.3-2.fc21.x86_64 1/3
Verifying : xorg-x11-server-Xorg-1.16.3-2.fc21.x86_64 2/3
Verifying : libepoxy-1.2-1.fc21.x86_64 3/3
Installed:
xorg-x11-server-Xorg.x86_64 0:1.16.3-2.fc21
Dependency Installed:
libepoxy.x86_64 0:1.2-1.fc21 xorg-x11-server-common.x86_64 0:1.16.3-2.fc21
Complete!
Nous voilà avec notre opération qui a été rejouée à l'identique de sa première exécution. On peut donc jouer très longtemps les jours d'ennui à rejouer/annuler une opération et tout le monde pensera que vous travaillez.
Rejouer une opération sur un autre système[modifier | modifier le wikicode]
Les administrateurs système vont adorer cette possibilité, il s'agit de faire une mise à jour sur un système, on laissera ensuite le temps nécessaire aux tests afin de s'assurer que tout va bien, puis on va exporter les données de cette opération
| [root@linux] # | yum -q history addon-info 381 saved_tx > file_name | dblclick to copy |
| [root@linux] # | cat file_name | |
1753:38058cddc1253c7af67486bee3e4aaa329655b14 0 8 fedora:42816:1417769625 home_zhonghuaren:7966:1424871621 rpmfusion-free:470:1418469697 rpmfusion-free-updates:206:1424681239 rpmfusion-nonfree:178:1418470804 rpmfusion-nonfree-updates:150:1424171123 updates:8958:1424855015 installed:1756:a287fbbe2b5529dbad600c8b8a4f7bb83d3588d5 3 mbr: xorg-x11-server-common,x86_64,0,1.16.3,2.fc21 70 repo: updates ts_state: u output_state: 20 isDep: True reason: dep reinstall: False relatedto: xorg-x11-server-Xorg,x86_64,0,1.16.3,2.fc21@a:dependson depends_on: xorg-x11-server-Xorg,x86_64,0,1.16.3,2.fc21@a mbr: xorg-x11-server-Xorg,x86_64,0,1.16.3,2.fc21 70 repo: updates ts_state: u output_state: 20 isDep: False reason: user reinstall: False mbr: libepoxy,x86_64,0,1.2,1.fc21 70 repo: fedora ts_state: u output_state: 20 isDep: True reason: dep reinstall: False relatedto: xorg-x11-server-Xorg,x86_64,0,1.16.3,2.fc21@a:dependson depends_on: xorg-x11-server-Xorg,x86_64,0,1.16.3,2.fc21@a
Puis transférer ce fichier sur les autres système et demander à yum de la rejouer
| [root@linux] # | yum load-transaction file_name | dblclick to copy |
Et laissez la magie agir en regardant yum installer exactement les mêmes paquets dans les mêmes conditions que sur votre premier serveur.