欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

linux程序包管理--rpm命令管理方式

1.概述
API:Application Program Interface
ABI:Application Binary Interface
    Unix-like
        ElF
    windows
        exe,msi
庫級(jí)別的虛擬化    winE(linux上運(yùn)行模擬windows)
    cywin(windows上運(yùn)行模擬linux)
系統(tǒng)級(jí)開發(fā):
    C/C++:httpd,vsftpd,nginx
    go
應(yīng)用級(jí)開發(fā):
    java/Python/perl/ruby/php:
        java:hadoop,hbase(jvm)
        Python:openstack(pvm)C/C++程序格式:
    源代碼:文本格式的程序代碼
        編譯開發(fā)環(huán)境:編譯器,頭文件,開發(fā)庫
    二進(jìn)制格式:文本格式的程序代碼-->編譯器-->二進(jìn)制格式(二進(jìn)制程序,庫文件,配置文件,幫助文件)
        Java/Python程序格式:
            源代碼:編譯成能夠在其虛擬機(jī)上(jvm/pvm)運(yùn)行的格式;
                開發(fā)環(huán)境:編譯器、開發(fā)庫
            二進(jìn)制:
    項(xiàng)目構(gòu)建工具:
        c/c++:make
        java:maven
        編譯順序由項(xiàng)目構(gòu)建工具自行決定(開發(fā)者已設(shè)置好編譯順序)
2.程序包管理器
源代碼-->目標(biāo)二進(jìn)制格式-->組織稱為一個(gè)或有限幾個(gè)“包”文件;
    安裝、升級(jí)、卸載、查詢、校驗(yàn)

程序包管理器:

創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站與策劃設(shè)計(jì),漯河網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:漯河等地區(qū)。漯河做網(wǎng)站價(jià)格咨詢:18982081108

debian(Ubuntu):dpt,工具:dpkg,程序包以“.deb”結(jié)尾
redhat:redhat package manager ,rpm,".rpm";rpm is package manager;
S.u.S.E:rpm ,'.rpm'Gentoo:portsArchLinux:
3.程序包的組成格式
源代碼:name-VERSION.tar.gz
    VERSION:major.minor.releaserpm包命名格式:
    name-VERSION-release.arch.rpm
        VERSION:major.minor.release
        release.arch:rpm包的發(fā)行號(hào)
            release.os:2.el7.i386.rpm
             archetecture(架構(gòu)):i386,x64(amd64),ppc,noarch(沒平臺(tái)要求,可以使用在任意平臺(tái)架構(gòu)上)rpm拆包:主包和支包
    主包:name-VERSION-release.arc.rpm
    支包:name-function-VERSION-release.arc.rpm
        function:devel(開發(fā)包),utils(工具程序),libs(庫文件)依賴關(guān)系
    X,Y,Z 
        X-->Y,Z
            Y-->A,B,C
            C-->Y
前端工具:自動(dòng)解決依賴關(guān)系;
        yum :rhel系列系統(tǒng)上rpm包管理器的前端工具;    
        apt-get(apt-cache):deb包管理器的前端工具
        zypper:suse的rpm管理器前端工具
        dnf:Fedora 22+系統(tǒng)上rpm包管理器的前端工具
4.程序包管理器功能和組成部分
功能:將編譯好的應(yīng)用程序的各組成文件打包成一個(gè)或幾個(gè)程序包文件,從而更方便地實(shí)現(xiàn)程序包的安裝、升級(jí)、卸載和查看1.程序包的組成清單(每個(gè)程序包都單獨(dú)實(shí)現(xiàn));
    文件清單
    安裝和卸載時(shí)運(yùn)行的腳本2.數(shù)據(jù)庫(公共)
    程序包的名稱和版本
    依賴關(guān)系
    功能說明
    安裝生成的各文件路徑及校驗(yàn)碼信息;
    等等等    
    CentOS上的程序包數(shù)據(jù)庫位置/var/lib/rpm/
