軟體包的型別
rpm二進位製包------》已經使用gcc編譯後的
tar原始碼包-----》需要編譯
rpm概述:rpm是rpm package manager(rpm軟體包管理器)的縮寫,這一檔案格式名稱雖然打上了redhat的標誌,但是其原始設計理念是開放式的,現在包括openlinux、suse以及turbo linux等linux的分發版本都有採用,可以算是公認的行業標準了。
[root@xuegod63 ~]# ls /mnt/packages/zsh-5.0.2-28.el7.x86_64.rpm
/mnt/packages/zsh-5.0.2-28.el7.x86_64.rpm
zsh -5. 0. 2- 28. el7. x86_64.rpm
軟體名 主版本號 次版本號 修訂 release(第幾次發布版本) 作業系統版本 軟體包是64位包
#修訂指是的第幾次修改bug。 發布指的是:第幾次發布。 發布時,可能只是對軟體安裝的預設引數做了修改,而沒有其它改動
rpm工具使用分為安裝、查詢、驗證、更新、刪除等操作
命令格式:rpm [引數] 軟體包
引數:-i 是install的意思, 安裝軟體包
-v 顯示附加資訊,提供更多詳細資訊
-v 校驗,對已經安裝的軟體進行校驗
-h --hash 安裝時輸出####標記
互動:rpm使用時,什麼情況下使用軟體包全名,什麼時候使用軟體包名?
全名:在安裝和更新公升級時候使用
包名:對已經安裝過的軟體包進行操作時,比如查詢已經安裝的某個包,解除安裝包等 ,使用包名。它預設是去目錄/var/lib/rpm下面進行搜尋。 當乙個 rpm 包安裝到系統上之後,安裝資訊通常會儲存在本地的 /var/lib/rpm/目錄下。
[root@xuegod63 ~]# rpm -ivh /mnt/packages/zsh-5.0.2-28.el7.x86_64.rpm
[root@xuegod63 ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh
/bin/zsh
例:
rpm -ivh
#安裝centos epel擴充套件yum源。 注:epel源是對centos7系統中自帶的 base源的擴充套件。
用法:rpm -q(query) 常與下面引數組合使用
-a(all) 查詢所有已安裝的軟體包
-f(file)系統檔名(查詢系統檔案所屬哪個軟體包),反向查詢
-i 顯示已經安裝的rpm軟體包資訊,後面直接跟包名
-l(list) 查詢軟體包中檔案安裝的位置
-p 查詢未安裝軟體包的相關資訊,後面要跟軟體的命名
-r 查詢軟體包的依賴性
例:
[root@xuegod63 mnt]# rpm -q zsh --->查詢指定的包是否安裝
[root@xuegod63 mnt]# rpm -qa --->查詢所有已安裝包
[root@xuegod63 mnt]# rpm -qa | grep vim --->查詢所有已安裝包中帶vim關鍵字的包
[root@xuegod63 ~]# which find #檢視find命令的路徑
/usr/bin/find
[root@xuegod63 ~]# rpm -qf /usr/bin/find #查詢檔案或命令屬於哪個安裝包
查詢已經安裝的rpm包的詳細資訊或作用 rpm -qi rpm包名
[root@xuegod63 ~]# rpm -qi lrzsz
針對沒有安裝的rpm包,要加引數: -p
[root@xuegod63 ~]# rpm -qpi /mnt/packages/php-mysql-5.4.16-42.el7.x86_64.rpm
。。。[root@xuegod63 mnt]# rpm -qpl /mnt/packages/zip-3.0-10.el7.x86_64.rpm #檢視rpm安裝後,將生成哪些檔案
rpm -v包名
rpm -vf 檔案路徑
例:
[root@xuegod63 ~]# which find
/usr/bin/find
[root@xuegod63 ~]# rpm -qf /usr/bin/find
findutils-4.5.11-5.el7.x86_64
[root@xuegod63 ~]# rpm -vf /usr/bin/find #檢查具體檔案
[root@xuegod63 ~]# echo aaa >> /usr/bin/find
[root@xuegod63 ~]# rpm -vf /usr/bin/find
s.5....t. /usr/bin/find
[root@xuegod63 ~]# rpm -v findutils #檢查包
s.5....t. /usr/bin/find
注:如果出現的全是點,表示測試通過
出現下面的字元代表某測試的失敗:
5 — md5 校驗和是否改變,你也看成檔案內容是否改變
s — 檔案長度,大小是否改變
l — 符號鏈結,檔案路徑是否改變
t — 檔案修改日期是否改變
d — 裝置
u — 使用者,檔案的屬主
g — 使用者組
m — 模式 (包含許可和檔案型別)
? — 不可讀檔案
再後面的c 檔名,它表示的是檔案型別
c 配置檔案
d 普通檔案
g 不該出現的檔案,意思就是這個檔案不該被這個包所包含
l 授權檔案(license file)
r 描述檔案
互動: 檢視系統中所有的rpm包及安裝的檔案有沒有被黑客修改
root@xuegod63 ~]# rpm -va > rpm_check.txt
> # 這個》 表示標準輸出重定向。 將rpm -qa 輸出到螢幕上的資訊重定向到 rpm_check.txt 檔案中。
在檔案中加一下這個引數描述
注: 檢驗時參考了 /var/lib/rpm 目錄下的rpm資料庫資訊
用法:rpm -e(erase) 包名
[root@xuegod63 ~]# rpm -qa zsh
zsh-5.0.2-28.el7.x86_64
[root@xuegod63 ~]# rpm -e zsh
[root@xuegod63 ~]#
[root@xuegod63 ~]# rpm -qa zsh
引數: --nodeps 忽略依賴,建議在解除安裝時不要用rpm去解除安裝有依賴關係的包,應該用yum
[root@xuegod63 ~]# rpm -e --nodeps lrzsz
公升級:
[root@xuegod63 ~]# rpm -uvh /mnt/packages/lrzsz-0.12.20-36.el7.x86_64.rpm
#因為公升級時會有一些依賴包要解決。 所以一般我們使用yum update 包 來公升級。
[root@xuegod63 ~]# rpm -ivh /mnt/packages/mariadb-server-5.5.56-2.el7.x86_64.rpm
警告:/mnt/packages/mariadb-server-5.5.56-2.el7.x86_64.rpm: 頭v3 rsa/sha256 signature, 金鑰 id f4a80eb5: nokey
錯誤:依賴檢測失敗:
mariadb(x86-64) = 1:5.5.56-2.el7 被 mariadb-server-1:5.5.56-2.el7.x86_64 需要
perl-dbd-mysql 被 mariadb-server-1:5.5.56-2.el7.x86_64 需要
解決:
[root@xuegod63 ~]# rpm -ivh /mnt/packages/mariadb-5.5.56-2.el7.x86_64.rpm
[root@xuegod63 ~]# rpm -ivh /mnt/packages/perl-dbd-mysql-4.023-5.el7.x86_64.rpm
[root@xuegod63 ~]# rpm -ivh /mnt/packages/mariadb-server-5.5.56-2.el7.x86_64.rpm
軟體包的管理
軟體包管理 1 使用rpm命令安裝 解除安裝 更新ntp 0.7.12x86 64.rpm軟體包?root magedu rpm ivh ntp 0.7.12x86 64.rpm.rpm root magedu rpm e ntp 0.7.12x86 64.rpm root magedu rpm u...
rpm RPM軟體包的管理。
引數 a 查詢所有套件 b 完成階段 套件檔 或 t 完成階段 套件檔 設定包裝套件的完成階段,並指定套件檔的檔名稱 c 只列出組態配置檔案,本引數需配合 l 引數使用 e 套件檔 或 erase 套件檔 刪除指定的套件 f 檔案 查詢擁有指定檔案的套件 h或 hash 套件安裝時列出標記 i 套件...
軟體包的安裝與管理
一 rpm 安裝包 1 格式 軟體名 版本號 發布號.體系號.rpm 3 httpd 如 apache.org 4 sourceforge.net 3 rpm命令 rpm v 驗證rpm軟體包 rpm i 安裝 rpm ih 安裝時對軟體包進行hash校驗 rpm ir 覆蓋安裝 rpm iv 顯示...