4 ວິທີທີ່ຈະປິດ/ລັອກການປັບປຸງບາງຊຸດໂດຍໃຊ້ ຄຳ ສັ່ງ Yum


ຜູ້ຈັດການແພັກເກັດແມ່ນຊອບແວທີ່ຊ່ວຍໃຫ້ຜູ້ໃຊ້ໃນກໍລະນີຕິດຕັ້ງໂປແກຼມໂປຼແກຼມ ໃໝ່, ການຂຶ້ນລະບົບ, ຫລືການປັບປຸງຊອບແວສະເພາະແລະສິ່ງຂອງຕ່າງໆ. ໃນກໍລະນີຂອງລະບົບທີ່ອີງໃສ່ Linux ເຊິ່ງຊອບແວ ໜຶ່ງ ມີຄວາມເພິ່ງພາອາໄສທີ່ ຈຳ ເປັນຕ້ອງມີຢູ່ໃນລະບົບ ສຳ ລັບການຕິດຕັ້ງໂປແກຼມນັ້ນໃຫ້ສົມບູນ, ໂປແກຼມຈັດການຄ້າຍຄືຊອບແວດັ່ງກ່າວກາຍເປັນເຄື່ອງມືທີ່ ຈຳ ເປັນຫຼາຍໃນທຸກໆລະບົບ

ເຮືອແຕ່ລະລຸ້ນແຈກຈ່າຍ Linux ທີ່ມີຜູ້ຈັດການຊຸດ ທຳ ມະດາ ສຳ ລັບ ໜ້າ ທີ່ທີ່ໄດ້ກ່າວມາຂ້າງເທິງ, ແຕ່ວ່າທຸກສິ່ງທີ່ພົບເຫັນຫຼາຍທີ່ສຸດແມ່ນ: yum ໃນລະບົບ RHEL ແລະ Fedora (ບ່ອນທີ່ມັນ ກຳ ລັງຖືກທົດແທນໂດຍ DNF ຈາກ Fedora 22+ ເປັນຕົ້ນໄປ) ແລະ apt ຈາກ Debian.

ຖ້າທ່ານ ກຳ ລັງຊອກຫາເຄື່ອງມື APT ເພື່ອສະກັດກັ້ນຫຼືປິດການອັບເດດແພັກເກັດທີ່ແນ່ນອນ, ທ່ານຄວນອ່ານບົດຄວາມນີ້.

Dnf ຫຼື Danified yum ກຳ ລັງປ່ຽນແທນ yum ໃນລະບົບ Fedora ເຊິ່ງເປັນອີກ ໜຶ່ງ ລາຍການໃນລາຍການຂອງພວກເຮົາ. ຖ້າຄົ້ນຫາຢ່າງຖືກຕ້ອງ, ຜູ້ຈັດການແພັກເກັດເຫຼົ່ານີ້ສາມາດຖືກ ນຳ ໃຊ້ເພື່ອເຮັດວຽກຕໍ່ໄປນີ້:

