Dernière mise-à-jour :

102.5 - Gérer les paquets sous Red Hat avec RPM et YUM (3/60)

La commande rpm

A faire - Placez-vous dans le répertoire personnel de root grâce à la commande cd ~.

Afin de faciliter l'installation, la désinstallation et la gestion des logiciels (appelés paquets), CentOS et Red Hat utilisent un format de fichier de logiciels installables spécifique. Celui-ci s'appelle RPM pour Red Hat Package Manager. La commande utilisée pour manipuler ses paquets s'appelle aussi rpm.

Les options de la commande rpm sont :

[root@centos7 hello-2.1.1]# cd ~
[root@centos7 ~]# rpm --help
Usage: rpm [OPTION...]
Query/Verify package selection options:
-a, --all query/verify all packages
-f, --file query/verify package(s) owning file
-g, --group query/verify package(s) in group
-p, --package query/verify a package file
--pkgid query/verify package(s) with package
identifier
--hdrid query/verify package(s) with header
identifier
--triggeredby query the package(s) triggered by the
package
--whatrequires query/verify the package(s) which require a
dependency
--whatprovides query/verify the package(s) which provide a
dependency
--nomanifest do not process non-package files as
manifests
Query options (with -q or --query):
-c, --configfiles list all configuration files
-d, --docfiles list all documentation files
-L, --licensefiles list all license files
--dump dump basic file information
-l, --list list files in package
--queryformat=QUERYFORMAT use the following query format
-s, --state display the states of the listed files
Verify options (with -V or --verify):
--nofiledigest don't verify digest of files
--nofiles don't verify files in package
--nodeps don't verify package dependencies
--noscript don't execute verify script(s)
Install/Upgrade/Erase options:
--allfiles install all files, even configurations
which might otherwise be skipped
--allmatches remove all packages which match <package>
(normally an error is generated if
<package> specified multiple packages)
--badreloc relocate files in non-relocatable package
-e, --erase=<package>+ erase (uninstall) package
--excludedocs do not install documentation
--excludepath=<path> skip files with leading component <path>
--force short hand for --replacepkgs --replacefiles
-F, --freshen=<packagefile>+ upgrade package(s) if already installed
-h, --hash print hash marks as package installs (good
with -v)
--ignorearch don't verify package architecture
--ignoreos don't verify package operating system
--ignoresize don't check disk space before installing
-i, --install install package(s)
--justdb update the database, but do not modify the
filesystem
--nodeps do not verify package dependencies
--nofiledigest don't verify digest of files
--nocontexts don't install file security contexts
--noorder do not reorder package installation to
satisfy dependencies
--noscripts do not execute package scriptlet(s)
--notriggers do not execute any scriptlet(s) triggered
by this package
--nocollections do not perform any collection actions
--oldpackage upgrade to an old version of the package
(--force on upgrades does this
automatically)
--percent print percentages as package installs
--prefix=<dir> relocate the package to <dir>, if
relocatable
--relocate=<old>=<new> relocate files from path <old> to <new>
--replacefiles ignore file conflicts between packages
--replacepkgs reinstall if the package is already present
--test don't install, but tell if it would work or
not
-U, --upgrade=<packagefile>+ upgrade package(s)
Common options for all rpm modes and executables:
-D, --define='MACRO EXPR' define MACRO with value EXPR
--undefine=MACRO undefine MACRO
-E, --eval='EXPR' print macro expansion of EXPR
--macros=<FILE:...> read <FILE:...> instead of default file(s)
--nodigest don't verify package digest(s)
--nosignature don't verify package signature(s)
--rcfile=<FILE:...> read <FILE:...> instead of default file(s)
-r, --root=ROOT use ROOT as top level directory (default:
"/")
--dbpath=DIRECTORY use database in DIRECTORY
--querytags display known query tags
--showrc display final rpmrc and macro configuration
--quiet provide less detailed output
-v, --verbose provide more detailed output
--version print the version of rpm being used
Options implemented via popt alias/exec:
--scripts list install/erase scriptlets from
package(s)
--setperms set permissions of files in a package
--setugids set user/group ownership of files in a
package
--conflicts list capabilities this package conflicts
with
--obsoletes list other packages removed by installing
this package
--provides list capabilities that this package provides
--requires list capabilities required by package(s)
--info list descriptive information from package(s)
--changelog list change logs for this package
--xml list metadata in xml
--triggers list trigger scriptlets from package(s)
--last list package(s) by install time, most
recent first
--dupes list duplicated packages
--filesbypkg list all files from each package
--fileclass list file names with classes
--filecolor list file names with colors
--fscontext list file names with security context from
file system
--fileprovide list file names with provides
--filerequire list file names with requires
--filecaps list file names with POSIX1.e capabilities
Help options:
-?, --help Show this help message
--usage Display brief usage message

