编译的 GNU/Nano:如何添加到系统编辑器列表

编译的 GNU/Nano:如何添加到系统编辑器列表

我自己编译了 GNU/Nano 编辑器,我希望将其添加到系统编辑器列表中。

which nano

告诉我以下位置:

/usr/local/bin/nano

所以它应该是这样的:

sudo update-alternatives --install /usr/bin/editor editor /usr/local/bin/nano 1

但我需要把各个部分拼凑起来。您能帮我理解手册吗?

命令

--install link name path priority [--slave link name path]...

向系统添加一组替代方案。 link是主链接的通用名称, name 是其在替代品目录中的符号链接的名称,path是为主链接引入的替代品。之后的参数 --slave是通用名称、替代目录中的符号链接名称以及从属链接的替代路径。可以指定零个或多个--slave选项,每个选项后跟三个参数。请注意,主备用必须存在,否则调用将失败。但是,如果从属替代项不存在,则不会安装相应的从属替代项链接(仍会显示警告)。如果在必须安装替代链接的地方安装了某个真实文件,则除非--force使用,否则它将被保留。

如果指定的替代名称已存在于替代系统的记录中,则提供的信息将添加为该组的一组新的替代名称。否则,将添加一个设置为自动模式的新组并包含此信息。如果该组处于自动模式,并且新添加的替代项的优先级高于该组中任何其他安装的替代项,则符号链接将更新为指向新添加的替代项。

答案1

查看该包在其内部做了什么postinst

update-alternatives --install /usr/bin/editor editor /bin/nano 40 \
  --slave /usr/share/man/man1/editor.1.gz editor.1.gz \
  /usr/share/man/man1/nano.1.gz

这将/bin/nano作为/usr/bin/editor(名为 的替代项editor,所以/etc/alternatives/editor)的替代项进行安装,优先级为 40,并将nano联机帮助页作为该联机帮助页的替代项进行关联editor。这样,选择nano作为配置的替代方案会自动设置匹配的联机帮助页。

运行此命令时,如果editor替代方案已存在,nano则将添加该替代方案;如果替代方案处于自动模式,则如果其具有最高优先级,则选择该替代方案;如果没有,替代方案将以自动模式创建、nano添加和选择。

所以你可能想要类似的东西

update-alternatives --install /usr/bin/editor editor /usr/local/bin/nano 100

(假设你想自动选择nano;我在 Debian 中看到的编辑器的最高优先级是 70,所以 100 将获胜)。

相关内容