<

  • ຕິດຕັ້ງຊອບແວ ໃໝ່ ຈາກບ່ອນເກັບມ້ຽນ.
  • ແກ້ໄຂຄວາມເພິ່ງພາອາໄສຂອງຊອບແວໂດຍການຕິດຕັ້ງຄວາມເພິ່ງພາອາໄສເຫຼົ່ານັ້ນກ່ອນທີ່ຈະຕິດຕັ້ງ software.
  • ການຮັກສາຖານຂໍ້ມູນຂອງການເພິ່ງພາອາໄສຂອງແຕ່ລະ software.
  • ສະບັບ Downgrade ຂອງໂປແກຼມທີ່ມີຢູ່.
  • ຍົກລະດັບຮຸ່ນ kernel.
  • ຊຸດລາຍຊື່ທີ່ມີໄວ້ ສຳ ລັບຕິດຕັ້ງ.
  • ພວກເຮົາໄດ້ຂຽນບົດຄວາມລາຍລະອຽດທີ່ແຍກຕ່າງຫາກແລ້ວໃນແຕ່ລະຕົວຈັດການຊຸດທີ່ມີຕົວຢ່າງທີ່ເປັນປະໂຫຍດ, ທ່ານຄວນຈະອ່ານພວກມັນເພື່ອຄວບຄຸມແລະຈັດການການຄຸ້ມຄອງແພັກເກັດໃນການແຈກແຈງ Linux ຂອງທ່ານ.

    ອ່ານອີກ:

    <

  • ຄຳ ສັ່ງສອນ Mastering Yum ດ້ວຍ 20 ຕົວຢ່າງທີ່ໃຊ້ໄດ້
  • 27 DNF ຄຳ ສັ່ງໃນການຈັດການການຫຸ້ມຫໍ່ໃນ Fedora 22+ Versions
  • ຮຽນຮູ້ 25 Commands APT ໃນການຈັດການການຫຸ້ມຫໍ່ Ubuntu
  • ໃນບົດຂຽນ, ພວກເຮົາຈະເຫັນວິທີການລັອກ/ປິດການອັບເດດບາງຊຸດໂດຍໃຊ້ຜູ້ຈັດການຊຸດ Yum ໃນລະບົບ RHEL/CentOS ແລະ Fedora (ໃຊ້ໄດ້ຈົນເຖິງ Fedora 21, ຕໍ່ມາລຸ້ນ ໃໝ່ Fedora ລຸ້ນ ໃໝ່ ມີ dnf ເປັນຜູ້ຈັດການຊຸດປົກກະຕິ).

    ປິດ/ລັອກການປັບປຸງຊຸດໂດຍໃຊ້ Yum

    ຜູ້ປັບປຸງ ໝາ ເຫລືອງ, Modified (yum) ແມ່ນເຄື່ອງມືຄຸ້ມຄອງແພັກເກັດໃນການແຈກຢາຍທີ່ອີງໃສ່ RedHat ເຊັ່ນ CentOS ແລະ Fedora. ກົນລະຍຸດຕ່າງໆທີ່ໃຊ້ໃນການລັອກ/ປິດການ ນຳ ໃຊ້ຂໍ້ມູນການອັບເດດໂດຍໃຊ້ Yum ແມ່ນໄດ້ຖືກປຶກສາຫາລືຂ້າງລຸ່ມນີ້:

    1. ເປີດແລະແກ້ໄຂເອກະສານ yum.conf , ເຊິ່ງຕັ້ງຢູ່ໃນ /etc/yum.conf ຫຼືໃນ /etc/yum/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
    ...
    

    ໃນທີ່ນີ້, ເພື່ອຍົກເວັ້ນຊຸດທີ່ແນ່ນອນຈາກການຕິດຕັ້ງຫຼືການຂຶ້ນຊັ້ນຮຽນ, ທ່ານພຽງແຕ່ຕ້ອງການເພີ່ມຕົວແປທີ່ຍົກເວັ້ນພ້ອມກັບຊື່ຂອງຊຸດທີ່ທ່ານຕ້ອງການຍົກເວັ້ນ. ຍົກຕົວຢ່າງ, ຖ້າຂ້ອຍຕ້ອງການຍົກເວັ້ນທຸກໆຊຸດ python-3 ຈາກການປັບປຸງ, ຫຼັງຈາກນັ້ນຂ້ອຍພຽງແຕ່ຈະເພີ່ມໃສ່ເສັ້ນຕໍ່ໄປນີ້ yum.conf :

    exclude=python-3*
    

    ສຳ ລັບຫລາຍກວ່າ ໜຶ່ງ ຊຸດທີ່ຈະຍົກເວັ້ນພຽງແຕ່ແຍກຊື່ຂອງພວກມັນອອກໄປຕາມຊ່ອງ.

    exclude=httpd php 
    
    [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
    exclude=python-3*        [Exclude Single Package]
    exclude=httpd php        [Exclude Multiple Packages]
    ...
    

    ໝາຍ ເຫດ: ປະກອບມີຊຸດເຫຼົ່ານີ້, ບໍ່ສົນໃຈລາຍການທີ່ຢູ່ໃນ yum.conf , ໃຊ້“ -disableexcludes” ແລະຕັ້ງຄ່າມັນໃສ່ທັງ ໝົດ | ຕົ້ນຕໍ, ບ່ອນທີ່ 'ຫລັກ' ແມ່ນຖືກໃສ່ໃນ yum.conf ແລະ 'repoid 'ແມ່ນຜູ້ທີ່ມີການຍົກເວັ້ນໄດ້ຖືກລະບຸໄວ້ໃນໄດເລກະທໍລີ repos.d, ດັ່ງທີ່ໄດ້ອະທິບາຍໃນພາຍຫລັງ.

    ດຽວນີ້ລອງມາຕິດຕັ້ງຫລືປັບປຸງຊຸດທີ່ ກຳ ນົດໄວ້ແລະເບິ່ງວ່າ ຄຳ ສັ່ງ yum ຈະເຮັດໃຫ້ພວກເຂົາຕິດຕັ້ງຫລືປັບປຸງ ໃໝ່.

    # yum install httpd php
    
    Loaded plugins: fastestmirror, langpacks, versionlock
    Loading mirror speeds from cached hostfile
     * base: mirror.nbrc.ac.in
     * epel: mirror.wanxp.id
     * extras: mirror.nbrc.ac.in
     * updates: mirror.nbrc.ac.in
    Nothing to do
    
    # yum update httpd php
    
    Loaded plugins: fastestmirror, langpacks, versionlock
    Loading mirror speeds from cached hostfile
     * base: mirror.nbrc.ac.in
     * epel: mirror.wanxp.id
     * extras: mirror.nbrc.ac.in
     * updates: mirror.nbrc.ac.in
    No packages marked for update
    

    2. ຂ້າງເທິງນີ້ແມ່ນການແກ້ໄຂແບບຖາວອນເພື່ອຍົກເວັ້ນການຈັດຕັ້ງຊຸດເວັ້ນເສຍແຕ່ວ່າຈະມີການດັດແກ້ເອກະສານ, ຊຸດນັ້ນຈະບໍ່ຖືກປັບປຸງ. ນີ້ແມ່ນທາງອອກຊົ່ວຄາວ ສຳ ລັບສິ່ງນີ້. ພຽງແຕ່ໃນເວລາທີ່ທ່ານໄປອັບເດດ, ໃຫ້ໃຊ້ -x ຫຼັບໃນ ຄຳ ສັ່ງ yum ເພື່ອຍົກເວັ້ນຊຸດທີ່ທ່ານບໍ່ຕ້ອງການປັບປຸງ, ເຊັ່ນ:

    # yum -x python-3 update
    

    ຄຳ ສັ່ງຂ້າງເທິງນີ້ຈະປັບປຸງທຸກໆຊຸດທີ່ມີການອັບເດດໃຫ້ຢູ່, ຍົກເວັ້ນ python-3 ໃນລະບົບຂອງທ່ານ.

    ໃນນີ້, ສຳ ລັບການຍົກເວັ້ນຫລາຍໆແພັກເກັດ, ໃຫ້ໃຊ້ -x ຫຼາຍຄັ້ງ, ຫຼືແຍກຊື່ຊື່ແພັກເກດດ້ວຍ , ໃນປຸ່ມດຽວ.

    # yum -x httpd -x php update
    OR
    # yum -x httpd,php update
    

    3. ການໃຊ້ລະຫັດສະຫຼັບ <ລະຫັດ - ລວມເອົາລະຫັດ ເຮັດວຽກຄືກັນກັບ -x, ພຽງແຕ່ຕ້ອງການປ່ຽນແທນ -x ດ້ວຍ –exclude ແລະຜ່ານ , ແຍກລາຍຊື່ຊື່ແພັກເກດໃສ່ມັນ.

    # yum --exclude httpd,php
    

    4. ສຳ ລັບແພັກເກດໃດໆທີ່ຕິດຕັ້ງມາຈາກແຫຼ່ງພາຍນອກໂດຍຜ່ານການເພີ່ມບ່ອນເກັບມ້ຽນ, ມັນຍັງມີອີກວິທີ ໜຶ່ງ ທີ່ຈະຢຸດການຂື້ນຫ້ອງໃນອະນາຄົດ. ສິ່ງນີ້ສາມາດເຮັດໄດ້ໂດຍການແກ້ໄຂເອກະສານ .repo ທີ່ຖືກສ້າງຂື້ນໃນ /etc/yum/repos.d/ ຫຼື /etc/yum.repos.d.

    ຕື່ມຕົວເລືອກທີ່ຍົກເວັ້ນດ້ວຍຊື່ແພັກເກດໃນ repo. ເຊັ່ນ: ການຍົກເວັ້ນຊຸດໃດໆທີ່ເວົ້າວ່າເຫຼົ້າແວງຈາກ epo repo, ຕື່ມສາຍຕໍ່ໄປນີ້ໃນ epel.repo ແຟ້ມ:

    [epel]
    name=Extra Packages for Enterprise Linux 7 - $basearch
    #baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
    mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
    failovermethod=priority
    enabled=1
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
    exclude=wine
    

    ດຽວນີ້ລອງປັບປຸງຊຸດເຫຼົ້າແວງ, ທ່ານຈະໄດ້ຮັບຂໍ້ຜິດພາດດັ່ງຮູບຂ້າງລຸ່ມນີ້:

    # yum update wine
    
    Loaded plugins: fastestmirror, langpacks, versionlock
    epel/x86_64/metalink                                    | 5.6 kB     00:00     
    Loading mirror speeds from cached hostfile
     * base: mirror.nbrc.ac.in
     * epel: mirror.wanxp.id
     * extras: mirror.nbrc.ac.in
     * updates: mirror.nbrc.ac.in
    No Match for argument: wine
    No package wine available.
    No packages marked for update
    

    5. ອີກວິທີ ໜຶ່ງ ໃນ yum ເພື່ອປົກປິດສະບັບຂອງແພັກເກັດໃດໆດັ່ງນັ້ນເຮັດໃຫ້ມັນບໍ່ສາມາດໃຊ້ໄດ້ ສຳ ລັບການເລື່ອນຊັ້ນ, ແມ່ນການໃຊ້ versionlock ທາງເລືອກຂອງ yum, ແຕ່ເພື່ອເຮັດສິ່ງນີ້, ທ່ານຕ້ອງມີຊຸດ yum-plugin-versionlock. ຕິດຕັ້ງໃນລະບົບ.

    # yum -y install yum-versionlock
    

    ຍົກຕົວຢ່າງ, ເພື່ອລັອກລຸ້ນຂອງແພັກເກດກ່າວວ່າ httpd ຫາ 2.4.6 ເທົ່ານັ້ນ, ພຽງແຕ່ຂຽນ ຄຳ ສັ່ງຕໍ່ໄປນີ້ເປັນຮາກ.

    # yum versionlock add httpd
    
    Loaded plugins: fastestmirror, langpacks, versionlock
    Adding versionlock on: 0:httpd-2.4.6-40.el7.centos
    versionlock added: 1
    

    ເພື່ອເບິ່ງການຫຸ້ມຫໍ່ທີ່ຖືກລັອກ, ໃຫ້ໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້ຈະບອກລາຍຊື່ແພັກເກດທີ່ຖືກລັອກໄວ້ແລ້ວ.

    # yum versionlock list httpd
    
    Loaded plugins: fastestmirror, langpacks, versionlock
    0:httpd-2.4.6-40.el7.centos.*
    versionlock list done
    

    ສະຫຼຸບ

    ນີ້ແມ່ນ ຄຳ ແນະ ນຳ ບາງຢ່າງທີ່ຈະຊ່ວຍທ່ານປິດການໃຊ້ງານ/ລັອກການປັບປຸງແພັກເກັດໂດຍໃຊ້ yum package manager. ຖ້າທ່ານມີເຄັດລັບອື່ນໆທີ່ຈະເຮັດສິ່ງດຽວກັນ, ທ່ານສາມາດໃຫ້ ຄຳ ເຫັນກັບພວກເຮົາໄດ້.