溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

程序包管理之yum命令詳解

發(fā)布時間:2020-07-17 06:41:43 來源:網(wǎng)絡(luò) 閱讀:461 作者:火柴哈哈 欄目:網(wǎng)絡(luò)安全

1.yum是什么?

    yum(全稱為 Yellow dog Updater, Modified)是一個在Fedora和RedHat以及SUSE中的Shell前端軟件包管理器?;禦PM包管理,能夠從指定的服務(wù)器自動下載RPM包并且安裝,可以自動處理依賴性關(guān)系,并且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝。yum提供了查找、安裝、刪除某一個、一組甚至全部軟件包的命令。



2.yum客戶端的配置文件

    配置文件:

        /etc/yum.conf    為所有倉庫提供公共配置或不屬于倉庫的配置

        /etc/yum.repos.d/*.repo   為倉庫的指向提供配置


    /etc/yum.repos.d/*.repo : 定義倉庫

        [repositoryID]

        name=Some name for this repository

        baseurl=url://server1/path/to/repository/

        enabled=[0|1]倉庫開啟或關(guān)閉

        gpgcheck ={1|0}  檢查來源合法性

        gpgkey=URL 指明密鑰文件

        enablegroups ={0|1} 使用組來批量管理程序包

        failovermethod = {roundrobin(輪詢)|specified(優(yōu)先級)}   

            故障轉(zhuǎn)移方法默認(rèn)為roundrobin,為隨機挑選

        cost(開銷)=#  默認(rèn)為1000


    yum的repo配置文件中可用的變量:

        $releasever:當(dāng)前OS的發(fā)行版的主版本號

        $arch:平臺類型

        $basearch :基礎(chǔ)平臺

        $YUM0-$YUM9 :用戶自定義的變量


這里以 http://mirrors.aliyun.com/ 為例:

~]# cd /etc/yum.repos.d/
~]# vim aliyun.repo
[base]
name=aliyun
baseurl=http://mirrors.aliyun.com/centos/6.7/os/x86_64/
gpgcheck=1

我們也可以用變量的方式來設(shè)置baseurl:

baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/



3.如何使用光盤做本地yum倉庫

    這里以CentOS 6.7的ISO鏡像為例:

(1)掛載光盤

~]# mount -r /dev/cdrom /media/cdrom

(2)創(chuàng)建配置文件

~]# cd /media/cdrom/
~]# ls     -->這里查看一下是否有"repodata"目錄,一般默認(rèn)都有,如果沒有
~]# createrepo   -->創(chuàng)建"repodata"目錄,如有,則不用創(chuàng)建
~]# vim /etc/yum.repos.d/local.repo
[base]
name=local
baseurl=file:///media/cdrom/
gpgcheck=1

~]# yum repolist   --> 配置完成后可以用這個命令檢查是否配置成功

注: 創(chuàng)建yum倉庫  createrepo [options] <directory>



4.yum常用命令

    yum的命令行選項:

        --nogpgcheck :進制進行g(shù)pg check 

        -y :自動回答為"yes"

        -q :靜默模式

        --disabledrepo=repoidglob :臨時禁用此處指定的repo

        --enabledrepo=repoidglob :臨時啟用此處的指定的repo

        --noplugins :禁用所有插件


    常用命令:

          顯示倉庫列表:

            repolist [all|enabled|disabled]


        顯示程序包:

            yum list [all | glob_exp1] [glob_exp2] [...]

    yum list {available|installed|updates} [glob_exp1] [...]


        安裝程序包:

            install package1 [package2][...]

            reinstall package1 [package2] [...] 重新安裝


        升級程序包:

            update package1 [package2] [...]

            downgrade package1 [package2] [...] 降級


        檢查可用升級:

            check-update 


        卸載程序包:

            remove | erase package1 [package2] [...]


        查看程序包的簡要信息:

            info[]


        查看指定的特性是由那個程序包提供:

            provides | whatprovides feature1 [feature2] [...]


        清理本地緩存:

   clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]


        構(gòu)建緩存:

            makecache


        搜索:

            search string1 [string2] [...]

    以指定的關(guān)鍵字搜索程序包名及summary信息


        查看指定包所依賴的capabilities:

            deplist [package1] [package2] [...]


        查看yum事物歷史:

            history [info|list|packages-list|packages-info|summary|addon-info|redo|undo|rollback|new|sync|stats]

    

    包組管理的常用命令:

       * groupinstall group1 [group2] [...]

            * groupupdate group1 [group2] [...]

            * grouplist [hidden] [groupwildcard] [...]

            * groupremove group1 [group2] [...]

            * groupinfo group1 [...]


5.程序包編譯安裝

    源碼包的一般格式:

        testapp-VERSION-release.src.rpm  

           安裝后,使用rpmbuil命令制作成二進制格式的rpm包,而后在安裝

    源代碼 --> 預(yù)處理 --> 編譯(gcc)--> 匯編 --> 鏈接 --> 執(zhí)行


編譯安裝三步驟:

./configure 

    1.通過選項傳遞參數(shù),指定啟用特性、安裝路徑等,執(zhí)行時會參考用戶的指定以及Makefile.in文件生成makefile

    2.檢查依賴到的外部環(huán)境

make 

    根據(jù)makefile文件,構(gòu)建應(yīng)用程序,調(diào)用編譯器來完成編譯

make install 


編譯C源代碼:

    前提:提供開發(fā)工具及開發(fā)環(huán)境

    開發(fā)工具:make,gcc等

    開發(fā)環(huán)境:開發(fā)庫,頭文件

    glibc:標(biāo)準(zhǔn)庫

    通過“包組”提供開發(fā)組件:

        CentOS 6:"Development Tools","Server Platform Development"

        CentOS 7:"開發(fā)工具"

    

第一步:configure腳本

    選項:指定安裝位置、指定啟用的特性

        --help:獲取其支持使用選項


    安裝路徑設(shè)定:

        --prefix=/PATH/TO/SOMEWHERE :指定默認(rèn)安裝位置,默認(rèn)位為/usr/local

        --sysconfdir=/PATH/TO/SOMEWHERE :配置文件安裝路徑

        System types(系統(tǒng)類型): 交叉編譯可以用到

        Optional Features :可選特性

        --disable-FEATURE 禁用某特性

        --enable-FEATURE[=ARG] 啟用某特性

        Optional Packages:可選程序包,

        --with-PACKAGE[=ARG] 定義依賴的程序包

        --without-PACKAGE不需要依賴的程序包

第二步:make

第三步:make install 


安裝后的配置:

(1)導(dǎo)出二進制程序目錄至PATH環(huán)境變量中

    編輯文件/etc/profile.d/NAME.sh

    export PATH=/PATH/TO/BIN:$PATH

(2)導(dǎo)出庫文件路徑

    編輯/etc/ld.so.conf.d/NAME.conf

    添加新的庫文件所在目錄至此文件中

    /usr/local/apache2/lib

    讓系統(tǒng)重新生成緩存

    ldconfig [-v]

(3)導(dǎo)出頭文件到/usr/include

    基于鏈接的方式實現(xiàn):

    ln -sv

     導(dǎo)出目錄為一個符號鏈接

(4)導(dǎo)出幫助手冊

    編輯/etc/man_db.conf文件

    添加一個 MANPATH



這里以在CentOS 6.7上編譯安裝apache 2.2為例:

~]# cd httpd-2.2.29     --> 這里先切換到httpd目錄下
~]# ./configure --prefix=/usr/local/ --sysconfdir=/etc/httpd2.2   
~]# make 
~]# make install
~]# cd /usr/local
~]# ./httpd    --> 啟動http服務(wù)



6.開源程序的獲取方式

官方自建站點:

    apache.org(ASF項目)

    mariadb.org

    ...

代碼托管:

    SourceForge

    Github.com

    code.google.com 

    ...

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI