最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
CentOS系統(tǒng)上如何實(shí)現(xiàn)軟件包管理

這篇文章主要介紹了CentOS系統(tǒng)上如何實(shí)現(xiàn)軟件包管理,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

創(chuàng)新互聯(lián),專注為中小企業(yè)提供官網(wǎng)建設(shè)、營(yíng)銷型網(wǎng)站制作、成都響應(yīng)式網(wǎng)站建設(shè)公司、展示型網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)等服務(wù),幫助中小企業(yè)通過網(wǎng)站體現(xiàn)價(jià)值、有效益。幫助企業(yè)快速建站、解決網(wǎng)站建設(shè)與網(wǎng)站營(yíng)銷推廣問題。

        軟件包管理
CentOS系統(tǒng)上使用rpm命令管理程序包
安裝、卸載、升級(jí)、查詢、檢驗(yàn)、數(shù)據(jù)庫(kù)維護(hù)

rpm安裝:
        rpm {-i|--install} [安裝-選項(xiàng)] 打包;包
        -h  以#符號(hào)表示安裝進(jìn)度
        -v  顯示安裝過程中的詳細(xì)信息
        -vv
        -vvv
        經(jīng)常使用組合:-ivh,ivvh
        例如 rpm -ivh 包文件
        安裝時(shí)的選項(xiàng):
        --test    測(cè)試安裝,但不真正執(zhí)行安裝,僅報(bào)告依賴關(guān)系以及沖突信息等
        --nodeps  忽略依關(guān)系,副作用是能安裝成功,但未必能運(yùn)行成功
        --replacepkgs  覆蓋安裝--重新安裝并覆蓋原有的文件
        --nosignature  不被監(jiān)測(cè)來源合法性
        --nodigest     不檢查包完整性
        --noscipts     不執(zhí)行程序包腳本的片斷
        --foree        強(qiáng)制安裝
       
rpm包升級(jí):
         rpm {-U|--upgrade} [安裝-選項(xiàng)] 打包;包
              -U   升級(jí)或安裝
               upgrade:安裝有舊版程序包,則“升級(jí)”  如果不存在舊版程序包,則“升級(jí)”
         rpm {-F|--freshen} [安裝-選項(xiàng)] 打包;包
              -F   升級(jí)
               freshen:安裝有舊版程序包,則“升級(jí)”  如果不存在舊版程序包,則不執(zhí)行升級(jí)操作
        常用組合:-Uvh,Fvh
        例如  rpm -Uvh 包文件
        升級(jí)選項(xiàng):
        --oldpackage      降級(jí)
        --force           強(qiáng)制升級(jí)
升級(jí)時(shí)需要注意事項(xiàng):
1  不要對(duì)內(nèi)核執(zhí)行升級(jí),Linux 支持多個(gè)內(nèi)核共存,可以對(duì)此直接安裝新版本內(nèi)核或不同版本的內(nèi)核
2   如果程序包的配置文件安裝后被修改,升級(jí)時(shí),新版本的文件不會(huì)覆蓋老版本的配置文件。而是把新版本的文件重命名加上后綴(.rpmnew) 之后保留

rpm包查詢:
         rpm {-q|--query}[選擇-選項(xiàng)][查詢選項(xiàng)]
         安裝選項(xiàng)                                                     ~]# rpm -q tree 后面準(zhǔn)確查找包名   
         -a 所有包、                                                 ~]# rpm -qa     查詢當(dāng)前系統(tǒng)安裝的所有包  ~]# rpm -qa |grep "^tr"  管道給關(guān)鍵字查找,以tr開頭的包名
         -f 查看指定的文件由哪個(gè)程序安裝生成                          ~]# rpm -qf /etc/issue   查詢文件是哪個(gè)包生成  
         -p  rpmfuile 針對(duì)尚未安裝程序包文件做查詢操作;              ~]# rpm -qp tree-1.6.0-10.el7.x86_64.rpm
         --whatprovides 性能進(jìn)程 查詢指定的性能進(jìn)程有哪個(gè)包所提供     ~]# rpm -q tree --whatprovides  查詢這個(gè)功能是由哪個(gè)包所提供
         --whatrequires 性能進(jìn)程 查詢指定的性能進(jìn)程被哪個(gè)包所依賴     ~]# rpm -q bash --whatrequires  查詢這個(gè)功能是被哪個(gè)包所依賴 
         rpm2cpio 包文件|cpio -itv  預(yù)覽包內(nèi)的文件                    ~]# rpm2cpio tree-1.6.0-10.el7.x86_64.rpm |cpio -itv
rpm2cpio 包文件|cpio -id   "*.conf" 釋放包內(nèi)文件
         查詢選項(xiàng):
         --changelog 查詢r(jià)pm包的變動(dòng)日志                              ~]# rpm -qc tree --changelog
         -c   查詢程序的配置文件  
         -d   查詢程序的文檔                                          ~]# rpm -qd tree
         -i   信息                                                    ~]# rpm -qi tree
         -l   查看指定的程序包安裝后生成的所有文件                    ~]# rpm -ql tree
         --scripts 程序包自帶的腳本片斷                               ~]# rpm -q bash --scripts
         -R   查詢指定的程序包所依賴的 性能進(jìn)程                       ~]# rpm -qR bash
         --provides  ;列出指定程序包所提供的 性能進(jìn)程                ~]# rpm -q bash --provides

rpm卸載:
        rpm  {-e|--erase}
         --allmatches      移除所有符合 的軟件包(如果 被指定未多個(gè)軟件包,常常會(huì)導(dǎo)致錯(cuò)誤出現(xiàn))
         --nodeps                         不驗(yàn)證軟件包依賴
         --noscripts                      不執(zhí)行軟件包腳本
         --notriggers                     不執(zhí)行本軟件包觸發(fā)的任何腳本
         --test                           不真正安裝,只是判斷下是否能安裝
包檢驗(yàn):rpm {-V|--verify}
               --nofiledigest                   不驗(yàn)證文件摘要
               --nofiles                        不驗(yàn)證軟件包中文件
               --nodeps                         不驗(yàn)證包依賴
               --noscript                       不執(zhí)行驗(yàn)證腳本

導(dǎo)入所需要公鑰:
 ~]# rpm -K tree-1.6.0-10.el7.x86_64.rpm   檢查包的完整性和簽名
      
rpm數(shù)據(jù)庫(kù):
        數(shù)據(jù)庫(kù)重建: /var/lib/rpm
        rpm {--initdb|--rebuilddb}
        initdb  初始化
        如果時(shí)間不存在數(shù)據(jù)庫(kù),則新建之,否則 不執(zhí)行任何操作
        rebuilddb 重建數(shù)據(jù)庫(kù)  無論當(dāng)前存在與否,直接重新創(chuàng)建數(shù)據(jù)庫(kù)            
 
 
 
rpm命令實(shí)現(xiàn)程序管理   主要核心命令
安裝:-vih,--nodeps,--replacepkgs
卸載:-e,--nodeps
升級(jí):-Uvh,-Fvh,--nodeps,--oldpackage
查詢:-q,-qa,-qf,-qi,-qc,-q --scripts, -q --chanlog, -q --provides,-q--requires
校驗(yàn):-V
導(dǎo)入GPG密鑰:--import,-K,--nodigest,--nosignature
數(shù)據(jù)庫(kù)重建:--initdb,--rebuilddb                                  
===========================================================

yum

    yum是rpm的前端程序,用來解決軟件包相關(guān)依賴性,可以在多個(gè)庫(kù)之間定位軟件包,
資源庫(kù): 存儲(chǔ)了眾多rpm包,以及包的相關(guān)的元數(shù)據(jù)文件(放置于特定目錄repodata下)
    文件服務(wù)器:ftp:
                http://
                file:///

yum配置文件:
           /etc/yum.conf              主配置文件為所有倉(cāng)庫(kù)提供數(shù)據(jù)
           /etc/yum.repos.d/*.repo    為倉(cāng)庫(kù)的指向提供配置
           創(chuàng)庫(kù)指向的定義:
           文件以.repo 結(jié)尾;
           root@Compro ~]# cat /etc/yum.repos.d/base.repo
           [base]                       提供配置信息
           name=CentOS 7                當(dāng)前倉(cāng)庫(kù)的名稱
           baseurl=http://10.1.0.1/cobbler/ks_mirror/CentOS-7-x86_64/    教室里的yum源
           enabled=1                    此倉(cāng)庫(kù)是否為可用
           gpgcheck=0                   是否對(duì)程序包做校驗(yàn)
           gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7    指明訪問密鑰路徑的路徑

           [倉(cāng)庫(kù)ID]     對(duì)于當(dāng)前系統(tǒng)的yum來將,此倉(cāng)庫(kù)ID用于唯一標(biāo)識(shí)此倉(cāng)庫(kù)指向,因此,必須唯一
           name=name    當(dāng)前倉(cāng)庫(kù)描述信息名稱
           baseurl=url://path/to/repository/  
           enabled={1|0}    此倉(cāng)庫(kù)是否可被使用 1是 禁用0是可以 不寫是默認(rèn)
           gpgcheck={1|0}   是否對(duì)程序包做校驗(yàn) 
           gpgkey=          指明gpgkey文件路徑
           cost= 默認(rèn)為1000
          

如果使用光盤當(dāng)作本地yum倉(cāng)庫(kù):
掛載光盤至某目錄,例如/media/cdrom
#mount /dev/cdrom /media/cdrom
創(chuàng)建配置文件:
[CentOS7]
name=自定義                  當(dāng)前倉(cāng)庫(kù)描述信息
baseurl=指明資源庫(kù)的訪問路徑,通常為一個(gè)文件服務(wù)器上輸出的某資源庫(kù),支持的類型:ftp://;http://;file:///
gpgcheck={1|10}          是否對(duì)程序包做校驗(yàn)
enabled={1|10}         此倉(cāng)庫(kù)上是否可用,默認(rèn)為可用          

yum命令的語法: yum [選項(xiàng)] [命令] [包]
yum顯示倉(cāng)庫(kù)列表:
                yum repolist [all|enabled|disabled]
顯示程序包:
          yum list
          yum list [all | glob_ exp1 ] [glob_exp2] ...            
          yum list {available|installed|updates}[glob_exp1]...     
安裝程序包:
          yum install 包1 [包2] ...
          yum reinstall 包1 [包2]...         重新安裝
升級(jí)程序包:
          yum update [包1][包2]...
          yum downgrade 包1 [包2]...      降級(jí)
卸載程序包:
          yum remove | erase 包1 [包2]  ...                     
               
查看程序包的信息:
          yum info name
查看指定的特性(可以是某文件)是由那個(gè)程序包所提供
yum provides | whatprovides 特性1 [特性2] ...               

清理本地緩存:
          yum clean [包|元數(shù)據(jù)|expire-cache|rpmdf|plugins|all]
構(gòu)建緩存:
         yum makecache           
 
搜索:
    yum  search 字符串1 [字符串2]
    以指定的關(guān)鍵字搜索程序包名及summary信息 
查看指定包所依賴的capabilities
        yum deplist 包1 [包2] ...
查看 yum事務(wù)歷史
               yum history
              
日志:
     /var/log/yum.log
    
安裝及升級(jí)本地程序包
         yum install rpmfile1 [rpmfile2] ...
         yum update  rpmfile1 [rpmfile2] ...
包組管理的相關(guān)命令:
         yum groupinstall group1
         yum groupupdate group1
         yum grouplist [hidden][groupwildcard]
         yum groupremove group1
         yum groupinfo group1
        
    
如何使用光盤當(dāng)作本地yum倉(cāng)庫(kù)
 
掛載光盤至某目錄
          例如 /media/crom  # mount /dev/cdrom /media/crom
          創(chuàng)建配置文件
          [CentOS7]
          name=name
          baseurl=file:/// 
          gpgcheck=0
          enabled=1   
yum 的命令行選項(xiàng)
yum [選項(xiàng)] 包
     --nogpgcheck     禁止進(jìn)行g(shù)pg check
     -y               自動(dòng)回答為"yes"
     -q               靜默模式
     --disablerepo=repoidglob     臨時(shí)禁用此處指定的repo
     --enablerepo=repoidglob     臨時(shí)啟動(dòng)此處指定的repo
     --noplugins                 禁用所有插件
    
 
 =================================================================
 

                    源碼編譯 
程序包編譯安裝:
Application-VERSION-release.src.rpm-->
安裝后,使用rpmbuild命令制作成二進(jìn)制格式的rpm包,而后再安裝
源代碼-->預(yù)處理-->編譯-->匯編-->鏈接-->執(zhí)行

源代碼組織格式:
多文件:文件中的代碼之間,很可能存在跨文件依賴關(guān)系
C、C++:make (項(xiàng)目管理器,configure -->
Makefile.in --> makefile)
java: maven

C代碼編譯安裝三步驟:
                    ./configure
                    通過選項(xiàng)傳遞參數(shù),指定啟動(dòng)特性、安裝路徑等;
                    執(zhí)行時(shí)會(huì)參考用戶的指定以及makefile.in文件生成makefile
                    檢查依賴到的外部環(huán)境,如依賴的軟件包
                    [cdrom]
                    name=centos 7 cdrom
                    baseurl=file:///mnt/cdrom
                    gpgcheck=0
                    enabled=0                  
                    make    根據(jù)makefile文件,構(gòu)建應(yīng)用程序
                    make install   復(fù)制文件到相應(yīng)路徑
開發(fā)工具:
         autoconf: 生成configure腳本
         automake:生成Makefile.in
         注意:安裝前查看 安裝自帶文檔
開源程序源代碼的獲?。?br/>官方自建站點(diǎn):
apache.org (ASF:Apache Software Foundation)
mariadb.org
...
代碼托管:
SourceForge.net
Github.com
code.google.com
c/c++編譯器: gcc(GNU C Complier)

編譯C源代碼:
       準(zhǔn)備:提供開發(fā)工具及開發(fā)環(huán)境
             開發(fā)工具:make,gcc等
             開發(fā)環(huán)境:開發(fā)庫(kù),頭文件
             glibc:標(biāo)準(zhǔn)庫(kù)
       實(shí)現(xiàn):通過“包組”提供開發(fā)組件
CentOS 6:
Development Tools
Server Platform Development
CentOS 7:
Development Tools
Development and Creative Workstation

編譯安裝:
        第一步:configure 腳本
        選項(xiàng):指定安裝位置、指定啟用的特性
        安裝路徑設(shè)定:./configure --prefix=/usr/local/http2 --sysconfdir=/etc/http2/
可選特性:
--disable-FEATURE
--enable-FEATURE[=ARG]
可選包:
--with-PACKAGE[=ARG],依賴包
--without-PACKAGE,禁用依賴關(guān)系    
    
安裝后的配置:
二進(jìn)制程序目錄導(dǎo)入至PATH環(huán)境變量中;
編輯文件:
 [root@Compro ~]# vim /etc/profile.d/http2.sh
 PATH=$PATH:/usr/local/http2/bin

導(dǎo)入庫(kù)文件路徑:
 編輯/etc/ld.so.conf.d/NAME.conf
 添加新的庫(kù)文件所在目錄至此文件中
讓系統(tǒng)重新生成緩存:
 ldconfig[-v]   
    
導(dǎo)入頭文件
基于鏈接的方式實(shí)現(xiàn):
ln -sv

導(dǎo)入幫助手冊(cè)
編輯/etc/man.config|man_db.conf文件
添加一個(gè)MANPATH    
[root@Compro ~]# vim /etc/man_db.conf
MANDATORY_MANPATH /usr/local/http2/ma

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“CentOS系統(tǒng)上如何實(shí)現(xiàn)軟件包管理”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!


名稱欄目:CentOS系統(tǒng)上如何實(shí)現(xiàn)軟件包管理
當(dāng)前地址:http://fisionsoft.com.cn/article/pihopi.html