目录

1、基础概念

1.1 YUM介绍

1.2 DNF介绍

1.3常用Linux版本介绍

2、YUM和DNF对比

2.1软件版本对比

2.2帮助内容对比

2.2.1 DNF帮助命令的输出

2.2.2 YUM帮助命令的输出

2.2.3对比结论

2.3软件仓库对比

2.4安装软件对比

2.4.1 YUM命令安装VSFTPD

2.4.2 DNF命令安装VSFTPD

2.4.3对比结论

2.5 DNF的优势

2.6 DNF的不足

3、YUM/DNF命令详解

4、配置软件仓库

4.1网络软件仓库

4.2本地软件仓库

4.3内网软件仓库服务器

4.4各系统本地软件仓库配置源文件

4.4.1 OEL8及以上版本

4.4.2 OEL7.9及以下版本

4.4.3 RHEL8及以上版本

4.4.4 RHEL7.9及以下版本

4.4.5 CentOS8及以上版本

4.4.6 CentOS7.9及以下版本

4,5各系统内网软件仓库配置源文件

4.5.1 OEL8及以上版本

4.5.2 OEL7.9及以下版本

4.5.3 RHEL8及以上版本

4.5.4 RHEL7.9及以下版本

4.5.5 CentOS8及以上版本

4.5.6 CentOS7.9及以下版本


1、基础概念

1.1 YUM介绍

YUM(全称为 Yellow dog Updater, Modified)是一个在Fedora和RHEL、CentOS、OEL中的Shell前端软件包管理器。

YUM本身基于RPM包管理,能够从指定的YUM源服务器(一个或多个)自动下载RPM包并且进行安装和更新,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

要成功的使用 YUM 工具安装更新软件或系统,就需要有一个包含各种RPM软件包的repository(软件仓库),这个软件仓库我们习惯称为YUM源 (可以是本地源、网络源)。

就好像你要吃个回锅肉,只买肉回来肯定不行,你还得有油盐酱醋锅碗瓢盆等,传统的RPM安装方式就相当于你去超市一样一样的买全,而YUM则会在你买肉的同时把你所依赖的其他东西一次打包完成。

1.2 DNF介绍

DNF (全称为Dandified yum)是新一代的rpm软件包管理器,他首先出现在 Fedora 18 这个发行版中。而最近,它取代了yum,正式成为 Fedora 22 的包管理器。

DNF在RHEL、CentOS、OEL等系统中,从版本8开始出现,目前和YUM共存。

DNF克服了YUM包管理器的一些瓶颈,提升了包括用户体验,内存占用,依赖分析,运行速度等多方面的内容。

DNF使用Hawkey库,该库解析RPM依赖性以在客户端计算机上运行查询。 它们基于libsolv构建,libsolv是一种使用可满足性算法的程序包相关性求解器。 您可以在libsolv的GitHub存储库中找到有关该算法的更多详细信息。

1.3常用Linux版本介绍

类别

介绍

最新相同版本

RHEL

RedHat Enterprise Linux操作系统

RHEL8.5

4.18.0-348

CentOS

源于RHEL依照开放源代码协定所释放的源代码编译而成(最近,传闻CentOS将沦落为RHEL和Fedora之间的过渡产品)

CentOS8-20220215

4.18.0-365

OEL

Oracle Enterprice Linux,源于RHEL操作系统,是Oracle公司专门针对Oracle自有的软件和硬件产品进行了大量优化而成

OEL8.5

4.18.0-348

Fedora

Redhat公司赞助,Fedora项目社区开发,可以理解其实RHEL的上游源码平台或者测试平台

/

/

注:如上表,Fedora主要使用者为Linux爱好者,而在企业级应用中,通常使用RHEL、CentOS、OEL较为普遍,具体到Oracle的中间件、数据库系统的使用,建议使用OEL最佳。

具体到使用过程、命令等,RHEL、CentOS、OEL三者并无区别。

2、YUM和DNF对比

前提:以Oracle Enterprice Linux 8.5为环境,进行以下所有操作,如无特别说明,以下操作同样适用在Linux 7版本。

2.1软件版本对比

如下图,在同一个操作系统下面,DNF和YUM的版本相同,而且软件包的名字竟然都是DNF。

如此,我们也可以侧面确认,在Linux8之后,DNF是代替了YUM,但是YUM依然可以正常使用。

2.2帮助内容对比

2.2.1 DNF帮助命令的输出

[root@oracle21c ~]# dnf --help

usage: dnf [options] COMMAND

List of Main Commands:

alias                     List or create command aliases

autoremove                remove all unneeded packages that were originally installed as dependencies

