udevadm: systemd-udev-settle.service is deprecated. Please fix zfs-load-module.service, zfs-import-cache.service not to pull it in.
░░ Subject: systemd-udev-settle.service is deprecated.
░░ Defined-By: systemd
░░ Support: http://www.ubuntu.com/support
░░
░░ Usage of the systemd service unit systemd-udev-settle.service is deprecated. It
░░ inserts artificial delays into the boot process without providing the
░░ guarantees other subsystems traditionally assumed it provides. Relying on this
░░ service is racy, and it is generally a bug to make use of it and depend on it.
░░
░░ Traditionally, this service's job was to wait until all devices a system
░░ possesses have been fully probed and initialized, delaying boot until this
░░ phase is completed. However, today's systems and hardware generally don't work
░░ this way anymore, hardware today may show up any time and take any time to be
░░ probed and initialized. Thus, in the general case, it's no longer possible to
░░ correctly delay boot until "all devices" have been processed, as it is not
░░ clear what "all devices" means and when they have been found. This is in
░░ particular the case if USB hardware or network-attached hardware is used.
░░
░░ Modern software that requires some specific hardware (such as a network device
░░ or block device) to operate should only wait for the specific devices it needs
░░ to show up, and otherwise operate asynchronously initializing devices as they
░░ appear during boot and during runtime without delaying the boot process.
░░
░░ It is a defect of the software in question if it doesn't work this way, and
░░ still pulls systemd-udev-settle.service into the boot process.
░░
░░ Please file a bug report against the following units, with a request for it to
░░ be updated to operate in a hotplug fashion without depending on
░░ systemd-udev-settle.service:
░░
░░ zfs-load-module.service, zfs-import-cache.service
这是一个还没汉化的日志提示信息,那么翻译一下
udevadm[534]:systemd-udev-settle.service 已被弃用。请修复 zfs-load-module.service 和 zfs-import-cache.service,使它们不再依赖它。
░░ 主题:systemd-udev-settle.service 已被弃用。
░░ 定义者:systemd
░░ 支持:http://www.ubuntu.com/support
░░ 使用 systemd 服务单元 systemd-udev-settle.service 已被弃用。
░░ 它会向启动过程中插入人为的延迟,而没有提供其他子系统传统上认为它所提供的保证。
░░ 依赖这个服务是有风险的,并且通常使用它并依赖于它是一种错误。
░░
░░ 传统上,这个服务的工作是等待系统拥有的所有设备都完全探测和初始化完毕,延迟启动直到这个阶段完成。
░░ 然而,现在的系统和硬件通常不再以这种方式工作,硬件现在可能随时出现,并可能需要任何时间来探测和初始化。
░░ 因此,在一般情况下,不再可能正确地延迟启动直到“所有设备”都被处理,因为不清楚“所有设备”意味着什么以及何时它们会被找到。
░░ 特别是在使用 USB 硬件或网络连接硬件的情况下。
░░
░░ 现代软件如果需要某些特定硬件(如网络设备或块设备)来运行,应该只等待它需要的特定设备出现。
░░ 否则应该异步操作,在启动和运行时初始化出现的设备,而不延迟启动过程。
░░
░░ 如果软件不是这种方式工作,并且仍然在启动过程中引入 systemd-udev-settle.service,则是该软件的问题。
░░
░░ 请针对以下单元提交一个错误报告,并要求更新它们以在没有依赖 systemd-udev-settle.service 的情况下以热插拔方式操作:
░░
░░ zfs-load-module.service, zfs-import-cache.service
systemd-udev-settle.service
被弃用意味着,在未来的版本中它可能会以其它方式存在。为了向后兼容,不应该对它进行修改,应该让两个 zfs 模块不要依赖它。
systemctl list-units --type=mount
查出要挂载的设备,将两个 zfs 模块的 After / Requires =sudo systemctl mask zfs-load-module.service zfs-import-cache.service
# 执行成功会显示
Created symlink /etc/systemd/system/zfs-load-module.service → /dev/null.
Created symlink /etc/systemd/system/zfs-import-cache.service → /dev/null.
本文来自博客园,作者:GalGameBoy,转载请注明原文链接:https://www.cnblogs.com/GalGameBoy/p/18619665/systemd-udev-settle-service_is_deprecated
参与评论
手机查看
返回顶部