Configuration

Le fichier de configuration principal de la commande rpm est /usr/lib/rpm/rpmrc :

[root@centos7 ~]# more /usr/lib/rpm/rpmrc
#/*! \page config_rpmrc Default configuration: /usr/lib/rpm/rpmrc
# \verbatim
#
# This is a global RPM configuration file. All changes made here will
# be lost when the rpm package is upgraded. Any per-system configuration
# should be added to /etc/rpmrc, while per-user configuration should
# be added to ~/.rpmrc.
#
#############################################################
# Values for RPM_OPT_FLAGS for various platforms
# "fat" binary with both archs, for Darwin
optflags: fat -O2 -g -arch i386 -arch ppc
optflags: i386 -O2 -g -march=i386 -mtune=i686
optflags: i486 -O2 -g -march=i486
optflags: i586 -O2 -g -march=i586
optflags: i686 -O2 -g -march=i686
optflags: pentium3 -O2 -g -march=pentium3
optflags: pentium4 -O2 -g -march=pentium4
optflags: athlon -O2 -g -march=athlon
optflags: geode -Os -g -m32 -march=geode
optflags: ia64 -O2 -g
--More--(5%)

Ces directives indiquent comment optimiser la construction d'un rpm en fonction du type de processeur retourné par la commande uname -p. Par exemple, la directive buildarchtranslate: athlon: i386 indique que le processus doit utiliser les optimisations i386 lors de la construction d'un src.rpm sur une architecture athlon. Si au contraire il est souhaité que les optimisations athlon soient utilisées, il convient d'inclure la ligne buildarchtranslate: athlon: athlon dans le fichier /etc/rpmrc. En effet lors de la mise à jour du paquet rpm, le fichier /usr/lib/rpm/rpmrc est écrasé. Toute modification des directives de ce fichier doivent être inscrites dans /etc/rpmrc ou dans un fichier ~/.rpmrc spécifique à un utilisateur.

Utilisation

Afin de connaître la liste des paquets installés sur la machine, il convient de saisir la commande suivante dans une console en tant que root :

[root@centos7 ~]# rpm -qa | more
gjs-1.36.1-2.el7.x86_64
mesa-libxatracker-9.2.5-5.20131218.el7.x86_64
gvfs-mtp-1.16.4-7.el7.x86_64
policycoreutils-2.2.5-11.el7.x86_64
setup-2.8.71-4.el7.noarch
libXmu-1.1.1-5.1.el7.x86_64
gettext-libs-0.18.2.1-4.el7.x86_64
mousetweaks-3.8.0-3.el7.x86_64
libquvi-0.4.1-5.el7.x86_64
langtable-0.0.13-4.el7.noarch
jline-1.0-8.el7.noarch
perl-Encode-2.51-7.el7.x86_64
gnome-system-log-3.8.1-5.el7.x86_64
libreport-plugin-ureport-2.1.11-10.el7.centos.x86_64
basesystem-10.0-7.el7.centos.noarch
festvox-slt-arctic-hts-0.20061229-28.el7.noarch
perl-threads-shared-1.43-6.el7.x86_64
firefox-24.5.0-1.el7.centos.x86_64
sbc-1.0-5.el7.x86_64
tigervnc-license-1.2.80-0.30.20130314svn5065.el7.noarch
poppler-utils-0.22.5-6.el7.x86_64
perl-Pod-Simple-3.28-4.el7.noarch
systemtap-runtime-2.4-14.el7.x86_64
--More--

Afin de connaître le nombre total de paquets installés sur la machine, utilisez la commande suivante :

[root@centos7 ~]# rpm -qa | wc -l
1194

Imaginons maintenant que vous souhaitez vérifier si un paquet contenant la chaine de caractères setup soit déjà installé sur la machine. Dans ce cas, il convient d'utiliser une commande telle la suivante :

[root@centos7 ~]# rpm -qa | grep setup
setup-2.8.71-4.el7.noarch
cryptsetup-libs-1.6.3-2.el7.x86_64
cryptsetup-python-1.6.3-2.el7.x86_64
ibus-setup-1.5.3-11.el7.noarch
gnome-initial-setup-0.13.1-4.el7.x86_64
cryptsetup-1.6.3-2.el7.x86_64
initial-setup-0.3.9.12-1.el7.x86_64
setuptool-1.19.11-8.el7.x86_64
python-setuptools-0.9.8-3.el7.noarch

Afin de connaître les détails du paquet setup-2.8.14-10.el6.noarch, il convient de saisir la commande suivante :