check                     check for problems in the packagedb

check-update              check for available package upgrades

clean                     remove cached data

deplist                   [deprecated, use repoquery --deplist] List package's dependencies and what packages provide them

distro-sync               synchronize installed packages to the latest available versions

downgrade                 Downgrade a package

group                     display, or use, the groups information

help                      display a helpful usage message

history                   display, or use, the transaction history

info                      display details about a package or group of packages

install                   install a package or packages on your system

list                      list a package or groups of packages

makecache                 generate the metadata cache

mark                      mark or unmark installed packages as installed by user.

module                    Interact with Modules.

provides                  find what package provides the given value

reinstall                 reinstall a package

remove                    remove a package or packages from your system

repolist                  display the configured software repositories

repoquery                 search for packages matching keyword

repository-packages       run commands on top of all packages in given repository

search                    search package details for the given string

shell                     run an interactive DNF shell

swap                      run an interactive DNF mod for remove and install one spec

updateinfo                display advisories about packages

upgrade                   upgrade a package or packages on your system

upgrade-minimal           upgrade, but only 'newest' package match which fixes a problem that affects your system

List of Plugin Commands:

builddep                  Install build dependencies for package or spec file

changelog                 Show changelog data of packages

config-manager            manage dnf configuration options and repositories

copr                      Interact with Copr repositories.

debug-dump                dump information about installed rpm packages to file

debug-restore             restore packages recorded in debug-dump file

debuginfo-install         install debuginfo packages

download                  Download package to current directory

groups-manager            create and edit groups metadata file

needs-restarting          determine updated binaries that need restarting

playground                Interact with Playground repository.

repoclosure               Display a list of unresolved dependencies for repositories

repodiff                  List differences between two sets of repositories

repograph                 Output a full package dependency graph in dot format

repomanage                Manage a directory of rpm packages

reposync                  download all packages from remote repo

General DNF options:

-c [config file], --config [config file]

config file location

-q, --quiet           quiet operation

-v, --verbose         verbose operation

--version             show DNF version and exit

--installroot [path]  set install root

--nodocs              do not install documentations

--noplugins           disable all plugins

--enableplugin [plugin]

enable plugins by name

--disableplugin [plugin]

disable plugins by name

--releasever RELEASEVER

override the value of $releasever in config and repo

files

--setopt SETOPTS      set arbitrary config and repo options

--skip-broken         resolve depsolve problems by skipping packages

-h, --help, --help-cmd

show command help

--allowerasing        allow erasing of installed packages to resolve

dependencies

-b, --best            try the best available package versions in

transactions.

--nobest              do not limit the transaction to the best candidate

-C, --cacheonly       run entirely from system cache, don't update cache

-R [minutes], --randomwait [minutes]

maximum command wait time

-d [debug level], --debuglevel [debug level]

debugging output level

--debugsolver         dumps detailed solving results into files

--showduplicates      show duplicates, in repos, in list/search commands

-e ERRORLEVEL, --errorlevel ERRORLEVEL

error output level

--obsoletes           enables dnf's obsoletes processing logic for upgrade

or display capabilities that the package obsoletes for

info, list and repoquery

--rpmverbosity [debug level name]

debugging output level for rpm

-y, --assumeyes       automatically answer yes for all questions

--assumeno            automatically answer no for all questions

--enablerepo [repo]   Enable additional repositories. List option. Supports

globs, can be specified multiple times.

--disablerepo [repo]  Disable repositories. List option. Supports globs, can

be specified multiple times.

--repo [repo], --repoid [repo]

enable just specific repositories by an id or a glob,

can be specified multiple times

--enable              enable repos with config-manager command

(automatically saves)

--disable             disable repos with config-manager command

(automatically saves)

-x [package], --exclude [package], --excludepkgs [package]

exclude packages by name or glob

--disableexcludes [repo], --disableexcludepkgs [repo]

disable excludepkgs

--repofrompath [repo,path]

label and path to an additional repository to use

(same path as in a baseurl), can be specified multiple

times.

--noautoremove        disable removal of dependencies that are no longer

used

--nogpgcheck          disable gpg signature checking (if RPM policy allows)

--color COLOR         control whether color is used

--refresh             set metadata as expired before running the command

-4                    resolve to IPv4 addresses only

-6                    resolve to IPv6 addresses only

--destdir DESTDIR, --downloaddir DESTDIR

set directory to copy packages to

--downloadonly        only download packages

--comment COMMENT     add a comment to transaction

--bugfix              Include bugfix relevant packages, in updates

--enhancement         Include enhancement relevant packages, in updates

--newpackage          Include newpackage relevant packages, in updates

