程序包管理器(上)
????????一個(gè)編譯好的二進(jìn)制程序應(yīng)用文件的組成部分有二進(jìn)制文件、庫(kù)文件、配置文件、幫助文件,用戶在安裝時(shí)設(shè)置繁瑣,而且在用戶升級(jí)、卸載等操作時(shí)更為麻煩。為了提升使用效率及自動(dòng)簡(jiǎn)化操作,這就迫在眉睫的需要有一款程序包管理器。。
程序包管理器的主要功能它到底有哪些呢?它的主要功能是將編譯好的應(yīng)用程序的各組成文件打包一個(gè)或多個(gè)程序包文件,從而方便快捷地實(shí)現(xiàn)程序包的安裝、卸載、查詢(xún)、升級(jí)和校驗(yàn)等管理操作。而現(xiàn)在主要有四種主流的程序包管理器:(1)Debian開(kāi)發(fā)的程序包管理器,程序包管理器叫做dpt程序包管理器,(2)RedHat公司的rpm程序包管理器,(3)Gentoo公司的程序包管理器 (4)ArchLinux程序包管理器。而這四個(gè)主流的程序包管理中的紅帽公司的程序包管理器已經(jīng)成為了Linux程序包的工業(yè)標(biāo)準(zhǔn),所以今天的主角是紅帽公司的rpm管理器。
我們今天會(huì)簡(jiǎn)單的介紹一下CentOS7系統(tǒng)上的rpm程序包管理器上的命令及使用。主要分為六部分:安裝、卸載、升級(jí)、查詢(xún)、校驗(yàn)、以及數(shù)據(jù)庫(kù)維護(hù)。
rpm :RPM程序包管理命令
????1)安裝
????????指導(dǎo)格式: ? ? rpm { -i | install } [ install-options ] PACKAGE_FILE ....
????????具體用法就是: rpm? { 安 裝 命 令 }? [ 安 裝 選 項(xiàng) ]? ? 程序包文件....
????-v:顯示詳細(xì)
????-vv:顯示更詳細(xì)的信息
????-h:以#號(hào)顯示安裝的進(jìn)度,每個(gè)#代表2%的進(jìn)度
????-i|install:安裝程序包,安裝后面可以跟具體的安裝程序包的選項(xiàng)
????????常用安裝選項(xiàng)有:
????--tet:測(cè)試安裝,但不會(huì)真正的執(zhí)行安裝過(guò)程,僅作測(cè)試使用.
????--nodeps:忽略程序包的依賴(lài)關(guān)系
????--replacepkgs:重新安裝程序包
????--nodigest:不檢查包的完整性
????--signature:不檢查包的來(lái)源合法性
????--noscipts:不執(zhí)行程序包的腳本片斷
????????????查看過(guò)命令使用信息后,大致演示一下安裝命令的使用方式:
????????????????
????????????????????????????
????????????????
????????????????
????????????????
2)升級(jí):
? ? ? ? ? ? 指導(dǎo)格式:rpm? {-U|--upgrade}? [install-options]? PACKAGE_FILE
?? ? ? ? rpm? {-F|--freshen}? [install-options]? PACKAGE_FILE??
此升級(jí)命令為兩類(lèi):
U|--upgrade:安裝是有舊版本的程序包-->升級(jí),如果沒(méi)有舊版本的程序包-->安裝.
F|freshen: 安裝時(shí)有舊版本的程序包-->升級(jí),如果沒(méi)有舊版本的程序包--> 不做操作
---lodpackage: 降級(jí)安裝包的版本
--force:進(jìn)行強(qiáng)制的操作
升級(jí)需要的注意事項(xiàng):
1、不要對(duì)內(nèi)核進(jìn)行升級(jí)操作,Linux支持多版本的內(nèi)核并存機(jī)制,因此可以直接安裝新版本的內(nèi)核即可.
2、如果原程序包的配置文件安裝后本修改、升級(jí)時(shí),新版本的配置文件不會(huì)覆蓋舊版本的配置文件,而是單獨(dú)新建一個(gè)以.rpmnew結(jié)尾的心配置文件.
????????因?yàn)樾〉軟](méi)有可用相應(yīng)的包,所以暫不演示升級(jí)操作.
3)查詢(xún):
????指導(dǎo)格式:rpm {-q|--query} [select-options] [query-options]
????????查詢(xún)選項(xiàng):
?? ????????-a:查找所有ALL
? ??-p:針對(duì)尚未安裝的包進(jìn)行查詢(xún)工作
? ? ? ? ? ? ? -f:查詢(xún)指定的文件是由哪個(gè)程序包生成
? ? ? ? ? ? ? -c:查詢(xún)程序包的配置文件信息
???????????????????? ?-d:查詢(xún)程序文檔
? ? ? ? ? ? ? -i:詳細(xì)信息
?? ????????????????? ?-l:查詢(xún)包的生成所有文件
??????????????????????-r:查詢(xún)指定的程序包所依賴(lài)的功能
?? ????????? ?--provides:列出指定程序包所提供的功能
????????????? --script:程序包自帶的腳本片斷
????????????????
????????????????
????????????????
????????????????
????????????????
????????
? ??
4)?卸載:
????????指導(dǎo)格式:rpm?{-e|--erase}? [--allmatches]? [--nodeps]
????????????????
????????
5) 校驗(yàn):
????????指導(dǎo)格式:rpm {-V|--verify} [select-options] [verify-options]
??????6)數(shù)據(jù)庫(kù)重建
?????????????????數(shù)據(jù)庫(kù)目錄: /var/lib/rpm
? ? ? ? ? ????????????????rpm {--initdb | --rebuilddb}
? ? ? ? ? ? ? ?????initdb: 初始化
? ? ? ? ? ? ? ? ? ? ????????????如果事先不存在數(shù)據(jù)庫(kù),則新建之,否則,不執(zhí)行任何操作;
? ? ? ? ? ? ? ?????rebuilddb:重建
? ? ? ? ? ? ? ? ? ? ????????????無(wú)論當(dāng)前存在與否,直接重新創(chuàng)建數(shù)據(jù)庫(kù) ?
????????????今天先寫(xiě)到這里,晚些時(shí)間我將繼續(xù)添加rpm包管理器的前端工具:yum工具,寫(xiě)的不是很具體到位,如果有哪里說(shuō)錯(cuò)了還請(qǐng)大神們指點(diǎn)一二,小弟拜謝~~
轉(zhuǎn)載于:https://blog.51cto.com/corazon/1689908
總結(jié)
- 上一篇: 转发离线安装 Android Studi
- 下一篇: HashMap为什么是线程不安全的?