[root@centos7 ~]# rpm -qi setup
Name : setup
Version : 2.8.71
Release : 4.el7
Architecture: noarch
Install Date: Sun 08 Mar 2015 01:41:33 PM CET
Group : System Environment/Base
Size : 696310
License : Public Domain
Signature : RSA/SHA256, Fri 04 Jul 2014 06:59:13 AM CEST, Key ID 24c6a8a7f4a80eb5
Source RPM : setup-2.8.71-4.el7.src.rpm
Build Date : Tue 10 Jun 2014 04:04:36 AM CEST
Build Host : worker1.bsys.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem <http://bugs.centos.org>
Vendor : CentOS
URL : https://fedorahosted.org/setup/
Summary : A set of system configuration and setup files
Description :
The setup package contains a set of important system configuration and
setup files, such as passwd, group, and profile.

Afin de lister tous les fichiers installés par le paquet concerné, utilisez la commande suivante :

[root@centos7 ~]# rpm -ql setup
/etc/aliases
/etc/bashrc
/etc/csh.cshrc
/etc/csh.login
/etc/environment
/etc/exports
/etc/filesystems
/etc/fstab
/etc/group
/etc/gshadow
/etc/host.conf
/etc/hosts
/etc/hosts.allow
/etc/hosts.deny
/etc/inputrc
/etc/motd
/etc/passwd
/etc/printcap
/etc/profile
/etc/profile.d
/etc/protocols
/etc/securetty
/etc/services
/etc/shadow
/etc/shells
/usr/share/doc/setup-2.8.71
/usr/share/doc/setup-2.8.71/COPYING
/usr/share/doc/setup-2.8.71/uidgid
/var/log/lastlog

A l'inverse, si vous connaissez le nom d'un fichier et vous souhaitez savoir quel paquet l'a installé, utilisez la commande suivante :

[root@centos7 ~]# rpm -qf /etc/exports
setup-2.8.71-4.el7.noarch

Pour connaître les fichiers modifiés depuis l'installation d'un paquet, utilisez la commande suivante :

# rpm -qV setup [Entrée]

Dans le cas où aucun fichier n'a été modifié, la console n'affiche rien. Dans le cas où les fichiers ont été modifiés, le système vous indique, fichier par fichier, les modifications apportées selon le tableau ci-dessous. Pour plus d'informations utilisez les commandes man et info :

Lettre ou mot Clé	Description
5	Contrôle MD5
S	Taille du fichier
L	Lien symbolique
T	Date de modification
D	Périphérique
U	Utilisateur propriétaire
G	Groupe propriétaire
M	Droits d'accès
?	Fichier illisible
Manquant	Fichier manquant

Important : Un paquet rpm est un fichier cpio modifié. Pour pouvoir extraire le contenu d'un src.rpm et explorer l'arborescence utilisé pour construire le paquet, utilisez la commande rpm2cpio paquet.src.rpm | cpio -i –make-directories

La commande yum

Yellow dog Updater, Modified (Yum) est le nom d'un programme utilitaire de gestion de paquets pour le système d'exploitation Linux, créé par Yellow Dog Linux et utilisé par CentOS, Redhat et Fedora. Il est à noter qu'il existe plusieurs interfaces graphiques pour yum, notamment yumex et kyum

Il permet de gérer l'installation et la mise à jour des logiciels installés. C'est une surcouche à RPM gérant les téléchargements et les dépendances, de la même manière que APT pour Debian, urpmi pour Mandriva et zypper pour SLES/openSUSE.

La commande yum prend la forme suivante :

# yum <options> <commande> <paquet(s)> [Entrée]

Les options et commandes de yum sont :

