真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

程序包管理器rpm和yum的使用

這篇文章主要為大家詳細(xì)介紹了程序包管理器rpm和yum的使用,文中示例代碼介紹的非常詳細(xì),圖文詳解容易學(xué)習(xí),非常適合初學(xué)者入門,感興趣的小伙伴們可以參考一下。

創(chuàng)新互聯(lián)建站專注于潁州企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,商城系統(tǒng)網(wǎng)站開發(fā)。潁州網(wǎng)站建設(shè)公司,為潁州等地區(qū)提供建站服務(wù)。全流程按需求定制網(wǎng)站,專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務(wù)

在早期我們在Linux上安裝程序時,都采用的源代碼來安裝應(yīng)用程序,這就意味著我們每次都要經(jīng)過預(yù)處理,編譯,匯編,鏈接最后生成可執(zhí)行的二進(jìn)制文件;這樣的操作太過繁瑣,為簡化安裝步驟,便于廣大用戶的安裝部署程序,程序提供商就在特定的系統(tǒng)上面編譯好相關(guān)程序的安裝文件并進(jìn)行打包,提供給大家下載,而對這些程序包進(jìn)行管理的就是程序包管理器;  

  不同Linux發(fā)行版本,就有不同的程序包管理器;在這里列舉一些常用的程序包管理器;

  在Debian中dpkg工具來管理所有.deb后綴名的包文件;Redhat中就使用最為經(jīng)典的rpm程序包管理器,rpm是Linux的程序包管理器的行業(yè)標(biāo)準(zhǔn),使用perl語言編寫,在此基礎(chǔ)上有人用C語言對其進(jìn)行重新編寫,提高了其運行效率;dpkg最早是由 Debian Linux 社群所開發(fā)出來的, 只要是衍生亍 Debian 的其他 Linux distributions 大多使用 dpkg 這個機制來管理軟件的, 包括B2D, Ubuntu 等等,其前端工具有apt-get;

  在這里給大家主要介紹關(guān)于rpm程序包管理器的相關(guān)功能;

  首先必須要清楚關(guān)于rpm的源代碼包以及二進(jìn)制包的命名規(guī)則,能夠熟悉其中所給予的信息;

  源代碼包:software_name-VERSION.src.rpm

  二進(jìn)制包:software_name-VERSION-[release].[os].arch.rpm

  software_name:軟件名;

  VERSION:版本號,分為主版本號major,次版本號minor以及發(fā)行版本號release

  [os]:所支持的操作系統(tǒng)版本信息,el6,el7,suse11,fedora22...

  arch:硬件平臺類型,i386,i686,x64,ppc,sparc,noarch

  rpm在制作時,制作者通常會制作主包和次包兩種,二者存在依賴關(guān)系,即先安裝某部分程序才能按照他所依賴的部分進(jìn)行接下去的安裝,否則,安裝無法進(jìn)行;

  主程序包:

  software_name-VERSION-[release].[os].arch.rpm

  附屬功能包:

  software_name-function-VERSION-[release].[os].arch.rpm

  rpm命令行工具:

  ①可以將編譯好的程序進(jìn)行打包,封裝在一起;

  ②可以進(jìn)行安裝,卸載,查看,升級,校驗及數(shù)據(jù)庫管理功能;

  在使用rpm程序包進(jìn)行安裝時,rpm程序管理器會自動生成程序的文件,文件清單(保存文件名和依賴   關(guān)系)以及在安裝程序所需要的一些固定的腳本內(nèi)容如安裝前腳本preinstall,安裝后腳本

  postinstall,卸載前腳本preunistall,卸載后腳本postunistall等;還需要安裝rpm數(shù)據(jù)庫,對所   安裝的程序進(jìn)行比對,看是否版本為最新;該數(shù)據(jù)庫路徑為/var/lib/rpm;在進(jìn)行安裝,卸載等操作   時,要在光盤掛載點下的Packets下進(jìn)行;

  rpm命令:

  -v:顯示安裝例程的詳細(xì)信息;

  -vv:顯示非常詳細(xì)的安裝信息;

  安裝: 

  rpm {-i|--install} [install-options] PACKAGE_FILE ... 

  install-option:

     -h,--hash:用50個#來表示安裝進(jìn)度;

     --test:并不是真正的安裝軟件包,僅僅測試在安裝時能否正常完成,如果失敗,則說出原              因;

     --nodeps:忽略因為依賴關(guān)系導(dǎo)致的安裝錯誤;(不建議使用)

     --replacefiles:在安裝軟件包時,軟件包中的文件會直接將原來安裝的文件替換;

     --replacekgs:不卸載軟件包而重新安裝;

     --noscripts:不運行任何腳本;

     --nopre:不運行安裝前腳本;

     --nopost:不運行安裝后腳本;

     --nosignature:不去考慮軟件包的來源是否合法;

     --nodigest:不考慮軟件包是否完整;

     常見組合選項:-ivh

  例 安裝tree命令 ######即為-h選項安裝進(jìn)度,tree-1.6.0-10.el7.x86_64.rpm即為-v選項的安裝例     程信息;

  程序包管理器rpm和yum的使用

  使用--test進(jìn)行測試操作,對安裝進(jìn)行測試,看是否能行,并不進(jìn)行實質(zhì)性安裝;

  程序包管理器rpm和yum的使用

    

  升級:

  升級安裝有兩種方式:

  rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...

  如果事先未安裝程序,則直接安裝最新版本的程序,若已經(jīng)安裝程序,就在該程序基礎(chǔ)上進(jìn)行升級安   裝;

  rpm {-F|--freshen} [install-options] PACKAGE_FILE ...

  僅僅只能對已經(jīng)安裝的低版本的程序包進(jìn)行升級安裝;

  注意:為了保證系統(tǒng)的正常運行最好不要對內(nèi)核進(jìn)行升級;

  常用選項與安裝相同:

     -h,--hash:用50個#來表示安裝進(jìn)度;

     --test:并不是真正的安裝軟件包,僅僅測試在安裝時能否正常完成,如果失敗,則說出原              因;

     --nodeps:忽略因為依賴關(guān)系導(dǎo)致的安裝錯誤;(不建議使用)

     --replacefiles:在安裝軟件包時,軟件包中的文件會直接將原來安裝的文件替換;

     --replacekgs:不卸載軟件包而重新安裝;

     --noscripts:不運行任何腳本;

     --nopre:不運行安裝前腳本;

     --nopost:不運行安裝后腳本;

     --nosignature:不去考慮軟件包的來源是否合法;

     --nodigest:不考慮軟件包是否完整;

     --oldpackage:降級安裝,用老版本的程序包替換新版本的程序包;

 

  卸載:  

  rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts] [--notriggers] [--test]       PACKAGE_NAME(軟件名) ...

  常用選項:

  --allmatches:卸載時所有匹配指定名稱的程序包的各個版本;

  --test:測試卸載;

  --nodeps:卸載時忽略一欄關(guān)系,不建議使用;

  例

  卸載操作較為簡單,直接命令+選項+卸載的軟件名;

  程序包管理器rpm和yum的使用

  查詢:

  安裝之前需要查詢,卸載之前需要查詢,做任何操作哦之前都要進(jìn)行查詢操作;

  rpm {-q|--query} [select-options] [query-options](直接給出程序包名)

  select options:

  -a,--all:查詢所有已經(jīng)安裝的程序包信息;

  例 查找相關(guān)的軟件包

 程序包管理器rpm和yum的使用  

  -f,--file FILE:查找指定文件由那個程序包提供的;

  --whatprovides CAPABILITY:查詢指定的CAPABILITY是有哪個程序包提供

  例 查找文件/bin/chown由哪個程序包提供

  程序包管理器rpm和yum的使用

  -p,--package PACKAGE_FILE(程序包文件名稱):

  對還沒有安裝的程序包文件執(zhí)行查詢操作;跟p配合的必須是程序包文件

  [root@localhost wjq]# rpm -qpl /media/guangpan/Packages/tree-1.6.0-10.el7.x86_64.rpm 

 query options:

  --changelog:查詢rpm程序包的changelog

  -c,--configfiles:查詢指定程序包中有哪些配置信息;

  -d,--docfiles:查詢指定程序包中有哪些文檔文件;

  例 查看tree程序包中有哪些文檔文件

  程序包管理器rpm和yum的使用

  -i,--info:查詢程序包相關(guān)信息,包括版本號,發(fā)行號,大?。?/p>

  例 查看tree程序相關(guān)信息

  程序包管理器rpm和yum的使用

  -l,--list:列表顯示程序生成哪些文件;

  例 

  程序包管理器rpm和yum的使用

  --provides:列出制定程序包提供的所有的CAPABILITY;

  -R,--requires:查詢程序包的依賴關(guān)系

  --scripts:查看程序包所攜帶的腳本的內(nèi)容

  

  校驗:用于檢查包安裝生成的文件屬性是否發(fā)生變化

  rpm {-V|--verify} [select-options] [verify-options]

  select options與查詢的select options一樣;

  常用選項:

  -V :后面加的是程序名稱,若該程序?qū)儆械奈募l(fā)生改變就會顯示;

  例

  程序包管理器rpm和yum的使用

  -Va :顯示目前系統(tǒng)上面所有可能被修改過的文件;

  例

  程序包管理器rpm和yum的使用

  -Vp :后面加的是文件名,顯示該程序內(nèi)可能被更改過的文件;

  -Vf :后面加的是文件名,顯示某個文件是否被修改過。

  對應(yīng)屬性位說明:只有在對應(yīng)的屬性為發(fā)生改變后,屬性才會顯示;

       S file Size differs 表示文件大小發(fā)生改變 

       M Mode differs (includes permissions and file type)  文件的權(quán)限或類型被修改

       5 digest (formerly MD5 sum) differs  文件內(nèi)容發(fā)生改變

       D Device major/minor number mismatch 主設(shè)備號、次設(shè)備號發(fā)生改變

       L readLink(2) path mismatch  路徑改變

       U User ownership differs  屬主發(fā)生改變

       G Group ownership differs  屬組發(fā)生改變

       T mTime differs    文件的修改時間發(fā)生改變

       P caPabilities differ 包的能力發(fā)生改變

  

   數(shù)據(jù)庫管理:數(shù)據(jù)庫路徑為/var/lib/rpm若該路徑下的數(shù)據(jù)遭到破壞則系統(tǒng)無法知道有哪些軟件在            系統(tǒng)中,那些軟件的詳細(xì)信息都無法顯示;

   rpm數(shù)據(jù)庫管理主要分為初始化與重建兩個部分,初始化,若已安裝數(shù)據(jù)庫則初始化結(jié)果不變,若    未安裝數(shù)據(jù)庫,則對數(shù)據(jù)庫進(jìn)行安裝,重建就是在原有數(shù)據(jù)庫的基礎(chǔ)上進(jìn)行覆蓋安裝操作;

   rpm {--initdb|--rebuilddb} --dbpath /PATH/TO/FILE

   --initdb:初始化數(shù)據(jù)庫;

   --rebuilddb:重建數(shù)據(jù)庫;

  yum程序包管理器:

  yum(全稱Yellow dog Updater, Modified)是一個在Fedora和RedHat以及SUSE中的Shell前端軟件包管理器?;禦PM包管理,能夠從指定的服務(wù)器自動下載RPM包并且安裝,可以自動處理依賴性關(guān)系,并且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝。yum提供了查找、安裝、刪除某一個、一組甚至全部軟件包的命令,而且命令簡潔而又好記。yum是客戶機服務(wù)器模式,服務(wù)器也稱為軟件倉庫,存儲著許多的軟件包以供安裝;客戶端是用來指定服務(wù)器以及程序包的路徑喝一些必要的控制操作;

  yum的主配置文件/etc/yum.conf

  該文件一般情況下是不修改的,只提供yum軟件包的公共配置信息;

  yum的次配置文件/etc/yum.repos.d/*.repo

  在yum.repos.d目錄下創(chuàng)建以repo為后綴的文本文件,每個文件可以配置指向多個軟件倉庫;yum命令在安裝或更新時,通過查找這些配置文件所指向的路徑,得到多個軟件倉庫,從這些軟件倉庫中得到最新版本進(jìn)行安裝或更新;

 在/etc/yum.repos.d下創(chuàng)建的文本文件中的格式:

  [repoid]

  name=

  baseurl=schema://hostname/PATH/TO/REPODATA  (hostname可省略不寫)

  schema:

    http,ftp,nfs:網(wǎng)絡(luò)服務(wù)器指向

    file:本地服務(wù)器指向

  enabled={0|1},0表示禁用此倉庫指向,1表示啟用,如果沒有enable語句,默認(rèn)為啟動狀態(tài);

  gpgcheck={0|1}:0表示不進(jìn)行程序包認(rèn)證,1表示認(rèn)證,如果為1,需要指定認(rèn)證所需要的公鑰文     件,需要使用gpgkey語句;

  gpgkey=schema://hostname//PATH/TO/PUBLIC_KEY_FILE 軟件包公鑰,當(dāng)為本地服務(wù)器指向時可省略公鑰路徑;

  例

  程序包管理器rpm和yum的使用

  注意:同一個文本文件下的不同配置信息之間使用[repoid]進(jìn)行隔離,所有配置信息生效的范圍是從一個[]開始到下一個[]結(jié)束;

  主配置文件解析:

  程序包管理器rpm和yum的使用

  cachedir:yum緩存的目錄,yum在此存儲下載的rpm包和數(shù)據(jù)庫,一般是/var/cache/yum。

  debuglevel:除錯級別,0──10,默認(rèn)是2

  logfile:yum的日志文件,默認(rèn)是/var/log/yum.log。

  exactarch,有兩個選項1和0,代表是否只升級和你安裝軟件包cpu體系一致的包,如果設(shè)為1,則如你   安裝了一個i386的rpm,則yum不會用686的包來升級。

  gpgchkeck= 有1和0兩個選擇,分別代表是否是否進(jìn)行g(shù)pg校驗,如果沒有這一項,默認(rèn)好像也是檢查   的。

  

  自定義配置軟件倉庫

  1.創(chuàng)建一個目錄將需要的程序包放入目錄中;

  2.使用createrepo命令創(chuàng)建倉庫;產(chǎn)生repodata;

  3.在/etc/yum.repos.d下創(chuàng)建一個關(guān)于該軟件倉庫的配置文件,以repo為后綴;

  

  yum命令(該命令的使用要在聯(lián)網(wǎng)的情況下):

  yum [options] [command] [package ...]

  option:

  -q:安靜模式,使yum沒有輸出任何的信息,不顯示安裝過程;

  -y:yum命令下的所有交互操作yes or no全部以yes表示;

 

  yum安裝:

  yum install:全部安裝

  install package1 [package2] [...]:指定程序包安裝

  程序包管理器rpm和yum的使用

  

  yum卸載: 

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

  程序包管理器rpm和yum的使用

  

  yum更新:

  update [package1] [package2] [...]:對所更新的程序包進(jìn)行最新更新

  update-to [package1] [package2] [...]:指定目的版本號的更新;

  

  yum list [...]查詢操作,可查看當(dāng)前系統(tǒng)下的安裝的,未安裝但可用的程序包;

  查看所有程序包:

  yum list all

  查看所有已安裝的程序包:

  yum list installed

  顯示所有尚未安裝但可以安裝的程序包:

  yum list available

  顯示最近安裝的程序包:

  yum list recent

 顯示所有可以升級更新的程序包:

  yum list updates

  yum清除緩存:

  清理本地緩存信息;

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

  清除緩存目錄下的軟件包

  yum clean packages 

  程序包組的管理命令:

  groups [...]

  組安裝:

  groupinstall group1 [group2] [...]等于groups install

  程序包管理器rpm和yum的使用

  組更新:

  groupupdate group1 [group2] [...]等于groups update

  顯示當(dāng)前組列表:

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

  程序包管理器rpm和yum的使用

  卸載安裝的組:

  groupremove group1 [group2] [...]

 程序包管理器rpm和yum的使用

  顯示組信息:

  groupinfo group1 [...]

 程序包管理器rpm和yum的使用

  根據(jù)關(guān)鍵字進(jìn)行匹配,默認(rèn)情況下,搜索程序包名稱及匯總信息,模糊搜索;

  search string1 [string2] [...]

  

  yum重新安裝

  reinstall package1 [package2] [...]

   

  顯示每個程序包所有的依賴關(guān)系

  deplist package1 [package2] [...]

以上就是程序包管理器rpm和yum的使用方法介紹,詳細(xì)使用情況還得要大家自己使用過才能知道具體要領(lǐng)。如果想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


網(wǎng)頁標(biāo)題:程序包管理器rpm和yum的使用
分享地址:http://weahome.cn/article/ggjcdc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部