repo可配置为yum源,yum(全称为 Yellow dog Updater, Modified)是一个Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软j件包,无须繁琐地一次次下载和安装。
构建好的repo可以配置为yum源使用,在/etc/yum.repos.d/目录下使用root权限创建*.repo的配置文件(必须以.repo为扩展名),分为本地和http服务器配置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为验证签名用的公钥。
在/etc/yum.repos.d目录下创建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”为示例地址,请根据实际情况进行配置。
[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
当有多个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
dnf命令在安装升级时能够自动解析包的依赖关系,一般的使用方式如下:
# dnf
常用的命令如下:
# dnf install
例如示例命令如下:
[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 kTransaction Summary
=============================================================================================================================
Install 1 PackageTotal 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 transactionPreparing : 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 update
例如示例命令如下:
[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 ~]#
# dnf downgrade
例如示例命令如下:
[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 ~]#
# dnf remove
例如示例命令如下:
[root@repo ~]# dnf remove lrzsz
Dependencies resolved.
=============================================================================================================================Package Architecture Version Repository Size
=============================================================================================================================
Removing:lrzsz x86_64 0.12.20-46.oe2203 @everything 201 kTransaction Summary
=============================================================================================================================
Remove 1 PackageFreed space: 201 k
Is this ok [y/N]: y
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transactionPreparing : 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
例如示例命令如下:
[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 ~]#
# dnf localinstall
例如示例命令如下:
[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 kTransaction Summary
=============================================================================================================================
Install 1 PackageTotal 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 transactionPreparing : 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 ~]#
👍 点赞,你的认可是我创作的动力!
⭐️ 收藏,你的青睐是我努力的方向!
✏️ 评论,你的意见是我进步的财富!