星期一, 9月 10, 2007

YUM notes

YUM notes

Introduction:

    * yum = YellowDog Updater Modified

    * yum 基於 rpm,提供 rpm dependcy(相依性), update(更新), upgrade(升級)...等功能

    * CentOS 與 Fedora 常用的升級工具。

    * 其他 Linux Destribution 類似的工具有 apt, up2date, you, urpmi, emerge...


Configuration:

    # 以 Fedora 7 來說,yum 設定檔會在:
    /etc/yum.conf
    /etc/yum.repos.d/

    # rpm -qc 可用來觀察設定檔 (-qc = query configuration)
    rpm -qc yum
    /etc/logrotate.d/yum
    /etc/yum.conf

    # proxy 的設定,如果貴公司有 firewall 且必須透過 proxy 對外連線可以參考如下設定
    # 參考 http://docs.fedoraproject.org/yum/sn-yum-proxy-server.html

    # The proxy server - proxy server:port number
    proxy=http://mycache.mydomain.com:3128
    # The account details for yum connections
    proxy_username=yum-user
    proxy_password=qwerty


Operation:

    syntax:

        yum [options] [command] [package...]

    frequent command:

        command                         function
        ----------------------------    ----------------------------------------
        list [installed | updates]      列出全部套件 (或) [安裝過的 | 升級過的]
        search [string]                 搜尋 [string]
        info [package]                  查詢 [package] 細部資訊
        check-update                    檢查更新
        install [package]               安裝 [package]
        update [package]                更新全部套件 (或) 更新 [package]
        remove [package]                移除 [package]
        clean                           清除 cache
        makecache                       建立 cache
        grouplist                       列出某特定服務集合
        groupinfo                       顯示某特定服務的詳細內容
        groupinstall                    安裝某特定服務集合
        ----------------------------    ----------------------------------------

    example:

        ; install, update, remove mysql
        yum list installed
        yum list mysql
        yum info mysql
        yum install mysql.i386
        yum update mysql.i386
        yum remove mysql

        ; install yumex and krusader
        yum -y install yumex
        yum -y install krusader.i386

        ; install web server
        yum grouplist
        yum groupinfo "Web Server"
        yum groupinstall "Web Server"


Understanding Package Names(from fedora official site):

    format: name.architecture
        architecture:
        i386    Suitable for any current Intel-compatible computer
        noarch  Compatible with all computer architectures
        ppc     Suitable for PowerPC systems, such as Apple Power Macintosh
        x86_64  Suitable for 64-bit Intel-compatible processors, such as Opterons


Tips:

    可以在這裡找到 mirror site:
    http://mirrors.fedoraproject.org/publiclist/

    # 修改 base 為台中縣教育網
    cd /etc/yum.repos.d
    cp fedora.repo fedora.repo-dist
    vi fedora.repo
    在 [fedora] 裡加上一行
    baseurl=ftp://apt.nc.hcc.edu.tw/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/
    把 mirrorlist 註解掉

    # 上面動作也可以使用下列指令完成,不想關掉 mirror site 把第三行拿掉即可。
    mv /etc/yum.repos.d/fedora.repo /etc/yum.repos.d/fedora.repo-dist && \
    sed -e '3a\baseurl=ftp://apt.nc.hcc.edu.tw/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/' \
    -e '/^mirrorlist/ s/^mirrorlist/#mirrorlist/' \
    /etc/yum.repos.d/fedora.repo-dist > /etc/yum.repos.d/fedora.repo



Extensions:


    # 讓 yum 開機後執行 update
    yum install yum-updateonboot -y
    chkconfig yum-updateonboot on


    # fastest mirror
    YUM 的一個很大缺點就是如果碰到 mirror site 很慢慢慢的時候,常常等到會吐血,
    可以另外安裝 yum-fastestmirror 來幫我們找出較快的 mirror site。

    yum install yum-fastestmirror -y

    用 rpm -qc 來看 yum-fastmirror 設定檔:

    rpm -qc yum-fastestmirror
    /etc/yum/pluginconf.d/fastestmirror.conf

    設定檔中可以看到 mirror site 速度記錄檔:

    hostfilepath=/var/cache/yum/timedhosts.txt


    # yumex -> yum extended
    如果有裝 X,系統會附帶一個安裝軟體的圖形介面,其實那個就是 yum 的圖形介面,
    不過功能稍嫌陽春,我們可以透過安裝 yumex 來讓圖型安裝介面更好用。

    yum install yumex -y



Other Resources:

    # RPM for YUM 的其他來源: Freshrpms.net

    # Fedora 7
    rpm -ivh http://ftp.freshrpms.net/pub/freshrpms/fedora/linux/7/freshrpms-release/freshrpms-release-1.1-1.fc.noarch.rpm

    # 或者直接用 firefox 打開 http://freshrpms.net 點連結,選則安裝軟體,首頁上有講。 (easiest way to install...)
    # 有人說要用 rpm --import http://freshrpms.net/RPM-GPG-KEY-freshrpms 導入簽名,不過實際上是不用做,那個是自己改設定才需要。


    # RPM for YUM 的其他來源: livna

    # Fedora 7
    rpm -ivh http://rpm.livna.org/livna-release-7.rpm

    # Fedora 8
    rpm -ivh http://rpm.livna.org/livna-release-8.rpm


    # 其他的來源如 atrpms.net, dires.ulyssis.org 沒什麼必要裝的,裝穩定的一兩個就好了。



Notes:

    如果 Yum 一直無法更新,那應該是在跑自動更新,因為 Yum 一次只允許一個 process 存在,
    由此可知 X 那個新增刪除介面其實就是 Yum 的前端而已。

沒有留言: