23个不稳定版本 (7个破坏性版本)
0.8.0 | 2024年5月21日 |
---|---|
0.7.1 | 2024年3月17日 |
0.7.0 | 2024年2月9日 |
0.5.7 | 2023年10月19日 |
0.1.2 | 2019年11月19日 |
在 命令行实用程序 中排名第 23
每月下载量 1,526
28KB
570 行
重启Arch BTW
这是一个小型实用程序,显示在 ArchLinux 上安装并运行的Linux内核。如果您没有注意到内核已更新,并且突然发现USB驱动器无法挂载,因为所需的内核模块无法加载,那么这个实用程序非常有用。
它还可以检测像systemd这样的关键软件包是否已更新,这也可能需要重启。
要获取已安装内核的版本,它使用libalpm(与pacman一起发货)查询本地pacman数据库。要获取运行内核的版本,它使用 uname -r
。
安装
您可以直接从AUR安装它
- https://aur.archlinux.org/packages/reboot-arch-btw 用于最新版本
- https://aur.archlinux.org/packages/reboot-arch-btw-git 用于最新主分支
或者,您可以使用cargo安装它
cargo install reboot-arch-btw
构建
此项目需要最新的稳定Rust版本,但也可能与较旧的Rust版本兼容。此外,您需要安装dbus。
sudo pacman -S dbus
cargo build
用法
$ reboot-arch-btw
Kernel
installed: 5.19.13.arch1.1 (since 4 minutes ago)
running: 5.19.12.arch1.1
systemd updated 4 minutes ago
Reboot arch btw
它还将显示一个 桌面通知,表明您可能需要重启系统。
可以使用 --reboot-packages
或 --reboot-packages
设置在更新时应触发通知的软件包列表。
$ reboot-arch-btw --help
Check if a reboot is needed due to an updated kernel or other system packages.
Usage: reboot-arch-btw [OPTIONS]
Options:
--disable-notification
Disable desktop notification
--notification-timeout <NOTIFICATION_TIMEOUT>
Timeout for the desktop notification in milliseconds.
* "default" will leave the timeout to be set by the server.
* "never" or "0" will cause the notification never to expire.
* Any other number will be interpreted as the timeout in milliseconds.
[default: default]
--reboot-packages <REBOOT_PACKAGES>
Comma separated list of packages were we should reboot after an upgrade
[default: systemd,linux-firmware,amd-ucode,intel-ucode]
--session-restart-packages <SESSION_RESTART_PACKAGES>
Comma separated list of packages were we should restart our session after an upgrade
[default: xorg-server,xorg-xwayland]
-h, --help
Print help information (use `-h` for a summary)
-V, --version
Print version information
Pacman钩子
您可以配置 pacman
在每次升级后运行 reboot-arch-btw
,以立即检查您是否需要重启。为此,创建 /etc/pacman.d/hooks/99-reboot-arch-btw.hook
并包含以下内容
[Trigger]
Operation = Upgrade
Type = Package
Target = *
[Action]
Description = Check whether a reboot is required
Depends = reboot-arch-btw
When = PostTransaction
Exec = /usr/bin/sudo -u $USER DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$UID/bus /usr/bin/reboot-arch-btw
注意:您需要将 $USER
和 $UID
替换为您实际的用户名和用户ID。
依赖项
~4–29MB
~407K SLoC