957
线人 是一个 拱 Linux 新闻阅读器 设计也可用作 pacman 挂钩。 安装并配置为 pacman hook 后,Informant 会自动从 Arch 检索最新消息 Linux 网站并在系统更新或软件包安装期间显示它。 这可确保用户了解可能影响其系统或需要特定操作的任何关键信息。
内容
线人如何工作?
informant 实用程序提供了三个子命令:“查看“列表,“ 和 ”读。” 这些子命令服务于不同的目的并提供特定的功能。
informant check
– 当你执行“informant check
” 命令,它会检查是否有任何未读新闻项目。如果只有一个未读项目,它将打印该项目的内容并将其标记为已读。”informant check
” 命令的退出代码等于未读新闻项的数量,即使只有一个。此命令由 pacman 挂钩使用,这意味着如果有任何未读新闻项,它将中断您的 pacman 事务以确保在继续之前你已经知道了这个消息。
informant list
– 这 ”informant list
” 命令允许您列出最新新闻项目的标题。默认情况下,无论是否已阅读,它都会显示标题,除非 ‘--unread
‘选项已指定。 此外,该命令提供了一个 ‘--reverse
‘ 允许您从最新到最旧查看新闻项目的选项。- 线人阅读 – 这 ”
informant read
” 命令允许您查看新闻项目并将其标记为已读。您可以根据需要指定特定项目、遍历未读项目或将所有项目标记为已读。此命令的工作原理如下:- 如果您提供新闻项目,它将打印该项目并将其标记为已读。 您可以使用其索引或通过将其标题与字符串匹配来指定新闻项。
- 使用索引时,请确保选择运行时显示的索引“
informant list
“没有”--unread
“ 或者 ”--reverse
“ 选项。 - 如果没有提供新闻项,该命令将开始一项一项地检查所有未读项。 它将打印每个项目,将其标记为已读,并提示您继续下一个项目。
- 通过使用“
--all
” 标志,您可以将所有未读项目标记为已读而不打印其内容。
关于 Informant Pacman Hook
Informant 实用程序包括一个 PreTransaction pacman 挂钩,该挂钩旨在在有任何未读的 Arch 时中断 pacman 事务 Linux 新闻项目。 此挂钩专门在升级和安装期间运行,但不在删除期间运行。
安装 Informant 时,它的钩子安装在目录中 /usr/share/libalpm/hooks/
. 这意味着您可以通过在目录中放置一个新的钩子来灵活地覆盖默认的 pacman 钩子行为 /etc/pacman.d/hooks/
用名字 00-informant.hook
. 通过这样做,您可以根据您的特定需要自定义或修改挂钩的功能。
在 Arch 中安装 Informant Linux
举报人可在 AUR所以你可以使用 AUR 助手来安装它,比如 帕鲁 或者 耶 在拱 Linux 及其变体,如 EndeavourOS 和 Manjaro Linux.
使用帕鲁:
$ paru -S informant
使用耶:
$ yay -S informant
配置线人
安装后,您可以通过编辑将 Informant 配置为 pacman 挂钩
文件。 默认情况下会自动创建此文件。 如果由于任何原因不存在,您可以创建该文件并添加以下内容:/usr/share/libalpm/hooks
/00-informant.hook
[Trigger] Operation = Install Operation = Upgrade Type = Package Target = * Target = !informant [Action] Description = Checking Arch News with Informant ... When = PreTransaction Exec = /usr/bin/informant check AbortOnFail
代码说明:
让我们分解上面的代码,看看每个选项的作用。
在里面 [Trigger]
部分,代码定义了应该触发挂钩的条件。 在这种情况下,钩子将被触发两个操作: “安装” 和 “升级”.
这 Type = Package
表示钩子适用于与包相关的操作。 这 Target = *
指定挂钩适用于任何包。 然而, Target = !informant
从触发挂钩中排除名为“informant”的包。 这意味着在安装或升级“线人”包本身时不会执行挂钩。
在里面 [Action]
部分,代码指定触发挂钩时要执行的操作。 Description 字段提供操作的简短描述,在本例中是“与线人一起检查 Arch News ……”。
这 When = PreTransaction
指示该操作应在事务执行之前发生。 换句话说,它在包安装或升级发生之前作为预操作运行。
这 Exec = /usr/bin/informant check
行指定要执行的命令。 它运行命令 /usr/bin/informant check
,它使用“informant”实用程序检查 Arch News。
最后, AbortOnFail
是一个指令,确保如果“informant check
” 命令失败,它将中止事务。这有助于确保在继续安装或升级软件包之前解决所有重要新闻或更新。
总之,使用此配置,pacman hook 将在软件包安装或升级操作期间被触发。 它指定当目标包本身是“线人”时不应执行挂钩。 挂钩操作涉及运行命令 /usr/bin/informant check
使用“informant”实用程序检查 Arch News。 AbortOnFail 指令确保如果检查失败,它将中断事务。
如何使用线人?
如前所述,当您尝试更新或安装任何软件包时,如果有任何未读消息,消息将中断 pacman 事务。 看看下面的输出。 我试图更新我的 Arch Linux 使用 ‘pacman -Syyu
‘ 命令。 线人工具中断了交易并显示有 10 条未读消息,并建议我在运行任何进一步的 pacman 交易之前先阅读它们。
[..] :: Running pre-transaction hooks... (1/1) Checking Arch News with Informant ... There are 10 unread news items! Use informant to read them. :: informant: Run `informant read` before re-running your pacman command error: command failed to execute correctly error: failed to commit transaction (failed to run transaction hooks) Errors occurred, no packages were upgraded.
阅读拱门 Linux 使用 Informant 的新闻,只需运行:
$ informant read
这将列出所有未读命令。 系统会提示您在阅读每封邮件后转到下一封邮件。 只需按下 ‘y’ 阅读下一项。
阅读所有项目后,只需重新运行 pacman 命令即可。 这次它将运行而没有任何中断。
正如您在上面的输出中看到的,有一条权限被拒绝的错误消息:
ERROR: Unable to read cache information: [Errno 13] Permission denied: '/var/cache/informant/6/c/0/1/e/6c01e271562517b0f36f92a0135827dfdab1ed9faf33b98f5b8338e2'
要消除此错误,请运行所有以 sudo
或将您当前的用户添加到组“线人”以避免需要 sudo
.
$ sudo usermod -aG informant ostechnix
代替 ostechnix
使用您的实际用户名。
线人命令示例
以下是如何使用“informant”命令的几个示例:
1. 检查未读新闻:
$ informant check
此命令检查是否有任何未读的新闻项。 如果有未读项目,它会在终端中显示它们。
2. 上市新闻标题:
$ informant list
此命令列出最新新闻条目的标题,无论它们是否已被阅读。
3. 阅读特定新闻项目:
$ informant read 3
此命令读取索引为 3 的新闻项。您可以替换 3
带有您要阅读的新闻项目的特定索引或标题。
4. 循环浏览未读新闻:
$ informant read
在不指定新闻项的情况下运行此命令将开始一个循环,其中每个未读的新闻项都将一一显示。 系统会提示您在阅读完每一项后继续阅读下一项。
5. 将所有项目标记为已读:
$ informant read --all
此命令将所有未读新闻项标记为已读,而不打印其内容。
这些示例演示了如何使用“informant”命令提供的不同子命令和选项来检查、列出、读取和管理 Arch Linux 新闻项目根据您的需要。
禁用线人挂钩
如果你想完全禁用“informant”挂钩,你可以创建一个符号链接到 /dev/null
在里面 /etc/pacman.d/hooks/
目录。 为了 example,您可以使用以下命令创建符号链接:
$ ln -s /dev/null /etc/pacman.d/hooks/00-informant.hook
将挂钩文件的路径替换为您自己的。 这有效地将钩子重定向到 /dev/null
,这实际上会丢弃其输出并禁用其功能。
有关 pacman hooks 的更多详细信息和指南,包括它们的用法和配置,您可以通过运行以下命令来参考手册页:
$ man alpm-hooks
删除线人
如果挂钩或“informant”实用程序中断并阻止您完成成功的 pacman 事务,即使在尝试阅读新闻后,您也可以通过从系统中删除“informant”包来解决问题。
要删除线人,只需运行:
$ sudo pacman -Rsn informant
经常问的问题
这是 Informant 实用程序的 FAQ(常见问题解答):
1、什么是线人?
Informant 是专为 Arch 设计的命令行实用程序 Linux 方便用户阅读和管理 Arch Linux 消息。
2. Informant 是如何工作的?
线人利用 Arch Linux 新闻 RSS 提要,用于在终端内以可读格式检索和呈现新闻项目。
3.如何安装Informant?
Informant 可以使用 AUR 助手从 Arch User Repository (AUR) 安装,例如 帕鲁 或者 耶. 为了 example,你可以运行 paru -S informant
或者 yay -S informant
安装它。
4.Informant的子命令有哪些?
Informant 提供子命令,例如 ‘check
‘检查未读新闻项目,’list
‘ 列出最近新闻条目的标题,以及 ‘read
‘ 以阅读特定的新闻项目或循环浏览未读项目。
5. 如何使用 Informant 查看未读新闻?
你可以跑 informant check
检查任何未读的新闻项目。 如果只有一个未读项目,它将显示项目的内容,并将其标记为已读。
6. 我可以列出最近新闻的标题而不标记为已读吗?
是的,你可以使用 informant list
列出最新新闻项目的标题,无论其阅读状态如何。 添加 --unread
将列表限制为仅未读项目的选项。
7. 我如何使用 Informant 阅读特定的新闻?
你可以跑 informant read <index_or_title>
阅读特定的新闻项目。 使用其索引指定项目(显示在 ‘informant list
‘ 输出)或匹配其标题。
8. 我可以将所有新闻条目标记为已读而不打印它们吗?
是的,你可以使用 informant read --all
将所有未读新闻项目标记为已读而不打印其内容。
9. 我可以自定义线人的行为吗?
线人提供选项,例如 --reverse
以相反的顺序列出新闻项目和 --unread
以专注于未读项目。 使用 informant --help
探索其他选项。
10.如何卸载Informant?
您可以使用包管理器卸载 Informant。 为了 example, 跑步 pacman -Rsn informant
从您的系统中删除 Informant 包。
如果您有任何其他问题或需要 Informant 的进一步帮助,请随时查阅文档或通过下面的评论部分发布您的问题。
结论
Informant 是一个实用程序,可提供通知并显示来自 Arch 的新闻 Linux 每当有与 Arch 相关的重要公告、更新或问题时,网站 Linux 分配。 在 Informant 的帮助下,Arch 用户可以及时了解与 Arch 相关的最新消息、公告和重要信息 Linux 分配。
资源:
- 线人 GitHub 存储库
Arch LinuxArch 操作系统 Linux 新闻CLI命令行EndeavourOSLinuxLinux基础知识Linux命令Linux howtoLinux技巧Manjaro Linux新闻阅读器开源