5.獲取程序包的途徑
(1)系統(tǒng)發(fā)行版的光盤或官方的文件服務(wù)器(或鏡像站點(diǎn));
    http://mirrors.aliyun.com
    http://mirrors.sohu.com,
    http://mirrors.163.com(2)項(xiàng)目的官方站點(diǎn)
(3)第三方組織制作的rpm包:
    (a)EPEL:
    (b)搜索引擎查找
        http://pkgs.org
        http://rpm.pvone.net
        http://rpmfind.netstat(4)自己動(dòng)手,豐衣足食
建議:檢查其合法性(完整性)
    來源合法性:
    程序包的完整性;
6.CentOS系統(tǒng)上rpm命令管理程序包

命令介紹

安裝、升級(jí)、卸載、查詢和校驗(yàn)、數(shù)據(jù)庫維護(hù)rpm命令:rpm [OPTION] [PACKAGE_FILE]
    安裝:-i,--install
    升級(jí):-U,--update,-F,-freshen
    卸載:-e,--erase
    查詢: -q,--query
    校驗(yàn):-V ,--verify
    數(shù)據(jù)庫維護(hù):--builddb,--initdb

rpm包安裝

rpm {-i|--install} [install-options] PACKAGE_FILE ...
    
    rpm -ivh PACKAGE_FILE...
    
    GENERAL OPTIONS:
        -v:verbose,詳細(xì)信息      
        -vv:更詳細(xì)的輸出        
        [install-options]
            -h:hash marks輸出進(jìn)度條;每個(gè)#表示2%的進(jìn)度    
            --test:測(cè)試安裝,檢查并報(bào)告依賴關(guān)系及沖突消息等;         
            --nodeps:忽略依賴關(guān)系,不建議使用,安裝后會(huì)不能使用;         
            --replacepkgs:重新安裝:rpm -ivh --replacepkgs zsh-5.0.2-7.el7.x86_64.rpm           
            --nodigest:不檢查包的完整性信息          
            --nosignature:不檢查包的來源信息及包的完整性注意:rpm可以自帶腳本;
    四類: --noscripts
        preinstall:安裝過程開始之前運(yùn)行的腳本,%pre: --nopre
        postinstall:安裝過程完成以后運(yùn)行的腳本:%post --nopost
        preuninstall:卸載過程真正開始執(zhí)行之前運(yùn)行的腳本,%preun --nopreun
        postuninstall卸載過程完成以后運(yùn)行的腳本,%postun --nopostun

rpm包升級(jí)

rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...
rpm {-F|--freshen} [install-options] PACKAGE_FILE ...
-U:升級(jí)或安裝-F:升級(jí),如果老版本不存在,則不進(jìn)行安裝     rpm -Uvh PACKAGE_FILE ...
     
    rpm -Fvh PACKAGE_FILE ... 
    
    --oldpackage:降級(jí)安裝;
    --force:強(qiáng)制升級(jí);
注意:(1)不要對(duì)內(nèi)核做升級(jí)操作。linux 支持多內(nèi)核版本并存,因此,直接安裝新版本內(nèi)核;
      (2)如果某源程序包的配置文件安裝后曾修改過,升級(jí)時(shí)。新版本的程序提供的同一個(gè)配置文件不會(huì)覆蓋原有版本的配置文件。而是把新版本的配置文件重命名(FILENAME.rpmnew)后提供;

卸載:

rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts]
       [--notriggers] [--test] PACKAGE_NAME ...--llmatches:卸載所有匹配指定名稱的程序包的各版本--nodos:忽略依賴關(guān)系--test:測(cè)試卸載,dry run 模式rpm -e zsh

查詢

