Linux中的软件管理
yum源头
定义:yum源是一个软件集合地,只需要搜索并安装你想要的软件。yum的全称是Yellowdog Updater Modified,是一个shell前端软件包管理器,基于RPM包管理。从指定的服务器下载RPM包并自动安装,可以自动处理依赖性关系,并且一次性安装所有依赖的软件包,无需一次次频繁的下载和安装。
yum源的分类
本地yum源:光盘镜像里面一般会附带一些软件,这个时候就可以把光盘镜像当成本地源来安装软件。
网络yum源:例如aliyun的镜像网站,可以通过互联网下载软件并安装 。
配置本地yum源指向
实验大致过程:
给desktop一个安装软件的仓库,desktop才可以安装软件,先配置本地yum源只能安装官方软件
再搭建第三方仓库之后才可以安装第三方软件。
本实验是通过配置本地yum源来安装官方的软件。
实验步骤:
step1.挂载光盘镜像
挂载的目的:挂载就是把光盘镜像放在一个目录下,好让系统读取镜像里的资源。
注意:选择镜像资源时一定要选择和自己系统版本匹配的镜像资源版本,可用hostnamectl 查看系统版本
1|mkdir /iso
2|scp root@172.25.254.2:/镜像路径 /iso
1|cd /iso
2|ls
3|cd
4|mkdir /haha
5|mount /iso/rhel-server-7.0-x86_64-dvd.iso /haha/
6|ls /haha/
7|mount
1|cd /haha/Packages/
2|ls
step2.设置系统安装源指向(指向刚才挂载的自定义的目录)
系统安装源指向实际上是一个命名以repo结尾的文件,里面存放的是本地yum源软件仓库的一些信息
1|cd /etc/yum.repos.d/
2|ls
3|vim haha.repo
4|在文件里面添加
5|[haha]
6|name=haha
7|baseurl=file:///haha
8|gpgcheck=0 不检测gpgkey,不让红帽检测虚拟机要下载的第三方软件是否授权。
9|enabled=1 使安装源语句生效
step3.设定永久挂载
使虚拟机重启之后依然有本地yum源
编辑以下的配置文件:
vim /etc/rc.d/rc.local
添加
mount /iso/rhel-server-7.3-x86_64-dvd.iso /haha
chmod 755 /etc/rc.d/rc.local
step4.检测是否配置成功
1|gpk-application
或者
2| yum install dhcp -y
给虚拟机配置好本地yum源之后,虚拟机就可以安装红帽公司官方的软件了。
yum命令大全汇总
1|yum clean all
2|yum repolist
3|yum install softwarename
4|yum update softwarename
5|yum list softwarename
6|yum list all
7|yum installed
8|yum avaliable
9|yum reinstall softwarename
10|yum remove softwarename
11|yum info softwarename
12|yum search software信息
13|yum whatproviders file
14|yum history
15|yum history info 数字
16|yum groups list
17|yum groups info
18|yum groups install sfgroup
19|yum groups remove sfgroup
软件安装包名称详解
以 kolourpaint-4.10.5-4.el7.x86_64.rpm 为例:
kolourpaint | 软件名称 |
---|
4.10.5 | 版本 |
4.el7 | 适用系统 |
x86_64 | 架构 |
rpm | 适用rpm体系软件 |
部署共享型yum源
部署步骤
实验配置环境:一台虚拟机
step1.在一台已经配置好本地yum源的主机中安装httpd
yum install httpd的路径
step2.配置网络yum源
实现的条件:只有开启httpd服务,将desktop的本地yum源挂载在/var/www/html/下才能实现yum源共享,需要注意的是:desktop共享/haha/下的文件给其它主机时,必须关闭防火墙.
1|systemctl start httpd
2|systemctl enable httpd
3|systemctl stop firewalld
4|systemctl disable firewalld
5|systemct mask firewalld
6| mkdir /var/www/html/xixi
7|mount /iso/rhel-server-7.3-x86_64-dvd.iso /var/www/html/xixi
以上方法存在着一些局限性,配置的网络yum源是临时的,重启后设定就会消失
配置永久的网络yum源(与本地永久配置类似)
1| vim /etc/rc.d/rc.local
在其中写入:mount /iso/rhel-server-7.3-x86_64-dvd.iso /var/www/html/xixi
3.测试
网页搜索 ip/xixi,出现以下的目录
在另一台主机里
1|cd /etc/yum.repo.d/
2| vim haha.repo
在其中写入:
[rhel7.3]
name=rhel.3
baseurl=http://ip/xixi
gpgcheck=0
Linux中安装第三方软件
第三方软件不可以直接yum安装的原因
因为不能识别有的第三方软件的依赖性 ,但是qq,wps(libpng12的依赖性,仓库解决了)等,例如画图软件 KolourPaint 系统解决不掉依赖性。
由于yum源软件仓库里面没有第三方软件的安装包。
只能先在官方浏览器里面下载第三方软件的安装包,然后再用yum命令安装
但是利用下载下来的第三方软件安装包安装第三方软件时要处理依赖性关系
依赖性关系就是安装软件1时会提醒你需要软件2,但安装软件2时,又提示需要安装软件1,陷入死循环。
当提示需要依赖性软件时,可以在跳过能跳过的,将不能跳过的,在浏览器中搜索rpmsearch
rpm命令的使用
1|rpm
2|-i 安装软件
3|-v 显示过程
4|-h hash加密(MD5等对称加密)
5|-a 所有
6|-p 软件包
7|-e 删除软件
8|-ivh 建立软件
9|-qa 查看所有已经安装过的软件包
10|-ql 查看已经安装的软件拥有什么文件
11|-qc 查看已安装软件或者服务的配置文件
12|-qd 查看已安装软件或者服务的说明(帮助)文件
13|-qf 根据某个文件找出从出此文件属于哪个安装包
14|-qp 软件安装后会在系统中叫什么名字
15|-qlp 未安装的软件包如果安装会产生什么样的文件
16|--scripts 表示软件在安装或者卸载过程中会做什么动作 结合-pq使用 非常非常重要
17|-Kv 检测软件是否被篡改过
18|--force 只是负责在重新安装已经安装过的软件时,强制安装,不忽略依赖性。
19|--nodeps 忽略依赖性
例如:
安装qq的软件
第三方软件仓库的搭建
搭建第三方软件仓库的原因
当我们在浏览器下载第三方软件后,有些软件在安装的时候需要处理依赖性的关系。此时无法利用yum命令进行安装。所以我们需要搭建第三方软件库,并且完成相应的配置使其可以自动地处理依赖性的关系,然后就可以使用yum命令来安装相应的软件。
实验
实验的目的
让虚拟机在安装有依赖性的第三方软件时,可以直接使用yum命令进行安装
实验的步骤
step1把需要安装的东西放到一个目录底下,例如创建一个software目录,放入其中
step2
1| createrepo -v /software
可以观察到software目录下出现repodata
step3 在本地yum源仓库指向的文件里添加第三方软件仓库的指向信息。也可以新建一个repo文件,不过/etc/yum.repo.d/目录下的repo文件都必须可用
step4 查看依赖性的关系 cd /software/repodata/
step5
1| yum install kolourpaint.x86_64
总结:
当执行完createrepo之后,/software升级为软件仓库了
生成的repodata目录中有primary.xml文件,文件中有软件的元数据,数据中有软件的依赖性
注意:共享第三方软件
把/software传入到其他机器的/var/www/html目录下
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)