37 openEuler搭建repo服务器-使用repo源

文章目录

    • 37 openEuler搭建repo服务器-使用repo源
      • 37.1 repo配置为yum源(软件源)
      • 37.2 repo优先级
      • 37.3 dnf相关命令

37 openEuler搭建repo服务器-使用repo源

repo可配置为yum源,yum(全称为 Yellow dog Updater, Modified)是一个Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软j件包,无须繁琐地一次次下载和安装。

37.1 repo配置为yum源(软件源)

构建好的repo可以配置为yum源使用,在/etc/yum.repos.d/目录下使用root权限创建*.repo的配置文件(必须以.repo为扩展名),分为本地和http服务器配置yum源两种方式:

  • 配置本地yum源

在/etc/yum.repos.d目录下创建openEuler.repo文件,使用构建的本地repo源作为yum源,openEuler.repo的内容如下:

[everything]
name=everything
baseurl=file:///home/repo
enabled=1
gpgcheck=1
gpgkey=file:///home/repo/RPM-GPG-KEY-openEuler

image-20221219190513462说明:

  • [repoid]中的repoid为软件仓库(repository)的ID号,所有.repo配置文件中的各repoid不能重复,必须唯一。示例中repoid设置为everything
  • name为软件仓库描述的字符串。
  • baseurl为软件仓库的地址。
  • enabled为是否启用该软件源仓库,可选值为1和0。默认值为1,表示启用该软件源仓库。
  • gpgcheck可设置为1或0,1表示进行gpg(GNU Private Guard)校验,0表示不进行gpg校验,gpgcheck可以确定rpm包的来源是有效和安全的。
  • gpgkey为验证签名用的公钥。
  • 配置http服务器yum源

在/etc/yum.repos.d目录下创建openEuler.repo文件。

  • 若使用用户部署的http服务端的repo源作为yum源,openEuler.repo的内容如下:
[everything]
name=everything
baseurl=http://192.168.0.24/
enabled=1
gpgcheck=1
gpgkey=http://192.168.0.24/RPM-GPG-KEY-openEuler

image-20221219190513462说明:
“192.168.0.24”为示例地址,请根据实际情况进行配置。

  • 若使用openEuler提供的openEuler repo源作为yum源,以x86_64架构的OS repo源为例,openEuler.repo的内容如下:
[base]
name=base
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS/OS/x86_64/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS/OS/x86_64/RPM-GPG-KEY-openEuler

37.2 repo优先级

当有多个repo源时,可通过在*.repo文件的priority参数设置repo的优先级(如果不设置,默认优先级是99,当相同优先级的源中存在相同rpm包时,会安装最新的版本)。其中,1为最高优先级,99为最低优先级,如给openEuler.repo配置优先级为2:

[everything]
name=everything
baseurl=http://192.168.0.24/
enabled=1
priority=2
gpgcheck=1
gpgkey=http://192.168.0.24/RPM-GPG-KEY-openEuler

37.3 dnf相关命令

dnf命令在安装升级时能够自动解析包的依赖关系,一般的使用方式如下:

# dnf <command> <packages name>

常用的命令如下:

  • 安装,需要在root权限下执行。
# dnf install <packages name>

例如示例命令如下:

[root@repo ~]# dnf install lrzsz
everything                                                                                   188 MB/s |  16 MB     00:00    
Last metadata expiration check: 0:00:04 ago on 2022年11月30日 星期三 20时42分22秒.
Dependencies resolved.
=============================================================================================================================
 Package                  Architecture              Version                              Repository                     Size
=============================================================================================================================
Installing:
 lrzsz                    x86_64                    0.12.20-46.oe2203                    everything                     83 k

Transaction Summary
=============================================================================================================================
Install  1 Package

Total size: 83 k
Installed size: 201 k
Is this ok [y/N]: y
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                     1/1 
  Installing       : lrzsz-0.12.20-46.oe2203.x86_64                                                                      1/1 
  Running scriptlet: lrzsz-0.12.20-46.oe2203.x86_64                                                                      1/1 
  Verifying        : lrzsz-0.12.20-46.oe2203.x86_64                                                                      1/1 

Installed:
  lrzsz-0.12.20-46.oe2203.x86_64                                                                                             

Complete!
[root@repo ~]# 
  • 升级,需要在root权限下执行。
# dnf update <packages name>

例如示例命令如下:

[root@repo ~]# dnf update lrzsz
Last metadata expiration check: 0:00:43 ago on 2022年11月30日 星期三 20时42分22秒.
Dependencies resolved.
Nothing to do.
Complete!
[root@repo ~]# 
  • 回退,需要在root权限下执行。
