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.