[root@centos7 ~]# yum --help
Loaded plugins: fastestmirror, langpacks
Usage: yum [options] COMMAND
List of Commands:
check Check for problems in the rpmdb
check-update Check for available package updates
clean Remove cached data
deplist List a package's dependencies
distribution-synchronization Synchronize installed packages to the latest available versions
downgrade downgrade a package
erase Remove a package or packages from your system
fs Creates filesystem snapshots, or lists/deletes current snapshots.
fssnapshot Creates filesystem snapshots, or lists/deletes current snapshots.
groups Display, or use, the groups information
help Display a helpful usage message
history Display, or use, the transaction history
info Display details about a package or group of packages
install Install a package or packages on your system
langavailable Check available languages
langinfo List languages information
langinstall Install appropriate language packs for a language
langlist List installed languages
langremove Remove installed language packs for a language
list List a package or groups of packages
load-transaction load a saved transaction from filename
makecache Generate the metadata cache
provides Find what package provides the given value
reinstall reinstall a package
repo-pkgs Treat a repo. as a group of packages, so we can install/remove all of them
repolist Display the configured software repositories
search Search package details for the given string
shell Run an interactive yum shell
swap Simple way to swap packages, instead of using shell
update Update a package or packages on your system
update-minimal Works like upgrade, but goes to the 'newest' package match which fixes a problem that affects your system
updateinfo Acts on repository update information
upgrade Update packages taking obsoletes into account
version Display a version for the machine and/or available repos.
Options:
-h, --help show this help message and exit
-t, --tolerant be tolerant of errors
-C, --cacheonly run entirely from system cache, don't update cache
-c [config file], --config=[config file]
config file location
-R [minutes], --randomwait=[minutes]
maximum command wait time
-d [debug level], --debuglevel=[debug level]
debugging output level
--showduplicates show duplicates, in repos, in list/search commands
-e [error level], --errorlevel=[error level]
error output level
--rpmverbosity=[debug level name]
debugging output level for rpm
-q, --quiet quiet operation
-v, --verbose verbose operation
-y, --assumeyes answer yes for all questions
--assumeno answer no for all questions
--version show Yum version and exit
--installroot=[path] set install root
--enablerepo=[repo] enable one or more repositories (wildcards allowed)
--disablerepo=[repo] disable one or more repositories (wildcards allowed)
-x [package], --exclude=[package]
exclude package(s) by name or glob
--disableexcludes=[repo]
disable exclude from main, for a repo or for
everything
--disableincludes=[repo]
disable includepkgs for a repo or for everything
--obsoletes enable obsoletes processing during updates
--noplugins disable Yum plugins
--nogpgcheck disable gpg signature checking
--disableplugin=[plugin]
disable plugins by name
--enableplugin=[plugin]
enable plugins by name
--skip-broken skip packages with depsolving problems
--color=COLOR control whether color is used
--releasever=RELEASEVER
set value of $releasever in yum config and repo files
--downloadonly don't update, just download
--downloaddir=DLDIR specifies an alternate directory to store packages
--setopt=SETOPTS set arbitrary config and repo options
--bugfix Include bugfix relevant packages, in updates
--security Include security relevant packages, in updates
--advisory=ADVS, --advisories=ADVS
Include packages needed to fix the given advisory, in
updates
--bzs=BZS Include packages needed to fix the given BZ, in
updates
--cves=CVES Include packages needed to fix the given CVE, in
updates
--sec-severity=SEVS, --secseverity=SEVS
Include security relevant packages matching the
severity, in updates
Plugin Options:

Configuration

La configuration principale de yum est effectuée en éditant le fichier /etc/yum.conf :

[root@centos7 ~]# cat /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
# This is the default, if you make this bigger yum won't see if the metadata
# is newer on the remote and so you'll "gain" the bandwidth of not having to
# download the new metadata and "pay" for it by yum not having correct
# information.
# It is esp. important, to have correct metadata, for distributions like
# Fedora which don't keep old packages around. If you don't like this checking
# interupting your command line usage, it's much better to have something
# manually check the metadata once an hour (yum-updatesd will do this).
# metadata_expire=90m
# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d
# exclude=httpd php mysql

Dépôts

Important : Un dépôt est un lieu de stockage de paquets binaires prêts à installer. Un dépôt peut être le DVD d'installation de la distribution, un dossier sur disque dur ou bien des serveurs distants accessibles par Internet.

Les dépôts de paquets sont spécifiés soit dans le fichier /etc/yum.conf, soit dans un fichier par dépôt stocké dans le répertoire /etc/yum.repos.d :

[root@centos7 ~]# ls /etc/yum.repos.d/
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Sources.repo CentOS-Vault.repo

Par exemple :

[root@centos7 ~]# cat /etc/yum.repos.d/CentOS-Base.repo
# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client. You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#released updates
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

Utilisation

Les options les plus utilisées de yum sont :

Option	Description
-y	Réponse automatique de oui à toute question posée par yum.
-t	Rend yum tolérant de certaines erreurs. Par exemple si deux paquets sont installés en même temps, une erreur de l'installation du premier paquet ne va pas arrêter l'installation du deuxième.
- -exclude=<nom paquet>	Exclue le paquet indiqué de la transaction en cours

Les commandes les plus utilisées de yum sont :

Commande	Description
install	Installer un ou plusieurs paquets.
update	Mettre à jour un ou plusieurs paquets. Sans nom(s) de paquet(s), tous les paquets sont mis à jour.
check-update	Visualiser une liste de mise à jour disponibles pour les paquets installés.
remove	Supprimer un paquet
provides	Visualiser une liste de paquets qui fournissent le fichier ou caractéristique spécifié.
search	Trouver un paquet qui a la chaîne recherchée dans sa description.
list	Trouver un paquet qui a la chaîne recherchée dans son nom.
localinstall	Installer un ou plusieurs paquets stockés localement sur disque.

