Skip to main content

Update & Upgrade

Update & Upgrade

配置软件源

在完成统信服务器操作系统的安装后,首先对软件源配置文件进行配置并升级。简单来说就是您安装软件时,程序从哪个仓库地址获取软件包,就对软件源配置文件进行相应的修改。

软件源的配置一般有两种方式,一种是直接配置“/etc/dnf/dnf.conf”文件,另一种是在“/etc/yum.repos.d”中增加repo文件,任选一种即可。

  • 配置“/etc/dnf/dnf.conf”文件的“main”部分,配置示例如下:

[main]

gpgcheck=1

installonly_limit=3

clean_requirements_on_remove=True

best=True

skip_if_unavailable=False

表3.1常用参数说明

参数 说明
cachedir 缓存目录,该目录用于存储RPM包和数据库文件。
keepcache 可选值是1和0,表示是否要缓存已安装成功的那些RPM包及头文件。默认值为0,即不缓存。
debuglevel 设置dnf生成的debug信息。取值范围是[0-10],数值越大就会输出越详细的debug信息。默认值为2,设置为0表示不输出debug信息。
clean_requirements_on_remove 删除在dnf remove期间不再使用的依赖项。如果软件包是通过dnf安装的,而不是通过显式用户请求安装的,则只能通过clean_requirements_on_remove删除软件包,即它是作为依赖项引入的。默认值为True。
best 升级包时,总是尝试安装最高版本,如果最高版本无法安装,则提示无法安装的原因并停止安装。默认值为True。
obsoletes 可选值为1和0,设置是否允许更新陈旧的RPM包。默认值为1,表示允许更新。
gpgcheck 可选值为1和0,设置是否进行gpg校验。默认值为1,表示需要进行校验。
plugins 可选值为1和0,表示启用或禁用dnf插件。默认值为1,表示启用dnf插件。
installonly_limit 设置可以同时安装“installonlypkgs”指令列出包的数量。默认值为3,不建议降低此值。
  • 在“/etc/yum.repos.d”中增加repo文件:repository部分允许您定义定制化的软件源仓库,各个仓库的名称不能相同,否则会引起冲突。下面是repository部分的一个最小配置示例:

[repository]

name=repository_name

baseurl=repository_url

表3.2repository参数说明

参数 说明
name=repository_name 软件仓库(repository)描述的字符串。
baseurl=repository_url 软件仓库(repository)的地址。■使用http协议的网络位置,例如:http://path/to/repo。■使用ftp协议的网络位置,例如:ftp://path/to/repo。■本地位置,例如:file:///path/to/local/repo。

统信服务器操作系统(版本为10xxa时)中有默认的repo文件UnionTechOS.repo,包含AppStream、BaseOS、PowerTools、Plus、Update等源。UnionTechOS.repo文件中的AppStream配置示例如下:

[UnionTechOS-$releasever-AppStream]

name = UnionTechOS $releasever AppStream

baseurl= https://enterprise-c-packages.chinauos.com/server-enterprise-c/$StateMode/kongzi/1070/AppStream/$basearch

enabled = 1

username=$auth_u

password=$auth_p

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

gpgcheck = 1

skip_if_unavailable = 1

统信服务器操作系统(版本为10xxe时)中有5个默认的repo文件(以ARM架构为例),包含UnionTechOS-aarch64.repo(标准源)、UnionTechOS-everything-aarch64.repo(全量源,包含所有软件包)、UnionTechOS-update-aarch64.repo(升级源)、UnionTechOS-kernel5.10-aarch64.repo(ernel5.10源)、UnionTechOS-modular-aarch64.repo(模块化源)。其中kernel5.10源、升级源、模块化源在系统初始安装后默认是关闭(enabled=0)状态。当有下一个版本发布后会同步标准源中的升级包到升级源路径,此时管理员只需要将升级源配置文件中的enabled值修改为1,就可以进行软件包升级操作。当需要开启模块化源时,需要管理员手动将模块化源中的enabled值修改为1。以UnionTechOS-aarch64.repo文件为例,配置示例如下:

[UnionTechOS-Server-20]

name=UnionTechOS-Server-20-$releasever

enabled=1

gpgcheck=1

baseurl=https://euler-packages.chinauos.com/server-euler/$StateMode/fuyu/$releasever/OS/$basearch

gpgkey=https://euler-packages.chinauos.com/server-euler/$StateMode/fuyu/$releasever/OS/$basearch/RPM-GPG-KEY-UnionTech

username=$auth_u

password=$auth_p

:::note

  • UOS默认已经配置好了镜像源仓库,但需要激活授权后才能使用。
  • UOS默认配置中有认证相关的配置,请勿修改repo默认配置文件,否则会导致软件包更新失败,username和password为认证所需要的用户名和密码。
  • 1070e中的升级源为默认开启状态。 :::

安装软件包

26执行dnf install PACKAGE_NAME命令安装指定的软件包。以wget为例,执行dnf install wget命令,然后输入“y”确认,完成安装。

图3.1安装wget示例

27执行如下命令,更新所有已安装的软件包。

dnf upgrade

:::note 更新软件包时,软件包将被下载到“/var/cache/dnf/”目录下缓存,然后再进行安装。升级的记录会写在日志文件/var/log/dnf.log、/var/log/dnf.librepo.log、/var/log/dnf.rpm.log中。 :::

系统更新提示

通过ssh登录系统时,会给出用户更新提示,包括可更新软件包个数和更新命令,如图3.2所示。如果提示有软件包可更新,则可执行提示的命令进行更新。

图3.1通过ssh登录时的系统更新提示