--security            Include security relevant packages, in updates

--advisory ADVISORY, --advisories ADVISORY

Include packages needed to fix the given advisory, in

updates

--bz BUGZILLA, --bzs BUGZILLA

Include packages needed to fix the given BZ, in

updates

--cve CVES, --cves CVES

Include packages needed to fix the given CVE, in

updates

--sec-severity {Critical,Important,Moderate,Low}, --secseverity {Critical,Important,Moderate,Low}

Include security relevant packages matching the

severity, in updates

--forcearch ARCH      Force the use of an architecture

2.2.2 YUM帮助命令的输出

[root@oracle21c ~]# yum --help

usage: yum [options] COMMAND

List of Main Commands:

alias                     List or create command aliases

autoremove                remove all unneeded packages that were originally installed as dependencies

check                     check for problems in the packagedb

check-update              check for available package upgrades

clean                     remove cached data

deplist                   [deprecated, use repoquery --deplist] List package's dependencies and what packages provide them

distro-sync               synchronize installed packages to the latest available versions

downgrade                 Downgrade a package

group                     display, or use, the groups information

help                      display a helpful usage message

history                   display, or use, the transaction history

info                      display details about a package or group of packages

install                   install a package or packages on your system

list                      list a package or groups of packages

makecache                 generate the metadata cache

mark                      mark or unmark installed packages as installed by user.

module                    Interact with Modules.

provides                  find what package provides the given value

reinstall                 reinstall a package

remove                    remove a package or packages from your system

repolist                  display the configured software repositories

repoquery                 search for packages matching keyword

repository-packages       run commands on top of all packages in given repository

search                    search package details for the given string

shell                     run an interactive YUM shell

swap                      run an interactive YUM mod for remove and install one spec

updateinfo                display advisories about packages

upgrade                   upgrade a package or packages on your system

upgrade-minimal           upgrade, but only 'newest' package match which fixes a problem that affects your system

List of Plugin Commands:

builddep                  Install build dependencies for package or spec file

changelog                 Show changelog data of packages

config-manager            manage yum configuration options and repositories

copr                      Interact with Copr repositories.

debug-dump                dump information about installed rpm packages to file

debug-restore             restore packages recorded in debug-dump file

debuginfo-install         install debuginfo packages

download                  Download package to current directory

groups-manager            create and edit groups metadata file

needs-restarting          determine updated binaries that need restarting

playground                Interact with Playground repository.

repoclosure               Display a list of unresolved dependencies for repositories

repodiff                  List differences between two sets of repositories

repograph                 Output a full package dependency graph in dot format

repomanage                Manage a directory of rpm packages

reposync                  download all packages from remote repo

General YUM options:

-c [config file], --config [config file]

config file location

-q, --quiet           quiet operation

-v, --verbose         verbose operation

--version             show YUM version and exit

--installroot [path]  set install root

--nodocs              do not install documentations

--noplugins           disable all plugins

--enableplugin [plugin]

enable plugins by name

--disableplugin [plugin]

disable plugins by name

--releasever RELEASEVER

override the value of $releasever in config and repo

files

--setopt SETOPTS      set arbitrary config and repo options

--skip-broken         resolve depsolve problems by skipping packages

-h, --help, --help-cmd

show command help

--allowerasing        allow erasing of installed packages to resolve

dependencies

-b, --best            try the best available package versions in

transactions.

--nobest              do not limit the transaction to the best candidate

-C, --cacheonly       run entirely from system cache, don't update cache

-R [minutes], --randomwait [minutes]

maximum command wait time

-d [debug level], --debuglevel [debug level]

debugging output level

--debugsolver         dumps detailed solving results into files

--showduplicates      show duplicates, in repos, in list/search commands

-e ERRORLEVEL, --errorlevel ERRORLEVEL

error output level

--obsoletes           enables yum's obsoletes processing logic for upgrade

or display capabilities that the package obsoletes for

info, list and repoquery

--rpmverbosity [debug level name]

debugging output level for rpm

-y, --assumeyes       automatically answer yes for all questions

--assumeno            automatically answer no for all questions

--enablerepo [repo]   Enable additional repositories. List option. Supports

globs, can be specified multiple times.

--disablerepo [repo]  Disable repositories. List option. Supports globs, can

be specified multiple times.

--repo [repo], --repoid [repo]

enable just specific repositories by an id or a glob,

can be specified multiple times

--enable              enable repos with config-manager command

(automatically saves)

--disable             disable repos with config-manager command

(automatically saves)

-x [package], --exclude [package], --excludepkgs [package]

exclude packages by name or glob

--disableexcludes [repo], --disableexcludepkgs [repo]

disable excludepkgs

--repofrompath [repo,path]

label and path to an additional repository to use

(same path as in a baseurl), can be specified multiple

times.

--noautoremove        disable removal of dependencies that are no longer

used

--nogpgcheck          disable gpg signature checking (if RPM policy allows)

--color COLOR         control whether color is used

--refresh             set metadata as expired before running the command

-4                    resolve to IPv4 addresses only

-6                    resolve to IPv6 addresses only

--destdir DESTDIR, --downloaddir DESTDIR

set directory to copy packages to

--downloadonly        only download packages

--comment COMMENT     add a comment to transaction

--bugfix              Include bugfix relevant packages, in updates

--enhancement         Include enhancement relevant packages, in updates

--newpackage          Include newpackage relevant packages, in updates

--security            Include security relevant packages, in updates

--advisory ADVISORY, --advisories ADVISORY

Include packages needed to fix the given advisory, in

updates

--bz BUGZILLA, --bzs BUGZILLA

Include packages needed to fix the given BZ, in

updates

--cve CVES, --cves CVES

Include packages needed to fix the given CVE, in

updates

--sec-severity {Critical,Important,Moderate,Low}, --secseverity {Critical,Important,Moderate,Low}

Include security relevant packages matching the

severity, in updates

--forcearch ARCH      Force the use of an architecture

[root@oracle21c ~]#

2.2.3对比结论

从上面DNF和YUM帮助命令的输出可以看出,两者的区别很小,使用方法大致相同,常用命令并无区别。

2.3软件仓库对比

前提:创建/mount目录,把光盘镜像文件挂载在这个目录。然后在/etc/yum.repo.d/目录下移除所有系统自带YUM/DNF源(软件仓库)配置文件,创建本地YUM/DNF源(软件仓库)配置文件(后面章节详细介绍)。

如下图,DNF和YUM命令所列出的YUM/DNF源相同。

如下图,清除缓存中的RPM软件包列表,重新获取缓存,YUM和DNF的操作相同,结果也相同。

如下图,我们把YUM/DNF源配置文件移除,清除缓存之后,YUM/DNF都无法获取软件仓库源的配置文件信息。

如此,我们可以确认,DNF在软件仓库方面的配置和使用,和YUM并无任何区别。

2.4安装软件对比

2.4.1 YUM命令安装VSFTPD

2.4.2 DNF命令安装VSFTPD

前提,使用YUM命令卸载软件包。

2.4.3对比结论

如上面YUM和DNF命令输出结果来看,没有任何差别。

2.5 DNF的优势

  • DNF使用C语言库hawkey进行软件包依赖关系解析,从而大幅度提升包管理操作效率
  • DNF降低了内存消耗,从而提升用户体验。
  • DNF如果配置和启用的库没有响应,DNF将跳过它并使用可用的repos继续事务,而不会像YUM,如果配置库不可用,YUM将立即停止工作。

2.6 DNF的不足

DNF 包管理器作为 YUM 包管理器的升级替代品,它能自动完成更多的操作,但不足之处还是有的,举例如下:

  • 在 DNF 中没有 –skip-broken 命令,并且没有替代命令供选择。
  • 在 DNF 中没有判断哪个包提供了指定依赖的 resolvedep 命令。
  • 在 DNF 中没有用来列出某个软件依赖包的 deplist 命令。
  • 当你在 DNF 中排除了某个软件库,那么该操作将会影响到你之后所有的操作,不像在 YUM 下那样,你的排除操作只会咋升级和安装软件时才起作用。

3、YUM/DNF命令详解

前提:下面的内容主要体现DNF命令操作,如无特别说明,YUM命令同样适用。

查看系统中可用的软件仓库

# dnf repolist

查看系统中可用和不可用的所有的软件仓库

# dnf repolist all

  • 列出软件仓库中的所有RPM软件包

# dnf list

  • 列出软件仓库中所有已安装的 RPM软件包

# dnf list installed

  • 列出软件仓库中所有可供安装的RPM软件包

# dnf list available

  • 搜索软件仓库中的RPM软件包

# dnf search vsftpd

  • 查找某一文件的提供者

# dnf provides vsftpd

  • 查看软件包详情

# dnf info vsftpd

  • 安装软件包及其依赖的其他软件包

# dnf install vsftpd

# dnf install vsftpd -y

  • 删除软件包

# dnf remove vsftpd

  • 删除无用孤立的软件包

# dnf autoremove

  • 删除缓存的无用软件包

# dnf clean all

  • 获取有关某条命令的使用帮助

# dnf help clean

  • 获取软件仓库中的软件包列表到缓存中

# dnf makecache

  • 更新软件仓库中的软件包列表

# dnf check- update

  • 查看 DNF 命令的执行历史

# dnf history

  • 查看所有的软件包组

# dnf grouplist

  • 安装一个软件包组

# dnf groupinstall ‘System Tools’

# dnf groupinstall ‘System Tools’ -y

  • 卸载一个软件包组

# dnf groupremove ‘System Tools’

# dnf groupremove ‘System Tools’ -y

  • 从特定的软件包库安装特定的软件

# dnf -enablerepo=epel install vsftpd

  • 重新安装特定软件包

# dnf reinstall vsftpd

  • 更新系统中所有需要更新的包

# dnf update

  • 更新一个特定的软件包

# dnf update vsftpd

  • 列出所有命令及其用途

# dnf help

4、配置软件仓库

默认情况下,RHEL、CentOS、OEL的7和8版本系统下,YUM/DNF软件仓库的配置文件都存放在/etc/yum.repo.d/目录下,以repo作为后缀。

4.1网络软件仓库

如果你的系统可以连接互联网,那软件仓库的配置就可以使用网络上的一些免费软件仓库资源进行配置。

以某云为例。

  • 基于CentOS系统请访问:https://developer.aliyun.com/mirror/centos
  • 基于CentOS 9-stream系统请访问:https://mirrors.aliyun.com/centos-stream/
  • 基于Fedora系统请访问:https://developer.aliyun.com/mirror/fedora
  • 基于OEL的支持有限,仅提供操作系统镜像文件的下载,请访问:

https://developer.aliyun.com/mirror/oracle

下面简单介绍配置软件仓库方法如下。

  • 在/etc/yum.repo.d/下把默认的repo文件删除或者备份到其他目录。
  • 从云上下载对应版本的repo文件到/etc/yum.repo.d/目录下。

wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

  • 使用yum makecache生成缓存。
  • 在本地系统运行YUM命令进行软件包的操作即可。

网络软件仓库的使用虽然不用自己准备系统镜像文件,但是相对麻烦,而且会受到网速的影响较大。

4.2本地软件仓库

使用系统镜像文件或者系统光盘,挂载到目录,然后创建YUM/DNF软件仓库,可以暂时使用。

也可以将系统镜像文件拷贝到系统之中,然后挂载到目录之后,设置系统开机自动挂载,可以长期使用。

  • 确定镜像文件或者系统光盘的设备文件。

比如:/dev/sr0

  • 创建挂载设备文件的目录。

# mkdir /mount

  • 挂载设备文件/镜像文件/系统光盘到目录。

# mount /dev/sr0  /mount

  • 查看挂载目录。

如下图所示,为OEL8.5系统镜像根目录(RHEL和centOS同版本目录和此相同)。

如下图所示,为OEL7.9系统镜像根目录(RHEL和centOS同版本目录和此相同)。

  • 创建备份目录,把/etc/yum.repo.d/目录下repo文件移动到其中。
  • 创建新的repo文件,内容如下。

  • 如上图所示,依旧以OEL8.5系统软件仓库创建为例。
  • 使用yum makecache生成软件包列表缓存。

4.3内网软件仓库服务器

当你作为一个网络管理员的时候,如果网络内Linux系统数量较多,每个系统需要安装或者更新软件包的时候,都需要你去配置本地软件仓库,那将会是很麻烦的事情。

而且,往往网络内的很多系统是不允许访问互联网的,这个时候,创建一个内网的网络软件仓库服务器将会变的很有必要。

下面,依旧以OEL8.5为环境,详解创建过程。

  • 依照“本地软件仓库”章节内容,创建本地软件仓库。
  • 使用yum install httpd -y命令安装httpd软件包。

# yum install httpd -y

Last metadata expiration check: 2:27:20 ago on Sat 19 Feb 2022 03:19:18 PM CST.

Dependencies resolved.

=====================================================================================

Package          Arch   Version                                     Repo       Size

=====================================================================================

Installing:

httpd            x86_64 2.4.37-41.0.1.module+el8.5.0+20323+c8e0c271 Appstream 1.4 M

Installing dependencies:

apr              x86_64 1.6.3-12.el8                                Appstream 129 k

apr-util         x86_64 1.6.1-6.el8                                 Appstream 105 k

httpd-filesystem noarch 2.4.37-41.0.1.module+el8.5.0+20323+c8e0c271 Appstream  39 k

httpd-tools      x86_64 2.4.37-41.0.1.module+el8.5.0+20323+c8e0c271 Appstream 106 k

mailcap          noarch 2.1.48-3.el8                                base       39 k