rpm {-q|--query} [select-options] [query-options] 
1. [select-options]
    rpm -q PACKAGE_NAME:查詢指定的程序包是否已安裝,及其版本;
    -a,--all:查詢所有已經(jīng)安裝過的包  
    -f FILE:查詢指定的文件由哪個(gè)程序安裝生成  
    -p,--package PACKAGE_FILE:用于實(shí)現(xiàn)對(duì)未安裝的程序包做查詢操作。   
    --whatprovides CAPABILITY:查詢指定的CAPABILITY(能力)由哪個(gè)程序包提供      
       bin]# rpm -q --whatprovides config\(bash\)
        bash-4.1.2-40.el6.x86_64
        rpm -q --whatprovides zprof.so'()(64bit)'
    --whatrequires CAPABILITY:查詢指定的CAPABILITY(能力)被哪個(gè)包所依賴;
2.[query-options] 
    --changlog:查詢  
    -l,--list :安裝生成的所有文件列表  
    -i,--info :查詢程序包相關(guān)的information,版本號(hào),大小,所屬的組,等  
    -c,--configfiles:查詢指定的程序包的配置文件  
    -d,--docfiles:查詢指定的程序包提供的幫助文檔    
    --provides:列出指定的程序包的所有CAPABILITY(能力)      
        bin]# rpm -q --provides bash
        config(bash) = 4.1.2-40.el6
        bash = 4.1.2-40.el6
        bash(x86-64) = 4.1.2-40.el6
    -R,--requires:查詢指定的程序包的依賴關(guān)系;  
    --scripts:查看程序包自帶的腳本片段;用法:
    -qi PACKAGE:信息,qf FILE 文件由哪個(gè)包安裝來,qc PACKAGE配置文件,ql PACKAGE:安裝生成的文件列表,-qd,提供的幫助文檔qpi,qpl,qpc...查詢未安裝的程序包的信息。

校驗(yàn):

rpm -V zsh #校驗(yàn)rpm安裝后有沒有被修改過
   S file Size differs
   M Mode differs (includes permissions and file type)   5 digest (formerly MD5 sum) differs
   D Device major/minor number mismatch
   L readLink(2) path mismatch
   U User ownership differs
   G Group ownership differs
   T mTime differs
   P caPabilities differ
    [root@CentOS6 bin]# rpm -V zsh
    S.5....T.  c /etc/zshrc
rpm {-V|--verify} [select-options] [verify-options]

包來源合法性驗(yàn)證和完整性驗(yàn)證:

來源合法性驗(yàn)證:
    數(shù)字簽名:
完整性驗(yàn)證
rpm --import /media/cdrom/RPM-GPG-KEY-GentOS-7導(dǎo)入密鑰信息
rpm -K zsh-5.0.2-14.el7.x86_64.rpm
獲取并導(dǎo)入信任的包制作者的密鑰:
    對(duì)于CentOS發(fā)行版本來說:rpm --import /etc/pki/rpm-gpg/RPM-KEY-CentOS-7驗(yàn)證:
    (1)安裝此組織簽名的程序時(shí),會(huì)自動(dòng)執(zhí)行驗(yàn)證
    (2)手動(dòng)過驗(yàn)證:rpm -K PACKAGE_NAME

數(shù)據(jù)庫重建:

rpm管理器數(shù)據(jù)庫路徑:/var/lib/rpm
    查詢操作:通過此處的數(shù)據(jù)庫進(jìn)行;
    
獲取幫助:    CentOS6:man rpm    CentOS 7:man rpmdb
rpm {--initdb|--rebuilddb}[-v] [--dbpath DIRECTORY] [--root DIRECTORY]
    --initdb:初始化數(shù)據(jù)庫,當(dāng)前無任何數(shù)據(jù)庫可初始化創(chuàng)建一個(gè)新的;當(dāng)前有時(shí)不執(zhí)行任何操作
    --rebuilddb  :重新構(gòu)建,通過讀取當(dāng)前系統(tǒng)上所有已安裝過的程序包進(jìn)行重新創(chuàng)建;

 

文章標(biāo)題:linux程序包管理--rpm命令管理方式
本文URL:http://chinadenli.net/article40/gogceo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)微信小程序自適應(yīng)網(wǎng)站網(wǎng)站排名網(wǎng)站收錄企業(yè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)