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
说明:
- [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
说明:
“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 ~]#
👍 点赞,你的认可是我创作的动力!
⭐️ 收藏,你的青睐是我努力的方向!
✏️ 评论,你的意见是我进步的财富!文章来源:https://www.toymoban.com/news/detail-715550.html
文章来源地址https://www.toymoban.com/news/detail-715550.html
到了这里,关于37 openEuler搭建repo服务器-使用repo源的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!