mod_http2        x86_64 1.15.7-3.module+el8.4.0+20024+b87b2deb      Appstream 154 k

oracle-logos-httpd

noarch 84.5-1.0.1.el8                              base       29 k

Installing weak dependencies:

apr-util-bdb     x86_64 1.6.1-6.el8                                 Appstream  24 k

apr-util-openssl x86_64 1.6.1-6.el8                                 Appstream  27 k

Enabling module streams:

httpd                   2.4

Transaction Summary

=====================================================================================

Install  10 Packages

Total size: 2.0 M

Installed size: 5.5 M

Downloading Packages:

Running transaction check

Transaction check succeeded.

Running transaction test

Transaction test succeeded.

Running transaction

Preparing        :                                                             1/1

Installing       : apr-1.6.3-12.el8.x86_64                                    1/10

Running scriptlet: apr-1.6.3-12.el8.x86_64                                    1/10

Installing       : apr-util-bdb-1.6.1-6.el8.x86_64                            2/10

Installing       : apr-util-openssl-1.6.1-6.el8.x86_64                        3/10

Installing       : apr-util-1.6.1-6.el8.x86_64                                4/10

Running scriptlet: apr-util-1.6.1-6.el8.x86_64                                4/10

Installing       : httpd-tools-2.4.37-41.0.1.module+el8.5.0+20323+c8e0c271    5/10

Running scriptlet: httpd-filesystem-2.4.37-41.0.1.module+el8.5.0+20323+c8e    6/10

Installing       : httpd-filesystem-2.4.37-41.0.1.module+el8.5.0+20323+c8e    6/10

Installing       : oracle-logos-httpd-84.5-1.0.1.el8.noarch                   7/10

Installing       : mailcap-2.1.48-3.el8.noarch                                8/10

Installing       : mod_http2-1.15.7-3.module+el8.4.0+20024+b87b2deb.x86_64    9/10

Installing       : httpd-2.4.37-41.0.1.module+el8.5.0+20323+c8e0c271.x86_6   10/10

Running scriptlet: httpd-2.4.37-41.0.1.module+el8.5.0+20323+c8e0c271.x86_6   10/10

Verifying        : mailcap-2.1.48-3.el8.noarch                                1/10

Verifying        : oracle-logos-httpd-84.5-1.0.1.el8.noarch                   2/10

Verifying        : apr-1.6.3-12.el8.x86_64                                    3/10

Verifying        : apr-util-1.6.1-6.el8.x86_64                                4/10

Verifying        : apr-util-bdb-1.6.1-6.el8.x86_64                            5/10

Verifying        : apr-util-openssl-1.6.1-6.el8.x86_64                        6/10

Verifying        : httpd-2.4.37-41.0.1.module+el8.5.0+20323+c8e0c271.x86_6    7/10

Verifying        : httpd-filesystem-2.4.37-41.0.1.module+el8.5.0+20323+c8e    8/10

Verifying        : httpd-tools-2.4.37-41.0.1.module+el8.5.0+20323+c8e0c271    9/10

Verifying        : mod_http2-1.15.7-3.module+el8.4.0+20024+b87b2deb.x86_64   10/10

Installed:

apr-1.6.3-12.el8.x86_64

apr-util-1.6.1-6.el8.x86_64

apr-util-bdb-1.6.1-6.el8.x86_64

apr-util-openssl-1.6.1-6.el8.x86_64

httpd-2.4.37-41.0.1.module+el8.5.0+20323+c8e0c271.x86_64

httpd-filesystem-2.4.37-41.0.1.module+el8.5.0+20323+c8e0c271.noarch

httpd-tools-2.4.37-41.0.1.module+el8.5.0+20323+c8e0c271.x86_64

mailcap-2.1.48-3.el8.noarch

mod_http2-1.15.7-3.module+el8.4.0+20024+b87b2deb.x86_64

oracle-logos-httpd-84.5-1.0.1.el8.noarch

Complete!

#

  • 启动并查看HTTPD服务。

  • 查看本机地址,并在客户端进行测试,确定http服务器配置没有问题。

  • 在http服务根目录创建/var/www/html/OEL8目录,并拷贝/mount下系统镜像文件中内容到/var/www/html/OEL8/下。

默认情况下,http服务的根目录在/var/www/html/

  • 在客户端测试访问http://192.168.31.101/OEL85,确定可以访问系统镜像文件内容。

  • 在客户端配置软件仓库文件。

如下图所示,baseurl地址为内网所创建的http服务器地址以及系统镜像文件的拷目录。

  • 使用yum makecache生成软件包列表缓存。

依照上述步骤,我们可以在一台http服务器中,把内网常用的各版本LINUX系统镜像文件进行相同操作。然后在Linux客户端依据实际系统版本进行相应配置。

