Linux系统中的软件管理详解(下)—搭建网络软件仓库及第三方软件仓库
Linux系统中的软件管理详解(下)
5、软件仓库管理命令
a)dnf 命令: 管理软件仓库中的安装包
dnf repolist ##列出仓库信息clean all ##清除系统中已经加载的仓库缓存信息list all ##列出所有软件list available ##列出未安装软件list installed ##列出已安装软件install ##安装remove ##卸载reinstall ##重新安装search ##搜索whatprovides ##搜索包含文件的软件包history ##dnf执行历史history info ##dnf执行历史详细信息group list ##列出软件组group list --installed ##列出已安装软件组group list --available ##列出未安装软件组group list --hidden ##列出隐藏软件组group install ##安装软件组group info ##查看软件组信息
实验步骤:
1)查看软件仓库中所有/已安装/未安装软件包并统计各自数量
2)从软件仓库中安装/重新安装gcc,卸载gcc
3)搜索软件仓库中提供dhcp服务的软件包
4)删除/bin/rm,即删除掉系统的rm命令后,可以通过dnf whatprovides rm
命令,在软件仓库中找到rm命令的软件包,安装后就能够再次使用rm命令
5)查看dnf执行历史及第8条执行历史的详细信息
6)查看软件仓库中所有/已安装/未安装/隐藏软件组并统计各自数量
b)yumdownloader命令:下载软件仓库中的安装包
yumdownloader #下载软件包到本机指定位置
yumdownloader httpd #下载仓库中指定软件的安装包到当前目录
yumdownloader --destdir=/mnt #下载仓库中指定软件的安装包到指定/mnt目录
yumdownloader httpd --destdir=/mnt --resolve #下载仓库中指定软件安装包和软件依赖性到/mnt目录
实验步骤:
1)想要使用yumdownloader命令下载软件仓库中的安装包,必须先安装提供该命令的软件yum-utils
2)下载仓库中gcc软件安装包和软件依赖性到/mnt目录
c)软件仓库黑白名单设置:修改yum配置文件
实验步骤:
1)dnf list all
查看软件仓库里所有软件,里面包括 .x86_64和 . i686两种架构的软件,其中.x86_64表示该软件适用于64位的操作系统, . i686表示该软件适用于32位的操作系统,修改/etc/yum.conf
配置文件可以设置软件仓库黑白名单
2)添加下图所示语句,该条语句表示将软件仓库中 . i686架构的软件加入黑名单
3)再次dnf list all
查看软件仓库里所有软件,里面只包括 .x86_64架构的软件
6、网络软件仓库的搭建
我们在真实主机中已经搭建好的软件仓库,在另一台主机中是无法访问的。特别是在企业中,我们需要维护的系统数量庞大,当我们需要在每个系统安装软件管理软件时,可以在每个系统中各自搭建软件仓库,但是这样管理软件会浪费大量的资源。为了节省这部分重复的资源,需要把大家都要使用的资源共享到互联网中,这样大家就可以利用网络访问资源,不需要在每一台主机中独立建立软件资源了。具体的网络仓库搭建方法如下:
实验步骤:
1)安装共享软件:我们需要采用http:// 超文本传输协议这种共享方式来搭建网络仓库,提供此协议的软件是Apache,该软件的软件包名称为httpd,可以使用dnf install httpd -y
命令在真实主机中安装httpd,安装完成后访问真实主机IP:172.25.254.33可以看到Apache界面
2)关闭真实主机防火墙,启用共享软件Apache:Apache的共享位置为/var/www/html,即向网络中其他用户共享该目录下的内容,我们可以在这个目录下编写一个html文件,测试Apache软件是否成功启用
3)在共享位置/var/www/html下建立共享目录 /rhel8.2,挂载镜像到该共享目录中,接着编写/etc/rc.d/rc.local
文件,设置镜像在开机时自动挂载并赋予该文件可执行权限,通过df 命令可以看到镜像挂载成功,此时访问172.25.254.33/rhel8.2可以看到共享目录中的内容
4)修改软件仓库指向文件( . repo文件),更改其软件源地址:对于共享主机,其软件源寻址方式有 file:// 和 http:// 两种;对于远程主机,其软件源寻址方式只有 http:// 这一种
7、epel源(仓库)的使用
在我们需要下载本地软件源中没有的第三方软件时,可以使用epel源。epel是由 Fedora 社区打造,为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目,即官方的软件仓库。具体使用方法如下:
实验步骤:
1)安装epel-release的软件包,这个软件包会自动为我们配置软件仓库
2)安装完成后列出仓库信息可以看到epel软件源,利用这一软件源可以自动在网络中查找、安装本地软件源中没有的软件包,如kolo、flameshot
3)删除epel仓库,删除后可以看到软件源指向文件配置目录中,epel相关的软件仓库指向文件也会自动删除
8、第三方软件仓库的搭建方法
下载本地软件源中没有的第三方软件后,我们可以使用dnf命令管理这些第三方软件,并使第三方软件在网络中共享,即再搭建一个第三方软件仓库。具体搭建方法如下:
实验步骤:
1)建立共享目录/var/www/html/software,把所有的第三方软件存放到/var/www/html/software中,如Linuxqq。在软件源指向文件/etc/yum.repos.d/xxxx.repo
中指定第三方共享源,此时仍无法安装Linuxqq,这是因为该第三方软件仓库与官方的AppStream、BaseOS不同,dnf会将官方软件仓库中所有软件包的元数据预加载到/var/cache/dnf这个仓库信息目录中,生成repodata数据目录(repod.xml文件),执行dnf命令时,dnf不会去真正搜索这个软件包,而是扫描repodata数据目录中的这些元数据。 而我们建立的第三方软件仓库是没有对应的repodata数据目录的,因此无法所搜到相应的软件包元信息,不能安装第三方软件。
注意: /var/www/html/software中只能存在rpm类型的文件,压缩包是不能使用dnf命令管理的
2)为了解决上述问题,我们需要利用epel软件仓库下载安装一个采集第三方软件数据生成repodate目录的采集工具createrepo,安装完成后进入到共享目录/var/www/html/software,使用命令createrepo .
对共享目录进行扫描生成repodate数据目录
注意: 在扫描时,软件源指向文件/etc/yum.repos.d/xxxx.repo
中第三方软件源语句块中enabled=0
,否则无法成功扫描
3)扫描完成后在主机中指定第三方共享源,令enabled=1
,此时可以成功访问/var/www/html/software这一共享目录,且可以成功安装Linuxqq,第三方软件仓库搭建完成
Linux系统中的软件管理详解(下)—搭建网络软件仓库及第三方软件仓库相关推荐
- 详解Linux系统中的软件管理及软件仓库
目录 一.Linux中软件包的类型 二.软件包的名称结构 三.rpm命令管理软件包 四.本地软件仓库的搭建 五.dnf软件管理命令 总结 一.Linux中软件包的类型 DEB UEBlinux DEB ...
- Linux系统中的软件管理
Linux系统中的软件管理 1 Linux中软件包的类型 2 软件包的名称结构 3 rpm命令管理软件包 4 本地软件仓库的搭建 4.1 系统软件仓库的作用 4.2 搭建方法 5 dnf 软件管理命令 ...
- Linux系统中UID和GID详解
Linux系统中UID和GID详解 在Linux系统中,每个用户和组都有一个唯一的数字标识符,分别称为UID(用户ID)和GID(组ID).这些标识符用于在系统级别上对用户和组进行身份验证和授权,并且 ...
- linux tftp客户端安装命令,Linux系统中tftp命令使用详解
Linux系统中tftp命令主要是传输文件用的.下面由学习啦小编为大家整理了linux系统中tftp命令使用详解,希望对大家有帮助! Linux系统中tftp命令使用详解 语法 tftp [主机名称或 ...
- linux系统里route -n不起作用,Linux系统中traceroute命令使用详解
Linux系统中traceroute命令可以追踪到网络数据包的路由途径.下面由学习啦小编为大家整理了linux系统中traceroute命令使用详解,希望对大家有帮助! Linux系统中tracero ...
- 12.linux系统中的软件管理
12.linux系统中的软件管理 1.Linux中软件包的类型 1.DEB UBlinux DEBlinux 2.RPM redhat centOS fadora 3.bz2|gz|xz 1)需要源码 ...
- linux的常用的wc命令,Linux系统中wc命令使用详解
Linux系统中wc命令是统计文件文本的字节数等并显示输出.下面由学习啦小编为大家整理了linux系统中wc命令使用详解,希望对大家有帮助! Linux系统中wc命令使用详解 Linux系统中的wc( ...
- RH124 第十二章 Linux系统中的软件管理
RH124 第十二章 Linux系统中的软件管理 1.Linux中软件包的类型 1.DEB #UBlinux DEBlinux 2.RPM #redhat centOS fc 3.bz2|gz|xz ...
- Part1.8——Linux系统中的软件管理
目录 一.Linux中软件包的类型 二.软件包的名称结构 三.rpm命令管理软件包 四.本地软件仓库的搭建 1.系统软件仓库的作用是什么? 2.搭建方法 (1)在系统中加载安装系统时使用的安装镜像 ( ...
最新文章
- 如何打造一支拖业务后腿的技术团队?
- RedHat Enterprise Linux6.4 使用CentOS yum
- contrastive loss function (papers)
- FM之SO_DOCUMENT_SEND_API1
- Linux用extundelete恢复磁盘文件-攻防世界Recover-Deleted-File
- 设置linux英文环境,英文Linux里中文和日文用户环境设置
- 电脑怎么打印文件步骤_电脑中毒后怎么办 电脑中毒后解决方法【详细步骤】...
- Apache Spark 1.5发布,新特性一览
- CF1137F-Matches Are Not a Child‘s Play【LCT】
- 《修改代码的艺术》读书笔记一
- gdb tui 安装_GDB 单步调试汇编
- Qt-IP地址查询工具(使用HTTP GET方法)
- bash:express:command not found
- 商户管理后台/消费统计管理/云平台商户端管理后台原型/PaaS金融服务平台商户端管理后台原型/企业管理系统后台/账户管理/工单管理/充值管理/汇款单管理/余额管理/用户管理/认证管理/web后台原型
- 入门几款好的UML工具介绍
- python调用实例做父类_Python super() 调用父类方法, 但是父类中 self 并不是父类的实例而是子类的实例?...
- 在控制台远程连接mysql数据库时,出现ERROR 2049 (HY000)错误
- Error: Error while compiling statement: FAILED: ParseException line 1:20 cannot recognize input near
- 打印服务Print Spooler自动停止解决方案
- android tf卡 修复工具,闪迪sd卡修复工具(sd卡修复工具安卓版)
热门文章
- java treeview控件_【TreeView下载】TreeView控件 v1.1.6 官方版-开心电玩
- 基于X86的MikroTik ROS软路由的简单介绍和应用(一)
- window10鼠标加速怎么关_Win10怎么设置去掉鼠标加速
- libreoffice安装教程_win10怎么安装libreoffice6.4_win10系统libreoffice6.4安装教程
- php 表格日历,PHP实例————表格日历
- 数据分析系列之Python数据分析简介
- Redis Incr和ncrby
- 脸萌创始人郭列:准备好做一颗流星
- 地平线与比亚迪加速智能汽车量产;波士顿科学向成都企业转移技术;摩贝与伊利签署合作协议 | 美通企业周刊...
- php验证码大全(实例分享),php图片验证码的例子