包的安装和卸在载
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------