RPM


rpm——RedHat Package Manager 红帽包管理器


挂载:就是将设备和目录或者分区建立一个链接的行为。

/mnt:挂载的路径


挂载选项:

[root@server254 test]# mount | grep sda2

/dev/sda2 on / type ext4 (rw,acl)

 分区       挂载点  文件系统类型   (挂载选项)

挂载光盘:

光驱

[root@server254 test]# ll /dev/sr0

brw-rw----+ 1 root cdrom 11, 0 Oct  9 17:03 /dev/sr0


/dev:放设备的路径


[root@server254 test]# mkdir /mnt/cdrom

[root@server254 test]# mount /dev/sr0 /mnt/cdrom/

mount: block device /dev/sr0 is write-protected, mounting read-only

卸载

[root@server254 test]# umount /dev/sr0  


装包:

[root@server254 Packages]# pwd

/mnt/cdrom/Packages

[root@server254 Packages]# ls | tail -1

zsh-4.3.10-5.el6.i686.rpm

[root@server254 Packages]# rpm -ivh zsh-4.3.10-5.el6.i686.rpm

warning: zsh-4.3.10-5.el6.i686.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY

Preparing...                ########################################### [100%]

  1:zsh                    ########################################### [100%]


     选项:

-i  —— install  安装

-v —— verbose 显示安装过程

-h —— human  以人类可读的方式

其他选项:

       -ivh --test  —— 仅仅测试,不真正安装软件

[root@server254 Packages]# rpm -ivh --test nfs-utils-1.2.3-36.el6.i686.rpm

warning: nfs-utils-1.2.3-36.el6.i686.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY

error: Failed dependencies:

keyutils >= 1.4-4 is needed by nfs-utils-1:1.2.3-36.el6.i686

libevent is needed by nfs-utils-1:1.2.3-36.el6.i686

libevent-1.4.so.2 is needed by nfs-utils-1:1.2.3-36.el6.i686

libgssglue is needed by nfs-utils-1:1.2.3-36.el6.i686

libgssglue.so.1 is needed by nfs-utils-1:1.2.3-36.el6.i686

libgssglue.so.1(libgssapi_CITI_2) is needed by nfs-utils-1:1.2.3-36.el6.i686

libnfsidmap.so.0 is needed by nfs-utils-1:1.2.3-36.el6.i686

libtirpc is needed by nfs-utils-1:1.2.3-36.el6.i686

libtirpc.so.1 is needed by nfs-utils-1:1.2.3-36.el6.i686

nfs-utils-lib >= 1.1.0-3 is needed by nfs-utils-1:1.2.3-36.el6.i686

rpcbind is needed by nfs-utils-1:1.2.3-36.el6.i686

-ivh --nodeps  :不安装依赖性软件,只安该软件本身

-ivh --force:强制安装,覆盖安装

warning:验证数字签名

rpm的查询:重点

-q  —— query 查询    查询已安装的软件包的相关信息

-qa [包]—— query all 查询系统中已经安装的所有软件包

[root@server254 ~]# rpm -qa

[root@server254 ~]# rpm -qa | wc -l

870

wc —— word count 计数的

-l:统计行数

-c:统计字节数

-w:统计单词数

[root@server254 ~]# rpm -qa zsh

zsh-4.3.10-5.el6.i686

-ql 包名—— query list 软件安装的文件的位置

[root@server254 ~]# rpm -ql zip(包名)

-qf  文件 —— query file 查询某个文件是由哪个软件包安装的

[root@server254 ~]# rpm -qf /bin/pwd

coreutils-8.4-19.el6.i686

-qi 包名  —— query info  查看包的详细信息

[root@server254 ~]# rpm -qi coreutils

Description :

These are the GNU core utilities.  This package is the combination of the old GNU fileutils, sh-utils, and textutils packages.


-qc  包名 —— query configfiles  查询配置文件

    [root@server254 ~]# rpm -qf `which updatedb`

mlocate-0.22.2-4.el6.i686

[root@server254 ~]# rpm -qc mlocate

/etc/updatedb.conf

-qp  ——  这个是查询未安装的软件包的相关信息

-qpi   —— 查询未安装软件包的详细信息

[root@server254 Packages]# rpm -qpi nfs-utils-1.2.3-36.el6.i686.rpm

-qpl  —— 查询未安装的软件包在安装的时候会在系统中创建哪些文件

[root@server254 Packages]# rpm -qpl nfs-utils-1.2.3-36.el6.i686.rpm

-qpR —— 查询未安装的软件的依赖关系

[root@server254 Packages]# rpm -qpR nfs-utils-1.2.3-36.el6.i686.rpm

rpm包的卸载:

-e  —— --erase

[root@server254 ~]# rpm -e zsh

rpm包的数字签名:

rhel6 软件包所在目录

[root@server254 ~]# cd /mnt/cdrom/Packages/

rhel5  软件包所在位置  光盘里的Server目录

导入数字签名:

[root@server254 cdrom]# rpm --import RPM-GPG-KEY-redhat-release

[root@server254 cdrom]# cd Packages/

再安装软件不会出现warning警告

[root@server254 Packages]# rpm -ivh zsh-4.3.10-5.el6.i686.rpm

Preparing...                ########################################### [100%]

  1:zsh                    ########################################### [100%]


rpm包的校验:

-V —— 验证安装软件时生成的命令或者文件是否被人修改过。

rpm -V 已安装的软件包的名字

[root@server254 Packages]# rpm -qf /etc/bashrc

setup-2.8.14-20.el6.noarch

[root@server254 Packages]# rpm -V setup

S.5....T.  c /etc/bashrc

S.5....T.  c /etc/profile

S——size  文件大小是否更改过

5——md5  文件的md5信息

T——mtime  文件修改时间的变化

rpm -Va  :验证所有软件安装的文件是否被修改过

rpm -Vf   :验证某个文件是否被人修改过

[root@server254 Packages]# rpm -Vf /etc/bashrc

S.5....T.  c /etc/bashrc

S.5....T.  c /etc/profile


[root@server254 Packages]# rpm -ivh ruby-1.8.7.352-7.el6_2.i686.rpm

error: Failed dependencies:

libruby.so.1.8 is needed by ruby-1.8.7.352-7.el6_2.i686

ruby-libs = 1.8.7.352-7.el6_2 is needed by ruby-1.8.7.352-7.el6_2.i686

[root@server254 Packages]# rpm -ivh ruby-libs-1.8.7.352-7.el6_2.i686.rpm

error: Failed dependencies:

libreadline.so.5 is needed by ruby-libs-1.8.7.352-7.el6_2.i686

如果A依赖B,那么安装的时候要先安装B;卸载的时候要先卸载A。



由于rpm的依赖关系不好解决,所以出现了——yum

   未完待续!......