Linux包管理

2021/9/29 7:14:00

本文主要是介绍Linux包管理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Linux包管理

系列文章目录

提示:
第一章 :red hat linux系统下载安装
第二章:Linux用户和组
第三章:Linux文件管理
第四章:Linux目录管理
第五章:Linux文本编辑器
第六章:Linux文件查找与管理
第七章:Linux输入,输出的重定向以及管道
第八章:Linux包管理

文章目录

  • 系列文章目录
  • 前言
  • 一、挂载镜像
  • 二、rpm
    • 1.rpm安装与卸载
    • 2.rpm查询
    • 3.rpm包信息查询
    • 4.rpm查询命令来源
    • 1.yum安装与卸载
  • 三、yum
  • 总结


前言

Linux中Redhat(centos)采用的包格式为rpm全称Red Hat Package Manager红帽子包管理,今天的主要内容就是使用rpm和yum命令来进行软件安装,由于博主的虚拟机没有配置网络所以就从安装的镜像里找包来做实验,老规矩开始前=来一张快照


一、挂载镜像

首先要找到包所在的文件,这个可以通过可视化界面寻找

在这里插入图片描述
在这里插入图片描述
可以看到这里有两个Packages里面东西不一样,我就以第一个为例了。
在当前位置打开终端,查询包所在位置
在这里插入图片描述
创建挂载点并把光盘挂载到相应目录查询Packges文件
在这里插入图片描述
当产看到一堆rpm包证明挂载成功
在这里插入图片描述

二、rpm

1.rpm安装与卸载

以安装最后一个查询到的包为例
在这里插入图片描述

rpm -ivh /mnt/cdrom/AppStream/Packages/zziplib-utils-0.13.68-8.el8.x86_64.rpm 

注意一下当命令很长的时候多用Tab建自动补齐,这样不容易敲错
在这里插入图片描述
简单说一下这个错误信息,非常常见

libzzip-0.so.13()(64bit) is needed by zziplib-utils-0.13.68-8.el8.x86_64
libzzipfseeko-0.so.13()(64bit) is needed by zziplib-utils-0.13.68-8.el8.x86_64
libzzipmmapped-0.so.13()(64bit) is needed by zziplib-utils-0.13.68-8.el8.x86_64
zziplib(x86-64) = 0.13.68-8.el8 is needed by zziplib-utils-0.13.68-8.el8.x86_64

右边是咱们要安装的rpm,左边是安装这个rpm所需要的依赖。有时候会很多,这也是rpm不够只能一个体现,这个问题稍后解决。
现在换个不需要依赖的rpm

rpm -i /mnt/cdrom/AppStream/Packages/zziplib-0.13.68-8.el8.x86_64.rpm 

在这里插入图片描述
卸载

rpm -e zziplib

卸载参数-e 且后边只需要跟包名即可
在这里插入图片描述
现在提出一个问题,如果这个rpm包很大,我怎么判断包的安装进度?

rpm -ivh /mnt/cdrom/AppStream/Packages/zziplib-0.13.68-8.el8.x86_64.rpm

添加参数vh可显示安装时的百分比进度条
在这里插入图片描述
强制安装
有些程序可能出问题了,但是咱也不知道问题在哪里,可以跳过卸载,直接强制重装
在这里插入图片描述

rpm -ivh /mnt/cdrom/AppStream/Packages/zziplib-0.13.68-8.el8.x86_64.rpm  --force

可以添加参数 --force(两个-)

2.rpm查询

这里可以结合管道
在这里插入图片描述
q:查询
a:全部
也可以直接指定包名,效果一样。

在这里插入图片描述

3.rpm包信息查询

rpm -qpi /mnt/cdrom/AppStream/Packages/httpd-2.4.37-39.module+el8.4.0+9658+b87b2deb.x86_64.rpm 

参数
q:查询
p:包
i:信息
-qpi 查询包的信息

在这里插入图片描述

4.rpm查询命令来源

1.yum安装与卸载

以重装touch为例

很遗憾最后一步需要依赖安装失败了,不过这不重要,咱们就当它安装成功了,主要是体验过程。
rpm -qf 可以查询某一个命令所在的rpm包

rpm -qf /usr/bin/touch

在这里插入图片描述
通过查询发现这个rpm包在另一个Packages文件里,且需要加–force,这个原因前面都说过
在这里插入图片描述

三、yum

以安装Apache为例
先查看一下包的信息

rpm -qpi /mnt/cdrom/AppStream/Packages/httpd-2.4.37-39.module+el8.4.0+9658+b87b2deb.x86_64.rpm 

在这里插入图片描述
使用rpm命令安装

rpm -ivh /mnt/cdrom/AppStream/Packages/httpd-2.4.37-39.module+el8.4.0+9658+b87b2deb.x86_64.rpm

可以发现出现了很多之前说过的以来问题,解决这个问题有很多方法,比如通过rpm把需要的依赖都安装一下,但是这个依赖可能很多,安装可能很麻烦。
在这里插入图片描述
yum命令可以自动安装这些依赖(前提是你的Packages文件里有),所以需要给yum指定Packages文件夹的路径,这个路径存储需要手写
查询配置文件

ll /etc/yum.repos.d/

我这个目录下没有文件,有些电脑可能配置后就有,有或者没有都可以直接创建一个新的,因为Packages目录可能有多个,也可以联网下载,博主的虚拟机没有配置网络,这次就用本地的包。
手写yum源需要创建后缀为repo的文件,名字随意。
在这里插入图片描述
文件内容
在这里插入图片描述

前两行的名称随便写,不重要。
第三行
filel://(代表本地)+光盘挂载点+AppStream/BaseOS(Packages的上一层目录)
如果联网可以直接更换成网络地址
第四行
enabled=1,代表激活此源,如果挂盘有问题或者baseurl是网络地址却没有链接网络,要改成0,禁用这个源,不然有一个repo不能用,所有源就都无法使用
gpgcheck=0,不检测,咱们都是本地的,很安全不用检测。
另一个也类似
在这里插入图片描述

然后使用命令
可以扫描所有包

yum list

出现类似结果代表成功
在这里插入图片描述
使用yum命令安装Apache

yum install httpd

在这里插入图片描述
会有一些信息,直接确认就行。
在这里插入图片描述
至此他会把你需要的所有依赖都安装完毕。
在这里插入图片描述
可以查询一下安装结果
在这里插入图片描述
卸载

yum remove httpd -y

remove卸载 ,-y代表在选择哪里自动选y
在这里插入图片描述

总结

这次的内容基本就这样,原则还是,有机会多练一练,光看是看不懂的。



这篇关于Linux包管理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程