4.4各系统本地软件仓库配置源文件

4.4.1 OEL8及以上版本

# cat /etc/yum.repos.d/base-yum.repo

[base]

name=oel85-yum

baseurl=file:///mount/BaseOS

gpgcheck=1

enabled=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle

[Appstream]

name=oel85-yum-app

baseurl= file:///mount/AppStream

gpgcheck=1

enabled=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle

4.4.2 OEL7.9及以下版本

# cat /etc/yum.repos.d/base-yum.repo

[base]

name=oel79

baseurl= file:///mount/

gpgcheck=1

enabled=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle

4.4.3 RHEL8及以上版本

# cat /etc/yum.repos.d/base-yum.repo

[base]

name=RHEL8-yum

baseurl=file:///mount/BaseOS

gpgcheck=1

enabled=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[Appstream]

name=RHEL8-yum-app

baseurl= file:///mount/AppStream

gpgcheck=1

enabled=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY- redhat-release

4.4.4 RHEL7.9及以下版本

# cat /etc/yum.repos.d/base-yum.repo

[base]

name=rhel79

baseurl= file:///mount/

gpgcheck=1

enabled=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

4.4.5 CentOS8及以上版本

# cat /etc/yum.repos.d/base-yum.repo

[base]

name=centos-yum

baseurl=file:///mount/BaseOS

gpgcheck=1

enabled=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centos-8

[Appstream]

name= centos -yum-app

baseurl= file:///mount/AppStream

gpgcheck=1

enabled=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY- centos-8

4.4.6 CentOS7.9及以下版本

# cat /etc/yum.repos.d/base-yum.repo

[base]

name=centos

baseurl= file:///mount/

gpgcheck=1

enabled=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centos-7

4,5各系统内网软件仓库配置源文件

以下内容红色部分根据实际情况进行调整。

4.5.1 OEL8及以上版本

# cat /etc/yum.repos.d/base-yum.repo

[base]

name=oel85-yum

baseurl=http://192.168.31.101/OEL85/BaseOS

gpgcheck=1

enabled=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle

[Appstream]

name=oel85-yum-app

baseurl= http://192.168.31.101/OEL85/AppStream

gpgcheck=1

enabled=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle

4.5.2 OEL7.9及以下版本

# cat /etc/yum.repos.d/base-yum.repo

[base]

name=oel79

baseurl= http://192.168.31.101/OEL79/

gpgcheck=1

enabled=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle

4.5.3 RHEL8及以上版本

# cat /etc/yum.repos.d/base-yum.repo

[base]

name=RHEL8-yum

baseurl=http://192.168.31.101/RHEL85/BaseOS

gpgcheck=1

enabled=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[Appstream]

name=RHEL8-yum-app

baseurl= http://192.168.31.101/RHEL85/AppStream

gpgcheck=1

enabled=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY- redhat-release

4.5.4 RHEL7.9及以下版本

# cat /etc/yum.repos.d/base-yum.repo

[base]

name=rhel79

baseurl= http://192.168.31.101/RHEL79/

gpgcheck=1

enabled=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

4.5.5 CentOS8及以上版本

# cat /etc/yum.repos.d/base-yum.repo

[base]

name=centos-yum

baseurl=http://192.168.31.101/centos/BaseOS

gpgcheck=1

enabled=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centos-8

[Appstream]

name= centos -yum-app

baseurl= http://192.168.31.101/centos/AppStream

gpgcheck=1

enabled=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY- centos-8

4.5.6 CentOS7.9及以下版本

# cat /etc/yum.repos.d/base-yum.repo

[base]

name=centos

baseurl= http://192.168.31.101/centos/

gpgcheck=1

enabled=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centos-7

