Linux 之 yum命令与rpm命令、yum源的搭建与第三方软件仓库的搭建

一、yum命令和rpm命令

       

    yum软件包管理器,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。而rmp是真实下载,对于依赖性的安装包需要自己手动下载

A.    yum命令

 yum install softwarename        // 安装软件

 yum remove softwarename     //卸载软件

 yum reinstall softname            //重新安装软件

 yum search  softwarename     //根据软件信息搜索软件

 yum whatprovides */ls           //根据软件包的某个文件(命令)名称搜索软件

 yum repolist                           //列出设定yum源信息

 yum list                                   //查看软件源是不是有此软件

 yum list all                             //列出所有软件名称

 yun list available                    //列出可以用yum安装的软件名称

 yum list installed                  //列出已经安装的软件名称

 yum update                          //更新软件

 yum history                         //显示信息(安装、卸载)

 yum info                               //查看软件信息

 yum groups list                     //查看软件组信息

 yum groups info softwaregroup     //查看软件组内包含的软件

 yum groups install softwaregroup  //安装组件

注:在使用时,httpd必须是开启的状态,如果关闭httpd(systemctl stop httpd),则会下载报错。


如何设定yum源的黑名单:

--》 编辑文件:vim /etc/yum.conf,并在有效命令最后一行写入   exclude=*.i686  ,表示的含义是:屏蔽所有软件名后含有          i686的软件;  (如果想要屏蔽某个软件,直接空格加软件名,如exclude=*.i686 zsh.x86_64)

          


 --》  yum list ##编辑文件前yum list查询,编辑文件后yum list查询,对比前后的差别;

前:

          

后:


B .  rpm命令

rpm  -ivh  软件包(rmp)    ##安装软件,-v显示过程,-h指定加密方式

rpm  -e    软件名                 ##卸载

rpm  -ql   rpm  -q +软件名(精确名称)   ##查询软件生成文件

rpm  -qlp  软件包(rpm)    ##查询软件安装后会生成什么文件

rpm  -qc   软件名          ##查询软件的配置文件名称

rpm  -qd   软件名          ##查询软件的说明文件名称

rpm  -qa                      ##查询系统中安装的所有软件名称

rpm  -qa | grep + 软件名(模糊关键字)   ##查询这个软件是否安装(这里的grep是搜索功能)

rpm        -q    软件名(精确名称)        ##查询这个软件是否安装

rpm  -qf   文件名        ##查看filename属于那个安装包

rpm  -qp   软件包(rpm)   ##查询软件包安装后在系统的名字

rpm  -qi   软件名         ##查询软件信息

rpm  -qip  软件包(rpm)     ##软件包的信息

rpm  -Kv   软件包(rpm)      ##检测安装包是否被篡改

rpm  -qp   软件包(rpm) --scripts     ##检测软件在安装或卸载过程重执行的动作

实验 1 :关于rpm -q 和rpm -qa 的差别(在有wps安装包的前提下



 实验 2 :关于检测安装包是否被篡改

未篡改前的查询结果:


操作: 追加westos到安装包


篡改后的查询结果:


二、本地yum源配置(实验本机是7.2)

步骤:(1)查询系统版本(hostnamectl),下载一个和系统相匹配的镜像文件到系统中,如果你的系统是7.0的,那就下载

rhel-server-7.0-x86_64-dvd.iso  ,如果是7.2的话,那就下载rhel-server-7.2-x86_64-dvd.iso

如:我们查询虚拟机的系统版本,是7.0


(2)因为下载后的镜像是在桌面上,为了防止文件丢失,我们建立目录/iso,将桌面上的2个版本的镜像服务移动至/iso。(这步操作不是必须的)

mkdir /iso  

mv /home/kiosk/Desktop/*.iso /is  

(3)mkdir /source7.0 /source7.2  

这个步骤是为了可以看到镜像里的文件,新建两个目录,举个例子,此时新建目录的作用相当于光驱,镜像的作用相当于光盘;


(4)实现挂载

mount /iso/rhel-server-7.0-x86_64-dvd.iso /source7.0

mount /iso/rhel-server-7.2-x86_64-dvd.iso /source7.2


(5)在目录/etc/yum.repos.d/下,编辑下载软件路径的文件vim /etc/yum.repos.d/yum.repo,编辑内容为:



其中,file://  为本地文件; http 为超文本文件

(6)yum clean all   //清理缓存


         yum install  dhcp   //安装dhcp看是否可以成功,如果可以,那么本地共享源已成功,并且,将会在source7.2下下载dhcp软件



三、网络共享yum源

( 1 )在本地yum源配置完成之后,安装apache;

yum install httpd    //下载这个软件是为了实现共享


systemctl start httpd    //开启共享服务

systemctl enable httpd  

systemctl stop firewalld  //关闭防火墙

systemctl disable firewalld   


( 2 )建立网页挂载点

mkdir   /var/www/html/source7.0    /var/www/html/source7.2


( 3 )挂载镜像

mount /iso/rhel-server-7.0-x86_64-dvd/iso /var/www/html/source7.0

mount /iso/rhel-server-7.2-x86_64-dvd/iso /var/www/html/source7.2


( 4 )访问测试

打开浏览器,输入地址: http://ip/source7.0 (其中ip为挂载点的主机地址),假设我的主机地址为172.25.254.66,则如果显示如图所示,网页共享yum源已成功。


( 5 )配置虚拟机(在虚拟机上我们尝试利用主机的共享yum源下载软件)

  打开虚拟机desktop


   rm -fr /etc/yum.repos.d/*            ##删除原来虚拟机中软件下载源


   vim /etc/yum.repos.d/yum.repo        ##重新编辑下载路径

        [source7.0]                                       ##编辑内容(因为虚拟机是7.0,所以下载源也是连接7.0的)

        name=source7.0

        baseurl=http://172.25.254.22/source7.0

        gpgcheck=0



尝试下载软件,成功!



注:挂载是临时的,当reboot后,需要手动重新挂载。所以,我们可以让系统开机时自动挂载,必须将挂载命令写入文件 /etc/rc.d/rc.local,实现开机自动挂载。要记得文件保存退出之后,赋予此文件以执行权限,即:chmod +x /etc/rc.d/rc.local。方式如下所示,


然后reboot(重启本机),观察现象,发现系统开机时会自动挂载

四、第三方软件仓库的搭建

何谓第三方软件仓库?

我们把包含repodata的目录称为第三方软件仓库;

(1)创建一个专门存放所有rpm软件报的目录/mnt/software;

  mkdir /mnt/software

(2)扫描生成软件包数据库文件

  cd /mnt/software

  createrepo .       

  

 (3)编辑文件内容;

  vim /etc/yum.repos.d/yum.repo

 

 

 (4)yum clean all

 

在完成搭建第三方软件仓库的基础上,我们又该如何在网络共享?

  第一步,安装http;

  第二步,关闭防火墙,打开httpd服务;

 

  第三步,cp -r /mnt/software/ /var/www/html/


  第四步,在网页上进行测试,输入网址:http://172.25.254.69/software,检测网络源是否成功;如果出现所共享的软件包,则成功;反之不成功。失败需要去排查错误,如:是不是防火墙没关、文件内容编辑有误。

猜你喜欢

转载自blog.csdn.net/wangkana/article/details/80086898