LINUX中的:rpm和yum

包的安装和卸在载

rpm 工具
装一个包

rpm -ivh 包名
vsftpd-2.-.5-10.el5.i386.rpm(文件的名字)
vsftpd(包的名字)

参数
i:install 安装的意思
v:显示安装具体的过程
h:显示进度条
F:仅做更新,仅仅更新系统中的软件包
U:更新或者安装
e:卸载 (接的是包的名字)
rpm -e vsftpd

现在假设我安装了vsftpd包 我删除了/etc/vsftpd/vsftpd.conf,那么这个时候安装会提示你已经安装了
vsftpd,我又想修复/etc/vsftpd.conf怎么办呢?

rpm -ivh vsftpd-2.0.5-10.el5.i386.rpm --replacepkgs(重新安装软件包但是不会破坏他原来的数据)
rpm -ivh vsftpd-2.0.5-10.el5.i386.rpm --force #强制安装
rpm -ivh --nodeps vsftpd-2.0.5-10.el5.i386.rpm #不检查该文件的依赖关系

如果我系统中已经安装了vsftp-2.0版本,那么我现在又升级到了3.0,这个时候我觉得3.0不适合,我想
返回到2.0版本,且要保证原来的数据不被丢失,怎么办呢?–oldpackages

 rpm -ivh vsftpd-2.0.5-10.el5.i386.rpm --oldpackages

rpm 还支持URL路径
rpm -ivh http://192.168.1.1/pub/Server/vsftpd-2.0.5-10.el5.i386.rpm

rpm -qa 显示系统当中所有已经安装的软件包 rpm -qa |wc -l 看一下一共安装的有多少
rpm -qa |grep vsftpd #查询该软件有没有被安装呢
rpm -qf /etc/inittab #查询该文件由哪个包提供

如何提取一个包里面的内容

rpm2cpio initscripts-8.45.17.EL-1.i386.rpm |cpio -imd    (cpio:解压,imd:解压到当前目录)
rpm -qpi +RPM包  查看这个RPM文件的详细信息
rpm -qi vsftpd #这个是查询包的信息(针对与在系统中已经安装的软件包信息)
rpm -ql vsftpd #服务名rpm 在安装这个包的同时,安装了多少个文件。
rpm -qc vsftpd #查询这个包的配置文件在哪里
rpm -q --scripts vsftpd #查询编包这,写了哪些脚本

rpm 效验一个软件包是否被修改过 rpm -V vsftpd(查询一个包是否被修改过)

 rpm -V vsftpd 这个时候没有任何信息出来,是因为我门没有对这个软件做任何的修改
vim /etc/vsftpd/vsftpd.conf 将YES改成NO
再用rpm -V vsftpd 这个时候你会发现哪些栏位被修改了
S:文件的大小
M:文件权限
5:MD5哈西算法
D:设备文件(如果这里是个设备文件,代表你修改过该设备的版本号)
L:链接
U:拥有人
G:拥有组
T:时间
c:代表修改的什么呢,代表的是修改的一个配置文件

rpm -Vp 包的文件名称

rpm -Vp vsftpd-2.0.5-10.el5.i386.rpm #查询哪些包的文件被修改过,和上面rpm -V vsftpd效果一样
rpm -Va vsftpd-2.0.5-10.el5.i386.rpm #查询系统中所有的包被修改过的情况
 有些时候系统中软件包装不上去,不是仓库有问题,而是在仓库里面的key没有被导入到系统中
那么怎么样将一个KEY 导入到系统中去呢
cd /etc/pki/rpm-gpg/
rpm --import RPM=GPG-KEY-redhat-release #将这把KEY导入到系    统中去,就可以进行软件包安装了
那么在装软件包的时候系统就会匹配软件包是否与KEY是一致的
rpm -K vsftpd-2.0.5-10.el5.i386.rpm #查询一个软件包是不是一致,有没有经过红帽的数字签名,有没有人修改过,如果是OK的,则代表是安全的,红帽进行过数字签名,如果不是OK,则代表没有经过红帽数字签名。可能有恶意代码。可以使用,但是出了事故,红帽将不负责任。

查询一个软件包有没有被人窜改过,看MD5

md5 vsftpd-2.0.5-10.el5.i386.rpm #这个时候会返回一个MD5值,这个值是永远不会变的
echo "123456" >> vsftpd-2.0.5-10.el5.i386.rpm 假如代码
md5 vsftpd-2.0.5-10.el5.i386.rpm 再次进行计算MD5值(发现和上面的MD5不同,则被窜改了)

最大的问题 就是无法解决包的依赖性关系

而yum 解决了包的依赖关系

先配置软件仓库才能用yum

摸版:rhel-debuginfo.repo 我们可以把他的摸版文件COPY出来 起任意名字,但是一定要以repo结尾(这个就是仓库文件)
第一行:[Server] ---仓库的名称,每个仓库的名称
第二行:name--------Redhat Server 对仓库做一个描述
第三行:baseurl-----指定URL路径,指定软件存放的路径
第四行:enabled=0---开关 0:代表系统在读这个软件的时候会忽略这个仓库
                       1:代表开启,在搜索的时候会搜索这个仓库里面的内容
第五行: gpgcheck=1 代表是否检验这个包的签名,做数字签名的检查,有没有经过红帽签名
第六行:gpgkey:那么检查签名是通过什么检查,依据是什么呢,其实依据就在这里,使用的这个KEY

yum clean all #清空缓存
yum -y install +包的名字 #安装软件包
yum -y groupinstall +组 #如果在装系统的时候忘记了安装X-WINDOW,这个时候可以用组的关系来解决问题 yum -y goupinstall "X Window System"
yun grouplist #查看列出组信息
yum remove +包的名字 #卸载软件包
yum groupremove +组的名字 #卸载掉一个组
yum update +包的名字 #更新软件包

升级内核

rpm -ivh kernle------
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值