Atspējojiet dažus pakotņu atjauninājumus, izmantojot YUM, RHEL/CentOS/Fedora
YUM (Yellowdog Updater Modified) ir atvērtā koda noklusējuma pakotņu pārvaldības sistēma vairākām Linux garšām, piemēram, RHEL (Red Hat Enterprise Linux), CentOS (Kopienas uzņēmumu operētājsistēma) un Fedora. YUM utilīta tiek izmantota instalēt, jaunināt, noņemt uz rpm balstītas paketes no izplatīšanas krātuvēm sistēmās.
Bet dažreiz mēs nevēlamies atjaunināt noteiktus paketus, piemēram, Apache Server (HTTP), MySQL, PHP un citas galvenās lietojumprogrammas, jo, ja šādi atjauninājumi var kaitēt pašreiz darbojošajām tīmekļa lietojumprogrammām serverī vai arī jūs varat apturēt atjauninājumus, līdz lietojumprogramma tiek ielāpīta ar jauniem atjauninājumiem.
Šajā rakstā mēs parādīsim, kā mēs varam izslēgt (atspējot) noteiktus pakotņu atjauninājumus, izmantojot YUMtool. Mēs varam izslēgt vai atspējot noteiktus pakotņu atjauninājumus no jebkuras trešās puses krātuvēm. Izslēgt sintaksi būtu šādi.
exclude=package package1 packages*
Iepriekš aprakstītajā sintaksē tiks izslēgti “pakete”, “pakete1” un “paketes” atjauninājumu vai instalēšanas saraksts. Katrs atslēgvārds jānošķir ar atstarpi pakešu izslēgšanai.
Kā izslēgt pakas YUM
Lai izslēgtu (atspējotu) konkrētus pakotņu atjauninājumus, pēc redaktora izvēles atveriet failu ar nosaukumu /etc/yum.conf.
# vi /etc/yum.conf
Pievienojiet šādu rindiņu faila apakšdaļā ar izslēgšanas atslēgvārdu, kā parādīts zemāk.
[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=16&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 following Packages Updates ## exclude=httpd php mysql
Iepriekš minētajā piemērā rindas izslēgšana atspējos “httpd”, “php” un “mysql” pakotņu atjauninājumus. Mēģināsim instalēt vai atjaunināt vienu no tiem, izmantojot YUM komandu, kā parādīts zemāk.
# yum update httpd
Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: centos.01link.hk * extras: centos.01link.hk * updates: mirrors.hns.net.in base | 3.7 kB 00:00 extras | 3.0 kB 00:00 updates | 3.5 kB 00:00 updates/primary_db | 2.7 MB 00:16 Setting up Update Process No Packages marked for Update
Kā izslēgt pakas no EPEL Repo
Lai izslēgtu pakotņu instalācijas vai atjauninājumus no EPEL repozitorija, pēc tam atveriet failu ar nosaukumu /etc/yum.repos.d/epel.repo.
# vi /etc/yum.repos.d/epel.repo
Pievienojiet izslēgšanas rindu, norādot paketes, kuras izslēgt no atjauninājumiem.
[epel] name=Extra Packages for Enterprise Linux 6 - $basearch #baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch failovermethod=priority enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 ## Exclude following Packages Updates ## exclude=perl php python
Tagad mēģiniet atjaunināt iepriekš norādītos failus no EPEL krātuves, izmantojot komandu YUM.
# yum --enablerepo=epel update perl php python
Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.hns.net.in * epel: ftp.kddilabs.jp * extras: mirrors.hns.net.in * updates: mirrors.hns.net.in Setting up Update Process No Packages marked for Update
Varat arī izmantot yum komandrindas opciju, lai izslēgtu paketi, nepievienojot repozitorija failiem.
# yum --exclude=httpd update
Lai izslēgtu pakotņu sarakstu, izmantojiet komandu šādi.
# yum --exclude=mysql\* --exclude=httpd\* update
Tādā veidā jūs varat izslēgt visu nepieciešamo pakotņu atjauninājumus. Ir daudzi citi veidi, kā jūs varat darīt, piemēram, nesen mēs esam izveidojuši rakstu par 4 noderīgiem veidiem, kā bloķēt/atspējot vai bloķēt noteiktas paketes, izmantojot Linux komandu yum, jums tas jāizlasa šeit: