linux下的软件管理(第三方软件的安装以及软件的依赖性问题)

一.linux软件安装概述
(1)安装程序的方式:

  • 通用二进制格式:直接解压压缩文件,就可以使用。但一定要注意安装平台。
  • 软件包管理器:如rpm
  • 软件包管理器的前端工具:如yum
  • 源代码方式

二.yum命令
1.yum命令的使用必须是在yum源搭建成功后才能正常运行

2.yum命令的详细

yum	  clean	 all	           ##清除原有yum缓存
yum    repolist		           ##列出仓库信息
yum     install	software  ##安装软件
yum	      update			   ##更新软件,企业中一般不用

在这里插入图片描述
在这里插入图片描述

yum      list	  software		      ##查看软件
yum      list 	all		             ##查看所有软件
yum      list 	installed     	##列出已安装软件
yum	    list 	available	   ##列出可安装软件     

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

yum	    reinstall software  ##重新安装
yum	    remove	 software ##卸载
yum	    info	  software	 ##查看软件信息
yum	    search	    software ##根据软件信息查找软件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

yum	    whatprovides     file	##根据文件找出包含此文件的软件
yum	     histroy 		            ##查看系统中关键管理的历史操作
yum	     histroy	 info  id		##列出软件组

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

yum	     group	list		##列出软件组
yum      group	info		##查看软件组的信息
yum	    group	install  sfgroup ##安装软件组
yum      group	remove 	sfgroup	##卸载软件组

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

三.用rpm命令处理软件

rpm   -i             ##安装
rpm   -v            ##显示过程
rpm   -h            ##hash加密
rpm   -e            ##卸载
rpm   -q            ##查看
rpm   -a            ##所有
rpm   -p           ##软件包
rpm   -ql          ##查看软件在系统中的安装文件路径
rpm   -qlp        ##查看没有安装的软件包在系统中如果安装后产生文件的路径
rpm   -qf          ##根据某个文件找出此文件属于哪个安装包
rpm   -qc         ##查看软件的配置文件的名称
rpm   -qd        ##查看软件的帮助文件
rpm   --scritps  ##查看脚本
rpm   --nodeps ##安装软件忽略软件依赖
rpm   --force     ##强行安装软件
rpm   -Kv           ##检测软件包是否篡改

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
四.软件包概述

1.软件包的组成部分:

  • 二进制程序,位于/bin,/sbin,/usr/bin,/usr/local/bin等目录中

  • 库文件,位于/lib,/usr/lib等目录中

  • 配置文件,位于/etc目录中

  • 帮助文件,手册,/usr/share/doc/
    再没有软件包管理器之前,安装程序,卸载程序是非常繁杂的
    (1)软件包管理工具的特性:

  • 文件清单

  • 文件放置路径

  • 提供的功能说明

  • 依赖关系
    软件包管理器内部有一个数据库,其中记载着程序的基本信息,校验信息,程序路径信息等。
    2.rpm

  • 功能:打包,安装,查询,升级,卸载,校验,数据库管理。

  • 缺点:由于linux中的程序大多是小程序,程序与程序之间存在着复杂的依赖关系。rpm无法解决软件包的依赖性关系。

例:kolourpaint-libs-4.10.5-4.el7.x86_64.rpm

kolourpaint-libs     : 软件名称
4.10.5               :版本
4.el7                :适用系统
x86_64               :架构
rpm                  :使用rpm体系软件

rpm=redhat packages manager

五.yum于rpm的区别

rpm适用于所有环境 ,而yum要搭建本地yum源才可以使用!yum是上层管理工具,自动解决软件依赖性的问题,而rpm是底层管理工具

第三方软件在/root/Desktop中,分别用yum和rpm安装,可以观察到其中的区别
在这里插入图片描述
实验一:安装wps软件

用rpm安装wps软件

在这里插入图片描述

用yum安装wps软件

在这里插入图片描述
发现都能安装完成!

实验二:安装Kolourpaint
Kolourpaint与kolourpaint-lib(是kolourpaint的依赖性文件)
1.安装kolourpaint-lib时碰到以下依赖性问题

rpm -ivh  kolourpaint-libs-4.10.5-4.el7.x86_64.rpm  ##先安装依赖性文件

在这里插入图片描述
2.
注:碰到缺少依赖性文件,Kolourpaint与kolourpaint-lib(是kolourpaint的依赖性文件)
相互依赖
解决:

rpm -ivh  kolourpaint-libs-4.10.5-4.el7.x86_64.rpm  --nodeps   ##忽略软件的依赖性直接进行安装

在这里插入图片描述
3.再安装kolourpaint

rpm -ivh kolourpaint-4.10.5-4.el7.x86_64.rpm  
此时发现还缺少一个依赖性文件kde-runtime

在这里插入图片描述
4.用yum search 查找kde-runtime
找到一个kde-runtime-libs.x86_64的安装包
在这里插入图片描述

5.安装kde-runtime-libs.x86_64的安装包
在这里插入图片描述
在这里插入图片描述
6.再次安装kolourpaint
发现只需要一个依赖性文件libqimageblitz.so.4
在这里插入图片描述
注意:在上一步安装完成后,此时只缺少一个文件,这说明在进行上面安装时,yum已经解决安装kde-runtime-libs时所需要的依赖性文件
7.查找libqimageblitz.so.4文件所对应的安装包

法一:

yum whatprovides libqimageblitz.so.4

在这里插入图片描述
法二:

yum search qimageblitz

在这里插入图片描述
8.安装此软件qimageblitz.x86_64
在这里插入图片描述
在这里插入图片描述9. 再次安装kolourpaint
在这里插入图片描述
显示软件已经安装成功,且可以使用
在这里插入图片描述
实验三:安装linuxqq
1.用rpm安装发现软件依赖性问题
在这里插入图片描述

2.依次解决依赖性的文件(同kolourpaint方法相同,只是不存在死循环问题)
解决:首先找到依赖性软件的软件安装包并用yum命令安装软件包
(1)
在这里插入图片描述
在这里插入图片描述(2)
在这里插入图片描述
在这里插入图片描述
(3)
在这里插入图片描述
在这里插入图片描述
(4)
在这里插入图片描述
在这里插入图片描述
(5)
在这里插入图片描述
在这里插入图片描述
3.软件依赖性都解决完成后,再次安装linuxqq
在这里插入图片描述
发现软件安装完成!

总结:依赖性文件是指,安装软件时必须先安装好软件的依赖性文件,否则软件就不能安装,因此在用rpm安装软件时仅仅只安装指定的文件,不会安装依赖性文件.若所安装的软件无依赖性或者依赖性被解决,则可以安装,否则会报错无法安装.而使用yum安装软件时,检测到软件的依赖性文件没有在yum源安装,yum会自动安装依赖性软件后在安装软件.
注意:如果在安装软件时遇到a需要b,b需要c,但c又需要a的死循环中,则用- -nodeps参数先忽略软件的依赖性安装其中的一个依赖性软件然后再安装其它依赖性软件.

五.自己的第三方软件仓库的搭建(解决软件安装依赖性问题)
搭建第三方软件仓库的意义:搭建第三方软件仓库是为了更好的解决有依赖性的包,不用rpm命令一个一个的解决依赖性.
1.搭建软件仓库

mkdir  /mnt/zll 
mv  *   /mnt/zll          ##把所有的rpm包放到一个目录中
createrepo  -v  /mnt/zll    ##命令执行成功后会在该目录下生成repodate目录

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

注意:生成的repodate目录就是一个软件仓库
在这里插入图片描述
2.将第三方软件仓库配置进入yum源中
(1)查看已有yum源仓库
在这里插入图片描述
(2)配置第三方软件yum源仓库

vim /etc/yum.repos.d/software.repo     ##编辑yum源配置文件

内容为:

[software]
name=software
baseurl=file:///mnt/zll
gpgcheck=0

在这里插入图片描述
在这里插入图片描述

yum  clean all
yum repolist

在这里插入图片描述
发现软件包比第一步列出的多了6个
3.检测:
安装画图工具
在这里插入图片描述
在这里插入图片描述
六.搭建共享性第三方软件
1.准备工作
需要搭建共享性的第三方软件的话,必须先下载httpd服务,将要共享出去的目录放在http默认发布的目录中即可
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述2.

vp -r /mnt/zll   /var/www/html

在这里插入图片描述
3.检测
在这里插入图片描述
七.屏蔽部分安装包
意义:yum命令安装时会默认将一些软件的32位和64位都下载出来,用该方法可屏蔽掉安装时不需要的安装包

vim  /etc/yum.conf     ##配置文件

在任意行加入:

exclude=*.x86_64     ##设置黑名单,屏蔽64位的软件安装包

在这里插入图片描述
在这里插入图片描述
yum list all 发现没有64位的安装包了
八.rpm软件包的拆解
意义:当某些软件缺少某个文件时,不必重新安装,只需要将软件包拆解,单独下载缺失的文件

rpm2cpio  linuxqq-v1.0.2-beta1.i386.rpm | cpio -id  ##拆解命令

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44224288/article/details/86720075