站長(zhǎng)資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        程序包管理器

        程序包管理器:
        源代碼 –> 目標(biāo)二進(jìn)制格式(二進(jìn)制程序,庫(kù)文件,配置文件,幫助文件)–>組織成為一個(gè)或有限幾個(gè)“包”文件;
        安裝,升級(jí),卸載,查詢,校驗(yàn)

          安裝: -ivh, --nodeps, --replacepkgs  卸載: -e, --nodeps  升級(jí):-Uvh , -Fvh , --nodeps, --lodpackage  查詢:-q, -qa , -qf , -qi , -qd , -qc ,-q --scripts,  -q --changlog, -q --provides, -q --requires  校驗(yàn):-V        程序包管理器:                    debian : dpt, dpkg, ".deb"                  redhat: rpm                  S.U.S.E: rpm                    Gentoo: ports                  Archlinux:            源代碼:name-VERSION.tar.gz                  VERSION:major.minor.release                rpm包命名格式:                       name-VERSION-release.arch.rpm                               VERSION:major.minor.release                               release.arch:rpm包的發(fā)行號(hào)                                       relae.os:2.ei7.i386.rpm                                       archetecture:i386,x64(amd64),ppc,noarch                                redis-3.0.2.targz -->   redis-3.0.2-1.centos7.x64.rpm            拆包: 主包和支包                      主包:name-VERSION-release.arch.rpm                      支包:name-function-VERSION-release.arch.rpm

        前端工具:自動(dòng)解決依賴關(guān)系;
        yum:rhel系列系統(tǒng)上rpm包管理器的前端工具;
        apt-get(apt-cache):deb包管理器的前端工具;
        zypper:suse的rpm管理器的前端工具;
        dnf:Fedord 22+ 系統(tǒng)上rpm包管理器的前端工具;


          程序包管理器:                  功能:將編譯好的應(yīng)用程序的各組成文件打包成一個(gè)或幾個(gè)程序包文件,從而更方便地實(shí)現(xiàn)程序包的安裝,升級(jí),卸載和查詢等管理操作;            1.程序包的組成清單(每個(gè)程序包都單獨(dú)實(shí)現(xiàn));                      文件清單                      安裝或卸載時(shí)運(yùn)行的腳本              2.數(shù)據(jù)庫(kù)(公共)                          程序包的名稱和版本                          依賴關(guān)系                          功能說(shuō)明                          安裝生成的各文件的文件路徑及校驗(yàn)碼信息

        rpm包的數(shù)據(jù)庫(kù)
        [root@Centos7ip11 ~]# ls /var/lib/rpm
        Basenames db.002 Group Obsoletename Requirename Triggername
        Conflictname
        db.003 Installtid Packages Sha1header
        __db.001 Dirnames Name Providename Sigmd5

        獲取程序包的途徑:
        1.系統(tǒng)發(fā)行版的光盤或官方的文件服務(wù)器(或鏡像站點(diǎn));
        http://mirrors.aliyun.com
        http://mirrors.sohu.com
        http://mirors.163.com

                      2.項(xiàng)目的官方站點(diǎn)              3.第三方組織                          a.EPEL                          b.搜索引擎                                          https://pkgs.org/                                          http://www.rpmfind.net                                          http://rpm.pbone.net                  4.自動(dòng)動(dòng)手,    建議:檢查其合法性              來(lái)源合法性              程序包的完整性

        Centos系統(tǒng)上rpm命令管理程序包:
        安裝,升級(jí),卸載,查詢和校驗(yàn),數(shù)據(jù)庫(kù)維護(hù)

        http://www.runoob.com/linux/linux-comm-rpm.html

        安裝: [root@Centos7ip11 ~]# rpm -ivh zsh-5.0.2-28.el7.x86_64.rpm

                          rpm命令:                             選項(xiàng):                                     安裝:-i, --install                                   升級(jí):-U,--update, -F,--freshen                                  卸載:-e,--erase                                  查詢:-q,--query                                  校驗(yàn):-V,--verify                                  數(shù)據(jù)庫(kù)維護(hù):--builddb,--initdb                                    -h: bash marks輸出進(jìn)度條;每個(gè)#表示2%的進(jìn)度;                                  --test:測(cè)試安裝,檢查并報(bào)告依賴關(guān)系及沖突消息等;                                  --nodeps:忽略依賴關(guān)系;不建議;                                  --replacepkgs:重新安裝                                    注意:rpm可以自帶腳本;                                              四類: 都不執(zhí)行 --noscripts                                                      preinstall:安裝過(guò)程開始之前運(yùn)行的腳本,%pre , --nopre                                                      postinstall:安裝過(guò)程完成之后運(yùn)行的腳本,%post , --nopost                                                      preuninstall:卸載過(guò)程真正開始執(zhí)行之前運(yùn)行的腳本,%preun , -- nopreun                                                      postuninstall:卸載過(guò)程完成之后運(yùn)行的腳本,%postun , --nopostun                                                        --nosignature:不檢查包簽名信息,不檢查來(lái)源合法性;                                                      --nodigest:不檢查包完整性信息;

          升級(jí):                            [root@Centos7ip11 ~]# rpm -Uvh zsh-5.0.2-28.el7.x86_64.rpm                           [root@Centos7ip11 ~]# rpm -Fvh zsh-5.0.2-28.el7.x86_64.rpm                    選項(xiàng):                          -U : 升級(jí)或安裝;                          -F:升級(jí)                                --oldpackage :降級(jí);                              --force:強(qiáng)制升級(jí);                注意:                  1.不要對(duì)內(nèi)核做升級(jí)操作;linux支持多內(nèi)核版本并存,因此,直接安裝新版本內(nèi)核;                  2.如果某原程序包的配置文件安裝后曾被修改過(guò),升級(jí)時(shí),新版本的程序提供的同一個(gè)牌子文件不會(huì)覆蓋原有版本的配置文件,而是把新版本的配置文件重命名(FILENAME.rpmnew)后提供;

              卸載:                選項(xiàng):                      -e, --erase:卸載                      --allmatches:卸載所有匹配指定名稱的程序包的各版本;                      --nodeps:忽略依賴關(guān)系                      --test:測(cè)試卸載,dry run模式

        實(shí)例:
        [root@Centos7ip11 ~]# rpm -q zsh
        zsh-5.0.2-28.el7.x86_64
        [root@Centos7ip11 ~]# rpm -e zsh


        查詢:
        rpm {-q|–query} [select-options] [query-options]

                  選項(xiàng):            [select-options]                    -a, --all:查詢所有已經(jīng)安裝過(guò)的包;                  -f FILE:查詢指定的文件由哪個(gè)程序包安裝生成;                  -p,--package PACKAGE_FILE:用于實(shí)現(xiàn)對(duì)未安裝的程序包執(zhí)行查詢操作;                    --whatprovides CAPABILITY:查詢指定的CAPABILITY由哪個(gè)程序包提供;                  --whatrequires  CAPABILITY:查詢指定的CAPABILITY 被哪個(gè)包依賴;        [query-options]                           --changelog:查詢r(jià)pm包的changlog;                          -l,--list:程序安裝生成的所有文件列表;                          -i,--info:程序包相關(guān)的信息,版本號(hào),大小,所屬的包組,等;                          -c,--configfiles:查詢指定的程序提供的配置文件;                          -d,--docfiles:查詢指定的程序包提供的文檔;                          -provides:列出指定的程序包提供的所有的CAPABILITY;                          -R,--requires:查詢指定的程序包的依賴關(guān)系;                          --scripts:查看程序包自帶的腳本片段;        用法:              -qi              -qf              -qc              -ql              -qd              -qpi              -qpl

        實(shí)例:

                          [root@Centos7ip11 ~]# rpm -q --whatprovides bash                  bash-4.2.46-31.el7.x86_64                    [root@Centos7ip11 ~]# rpm -q --provides bash                  /bin/bash                  /bin/sh                  bash = 4.2.46-31.el7                  bash(x86-64) = 4.2.46-31.el7                  config(bash) = 4.2.46-31.el7

        校驗(yàn):
        rpm -V|-y|–verify [verify-options]

                               5      MD5校驗(yàn)和                         S      文件大小                         L      符號(hào)連接                         T      修改時(shí)間                         D      設(shè)備                         U      用戶                         G      組                         M      模式(包括許可和文件類型)

              包來(lái)源合法性驗(yàn)證和完整性驗(yàn)證:                            來(lái)源合法性驗(yàn)證:                          完整性驗(yàn)證:                    獲取并導(dǎo)入信任的包制作者的密鑰:                                  對(duì)于CentOS發(fā)行版來(lái)說(shuō):rpm --import  /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7                    驗(yàn)證:                          1.安裝此組織簽名的程序時(shí),會(huì)自動(dòng)執(zhí)行驗(yàn)證;                          2.手動(dòng)驗(yàn)證:rpm -k PACKAGE_FILE

        數(shù)據(jù)庫(kù)重建:
        rpm管理器數(shù)據(jù)庫(kù)路徑:/var/lib/rpm/
        查詢操作:通過(guò)此處的數(shù)據(jù)庫(kù)進(jìn)行;

                      rpm    {--initdb | --rebuilddb} {--dbpath DIRECTORY} [--root DIRECTORY]                  對(duì)這些模式唯一的選項(xiàng)是--dbpath                  --initab: 初始化數(shù)據(jù)庫(kù),當(dāng)前無(wú)任何數(shù)據(jù)庫(kù)可實(shí)現(xiàn)初始化創(chuàng)建一個(gè)新的;當(dāng)前有時(shí)不執(zhí)行任何操作;                  --rebuilddb:重新構(gòu)建,通過(guò)讀取當(dāng)前系統(tǒng)上所有已經(jīng)安裝過(guò)的程序包進(jìn)行重新創(chuàng)建;                        ~]# rpm --initdb --dbpath=/tmprpm 

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)
        主站蜘蛛池模板: 久久精品亚洲欧美日韩久久| 无码日韩人妻精品久久蜜桃| 夜夜精品无码一区二区三区| 九九热在线视频观看这里只有精品| 无码人妻精品一区二区三区99不卡| 久久精品国产一区| 欧美精品亚洲精品日韩传电影| 久久精品一区二区三区中文字幕| 亚洲国产精品久久久久网站| 2020国产精品永久在线| 无码精品久久久久久人妻中字| 久久亚洲精品无码观看不卡| A级毛片无码久久精品免费| www国产精品| 国产精品特级毛片一区二区三区| 亚洲精品无码不卡在线播放HE| 久久久久久亚洲精品不卡 | 精品综合久久久久久888蜜芽| 老湿亚洲永久精品ww47香蕉图片| 国产精品女人呻吟在线观看| 9re热国产这里只有精品| 在线人成精品免费视频| 国产一区二区精品久久| 国产午夜精品无码| 精品国偷自产在线| 欧洲精品色在线观看| 全球AV集中精品导航福利| 亚洲国产精品无码久久久蜜芽 | 亚洲国产精品不卡毛片a在线 | 国产精品99久久久久久猫咪| 91麻精品国产91久久久久| 中文字幕精品一区影音先锋| 久久精品国产亚洲综合色| 色偷偷888欧美精品久久久| 秋霞久久国产精品电影院| 亚洲精品小视频| 国产成人精品一区在线| 国产久爱免费精品视频| 精品久久久无码中文字幕天天 | 国产色婷婷五月精品综合在线| 国产精品亚洲一区二区三区在线|