系列文章目录
提示:
第一章 :red hat linux系统下载安装
第二章:Linux用户和组
第三章:Linux文件管理
第四章:Linux目录管理
第五章:Linux文本编辑器
第六章:Linux文件查找与管理
第七章:Linux输入,输出的重定向以及管道
第八章:Linux包管理
文章目录
前言
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
总结
这次的内容基本就这样,原则还是,有机会多练一练,光看是看不懂的。