La Commande yumdownloader

La commande yumdownloader est utilisée pour télécharger un paquet à partir d'un dépôt sans l'installer.

Cette commande prend la forme :

# yumdownloader --destdir /chemin paquet

Options de la Commande

Les options de la commande sont :

[root@centos7 ~]# yumdownloader --help
Loaded plugins: fastestmirror, langpacks
Usage: "yumdownloader [options] package1 [package2] [package..]
Options:
Plugin Options:
Yum Base Options:
-h, --help show this help message and exit
-t, --tolerant be tolerant of errors
-C, --cacheonly run entirely from system cache, don't update cache
-c [config file], --config=[config file]
config file location
-R [minutes], --randomwait=[minutes]
maximum command wait time
-d [debug level], --debuglevel=[debug level]
debugging output level
--showduplicates show duplicates, in repos, in list/search commands
-e [error level], --errorlevel=[error level]
error output level
--rpmverbosity=[debug level name]
debugging output level for rpm
-q, --quiet quiet operation
-v, --verbose verbose operation
-y, --assumeyes answer yes for all questions
--assumeno answer no for all questions
--version show Yum version and exit
--installroot=[path]
set install root
--enablerepo=[repo]
enable one or more repositories (wildcards allowed)
--disablerepo=[repo]
disable one or more repositories (wildcards allowed)
-x [package], --exclude=[package]
exclude package(s) by name or glob
--disableexcludes=[repo]
disable exclude from main, for a repo or for
everything
--disableincludes=[repo]
disable includepkgs for a repo or for everything
--obsoletes enable obsoletes processing during updates
--noplugins disable Yum plugins
--nogpgcheck disable gpg signature checking
--disableplugin=[plugin]
disable plugins by name
--enableplugin=[plugin]
enable plugins by name
--skip-broken skip packages with depsolving problems
--color=COLOR control whether color is used
--releasever=RELEASEVER
set value of $releasever in yum config and repo files
--downloadonly don't update, just download
--downloaddir=DLDIR
specifies an alternate directory to store packages
--setopt=SETOPTS set arbitrary config and repo options
--bugfix Include bugfix relevant packages, in updates
--security Include security relevant packages, in updates
--advisory=ADVS, --advisories=ADVS
Include packages needed to fix the given advisory, in
updates
--bzs=BZS Include packages needed to fix the given BZ, in
updates
--cves=CVES Include packages needed to fix the given CVE, in
updates
--sec-severity=SEVS, --secseverity=SEVS
Include security relevant packages matching the
severity, in updates
yumdownloader options:
--destdir=DESTDIR destination directory (defaults to current directory)
--urls just list the urls it would download instead of
downloading
--resolve resolve dependencies and download required packages
--source operate on source packages
--archlist=ARCHLIST
only download packages of certain architecture(s)

LAB #1 - Utiliser la commande yum

Commencer par installer le paquet mc :

[root@centos7 ~]# yum install mc
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: fr2.rpmfind.net
* extras: mirror.ibcp.fr
* updates: mirror.ibcp.fr
Resolving Dependencies
--> Running transaction check
---> Package mc.x86_64 1:4.8.7-8.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
mc x86_64 1:4.8.7-8.el7 base 1.7 M
Transaction Summary
================================================================================
Install 1 Package
Total download size: 1.7 M
Installed size: 5.6 M
Is this ok [y/d/N]: y
Downloading packages:
mc-4.8.7-8.el7.x86_64.rpm | 1.7 MB 00:15
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : 1:mc-4.8.7-8.el7.x86_64 1/1
Verifying : 1:mc-4.8.7-8.el7.x86_64 1/1
Installed:
mc.x86_64 1:4.8.7-8.el7
Complete!

Important : mc est un gestionnaire de fichiers utile en mode ligne de commande. Tapez la commande mc et expérimentez avec l'interface.

Supprimez maintenant le paquet mc :

