8 1 軟體包的管理

2021-09-19 16:04:35 字數 4545 閱讀 1472

軟體包的型別

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 顯示...