linux軟件管理-RPM

linux軟件管理-RPM

RPM的基礎概述

rpm:RPM全稱RPM Package Manager縮寫,由紅帽開發用於軟件包的安裝,升級卸載與查詢node

rpm包的命名規則

img

name: 軟件包名稱
version: 版本號, 主版本, 重大更新. 次版本, 子功能更新. 修訂號, 修復bug
release: 發佈版本 el6, el7 (hostnamectl)
arch: 系統平臺, i38六、x86_64(hostnamectl)mysql

rpm包的組成

安裝釋放的文件
軟件包的元數據(版本,發佈號,架構,描述,要求,更改日誌等)
腳本:安裝前執行的腳本和安裝後的腳本linux

Linux中軟件包類型

分類 安裝 版本
rpm包 預先編譯打包,安裝簡單 軟件版本偏低
源碼包 手動編譯打包,安裝繁瑣 軟件版本隨意
二進制包 解壓便可使用, 安裝簡單 不能修改源碼

注意:無論是源碼包,仍是二進制包,安裝時均可能會有依賴關係nginx

RPM軟件包的獲取途徑

1.RedHat光盤或官方網站 (經過掛載的方式訪問)
2.RPM查詢官網網站
3.Nginx軟件官方網站
4.MySQL軟件官方網站sql

linux執行mount/dev/cdrom/mnt架構

[root@localhost ~]# mount /dev/cdrom /mnt/
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@localhost ~]# ls /mnt/
CentOS_BuildTag  Packages                    RPM-GPG-KEY-CentOS-Security-6
EULA             RELEASE-NOTES-en-US.html    RPM-GPG-KEY-CentOS-Testing-6
GPL              repodata                    TRANS.TBL
images           RPM-GPG-KEY-CentOS-6
isolinux         RPM-GPG-KEY-CentOS-Debug-6
[root@localhost ~]# ls /mnt/Packages/|head

RPM包安裝管理

rpm參數ide

-i:         #安裝
-v:         #詳細信息
-h:         #安裝進度 
--test:     #測試是否可以安裝成功
--force:    #強制從新安裝
--nodeps:   #忽略依賴關係

#安裝軟件包, 須要指定軟件包絕對路徑
[root@zls ~]# rpm -ivh /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm
[root@zls ~]# rpm -ivh /mnt/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm

#在軟件包所在目錄下能夠不指定絕對路徑
[root@zls ~]# cd /mnt/Packages/
[root@zls Packages]# rpm -ivh zsh-5.0.2-28.el7.x86_64.rpm

#測試一個軟件包是否能在該系統上安裝
[root@zls ~]# rpm -ivh --test /mnt/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm

#若是軟件包存在, 強制再次安裝
[root@zls ~]# rpm -ivh --force /mnt/Packages/tree-1.5.3-3.el6.x86_64.rpm

#安裝samba服務須要依賴其餘組件, 使用--nodeps可從新強制安裝
[root@zls ~]# rpm -ivh --nodeps  /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm

rpm包查詢命令

rpm -q      #查看指定軟件包是否安裝
rpm -qa     #查看系統中已安裝的全部RPM軟件包列表
rpm -qi     #查看指定軟件的詳細信息
rpm -ql     #查詢指定軟件包所安裝的目錄、文件列表
rpm -qc     #查詢指定軟件包的配置文件
rpm -qd     #查詢指定軟件包的幫助文檔
rpm -qf     #查詢文件或目錄屬於哪一個RPM軟件
rpm -q --scripts    #查詢rpm包安裝前和安裝後執行的腳本


#查詢未安裝的軟件包信息
rpm -qip    //查詢未安裝的rpm包詳細信息
rpm -qlp    //查詢未安裝的軟件包會產生哪些文件


#查詢vsftpd這個rpm包是否安裝
[root@zls ~]# rpm -q vsftpd

#模糊查找系統已安裝的rpm包
[root@zls ~]# rpm -qa |grep ftp

#查詢vsftpd軟件包的相關信息
[root@zls ~]# rpm -qi vsftpd

#查詢rpm包所安裝的文件
[root@zls ~]# rpm -ql vsftpd

#查詢rpm包相關的配置文件
[root@zls ~]# rpm -qc vsftpd

#查詢配置文件或命令來自於哪一個rpm包
[root@zls ~]# rpm -qf /etc/vsftpd/vsftpd.conf
[root@zls ~]# rpm -qf /usr/sbin/vsftpd


//查詢未安裝的軟件包會產生哪些文件
[root@zls ~]# rpm -qlp /mnt/Packages/samba-3.6.23-41.el6.x86_64.rpm

//查詢未安裝的軟件包會產生哪些文件
[root@zls ~]# rpm -qip /mnt/Packages/samba-3.6.23-41.el6.x86_64.rpm

#以上查詢只能查詢已存在 已安裝的包,若是沒有安裝,須要聯網查詢
[root@db04 ~]# yum provides zip
[root@db04 ~]# yum provides */ifconfig
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
base/filelists_db                                                                                                                                                                                                      | 6.4 MB     00:00
epel/filelists_db                                                                                                                                                                                                      | 7.9 MB     00:00
extras/filelists_db                                                                                                                                                                                                    |  24 kB     00:00
updates/filelists_db                                                                                                                                                                                                   | 3.6 MB     00:00
net-tools-1.60-114.el6.x86_64 : Basic networking tools
Repo        : base
Matched from:
Filename    : /sbin/ifconfig

RPM包升級命令

-U若是老版本不存在,就全新安裝,若是存在有新版本即升級測試

-f老版本必須存在網站

[root@zls ~]# rpm -Uvh /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm

RPM包卸載命令

卸載包時須要先把依賴的包卸載掉,若是依賴的包是系統所必須的,那就不能卸載這個包,不然會形成系統崩潰

//先查詢, 而後卸載 
[root@zls ~]# rpm -qa |grep sh
[root@zls ~]# rpm -e zsh
相關文章
相關標籤/搜索