Huawei Cloud EulerOS-准备工作

时间:2023-11-01 16:16:54

准备工作

RPM包的更新方法有两种:使用osmt update命令更新和使用后台osmt-agent服务自动更新。此两种方法,都须先执行本节操作。

  1. 确认repo源配置正常。

    请检查默认的/etc/yum.repos.d/hce.repo配置文件的参数是否正确,正确的配置如下。

    [base]name=HCE $releasever basebaseurl=https://repo.huaweicloud.com/hce/$releasever/os/$basearch/enabled=1gpgcheck=1gpgkey=https://repo.huaweicloud.com/hce/$releasever/os/RPM-GPG-KEY-HCE-2[updates]name=HCE $releasever updatesbaseurl=https://repo.huaweicloud.com/hce/$releasever/updates/$basearch/......

    错误的配置内容可能会导致OSMT升级失败,或非预期的升级行为。

  2. 执行dnf update osmt -y命令更新OSMT升级工具。
  3. 配置/etc/osmt/osmt.conf文件。

    OSMT根据配置文件osmt.conf的设置,对RPM包进行更新。请根据需要配置osmt.conf文件。

    [auto]#if auto_upgrade is True, the osmt-agent will auto upgrade rpms use osmt.conf and reboot between time interval we specified#the value of cycle_time means the  osmt-agent will check upgrade every cycle_time seconds, default 86400s(1 day)#When a configuration item has a line break, you need to leave a space or tab at the beginning of the lineauto_upgrade = Falsecycle_time = 3600minimal_interval = 3600auto_upgrade_window = "22:00-05:00"auto_upgrade_interval = 1[Package]# There are three rules of filters, all enabled by default. severity will be effect only when the types contain security, it is the subtype of security.# The following are the three rules:#    1. white list has the highest priority, if whitelist is configured then ignore other rules and filter out the whitelist packages from the full list of packages to be upgrade#    2. Filter the update range by types, when the types contain security, further filter the severity of security updates severity, only upgrade the severity level of security.#    3. Filter blacklist to remove packages in blacklist from types filter results, and packages which depend on packages in blacklist will also be removed.# filters must contain at least one types rule, if the types rule is empty, the -a option will not upgrade any packages (by default all 3 filters are enabled).filters = "types, blacklist"whitelist = ""# types include: security, bugfix, enhancement, newpackage, unknown# if types is empty, no package will be upgrade# types = security, bugfix, enhancement, newpackage, unknowntypes = "security"# severity is the subtype of security, include: low, moderate, important, criticalseverity = "important, critical"blacklist = ""# The rpm package that requires a system reboot to take effect after the upgradeneed_reboot_rpms = "kernel,kernel-debug,kernel-debuginfo,kernel-debuginfo-common,kernel-devel,kernel-headers,kernel-ori,kernel-tools,kernel-tools-libs,glibc,glibc-utils,glibc-static,glibc-headers,glibc-devel,glibc-common,dbus,dbus-python,dbus-libs,dbus-glib-devel,dbus-glib,dbus-devel,systemd,systemd-devel,systemd-libs,systemd-python,systemd-sysv,grub2,grub2-efi,grub2-tools,openssl,openssl-devel,openssl-libs,gnutls,gnutls-dane,gnutls-devel,gnutls-utils,linux-firmware,openssh,openssh-server,openssh-clients,openssh-keycat,openssh-askpass,python-libs,python,grub2-pc,grub2-common,grub2-tools-minimal,grub2-pc-modules,grub2-tools-extra,grub2-efi-x64,grub2-efi-x64-cdboot,kernel-cross-headers,kernel-source,glibc-all-langpacks,dbus-common,dbus-daemon,dbus-tools,systemd-container,systemd-pam,systemd-udev,grub2-efi-aa64,grub2-efi-aa64-cdboot,grub2-efi-aa64-modules,openssl-perl,openssl-pkcs,kernel-tools-libs-devel,glibc-debugutils,glibc-locale-source,systemd-help,grub2-efi-ia32-modules,grub2-efi-x64-modules,grub2-tools-efi,grub2-help,openssl-pkcs11,grub2-efi-ia32-cdboot,osmt"preinstalled_only = False[backup]store_path = /var/logbackup_dir = /etc,/usr,/boot,/var,/runexclude_dir =recover_service =#the minimum resources required(MB)[resource_needed]#min_req_boot_space = 100#min_req_backup_space = 8192#min_req_root_space = 1536#min_req_memory = 512[cmdline]cmdline_value =[conflict]#conflict_rpm = test1,test2[strategy]timeout_action = "stop"timeout_action_before = 0[check]daemon_whitelist = "sysstat-collect.service, sysstat-summary.service, systemd-tmpfiles-clean.service"
    表1 osmt.conf主要配置项

    配置项

    说明

    [auto]

    • auto_upgrade:指定更新RPM包更新方式。默认为False。
      • True:使用osmt update命令更新和使用后台osmt-agent服务自动更新两种方式都支持。
      • False:仅支持使用osmt update命令更新RPM包。
    • auto_upgrade为True时,配套如下参数。
      • cycle_time:检查是否有待更新软件包的周期,单位是秒。默认值为3600秒。
      • minimal_interval:指定osmt update -b命令参数中开始时间和截止时间的最小时间间隔,单位是秒。默认值为3600秒。
      • auto_upgrade_window:配置后台osmt-agent服务自动升级的时间窗,格式为"HH:MM-HH:MM",表示升级的开始时间和截止时间。

        如果截止时间小于开始时间,则表示本次升级时间段跨越自然日。如“22:00-05:00”表示升级时间段为当日22:00到次日凌晨5:00。

      • auto_upgrade_interval:指定两次自动升级之间的最小间隔(单位:天)。
    • auto_upgrade为False时,仅配套如下参数,执行配置文件时[auto]配置项中其他参数不生效。
      • cycle_time:检查是否有待更新软件包的周期,单位是秒。默认值为3600秒。
      • minimal_interval:指定osmt update -b命令参数中开始时间和截止时间的最小时间间隔,单位是秒。默认值为3600秒。

    [Package]

    • filters:指定更新的范围,包括types、blacklist、whitelist。

      例如filters = "blacklist",指升级时不更新黑名单中的RPM包。

      • types:待更新的RPM包类型。
      • blacklist:RPM包黑名单列表。

        设置黑名单后,不对黑名单中的RPM包进行更新。如果某RPM包依赖黑名单中的包,则不会升级此RPM包。

      • whitelist:RPM包白名单列表。

        如果不设置白名单或者黑名单列表,默认更新所有可更新的RPM包。

        白名单优先级大于黑名单,如果某RPM包同时配置在白名单和黑名单,则会升级此RPM包。

        说明:

        如果使用命令指定了黑名单和白名单,以命令指定的黑名单和白名单为准,不再根据配置文件中的黑名单和白名单列表更新RPM包。

    • need_reboot_rpms:升级后要重启的RPM包。

      后台osmt-agent服务自动升级时,不会更新need_reboot_rpms中的RPM包。若要更新need_reboot_rpms列表中的RPM包,必须使用osmt update --auto --reboot_config alwaysosmt update --auto --reboot_config “重启时间”命令更新。

    • preinstalled_only:当设置成True时,只升级/etc/osmt/preinstalled.list中的RPM包。

    [backup]

    • store_path:在该目录下创建备份目录。

      升级过程中,OSMT会在store_path下创建.osbak目录,如果原先存在该目录,则需要先使用osmt remove将其删除。

    • backup_dir:需要备份的目录。其中/etc、/usr、/boot、/var、/run为默认的需要备份的目录,且不可以删减。这些目录会在执行版本升级功能的时候自动进行备份。
    • recover_service:OSMT会检查升级前后此列表中服务的启用状态是否一致,如果服务的启用状态被修改,OSMT会尝试恢复此服务的状态。
      说明:

      [backup]中的路径需要配置为绝对路径的形式。

    [cmdline]

    cmdline_value:指定升级之后系统的启动项。请配置正确的启动项,确保系统能够正常启动。默认值为HCE的默认启动项。

    [conflict]

    conflict_rpm:指定升级过程中冲突的软件包,升级时系统将自动删除冲突的软件包。

    其他配置项不建议修改,详情请参见/etc/osmt/osmt.conf配置文件说明

support.huaweicloud.com/usermanual-hce/hce_02_0039.html