### RPM包管理以及yum的基本用法




> rpm包管理
常用选项:  
-v:显示过程  
-h:以#格式显示包管理执行进度  
-i:安装程序包 


-V校验功能 


升级选项


```
-U:装有旧版程序包就升级,没有则安装。
-F:有旧版则升级没有则不执行
--oldpackarg:降级
--force:强制
```
查询操作:-q:【查询选项】或【挑选选项】  
 
```
查询选项有:
a:查询所有包
f:由哪个包安装生成
g:包组的相关程序包




--whatproveides:查看指定的能力由哪个包提空
--whattrequires:查看指定的能力被哪个包依赖
--changglog:查询rpm包的改变日志
--conflicfs:查看与谁冲突
-c:查看程序配置文件
-i:查看包信息
-d:查看程序文档
-l:列出文件包安装后生成的所有文件
--script:安装或者卸载时有可能执行的脚本
-R:查看程序包所依赖
--provides:列出指定程序包所提供的能力
```


示例:


```
[root@zhangxiao ~]# rpm -ivh /media/CentOS_6.9_Final/Packages/httpd-2.2.15-59.el6.centos.x86_64.rpm 
Preparing...                ########################################### [100%]
package httpd-2.2.15-59.el6.centos.x86_64 is already installed
[root@zhangxiao ~]#
```
> 注意:1、不要对内核进行升级,LINUX支持多版本内核并存,如果需要升级则直接安装  
> 2、如果原程序包的配置文件曾被修改升级时,新版本的配置文件并不会覆盖老版本的文件,而是会把老版本文件重新命名后保留


安装选项:
```
--test:测试模式安装
--nodeps:忽略依赖关系
--replacepkgs:重新安装
--nosignature:不检查来源合法性
--nodigest:不检查包的完整性
--noscript:安装不行行脚本
%pre  安装前脚本
%post 后脚本
%preun 卸载前脚本
%postun  后脚本
```
示例
```
[root@zhangxiao ~]# rpm -ivh /media/CentOS_6.9_Final/Packages/httpd-2.2.15-59.el6.centos.x86_64.rpm --replacepkgs
Preparing...                ########################################### [100%]
   1:httpd                  ########################################### [100%]
[root@zhangxiao ~]#
```
示例
```
[root@zhangxiao ~]# rpm -e httpd
error: Failed dependencies:
httpd >= 2.2.0 is needed by (installed) gnome-user-share-2.28.2-3.el6.x86_64
[root@zhangxiao ~]# rpm -e httpd --nodeps
[root@zhangxiao ~]# httpd
-bash: httpd: command not found
```
常用的组合
```
-qi Package ,-qf File
-qc Pachage ,-ql Package
-qd Package ,-qpi Pachage_File,-qpl:Pachage_File
```
卸载:-e   
      --nodeps
      --test
      --noscripts
      
```
示例[root@zhangxiao ~]# rpm -e tree
[root@zhangxiao ~]# tree
-bash: tree: command not found
```




完整性校验:
rpm --import 导入秘钥(/media/centos6.9/KEY....)(一般是gpg-pubkey)


-K:检验来源合法性和完整性






### yum


> yum(全称为 Yellow dog Updater Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器,基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。


yum:基本工作组件依赖于yum仓库,yum仓库存储了许多rom包,以及包所相关的元数据(放置于repodata)所以仓库应该指向的路径应该为ropodata的父目录


文件服务器:通常格式为
  ftp://
  http://
  file://
  
```
yum客户端配置文件有
/etc/yum.conf  
:为所有仓库提供配置服务  
/etc/yum.repors.d/*.repo
:为仓库指向提供配置


```
通常yum的基本配置不会变化,变化的一般是仓库指向文件  
我们需要在/etc/yum.repors.d/*.repo 新建一个文件,名字随意,一般都叫base.repo(必须以.repo结尾)


```
[base]                                                  
name=base        #####此行表示名称 
baseurl=file:///media/CentOS_6.9_Final    ###表示yum数据库的路径指向
gpgcheck=0        ###表示是否检查文件的来源合法性(1表示检查0表示不检查)


~                                            
```
                           




yum的用法格式




list
```
yum [选项]【命令】[包名]...
yum list :显示所有的包
yum list installed :显示所有已安装的包
yum list available
:显示可用的包
```




常用选项:


```
install :安装
remove:删除
updata:升级
info:查看信息
clean:清理缓存
常用clean all
history:查看相关yum事务历史


包组:
groupinstall 组名
安装包组内的所有包
groupupdate 组名
升级包组
grouplist
包组清单
groupremove
卸载包组
groupinfo
查看包组信息
```
如何使用光盘当做本地yum仓库
1.挂载光盘到某目录
2.创建配置文件


YUM 中命令行的优先级高于配置文件


命令行选项:


```
--nogpgcheck:不进行检查
-y :自动回答为yes
-q:静默模式
--disablerepo:临时禁用某个仓库指向
--enablerepo:临时启动仓库指向


repo配置文件中的可用变量
$releasever:os主版本
$arch:平台
$basesearch:基础平台
$YUM0-$YUM9
```


创建本地文件夹做仓库


```
首先复制需要的rpm包到文件夹下
输入
createrepo dirname
元数据就生成了在diename/会生成文件repodata
```


这时修改yum配置就可以了
(url地址改成file://PATH/dirname)


搭建yum服务器


首先准备两台服务器,两台机器版本可以不同


```
启动网络服务
 命令:systemctl start httpd
关闭防火墙
 systemctl stop firewalld
 下次开机不开启防火墙
 systemctl disable firewalld


在文件/var/www/html文件夹下新建index.html
[root@localhost html]# ls
[root@localhost html]# echo welcome > index.htm


在文件夹下新建文件夹
centos/6/x86_64/


需要的rpm包复制到文件中


或重新在虚拟机上挂载一块管公安
添加光盘时,添加后没有显示启用
echo '- - -'  >> /sys/class/scsi_host/host2/scan


```


剩下参考创建本地仓库



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值