J'aide à gérer un petit server de production. Le server exécute une version downlevel de CentOS. CentOS a récemment annoncé la sortie de CentOS Linux 7 (1511) sur x86_64 .
L'exécution de la yum update
permis de yum update
la version et de proposer plus de 400 mises à niveau de packages. Nous souhaitons interdire la mise à niveau pour le moment sur le server de production.
Nous sums très préoccupés par une mise à jour accidentelle, comme un script utilisant -y
. Nous voulons toujours recevoir des mises à jour pour l'ancienne version de CentOS; nous ne voulons simplement pas la mise à jour du operating system.
Comment pouvons-nous configurer yum pour éviter la mise à niveau de CentOS 7?
Voici à quoi ça ressemble quand on exécute yum update
:
$ sudo yum update [sudo] password for xxxxxxxx: Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirror.hostduplex.com * epel: linux.mirrors.es.net * extras: mirror.hostduplex.com * updates: mirror.hostduplex.com Resolving Dependencies ... Transaction Summary ================================================================================ Install 2 Packages (+6 Dependent packages) Upgrade 412 Packages Total download size: 374 M Is this ok [y/d/N]:
Voici notre yum.conf
:
$ 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
Voici la section du manuel couvrant la configuration: 12.4. Configurer yum . Mais ce n'est pas évident pour moi comment interdire la mise à niveau.
Cela semble être la même question que Comment garder Centos à la version 6.3? et la deuxième réponse qui pourrait vous aider à réaliser ce que vous voulez: https://serverfault.com/a/500606
Quelque chose comme ça pourrait fonctionner: yum --releasever=7.0 update
Vous devrez peut-être vous adapter car je ne suis pas sûr de ce que releasever
votre CentOS utilise actuellement, peut-être que vous devez également utiliser 7.1. Ce dernier répond à Yum: Comment puis-je voir des variables comme $ releasever, $ basearch & $ YUM0? devrait vous aider avec ça.
Bien qu'une autre source mentionne que cela pourrait encore tirer les mises à jour des versions ultérieures, voir http://www.linuxquestions.org/questions/linux-server-73/rhel-yum-update-without-migrating-to-point-releases- 4175456496 /
FWIW, cela a également été demandé de la même manière que Comment puis-je garder la version RHEL statique (par exemple RHEL 5.1)? mais je ne pense pas que cette solution fonctionnera aussi bien que ci-dessus ou si elle fonctionnera du tout.
Il y a deux façons d'atteindre votre objective.
Le plus simple est d'append exclude=*
dans votre file /etc/yum.conf
.
Le second est de désactiver tous les référentiels. Pour chaque définition de référentiel dans /etc/yum.repos.d/ ajoutez une ligne enabled=0
, ie (CentOS-Base.repo):
[base] name=CentOS-$releasever - Base mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 enabled=0