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系统中的软件管理详解(下)—搭建网络软件仓库及第三方软件仓库相关推荐

  1. 详解Linux系统中的软件管理及软件仓库

    目录 一.Linux中软件包的类型 二.软件包的名称结构 三.rpm命令管理软件包 四.本地软件仓库的搭建 五.dnf软件管理命令 总结 一.Linux中软件包的类型 DEB UEBlinux DEB ...

  2. Linux系统中的软件管理

    Linux系统中的软件管理 1 Linux中软件包的类型 2 软件包的名称结构 3 rpm命令管理软件包 4 本地软件仓库的搭建 4.1 系统软件仓库的作用 4.2 搭建方法 5 dnf 软件管理命令 ...

  3. Linux系统中UID和GID详解

    Linux系统中UID和GID详解 在Linux系统中,每个用户和组都有一个唯一的数字标识符,分别称为UID(用户ID)和GID(组ID).这些标识符用于在系统级别上对用户和组进行身份验证和授权,并且 ...

  4. linux tftp客户端安装命令,Linux系统中tftp命令使用详解

    Linux系统中tftp命令主要是传输文件用的.下面由学习啦小编为大家整理了linux系统中tftp命令使用详解,希望对大家有帮助! Linux系统中tftp命令使用详解 语法 tftp [主机名称或 ...

  5. linux系统里route -n不起作用,Linux系统中traceroute命令使用详解

    Linux系统中traceroute命令可以追踪到网络数据包的路由途径.下面由学习啦小编为大家整理了linux系统中traceroute命令使用详解,希望对大家有帮助! Linux系统中tracero ...

  6. 12.linux系统中的软件管理

    12.linux系统中的软件管理 1.Linux中软件包的类型 1.DEB UBlinux DEBlinux 2.RPM redhat centOS fadora 3.bz2|gz|xz 1)需要源码 ...

  7. linux的常用的wc命令,Linux系统中wc命令使用详解

    Linux系统中wc命令是统计文件文本的字节数等并显示输出.下面由学习啦小编为大家整理了linux系统中wc命令使用详解,希望对大家有帮助! Linux系统中wc命令使用详解 Linux系统中的wc( ...

  8. RH124 第十二章 Linux系统中的软件管理

    RH124 第十二章 Linux系统中的软件管理 1.Linux中软件包的类型 1.DEB #UBlinux DEBlinux 2.RPM #redhat centOS fc 3.bz2|gz|xz ...

  9. Part1.8——Linux系统中的软件管理

    目录 一.Linux中软件包的类型 二.软件包的名称结构 三.rpm命令管理软件包 四.本地软件仓库的搭建 1.系统软件仓库的作用是什么? 2.搭建方法 (1)在系统中加载安装系统时使用的安装镜像 ( ...

最新文章

  1. 如何打造一支拖业务后腿的技术团队?
  2. RedHat Enterprise Linux6.4 使用CentOS yum
  3. contrastive loss function (papers)
  4. FM之SO_DOCUMENT_SEND_API1
  5. Linux用extundelete恢复磁盘文件-攻防世界Recover-Deleted-File
  6. 设置linux英文环境,英文Linux里中文和日文用户环境设置
  7. 电脑怎么打印文件步骤_电脑中毒后怎么办 电脑中毒后解决方法【详细步骤】...
  8. Apache Spark 1.5发布,新特性一览
  9. CF1137F-Matches Are Not a Child‘s Play【LCT】
  10. 《修改代码的艺术》读书笔记一
  11. gdb tui 安装_GDB 单步调试汇编
  12. Qt-IP地址查询工具(使用HTTP GET方法)
  13. bash:express:command not found
  14. 商户管理后台/消费统计管理/云平台商户端管理后台原型/PaaS金融服务平台商户端管理后台原型/企业管理系统后台/账户管理/工单管理/充值管理/汇款单管理/余额管理/用户管理/认证管理/web后台原型
  15. 入门几款好的UML工具介绍
  16. python调用实例做父类_Python super() 调用父类方法, 但是父类中 self 并不是父类的实例而是子类的实例?...
  17. 在控制台远程连接mysql数据库时,出现ERROR 2049 (HY000)错误
  18. Error: Error while compiling statement: FAILED: ParseException line 1:20 cannot recognize input near
  19. 打印服务Print Spooler自动停止解决方案
  20. android tf卡 修复工具,闪迪sd卡修复工具(sd卡修复工具安卓版)

热门文章

  1. java treeview控件_【TreeView下载】TreeView控件 v1.1.6 官方版-开心电玩
  2. 基于X86的MikroTik ROS软路由的简单介绍和应用(一)
  3. window10鼠标加速怎么关_Win10怎么设置去掉鼠标加速
  4. libreoffice安装教程_win10怎么安装libreoffice6.4_win10系统libreoffice6.4安装教程
  5. php 表格日历,PHP实例————表格日历
  6. 数据分析系列之Python数据分析简介
  7. Redis Incr和ncrby
  8. 脸萌创始人郭列:准备好做一颗流星
  9. 地平线与比亚迪加速智能汽车量产;波士顿科学向成都企业转移技术;摩贝与伊利签署合作协议 | 美通企业周刊...
  10. php验证码大全(实例分享),php图片验证码的例子