linux軟件管理之rpm管理rpm包

 

使用RPM工具管理RPM包


====================================================================================
須要手動解決包的依賴關係

==安裝
[root@localhost ~]# rpm -ivh dos2unix-3.1-37.el6.x86_64.rpm 套件名
[root@localhost ~]# rpm -ivh ntfs-3g-2010.5.22-1.el6.x86_64.rpm 套件名
[root@localhost ~]# rpm -Uvh ntfs-3g-2011.4.12-5.el6.x86_64.rpm 套件名
[root@localhost ~]# rpm -ivh ftp://rpmfind.net/linux/atrpms/sl6-x86_64/atrpms/stable/puppet-3.2.4-3.el6.noarch.rpm
[root@localhost ~]# rpm -ivh http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm
額外選項:
--nomd5 //不檢驗軟件包的簽名
--force //強制安裝軟件包
--nodeps //忽略依賴關係

php

RPM包安裝信息存儲到本地RPM數據庫中。。。



==查詢
(從本地的rpm數據庫)
[root@localhost ~]# rpm -q ntfs-3g //查詢指定包是否安裝
[root@localhost ~]# rpm -qa |grep ntfs
[root@localhost ~]# rpm -ql ntfs-3g //查詢ntfs-3g安裝的文件
[root@localhost ~]# rpm -qf /usr/bin/ntfs-3g //查詢該文件屬於哪一個rpm包
[root@localhost ~]# rpm -qi ntfs-3g //查詢包的information
[root@localhost ~]# rpm -qc ntfs-3g //查詢某個包安裝的配置文件
[root@localhost ~]# rpm -qd vsftpd //查安裝的幫助文檔

(從rpm套件中查詢)
擴展知識: 針對沒有安裝的包,直接從套件中查詢
[root@localhost ~]# rpm -e ntfs-3g
[root@localhost ~]# rpm -qip ntfs-3g-2011.4.12-5.el6.x86_64.rpm
[root@localhost ~]# rpm -qlp ntfs-3g-2011.4.12-5.el6.x86_64.rpm
[root@localhost ~]# rpm -qcp ntfs-3g-2011.4.12-5.el6.x86_64.rpm
[root@localhost ~]# rpm -qdp ntfs-3g-2011.4.12-5.el6.x86_64.rpm

==卸載
[root@localhost ~]# rpm -e ntfs-3g
[root@localhost ~]# rpm -e ntfs-3g --nodeps
額外選項:
--nodeps //忽略依賴關係


案例1:安裝系統光盤上的rpm包
1. 掛載光盤
[root@localhost ~]# mount /dev/cdrom /media
mount: block device /dev/cdrom is write-protected, mounting read-only
[root@localhost ~]# df
文件系統 1K-塊 已用 可用 已用% 掛載點
/dev/sr0 3632776 3632776 0 100% /media

案例2: 使用iso鏡像文件
[root@dc ~]# mount -o loop /home/centos-6.6-x86_64-dvd.iso /media


RHEL5 光盤結構:
Server 主倉庫,基本倉庫
VT 虛擬化相關軟件包
Cluster 集羣相關軟件包
ClusterStorage 集羣存儲相關的軟件gfs

RHEL6 光盤結構:
Server 主倉庫,基本倉庫
HighAvailability HA集羣倉庫
LoadBalancer LB集羣倉庫
ResilientStorage 存儲軟件倉庫
ScalableFileSystem 其它文件系統倉庫

Centos6光盤結構:
[root@db ~]# ls /media/
CentOS_BuildTag isolinux RPM-GPG-KEY-CentOS-Debug-6
EFI 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

[root@db ~]# cd /media/Packages/
[root@db Packages]# ll vsftpd-2.2.2-12.el6_5.1.x86_64.rpm tigervnc-1.1.0-16.el6.x86_64.rpm
-r--r--r--. 2 root root 189888 Oct 18 2014 tigervnc-1.1.0-16.el6.x86_64.rpm
-r--r--r--. 2 root root 154824 Aug 5 2014 vsftpd-2.2.2-12.el6_5.1.x86_64.rpm

案例3:安裝以下軟件包
vsftpd
samba
nfs-utils
httpd
dhcp
postfix
mysql-server
php
lftp
dos2unix
unix2dos
tigervnc

[root@yangs Packages]# pwd
/media/cd/Packages
[root@yangs Packages]# rpm -ivh samba-3.0.33-3.37.el5.i386.rpm samba-common-3.0.33-3.37.el5.i386.rpm

RPM包簽名檢查機制:
# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release //導入紅帽公鑰
# rpm --import /etc/pki/rpm-gpg/*
# rpm -ivh tftp-server-0.49-2.i386.rpm
Preparing... ######################################### [100%]
1:tftp-server ######################################### [100%]
====================================================================================

html

rpm工具管理軟件包總結:


1. 很難解決包依賴關係
2. 若是某個文件沒有,很難知道它由哪一個rpm包提供,例如 semanage 或 tree 命令是由哪一個包提供?




node

相關文章
相關標籤/搜索