软件安装:PRM,SRPM与YUM功能

RPM安装

若环境检查合格,然后RPM档案就开始安装到你的linux系统上。安装完毕后,该软件相关的信息就会被写入/var/lib/rpm/目录下的数据库档案中了。

RPM安装(install)

rpm -ivh package_name

可以同时安装两个以上,也可以直接以网址来安装

-i:install安装的意思

-v:察看更细部的安装信息画面

-h:以安装信息列显示安装进度

可选参数

--nodeps 使用时机 当发生软件属性相依问题而无法安装,单执意安装

--test 测试一下该软件是否可以被安装到使用者的linux环境当中,可找出是否有属性相依的问题

rpm -ivh package_name --test

--prefix 新路径

RPM升级与更新(upgrade/freshen)

-Uvh 后面接的软件即使没有安装过,则系统予以直接安装,若后面接的软件有安装过旧版,则系统自动更新至新版

-Fvh 后面接的软件未安装到你的linux系统中,则该软件不会被安装,亦即只有已安装至你linux系统内的软件会被升级

RPM查询(query)

rpm -a 仅查询,后面接的软件名称是否有安装

rpm -qa 列出所有的,已经安装在本机linux系统上面的所有软件名称

rpm -qi 列出该软件的详细信息,包含开发商,版本与说明

rpm -ql 列出该软件所有的档案与目录所在完整文件名

rpm -qc 列出该软件的所有配置文件(找出在/etc/底下的档案名)

rpm -qd 列出该软件的所有说明文件(找出与man有关的档案而已)

rpm -qR 列出与该软件有关的相依软件所含的档案

rpm -qf 由后面接的文件名,找出该档案属于哪一个已经安装的软件

rpm -qp[icdlR] 找出某个RPM档案内的信息,而非已经安装的软件信息

RPM验证与数字签名(Verify/signature)

rpm 选项与参数

rpm -V 后面接的是软件名称,若该软件所含的档案被改动过,才会列出来

rpm -Va 列出目前系统上面所有可能被改动过的档案

rpm -Vp 后面加的是文件名,列出该软件内可能被更动过的档案

rpm -Vf 列出某个档案是否被更动过

数字签名

cat /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 //数字签名

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

locate GPG-KEY

rpm -qa|grep pubkey //出现 gpg-pubkey-c105b9de-4e0fd3a3

rpm -qi gpg-pubkey-c105b9de-4e0fd3a3 //出现数字签名

RPM反安装与重建数据库(erase/rebuilddb)

rpm -qa |grep pam

rpm -e pam-devel

rpm --rebuilddb //重建数据库

SRPM的使用

--rebuild 编译打包,后面通常会出现写入信息

--recompile 编译打包并安装

编译SRPM

rpmbuild --rebuild .src.rpm

配置文件的主要内容(.spec)

SRPM的编译指令(-ba/-bb)

rpmbuild -ba .spec //编译并同时产生RPM与SRPM档案

rpmbuild -bb .spec //仅编译成RPM档案

一个打包自己软件的范例

mkdir /usr/lcoal/src/main-0.1

tar -zxvf main.tgz -C /usr/lcoal/src/main-0.1

cd /usr/local/src/main-0.1

vim Makefile //建议源代码所需要的make规则

cd ..

tar -zcvf main-0.1.tar.gz main-0.1

建议.spec的配置文件

cd /usr/src/redhat/SPECS

vim main.spec

编译成为RPM与SRPM

rpmbuild -ba main.spec

安装测试实际查询

rpm -ivh package_name.rpm

yum的使用

yum [list|info|serarch|provides|whatprovides] 参数

-y 自动提供yes响应

search 搜寻某个软件名称或者是描述的重要关键字

list 列出目前yum所管理的所有的软件名称与版本,类似rpm -qa

info 同上,类似 rpm -qai 的执行结果

provides 从档案去搜寻软件 类似rpm -qf

yum [install|update] 软件 //安装更新

yum remove 软件 //移除

yum的配置文件

vim /etc/yum.repos.d/CentOS-Base.repo //容器的实际网址

yum repolist all //列出目前的容器信息

修改容器产生的问题与解决之道

yum clean [packages|headers|all]

packages 将已下载的软件档案删除

headers 将下载的软件文件头删除

all 将所有的容器数据都删除

yum的软件群组功能

yum [群组功能] [软件群组]

选项与参数

grouplist 列出所有可使用的套件组

groupinfo 后面接group_name,则可了解该group内含的所有套件名

groupinstall 可以安装一整组的套件群组

groupremove //移除某个套件群组

全系统自动升级

vim /etc/crontab

0 3 /usr/bin/yum -u update