Linux系统中的软件管理:
文章目录
一.Linux系统中的软件包类型:
[1]DEB UBlinux DEBlinux
[2]RPM redhat centOS fc
[3]bz2|gz|xz
[4]源码编译软件:指需要源码安装需要编译;绿色软件,直接可用
示例:ntfs-3g_ntfsprogs-2017.3.23.tgz 需要编译 “configure”
Firefox-latest-x86_64.tar.bz2 绿色
[5]注:在rhel8中只能使用绿色软件,源码编译软件和rpm软件
二.软件包的名称结构:
以dhcp-server的rpm安装包为例:
dhcp-server-4.3.6-30.el8.x86_64.rpm
[1] [2] [3] [4] [5]
对应的符号 | 功能 |
---|---|
1 | 软件名称 |
2 | 软件版本 |
3 | 软件的授权协议版本 |
4 | 软件构架 |
5 | 软件类型后缀 |
三.rpm命令管理软件包:
1.实验素材准备:
本事呀选取的实验素材是linuxqq_2.0.0-b2-1084_x86_64.rpm,在实验之前需要准备实验素材,首先需要确保网络连接通畅,然后用firefox浏览器在百度上找到qq官网,在官网选择其他版本下载,找到linux版本下载,在对应的x64版本中的rpm处右键选择copy link location:
打开虚拟机桌面的shell,新建目录linuxqq目录并用wget命令加上之前复制的内容粘贴上,然后开始下载安装包。下载完成之后用ls命令可以看到linuxqq的rpm文件:
2.rpm命令:
命令 | 效果 |
---|---|
rpm -ivh | 安装参数组合-i install -v verbose -h hash |
rpm -a | 所有 |
rpm -f | 文件 |
rpm -p | 软件包 |
rpm -q | 查询 |
rpm -l | 软件安装文件列表 |
rpm -e | 卸载 |
rpm -c | 配置文件 |
rpm -d | 说明 |
- -info | 软件信息 |
- -force | 强制 |
- -nodeps | 忽略依赖性 |
- -scripts | 查询软件在安装或卸载过程中的运行脚本 |
rpm -Kv | 检测软件md5校验码 |
rpm -V | 检测已安装软件在系统中的文件被修改信息 |
[1]rpm -ivh安装rpm安装包:
[2]rpm -q查询以及rpm -qa查询所有:
rpm -qf查询文件:
[3]rpm -qp查询软件包以及rpm -qlp查询软件包安装列表:
[4]rpm -qc查询配置文件:
[5]rpm -qp rpm文件 --info查询具体软件包信息效果同ipm -qip:
实验现象可知–info参数可以展现详细的信息
[6]rpm -ivh rpm文件 --force强制安装:
[7]rpm -qp rpm文件 --scripts查询软件安装或卸载过程中的运行脚本:
[8]rpm -Kv检测软件md5校验码:
实验操作时先复制一个b3安装包,后用输出追加的方式在b3中插入hello,因此在用-Kv检测b3时会显示BAD
[9]rpm -V检测已安装软件在系统中的文件被修改信息:
[10]rpm -e 卸载:
实验现象还有原本位于桌面上的qq.desktop被删除了
四.本地软件仓库的搭建:
1.系统软件仓库的作用:
[1]在系统中对软件进行管理
[2]rpm命令是不能解决依赖关系的
[3]如果需要软件在安装过程中自动解决依赖关系,需要大家系统软件仓库
2.本地软件仓库的搭建方法:
[1]首先需要用mount挂载镜像,若之前由挂载现象就应先用umount卸掉挂载再重新挂载,笔者用的是驱动器加载的镜像,所以没有挂载,直接进行的是如下步骤:找到挂载镜像的目录,并在其中找到BaseOS/Packages下的gcc,然后前往目录/etc/yum.repos.d/下,并删掉当前目录中的所有文件:
[2]在目录/etc/yum.repos.d/中配置挂载文件iso.repo,编辑内容如下:
[3]配置完成之后用curl file:///iso/AppStream和curl file:///iso/BaseOS进行检验,若无输出则证明成功,后前往/var/cache/dnf/下用dnf clean all清理后进行安装gcc:
五.dnf软件管理命令:
命令 | 效果 |
---|---|
dnf repolist | 列出仓库信息 |
dnf clean all | 清除系统中已加载的仓库缓存信息 |
dnf list all | 列出所有软件 |
dnf list available | 列出所有已安装的软件 |
dnf install | 安装 |
dnf remove | 卸载 |
dnf reinstall | 重新安装 |
dnf search | 搜索 |
dnf whatprovides | 搜索包含文件的软件包 |
dnf history | dnf执行历史 |
dnf history info | dnf执行历史详细信息 |
dnf group list | 列出软件组 |
dnf group list - -available | 列出未安装的软件组 |
dnf group list - -installed | 列出已安装的软件组 |
dnf group list - -hidden | 列出隐藏软件组 |
dnf group install | 安装软件组 |
dnf group info | 查看软件组信息 |
[1]dnf repolist列出仓库信息:
[2]dnf clean all清除系统中已加载的仓库缓存信息:
[3]dnf list all列出所有软件:
dnf list available列出所有已安装的软件:
[4]dnf install安装,dnf remove卸载,dnf reinstall重新安装:
[5]dnf search搜索:
[6]dnf whatprovides搜索包含文件的软件包:
[7]dnf history显示dnf执行历史,dnf history info显示dnf执行历史详细信息:
[8]dnf group list列出软件组:
dnf list - -installed列出已安装软件组且dnf list - -available列出未安装软件组:
dnf list - -hidden列出隐藏软件组:
[9]dnf group install安装软件组:
[10]dnf group info查看软件组信息:
六.网络软件仓库的搭建:
1.网络软件仓库的作用:
在企业中,我们维护的系统数量庞大,当我们需要在每个系统安装软件管理软件时,可以在每个系统中各自搭建软件仓库,但是这样管理软件会浪费大量的资源 ,如何节省这部分重复的资源,需要把大家都要使用的资源共享到互联网中,这样大家就可以利用网络访问资源,不需要在每一台主机中独立建立软件资源了。
2.网络软件仓库的搭建方法:
共享方式http:// 超文本传输协议
提供此协议的软件 Apache
软件包名称 httpd
共享位置 /var/www/html
安装命令 在 dnf install httpd -y
[1]首先需要利用本地挂载的软件仓库用命令安装dnf install httpd -y,安装之后进行防火墙的关闭以及httpd服务的开启:
[2]创建目录/var/www/html/westos并且将之前挂载在本地软件仓库的镜像用umount卸下,再用mount挂载至/var/html/westos中(笔者采取的是直接将原本地系统软降仓库移至westos下):
[3]删除/etc/yum.repos.d/中的所有文件并vim westos.repo后保存退出,编辑配置文件内容如下:
[4]编辑完之后进行dnf list命令:
[5]最后在firefox浏览器上前往网址192.168.3.100/westos查看效果如下:
[6]编写开机自动挂载脚本:
其中文件/etc/rc.d/rc.local中的文件编辑详情为:
七.第三方软件仓库的搭建:
1.第三方软件仓库的作用:
第三方软件仓库的最大好处在于可以解决软件依赖性的问题:
2.第三方软件仓库搭建方法:
[1]获取第三方软件,本实验以第三方软件linuxqq为例进行,并建立共享目录,存放所有rpm类型的文件:
[2]安装createrepo命令:
[3]采集第三方数据,生成repodata,这样才能在使用时被dnf命令读取并解决软件依赖性的问题:
[4]编辑配置文件/etc/yum.repos.d/westos.repo并添加如下编辑详情:
[5]读取软件仓库:
[6]最后用dnf search linuxqq来进行检验: