rpm軟件包管理

軟件包管理

軟件運行環境

API   應用程序開發接口

ABI   二進制接口

Rpm包命名方式

Name-version-release-arch-rpm

例如

zziplib-devel-0.13.162-5.el7.i686.rpm

zziplib :主包名

dewel:次包名

0.13.162: 主版本號 次版本號  最小版本號

5rpm包編譯完后的版本

el7系統版本號,代表centos7

i686硬件架構

有的軟件包硬件架構位置會有noarch的字樣,表示與硬件架構無關,可以運行在任何架構的機器上。

常見的arch有:x86  i386  i486   i586   i686  x6464  x64

互聯網上的很多軟件的發布,不一定是rpm的方式,都是以源代碼的方式發布,源代碼的方式發布會有各種后綴,但是一般都要tar打包,在打包的基礎上壓縮。

包的分類和拆包

Application-VERITION-ARCH.rpm  主包

Application-devel-VERITION-ARCH.rpm    開發子包

Application-tuils-VERITION-ARCH.rpm    工具子包

Application-libs-VERITION-ARCH.rpm    庫包

庫文件

查看二進制文件所依賴的庫文件

Ldd  /PATH/TO/BINARY_FILE

例如:ldd  /bin/ls    ldd  /bin/bash

管理及查看本機裝載的庫文件:

    Ldconfig

/sbin/ldconfig  -p:顯示本機已經緩存的所有可用庫文件名及文件路徑的映射關系。

配置文件:/etc/ld.so.conf    /etc/ld.so.conf.d/*.conf

緩存文件:/etc/ld.so.cache

RPM包管理

Centos系統上使用rpm命令管理程序包

作用

    安裝  卸載  升級  查詢  校驗   數據庫維護

rpm包的安裝

    rpm    -i  /path/rpm    安裝(要寫具體路徑)

           -v-vv          詳細顯示安裝過程

           -h               以#顯示安裝進度

           -q               查詢rpm包是否安裝

           -ql               查詢rpm包的安裝位置

一般rpm  -ivh  一起使用

rpm  -ivh  – -test    測試安裝,但不真正執行安裝

           – -nodeps   忽略依賴關系

           – -repleasepkgs  覆蓋安裝rpm

           – -repleasefiles   覆蓋安裝rpm包中的單個文件。比如有兩個包,其中個

                          別文件是一樣的,就可以用此命令,只覆蓋個別文件,而

                          不是整個rpm包。

           – -nodigest       不檢查包的完整性

           – -nosignature     不檢查包的合法來源

           – -noscipts        不執行程序包腳本片段

                   %per       先運行腳本再安裝rpm程序包  –nopre    

                   %post      先安裝rpm包再運行腳本      –nopost

                   %preun     先運行腳本后卸載rpm包      –nopreun

                   %postun     先卸載rpm包,再運行腳本   –nopostun

rpm包升級

rpm   -U    [install -option]

       如果安裝有舊版本,則升級,沒有安裝舊版本則安裝。

blob.png 

    注意:上圖對于tree的安裝,是在當前路徑下安裝的,所以沒有寫路徑,如果不

           在當前路徑下,要寫rpm包的完整路徑。

Rpm   -F    [install-option]

        如果安裝有舊版本,則升級,沒有安裝舊版本則不執行任何操作。

            – -oldpackage    降級

            – -force         強行升級

包查詢

    rpm    -e     卸載

           -a     所有包

        若包名記得不全,則可以rpm  -qa  |  grep “”模糊搜索

           -f     查看指定的文件由哪個安裝包生成。

           -p  rpmfile(完整路徑)  針對尚未安裝的程序波文件做查詢操作。

           – -changelog     查詢rpm的更改日志

 Rpm   -q  [option]  配合q使用  

            – -changelog   查詢rpm包的更改日志

            -c  查詢程序的配置文件

blob.png 

 

 

               -d      查詢程序的文檔

 

 blob.png

                – i      rpm包的信息

blob.png 

                 -l       查看指定程序包安裝后生成的所有文檔

                 – -scripts  查看程序包自帶的程序片段

 blob.png

                  -R     查看程序包的依賴關系

blob.png 

                  – -provides     列出指定程序包所指定的程序和功能

blob.png 

導入所需的公鑰

Rpm    -K   rpmfile       檢查包的完整性

例如

blob.png 

    運行后有報錯信息,這不是因為該包不完整,是因為系統現在沒有檢測能力。需要

導入公鑰文件才能用。

    導入  – -import  /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

                 blob.png

    再次執行-K命令就不會報錯了。

rpm  -qa gpg-pubkey*      下圖顯示的結果就是導入的密鑰文件

blob.png 

RPM數據庫

數據庫重建

    /var/lib/rpm

    安裝或卸載一個包,該數據庫都會更新,該文件被破壞后,會造成rpm無法查詢

Rpm包的信息。

    Rpm  – -initdb   初始化

如果事先不存在數據庫,則新建,否則不執行任何操作,

    Rpm  – -rebuilddb   重建

無論當前存在與否,直接重新創建數據庫。

 

原創文章,作者:zzd,如若轉載,請注明出處:http://www.www58058.com/39357

(1)
zzdzzd
上一篇 2016-08-24
下一篇 2016-08-24

相關推薦

  • linux添加用戶

    今天給大家說一下linux添加用戶,大家可能覺得添加用戶很簡單,’adduser 用戶名’就這個命令搞掂了。那么大家知道這個命令幫我們完成了那些事情呢,今天就給大家普及一下 添加一個linux用戶需要關系到以下幾個文件: 保存用戶組的/etc/group文件。 保存用戶ID和密碼的/etc/passwd文件。 在home目錄下生產一個…

    Linux干貨 2017-05-28
  • shell腳本編程2

    八、條件選擇if語句     注:if語句可嵌套     單分支         if 判斷條件;then        &nbs…

    Linux干貨 2016-08-22
  • 交換分區創建和磁盤配額的使用

    一、交換分區的建立與啟用:     交換分區是作為內存的一個輔助分區,在內存吃緊時,交換分區會作為內存的一部分使用,但是效率比起內存來說會很低下,在一個硬盤分區時最好使用柱面較小的柱面作為交換分區,因為在機械硬盤轉速一定的情況下,越靠近外面的磁道,線速度越大,讀取到的扇區越多,一定程度上有利于提高性能   &…

    Linux干貨 2016-08-29
  • 馬哥教育網絡班21期+第5周課程練習

    1、顯示/boot/grub/grub.conf中以至少一個空白字符開頭的行; [root@centos ~]# grep "^[[:space:]]\+" /boot/grub/grub.conf  root (hd0,0) kernel /vmlinuz-2.6.3…

    Linux干貨 2016-07-29
  • Awk 高級應用

                              Awk 簡介   Awk 是一種變成語言,用于在Linux/UNIX下對文本和數據進行掃描與處理,數據可以來自標準輸入,文件 ,管道。Awk分別代表其作者的姓…

    2017-07-17
  • 系統基礎之AWK詳解

    GUN awk 文本處理三工具:grup,sed,awk     grep,egrep,fgrep:文本過濾工具     sed:行編輯器         模式空間,保持空間   …

    Linux干貨 2016-09-21
欧美性久久久久