รับทําเว็บไซต์ รับทําseo
บทความที่น่าสนใจ

บทความ ที่น่าสนใจ

Linux Server (CentOS) : yum ติดตั้งโปรแกรมจากแผ่นดีวีดีติดตั้ง CentOS

    จากที่ได้ ติดตั้งโปรแกรมเพิ่มบน CentOS 6.2 ด้วยคำสั่ง rpm แล้ว จะเห็นถึงความยุ่งยากในการติดตั้ง บางโปรแกรมกว่าจะติดตั้งได้ ต้องติดตั้งโปรแกรมอื่นๆ ก่อนอีกมากมาย

    เพื่อความสะดวกและง่าย เราสามารถใช้คำสั่ง yum ในการแก้ไขปัญหาเรื่องการติดตั้งโปรแกรมจากไฟล์ประเภท rpm

    ง่ายที่สุด เครื่องลีนุกซ์ที่จะรันคำสั่ง yum นั้น ต้องสามารถเชื่อมต่ออินเตอร์เน็ต เพื่อให้สามารถตรวจสอบข้อมูลการติดตั้งโปรแกรมจาก repos ที่อยู่บนอินเตอร์เน็ตได้ แต่บางครั้ง เครื่องที่ติดตั้งลีนุกซ์นั้น ไม่สามารถต่อออกอินเตอร์เน็ตได้

    ในตอนนี้จะแนะนำการใช้คำสั่ง yum เพื่อติดตั้งไฟล์ rpm โดยใช้ repos ที่อยู่ในแผ่นดีวีดีติดตั้ง CentOS 6.2

    คอนฟิกหลักของ yum คือไฟล์ /etc/yum.conf ส่วนไฟล์คอนฟิก repos จะถูกแยกต่างหาก ในไดเร็คทอรี /etc/yum.repos.d/

    จากการติดตั้ง CentOS 6.2 จะมีไฟล์คอนฟิก repos ติดตั้งมาด้วย 3 ไฟล์

    ไฟล์ /etc/yum.repos.d/CentOS-Base.repo และ /etc/yum.repos.d/CentOS-Debuginfo.repo จะเป็นคอนฟิกไฟล์ repos สำหรับติดตั้งโปรแกรมจากอินเตอร์เน็ต โดยดีฟอลต์จากการติดตั้ง repos ที่ถูกเปิดใช้งาน (enabled)

      - base

      - updates

      - extras

    ส่วน centosplus และ contrib โดยดีฟอลต์จะถูกปิดไว้

    ส่วนไฟล์ /etc/yum.repos.d/CentOS-Media.repo จะเป็นคอนฟิกไฟล์ repos สำหรับติดตั้งโปรแกรมจากแผ่นดีวีดี ชื่อ repos คือ [c6-media] แต่จะถูกปิดการใช้งานไว้ (enabled=0)

    สำหรับเครื่องที่ไม่ได้ต่ออินเตอร์เน็ต หรือหากต้องการใช้ yum เพื่อติดตั้งโปรแกรมจากแผ่นดีวีดี ต้องปิด repos จากอินเตอร์เน็ต และเปิด repos จากแผ่นดีวีดีแทน

    การปิด repos บนอินเตอร์เน็ต “base”, “updates”, “extras”

    เพื่อแสดงการเปลี่ยนแปลงคอนฟิกไฟล์ จะแสดงไฟล์คอนฟิก CentOS-Base.repo ก่อนและหลังการปิด repos

    [root@cent62-yum ~]# cd /etc/yum.repos.d/

    [root@cent62-yum yum.repos.d]# cat CentOS-Base.repo

    # CentOS-Base.repo .... [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-6

    #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-6

    #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-6 ...

    ใช้คำสั่ง yum-config-manager ตามด้วยออปชั่น ‘–disable’ ตามด้วยชื่อ repos ที่ต้องการปิดการใช้

    [root@cent62-yum yum.repos.d]# yum-config-manager --disable base Loaded plugins: fastestmirror =========================== repo: base =========================== [base] bandwidth = 0 base_persistdir = /var/lib/yum/repos/x86_64/6 baseurl = cache = 0 cachedir = /var/cache/yum/x86_64/6/base cost = 1000 enabled = 0 ...

    [root@cent62-yum yum.repos.d]# yum-config-manager --disable updates

    Loaded plugins: fastestmirror =========================== repo: updates =========================== [updates] bandwidth = 0 base_persistdir = /var/lib/yum/repos/x86_64/6 baseurl = cache = 0 cachedir = /var/cache/yum/x86_64/6/updates cost = 1000 enabled = 0 ...

    [root@cent62-yum yum.repos.d]# yum-config-manager --disable extras

    Loaded plugins: fastestmirror =========================== repo: extras =========================== [extras] bandwidth = 0 base_persistdir = /var/lib/yum/repos/x86_64/6 baseurl = cache = 0 cachedir = /var/cache/yum/x86_64/6/extras cost = 1000 enabled = 0 ...

    ไฟล์คอนฟิก CentOS-Base.repo ที่เปลี่ยนไป จะมีออปชั่น enabled=0 เพิ่มขึ้นมา ในแต่ละ repos ที่ถูกปิดการใช้ (disable)

    [root@cent62-yum yum.repos.d]# cat CentOS-Base.repo # CentOS-Base.repo ... [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-6 enabled = 0

    #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-6 enabled = 0

    #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-6 enabled = 0

    เปิดการใช้ repos จากแผ่นดีวีดี

    โดยดีฟอลต์จถูกปิดไว้ หากเราต้องการให้ yum ใช้ repos จากแผ่นดีวีดีติดตั้ง ต้องเปิดการใช้งาน

    ไฟล์คอนฟิก CentOS-Media.repo ก่อนการแก้ไข

    [root@cent62-yum ~]# cat /etc/yum.repos.d/CentOS-Media.repo # CentOS-Media.repo # # This repo is used to mount the default locations for a CDROM / DVD on #  CentOS-6.  You can use this repo and yum to install items directly off the #  DVD ISO that we release. #  [c6-media] name=CentOS-$releasever - Media baseurl=file:///media/CentOS/         file:///media/cdrom/         file:///media/cdrecorder/ gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

    ใช้คำสั่ง yum-config-manger ตามด้วยออปชั่น ‘–enable’ แล้วตามด้วยชื่อ repos สำหรับ CentOS 6 จะมีชื่อว่า “c6-media”

    [root@cent62-yum ~]# yum-config-manager --enable c6-media

    Loaded plugins: fastestmirror =========================== repo: c6-media =========================== [c6-media] bandwidth = 0 base_persistdir = /var/lib/yum/repos/x86_64/6 baseurl = file:///media/CentOS/,    file:///media/cdrom/,    file:///media/cdrecorder/ cache = 0 cachedir = /var/cache/yum/x86_64/6/c6-media cost = 1000 enabled = True ...

    ไฟล์คอนฟิก CentOS-Media.repo หลังการเปิดการใช้งาน “c6-media”

    [root@cent62-yum ~]# cat /etc/yum.repos.d/CentOS-Media.repo # CentOS-Media.repo ... [c6-media] name=CentOS-$releasever - Media baseurl=file:///media/CentOS/         file:///media/cdrom/         file:///media/cdrecorder/ gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 

    หากดูตามคอนฟิกในไฟล์ CentOS-Media.repo จะเห็นว่า repos ชื่อ c6-media มีการเรียกใช้ไฟล์จาก /media/CentOS/, /media/cdrom/, หรือ /media/cdrecorder/

    ดังนั้นเราต้อง mount ดีวีดี กับไดเร็คทอรี เช่น /media/cdrom/

    สร้างไดเร็คทอรี /media/cdrom

    [root@cent62-yum ~]# ls -l /media total 0

    [root@cent62-yum ~]# mkdir /media/cdrom

    ใส่แผ่นดีวีดีติดตั้ง CentOS 6.2 แผ่นที่ 1 เข้าไปในไดร์ฟ แล้วใช้คำสั่ง mount กับไดเร็คทอรี /media/cdrom

    [root@cent62-yum ~]# mount /dev/dvd /media/cdrom mount: block device /dev/sr0 is write-protected, mounting read-only

    ติดตั้ง git ด้วย yum จากแผ่นดีวีดี

    ใช้คำสั่ง yum install ตามด้วยชื่อโปรแกรมที่ต้องการติดตั้ง สมมติว่าต้องการติดตั้ง git

    [root@cent62-yum ~]# yum install git
    Loaded plugins: fastestmirror, security
    Loading mirror speeds from cached hostfile
     * c6-media:
    Setting up Install Process
    Resolving Dependencies
    --> Running transaction check
    ---> Package git.x86_64 0:1.7.1-2.el6_0.1 will be installed
    --> Processing Dependency: perl-Git = 1.7.1-2.el6_0.1 for package: git-1.7.1-2.el6_0.1.x86_64
    --> Processing Dependency: perl(Git) for package: git-1.7.1-2.el6_0.1.x86_64
    --> Processing Dependency: perl(Error) for package: git-1.7.1-2.el6_0.1.x86_64
    --> Running transaction check
    ---> Package perl-Error.noarch 1:0.17015-4.el6 will be installed
    ---> Package perl-Git.noarch 0:1.7.1-2.el6_0.1 will be installed
    --> Finished Dependency Resolution

    Dependencies Resolved

    ===================================================================
     Package                       Arch                      Version                              Repository                   Size
    ===================================================================
    Installing:
     git                           x86_64                    1.7.1-2.el6_0.1                      c6-media                    4.6 M
    Installing for dependencies:
     perl-Error                    noarch                    1:0.17015-4.el6                      c6-media                     29 k
     perl-Git                      noarch                    1.7.1-2.el6_0.1                      c6-media                     28 k

    Transaction Summary
    ====================================================================

    Total download size: 4.7 M
    Installed size: 15 M
    Is this ok [y/N]: y

    คำสั่ง yum จะตรวจสอบไฟล์ rpm หรือโปรแกรมต่างๆ ที่จำเป็นต้องใช้ แสดงผลลัพธ์ให้ดู

    หากต้องการติดตั้งโปรแกรมต่างๆ ตามข้อมูลที่แจ้งมา พิมพ์ y แล้วกด [Enter] ***

    Downloading Packages: -------------------------------------------------------------------------------------------------------------------------------- Total                                                                                            20 MB/s | 4.7 MB     00:00

    warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID c105b9de: NOKEY Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 Importing GPG key 0xC105B9DE:  Userid : CentOS-6 Key (CentOS 6 Official Signing Key) <centos-6-key@centos.org>  Package: centos-release-6-2.el6.centos.7.x86_64 (@anaconda-CentOS-201112091719.x86_64/6.2)  From : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 Is this ok [y/N]: y

    การติดตั้งโปรแกรมด้วย yum นั้น จะมีการตรวจสอบความถูกต้องของไฟล์ rpm ทุกครั้ง ด้วย GPG key หากเป็นการใช้ yum เพื่อติดตั้งโปรแกรมครั้งแรก จะมีการถามว่าให้ใช้ GPG key จาก /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 หรือไม่

    หากยืนยันพิมพ์ y แล้วกด [Enter]

    Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction   Installing : 1:perl-Error-0.17015-4.el6.noarch                                                                            1/3    Installing : git-1.7.1-2.el6_0.1.x86_64                                                                                   2/3    Installing : perl-Git-1.7.1-2.el6_0.1.noarch                                                                              3/3   Installed:   git.x86_64 0:1.7.1-2.el6_0.1                                                                                              Dependency Installed:   perl-Error.noarch 1:0.17015-4.el6                              perl-Git.noarch 0:1.7.1-2.el6_0.1                               Complete!

    ติดตั้งโปรแกรมสำเร็จ

    [root@cent62-yum ~]# git --version git version 1.7.1