Linux中的软件管理

mac2024-01-24  39

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 #把真机的镜像拷贝至虚拟机的/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 #-y表示执行过程中yes/no选择yes,避免之后的选择

给虚拟机配置好本地yum源之后,虚拟机就可以安装红帽公司官方的软件了。

yum命令大全汇总

1|yum clean all #清除原有的yum缓存,才会使用新的yum源 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 数字 #对数字为id的信息进行显示 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的路径 #httpd属于官方软件,有本地yum源就可以直接安装

step2.配置网络yum源 实现的条件:只有开启httpd服务,将desktop的本地yum源挂载在/var/www/html/下才能实现yum源共享,需要注意的是:desktop共享/haha/下的文件给其它主机时,必须关闭防火墙.

1|systemctl start httpd #启动apache的服务httpd 2|systemctl enable httpd #设置开机启动 3|systemctl stop firewalld #关闭火墙 4|systemctl disable firewalld #设置为开机自动关闭 5|systemct mask firewalld 6| mkdir /var/www/html/xixi #var/www/html在apache安装后会自动产生 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目录下

最新回复(0)