[root@centos7 ~]# yum remove mc
Loaded plugins: fastestmirror, langpacks
Resolving Dependencies
--> Running transaction check
---> Package mc.x86_64 1:4.8.7-8.el7 will be erased
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Removing:
mc x86_64 1:4.8.7-8.el7 @base 5.6 M
Transaction Summary
================================================================================
Remove 1 Package
Installed size: 5.6 M
Is this ok [y/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Erasing : 1:mc-4.8.7-8.el7.x86_64 1/1
Verifying : 1:mc-4.8.7-8.el7.x86_64 1/1
Removed:
mc.x86_64 1:4.8.7-8.el7
Complete!

Recherchez le paquet mc :

[root@centos7 ~]# yum list mc
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: fr2.rpmfind.net
* extras: mirror.ibcp.fr
* updates: mirror.ibcp.fr
Available Packages
mc.x86_64 1:4.8.7-8.el7 base

Recherchez tout paquet commençant par kerne :

[root@centos7 ~]# yum list kerne\*
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: fr2.rpmfind.net
* extras: mirror.ibcp.fr
* updates: mirror.ibcp.fr
Installed Packages
kernel.x86_64 3.10.0-123.el7 @anaconda
kernel-devel.x86_64 3.10.0-229.14.1.el7 @updates
kernel-headers.x86_64 3.10.0-229.14.1.el7 @updates
kernel-tools.x86_64 3.10.0-123.el7 @anaconda
kernel-tools-libs.x86_64 3.10.0-123.el7 @anaconda
Available Packages
kernel.x86_64 3.10.0-229.14.1.el7 updates
kernel-abi-whitelists.noarch 3.10.0-229.14.1.el7 updates
kernel-debug.x86_64 3.10.0-229.14.1.el7 updates
kernel-debug-devel.x86_64 3.10.0-229.14.1.el7 updates
kernel-doc.noarch 3.10.0-229.14.1.el7 updates
kernel-tools.x86_64 3.10.0-229.14.1.el7 updates
kernel-tools-libs.x86_64 3.10.0-229.14.1.el7 updates
kernel-tools-libs-devel.x86_64 3.10.0-229.14.1.el7 updates

Recherchez la chaîne mc :

[root@centos7 ~]# yum search mc
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: fr2.rpmfind.net
* extras: mirror.ibcp.fr
* updates: mirror.ibcp.fr
=============================== N/S matched: mc ================================
abrt-addon-vmcore.x86_64 : abrt's vmcore addon
bmc-snmp-proxy.noarch : Reconfigure SNMP to include host SNMP agent within BMC
exchange-bmc-os-info.noarch : Let OS and BMC exchange info
freeipmi-bmc-watchdog.x86_64 : IPMI BMC watchdog
hamcrest-demo.noarch : Demos for hamcrest
hamcrest-javadoc.noarch : Javadoc for hamcrest
libXdmcp-devel.i686 : Development files for libXdmcp
libXdmcp-devel.x86_64 : Development files for libXdmcp
libXvMC.i686 : X.Org X11 libXvMC runtime library
libXvMC.x86_64 : X.Org X11 libXvMC runtime library
libXvMC-devel.i686 : X.Org X11 libXvMC development package
libXvMC-devel.x86_64 : X.Org X11 libXvMC development package
libmemcached.i686 : Client library and command line tools for memcached server
libmemcached.x86_64 : Client library and command line tools for memcached server
libmemcached-devel.i686 : Header files and development libraries for
: libmemcached
libmemcached-devel.x86_64 : Header files and development libraries for
: libmemcached
memcached-devel.i686 : Files needed for development using memcached protocol
memcached-devel.x86_64 : Files needed for development using memcached protocol
php-pecl-memcache.x86_64 : Extension to work with the Memcached caching daemon
python-memcached.noarch : A Python memcached client library
smc-fonts-common.noarch : Common files for smc-fonts
tomcat-admin-webapps.noarch : The host-manager and manager web applications for
: Apache Tomcat
tomcat-docs-webapp.noarch : The docs web application for Apache Tomcat
tomcat-javadoc.noarch : Javadoc generated documentation for Apache Tomcat
tomcat-jsp-2.2-api.noarch : Apache Tomcat JSP API implementation classes
tomcat-jsvc.noarch : Apache jsvc wrapper for Apache Tomcat as separate service
tomcat-lib.noarch : Libraries needed to run the Tomcat Web container
tomcat-servlet-3.0-api.noarch : Apache Tomcat Servlet API implementation classes
tomcat-webapps.noarch : The ROOT and examples web applications for Apache Tomcat
tomcatjss.noarch : JSSE implementation using JSS for Tomcat
crash.x86_64 : Kernel analysis utility for live systems, netdump, diskdump,
: kdump, LKCD or mcore dumpfiles
crash-devel.i686 : kernel crash analysis utility for live systems, netdump,
: diskdump, kdump, LKCD or mcore dumpfiles
crash-devel.x86_64 : kernel crash analysis utility for live systems, netdump,
: diskdump, kdump, LKCD or mcore dumpfiles
fence-virtd-serial.x86_64 : Serial VMChannel listener for fence-virtd
hamcrest.noarch : Library of matchers for building test expressions
libXdmcp.i686 : X Display Manager Control Protocol library
libXdmcp.x86_64 : X Display Manager Control Protocol library
mc.x86_64 : User-friendly text console file manager and visual shell
mcelog.x86_64 : Tool to translate x86-64 CPU Machine Check Exception data
mcstrans.x86_64 : SELinux Translation Daemon
memcached.x86_64 : High Performance, Distributed Memory Object Cache
pki-tps-tomcat.noarch : Certificate System - Token Processing Service
sblim-wbemcli.x86_64 : SBLIM WBEM Command Line Interface
smc-anjalioldlipi-fonts.noarch : Open Type Fonts for Malayalam script
smc-dyuthi-fonts.noarch : Open Type Fonts for Malayalam script
smc-kalyani-fonts.noarch : Open Type Fonts for Malayalam script
smc-meera-fonts.noarch : Open Type Fonts for Malayalam script
smc-rachana-fonts.noarch : Open Type Fonts for Malayalam script
smc-raghumalayalam-fonts.noarch : Open Type Fonts for Malayalam script
smc-suruma-fonts.noarch : Open Type Fonts for Malayalam script
strongimcv.i686 : Trusted Network Connect (TNC) Architecture
strongimcv.x86_64 : Trusted Network Connect (TNC) Architecture
tncfhh-examples.i686 : Example IMC/IMV implementations
tncfhh-examples.x86_64 : Example IMC/IMV implementations
tomcat.noarch : Apache Servlet/JSP Engine, RI for Servlet 3.0/JSP 2.2 API
tomcat-el-2.2-api.noarch : Expression Language v2.2 API
xorg-x11-drv-openchrome-devel.i686 : Xorg X11 openchrome video driver XvMC
: development package
xorg-x11-drv-openchrome-devel.x86_64 : Xorg X11 openchrome video driver XvMC
: development package
Name and summary matches only, use "search all" for everything.

Recherchez quel paquet fournit mc :

[root@centos7 ~]# yum provides mc
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: fr2.rpmfind.net
* extras: mirror.ibcp.fr
* updates: mirror.ibcp.fr
1:mc-4.8.7-8.el7.x86_64 : User-friendly text console file manager and visual
: shell
Repo : base

Contrôlez maintenant les dépôts configurés dans votre système :

[root@centos7 ~]# yum repolist
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: fr2.rpmfind.net
* extras: mirror.ibcp.fr
* updates: mirror.ibcp.fr
repo id repo name status
base/7/x86_64 CentOS-7 - Base 8,652
extras/7/x86_64 CentOS-7 - Extras 214
updates/7/x86_64 CentOS-7 - Updates 1,505
repolist: 10,371

Vérifiez la disponibilité de mises à jour :

[root@centos7 ~]# yum check-update
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: fr2.rpmfind.net
* extras: mirror.ibcp.fr
* updates: mirror.ibcp.fr
NetworkManager.x86_64 1:1.0.0-16.git20150121.b4ea599c.el7_1 updates
NetworkManager-glib.x86_64 1:1.0.0-16.git20150121.b4ea599c.el7_1 updates
NetworkManager-tui.x86_64 1:1.0.0-16.git20150121.b4ea599c.el7_1 updates
abrt.x86_64 2.1.11-22.el7.centos.0.1 updates
abrt-addon-ccpp.x86_64 2.1.11-22.el7.centos.0.1 updates
abrt-addon-kerneloops.x86_64 2.1.11-22.el7.centos.0.1 updates
abrt-addon-pstoreoops.x86_64 2.1.11-22.el7.centos.0.1 updates
abrt-addon-python.x86_64 2.1.11-22.el7.centos.0.1 updates
abrt-addon-vmcore.x86_64 2.1.11-22.el7.centos.0.1 updates
abrt-addon-xorg.x86_64 2.1.11-22.el7.centos.0.1 updates
abrt-cli.x86_64 2.1.11-22.el7.centos.0.1 updates
abrt-console-notification.x86_64 2.1.11-22.el7.centos.0.1 updates
abrt-dbus.x86_64 2.1.11-22.el7.centos.0.1 updates
abrt-desktop.x86_64 2.1.11-22.el7.centos.0.1 updates
abrt-gui.x86_64 2.1.11-22.el7.centos.0.1 updates
abrt-gui-libs.x86_64 2.1.11-22.el7.centos.0.1 updates
abrt-libs.x86_64 2.1.11-22.el7.centos.0.1 updates
abrt-python.x86_64 2.1.11-22.el7.centos.0.1 updates
abrt-tui.x86_64 2.1.11-22.el7.centos.0.1 updates
alsa-firmware.noarch 1.0.28-2.el7 base
alsa-lib.x86_64 1.0.28-2.el7 base
alsa-utils.x86_64 1.0.28-4.el7 base
anaconda.x86_64 19.31.123-1.el7.centos.2 base
anaconda-widgets.x86_64 19.31.123-1.el7.centos.2 base
at.x86_64 3.1.13-17.el7_0.1 base
audit.x86_64 2.4.1-5.el7 base
audit-libs.x86_64 2.4.1-5.el7 base
audit-libs-python.x86_64 2.4.1-5.el7 base
...

Appliquez les mises-à-jour :

[root@centos7 ~]# yum update
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: fr2.rpmfind.net
* extras: mirror.ibcp.fr
* updates: mirror.ibcp.fr
Resolving Dependencies
...
Dependencies Resolved
======================================================================================================================================================
Package Arch Version Repository Size
======================================================================================================================================================
Installing:
NetworkManager x86_64 1:1.0.0-16.git20150121.b4ea599c.el7_1 updates 1.9 M
replacing NetworkManager.x86_64 1:0.9.9.1-13.git20140326.4dba720.el7
NetworkManager-adsl x86_64 1:1.0.0-16.git20150121.b4ea599c.el7_1 updates 122 k
replacing NetworkManager.x86_64 1:0.9.9.1-13.git20140326.4dba720.el7
NetworkManager-bluetooth x86_64 1:1.0.0-16.git20150121.b4ea599c.el7_1 updates 141 k
replacing NetworkManager.x86_64 1:0.9.9.1-13.git20140326.4dba720.el7
NetworkManager-team x86_64 1:1.0.0-16.git20150121.b4ea599c.el7_1 updates 122 k
replacing NetworkManager.x86_64 1:0.9.9.1-13.git20140326.4dba720.el7
NetworkManager-wifi x86_64 1:1.0.0-16.git20150121.b4ea599c.el7_1 updates 151 k
replacing NetworkManager.x86_64 1:0.9.9.1-13.git20140326.4dba720.el7
NetworkManager-wwan x86_64 1:1.0.0-16.git20150121.b4ea599c.el7_1 updates 142 k
replacing NetworkManager.x86_64 1:0.9.9.1-13.git20140326.4dba720.el7
kernel x86_64 3.10.0-229.14.1.el7 updates 31 M
Updating:
NetworkManager-glib x86_64 1:1.0.0-16.git20150121.b4ea599c.el7_1 updates 376 k
NetworkManager-tui x86_64 1:1.0.0-16.git20150121.b4ea599c.el7_1 updates 203 k
abrt x86_64 2.1.11-22.el7.centos.0.1 updates 511 k
abrt-addon-ccpp x86_64 2.1.11-22.el7.centos.0.1 updates 183 k
abrt-addon-kerneloops x86_64 2.1.11-22.el7.centos.0.1 updates 100 k
abrt-addon-pstoreoops x86_64 2.1.11-22.el7.centos.0.1 updates 91 k
abrt-addon-python x86_64 2.1.11-22.el7.centos.0.1 updates 97 k
abrt-addon-vmcore x86_64 2.1.11-22.el7.centos.0.1 updates 101 k
abrt-addon-xorg x86_64 2.1.11-22.el7.centos.0.1 updates 92 k
abrt-cli x86_64 2.1.11-22.el7.centos.0.1 updates 82 k
abrt-console-notification x86_64 2.1.11-22.el7.centos.0.1 updates 83 k
abrt-dbus x86_64 2.1.11-22.el7.centos.0.1 updates 115 k
...
python-dmidecode x86_64 3.10.13-11.el7 base 82 k
python-ethtool x86_64 0.8-5.el7 base 33 k
python-meh-gui noarch 0.25.2-1.el7 base 15 k
python-six noarch 1.3.0-4.el7 base 18 k
rdma noarch 7.1_3.17-5.el7 base 28 k
tagsoup noarch 1.2.1-8.el7 base 112 k
trousers x86_64 0.3.11.2-4.el7_1 updates 286 k
Transaction Summary
======================================================================================================================================================
Install 7 Packages (+37 Dependent packages)
Upgrade 462 Packages
Total size: 510 M
Is this ok [y/d/N]: y

A faire - Répondez y à la question Is this ok [y/d/N]: y. Pendant la mise à jour de votre système, consultez le manuel de yum pour vous renseigner sur les autres commandes et options.

<html>

Copyright © 2004-2016 Hugh Norris.<br><br> <a rel=“license” href=“http://creativecommons.org/licenses/by-nc-nd/3.0/fr/”><img alt=“Licence Creative Commons” style=“border-width:0” src=“http://i.creativecommons.org/l/by-nc-nd/3.0/fr/88x31.png” /></a><br />Ce(tte) oeuvre est mise à disposition selon les termes de la <a rel=“license” href=“http://creativecommons.org/licenses/by-nc-nd/3.0/fr/”>Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Pas de Modification 3.0 France</a>.

</html>