Linux环境下YUM和DNF详细介绍相关推荐

  1. linux环境下psql命令,psql命令介绍

    psql是PostgreSQL自带的一个交互式命令行客户端,使用起来非常的灵活.一般如果是在Linux环境下,我们都会选择它.而且,当我们要在Shel脚本中操作数据库的话,那psql就非常的方便了. ...

  2. 【Nginx】Nginx在Windows、Linux环境下的下载安装详细步骤

    文章目录 Nginx下载安装 Nginx-windows安装 下载 安装 启动 Nginx-Linux安装 下载 准备 安装 启动 检查 Nginx常用命令 Nginx下载安装 Nginx跨平台,在w ...

  3. linux 根目录下各个目录的详细介绍

    当我们在我们的家目录里不停的向上推,"cd .."操作时我们返现,也就推到这个地方到头了.而被我们用户使用的也就是home 目录,那么其他目录都是干什么的呢?让我们一一揭秘. bi ...

  4. k8s简介以及linux环境下的详细安装步骤

    k8s简介以及linux环境下的详细安装步骤 k8s是Kubernetes的简称,Kubernetes中间有8个单词,所以叫k8s,就是这么简单粗暴. 我们可以看到docker的图标是鲨鱼,k8s的图 ...

  5. hp ux安装mysql5.1.56_详细讲解Linux环境下MySQL5.1安装步骤

    1.下载MySQL免安装版/二进制版软件(不用编译) 文件格式:MYSQL-VERSION-OS.tar.gz 2.创建MySQL组,建立MySQL用户并加入到mysql组中 (不同版本的Unix中, ...

  6. 超详细:实现过程-Linux 环境下的简易聊天室,采用CS模型,实现多客户端之间的稳定数据传输。--注册和登录(但之后会连续更新内容,直至全部实现)

    前言 在学完不够全面的Linux操作系统编程后(这也意味着我后期也要不断学习,这也符合我活到老学到老的人生观点),需要以一些项目来检测自己的所学,毕竟实践见真章. 所以在今后的几天里,我将以无界面聊天 ...

  7. Linux 环境下php5.6,如何正确安装微软Mssql驱动--详细教程

    Linux 环境下,如何正确安装微软Mssql驱动 近日,由于公司业务的需要,需要用到PHP连接一个客户的Mssql服务器.于是,开始一番折腾之路.Baidu与Google之后,发现,网上说的各种方法 ...

  8. Fedora 24 Linux 环境下实现 Infinality 字体渲染增强及 Java 字体渲染改善的方法(修订)...

    Fedora 24 Linux 桌面环境默认字体渲染引擎 freetype 及字体配置工具 fontconfig 采用的是未经优化的编译及设置,字体渲染效果比较差.而某些 Linux 发行版的桌面字体 ...

  9. 10 款你不知道的 Linux 环境下的替代工具

    作者:JackTian 来源:公众号「杰哥的IT之旅」 ID:Jake_Internet 转载请联系授权(微信ID:Hc220088) 原文地址:10 款你不知道的 Linux 环境下的替代工具! 大 ...

  10. 10 款 Linux 环境下的开源替代工具

    在 Linux 操作系统下,我们经常使用 cat 命令去连接多个文件并打印到标准输出,合成几个文件为一个目标文件,追加几个文件到目标文件中. 最近我在 GitHub 上发现了一个具有相似作用的命令叫做 ...

最新文章

  1. 2.ceph高级操作
  2. 单元测试(UT)、功能测试(FT)(转)
  3. 国内ip信息库的组建
  4. Linux内存管理:memblock(引导期间管理内存区域)
  5. 边做边记中航信酒店接口开发
  6. 面试技巧 面试复盘 编程技术 架构 看这一篇就够了
  7. 微信小程序云开发--上传图片到云存储获取并展示云存储里的图片
  8. 我靠海外抖音搬运视频赚到了人生第一桶金:这个风口行业,真的很赚钱
  9. 如何编写ddos防御脚本
  10. 神经网络的编程基础(转自吴恩达)
  11. BZOJ2668:[CQOI2012]交换棋子——题解
  12. win7 简易版升级旗舰版
  13. 考研高数之无穷级数题型一:判断收敛性、求收敛半径以及收敛域和收敛区间(题目讲解)
  14. 60度斜坡怎么计算_坡度怎么计算
  15. 有趣的23000----整理(12)P词根
  16. PayPal Data Scientist 数据科学家面经与工作体验 | 面试笔记
  17. Paper--3d reconstruction:Open Source Structure-from-Motion for Aerial Video
  18. 一、产品经理——【岗位和能力要求】【项目流程】【产品体验报告】
  19. 【图片新闻】用于运送士兵和物品的“灰熊”坦克机器人
  20. QQ空间说说尾巴修改器

热门文章

  1. 旋转木马--利用html5和css3制作好看的图片3D旋转效果
  2. raise_for_status()方法
  3. ESP32-C3编译问题
  4. 支付宝登录java和android
  5. 【.Net Core】编译时禁止自动生成netcoreapp文件夹
  6. c语言课程设计歇后语,拼音字母c开头的歇后语
  7. xp怎么删除计算机用户,xp如何删除多余的用户帐户_IT /计算机_信息
  8. c盘扩容提示簇被标记_如何解决C盘爆满
  9. 打印机共享无法访问该计算机,共享打印机拒绝访问怎么办详细解决方案
  10. plc梯形图转c语言,plc梯形图转换成stl程序的实例教程