# dnf downgrade <packages name>

例如示例命令如下:

[root@repo ~]# dnf downgrade lrzsz
Last metadata expiration check: 0:01:11 ago on 2022年11月30日 星期三 20时42分22秒.
Package lrzsz of lowest version already installed, cannot downgrade it.
Dependencies resolved.
Nothing to do.
Complete!
[root@repo ~]# 
  • 检查更新
# dnf check-update

例如示例命令如下:

[root@repo ~]# dnf check-update
Last metadata expiration check: 0:01:30 ago on 2022年11月30日 星期三 20时42分22秒.
[root@repo ~]# 
  • 卸载,需要在root权限下执行。
# dnf remove <packages name>

例如示例命令如下:

[root@repo ~]# dnf remove lrzsz
Dependencies resolved.
=============================================================================================================================
 Package                 Architecture             Version                                Repository                     Size
=============================================================================================================================
Removing:
 lrzsz                   x86_64                   0.12.20-46.oe2203                      @everything                   201 k

Transaction Summary
=============================================================================================================================
Remove  1 Package

Freed space: 201 k
Is this ok [y/N]: y
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                     1/1 
  Erasing          : lrzsz-0.12.20-46.oe2203.x86_64                                                                      1/1 
  Running scriptlet: lrzsz-0.12.20-46.oe2203.x86_64                                                                      1/1 
  Verifying        : lrzsz-0.12.20-46.oe2203.x86_64                                                                      1/1 

Removed:
  lrzsz-0.12.20-46.oe2203.x86_64                                                                                             

Complete!
[root@repo ~]# 
  • 查询
# dnf search <packages name>

例如示例命令如下:

[root@repo ~]# dnf search lrzsz
Last metadata expiration check: 0:02:58 ago on 2022年11月30日 星期三 20时42分22秒.
================================================ Name Exactly Matched: lrzsz ================================================
lrzsz.x86_64 : Free x/y/zmodem implementation
[root@repo ~]# 
  • 本地安装,需要在root权限下执行。
# dnf localinstall <absolute path to package name>

例如示例命令如下:

[root@repo ~]# dnf localinstall /home/repo/Packages/lrzsz-0.12.20-46.oe2203.x86_64.rpm 
Last metadata expiration check: 0:03:39 ago on 2022年11月30日 星期三 20时42分22秒.
Dependencies resolved.
=============================================================================================================================
 Package                 Architecture             Version                               Repository                      Size
=============================================================================================================================
Installing:
 lrzsz                   x86_64                   0.12.20-46.oe2203                     @commandline                    83 k

Transaction Summary
=============================================================================================================================
Install  1 Package

Total size: 83 k
Installed size: 201 k
Is this ok [y/N]: y
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                     1/1 
  Installing       : lrzsz-0.12.20-46.oe2203.x86_64                                                                      1/1 
  Running scriptlet: lrzsz-0.12.20-46.oe2203.x86_64                                                                      1/1 
  Verifying        : lrzsz-0.12.20-46.oe2203.x86_64                                                                      1/1 

Installed:
  lrzsz-0.12.20-46.oe2203.x86_64                                                                                             

Complete!
[root@repo ~]# 
  • 查看历史记录
# dnf history

例如示例命令如下:

[root@repo ~]# dnf history
ID     | Command line                                                           | Date and time    | Action(s)      | Altered
-----------------------------------------------------------------------------------------------------------------------------
     3 | install -y nginx                                                       | 2022-11-29 21:55 | Install        |   11   
     2 | install createrepo -y                                                  | 2022-11-29 21:34 | Install        |    2   
     1 |                                                                        | 2022-11-28 21:29 | Install        |  796 EE
[root@repo ~]# 
  • 清除缓存目录
# dnf clean all

例如示例命令如下:

[root@repo ~]# dnf clean all
5 files removed
[root@repo ~]# 
  • 更新缓存
# dnf makecache

例如示例命令如下:

[root@repo ~]# dnf makecache
everything                                                                                   3.0 MB/s | 3.0 kB     00:00    
Metadata cache created.
[root@repo ~]# 

? 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富!

image-20230307220630775文章来源地址https://uudwc.com/A/Nx3Pw

原文地址:https://blog.csdn.net/shuchaoyang/article/details/129506719

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

h
上一篇 2023年09月23日 22:26
jaeger部暑 (elasticsearch+kafka)
下一篇 2023年09月23日 22:31