Hvernig á að slökkva á pakkauppfærslum með YUM/DNF í RHEL Linux
Red Hat-undirstaða Linux dreifing, sem er notuð til að fá, setja upp, uppfæra, fjarlægja og spyrjast fyrir um pakka frá opinberum hugbúnaðargeymslum og geymslum þriðja aðila.
Við uppfærslur á kerfinu uppfærum við stundum ekki ákveðna pakka eins og Apache Server (HTTP), MySQL, PHP eða önnur helstu forrit, vegna þess að uppfærsla á slíkum hugbúnaði getur bilað netforrit sem eru í gangi á netþjóni og valdið meiriháttar vandamálum. Mælt er með því að stöðva uppfærslur fyrir slíkan hugbúnað þar til forritið verður lagfært með nýjum uppfærslum.
Í þessari grein munum við sýna þér hvernig við getum útilokað (slökkt á) ákveðnum pakkauppfærslum með því að nota YUM og DNF pakkastjórann á RPM byggðum dreifingum eins og RHEL, CentOS, Fedora, Rocky Linux og AlmaLinux. Við getum líka útilokað eða slökkt á ákveðnum pakkauppfærslum frá geymslum þriðja aðila.
Útiloka setningafræðin væri sem hér segir.
exclude=package package1 packages*
Ofangreind útilokunartilskipun er skilgreind í /etc/yum.conf eða /etc/dnf/dnf.conf stillingarskránni með lista yfir pakka sem á að útiloka frá uppfærslum eða uppsetningum.
Ofangreind setningafræði mun útiloka „pakka“, „pakka1“ og lista yfir „pakka“ uppfærslur eða uppsetningar. Hvert leitarorð ætti að vera aðskilið með plássi til að útiloka pakka.
Hvernig á að útiloka pakka í YUM eða DNF
Til að útiloka (slökkva á) ákveðnum pakkauppfærslum, opnaðu skrána sem heitir /etc/yum.conf eða /etc/dnf/dnf.conf með ritstjóra að eigin vali.
# vi /etc/yum.conf OR # vi /etc/dnf/dnf.conf
Bættu við eftirfarandi línu neðst í skránni með útiloka leitarorði eins og sýnt er hér að neðan.
[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
Í dæminu hér að ofan mun línan útiloka slökkva á uppfærslum fyrir „httpd“ „php“ og „mysql“ pakka. Við skulum reyna að setja upp eða uppfæra einn þeirra með YUM skipuninni eins og sýnt er hér að neðan.
# yum update httpd OR # dnf 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
Hvernig á að útiloka pakka frá EPEL Repo
Til að útiloka pakkauppsetningar eða uppfærslur frá EPEL geymslunni, opnaðu síðan skrána sem heitir /etc/yum.repos.d/epel.repo.
# vi /etc/yum.repos.d/epel.repo
Bættu við útilokunarlínunni með því að tilgreina pakka sem á að útiloka frá uppfærslunum.
[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
Reyndu nú að uppfæra ofangreindar skrár úr EPEL geymslunni með því að nota yum/dnf skipunina eins og sýnt er.
# dnf update perl php python OR # yum update perl php python
Last metadata expiration check: 0:00:37 ago on Wednesday 17 November 2021 03:41:28 AM EST. Package perl available, but not installed. No match for argument: perl No match for argument: php No match for argument: python Error: No packages marked for upgrade.
Þú getur líka notað yum/dnf skipanalínuvalkostinn til að útiloka pakka án þess að bæta þeim við geymsluskrárnar.
# yum --exclude=httpd update Or # dnf --exclude=httpd update
Til að útiloka lista yfir pakka skaltu nota skipunina sem hér segir.
# yum --exclude=mysql\* --exclude=httpd\* update Or # dnf --exclude=mysql\* --exclude=httpd\* update
Þannig geturðu útilokað uppfærslur fyrir hvaða pakka sem þú vilt. Það eru margar aðrar leiðir sem þú getur gert það, til dæmis höfum við nýlega tekið saman grein um 4 gagnlegar leiðir til að loka/slökkva á eða læsa ákveðnum pakka með yum skipuninni í Linux.