我用来update-alternatives
配置我的机器上安装的多个版本的软件。
该软件有多个可执行文件 A、B 和 C。要在版本之间切换,我需要单独安装和配置每个可执行文件。
update-alternatives --install /usr/bin/A A /path/to/version1.0/bin/A 1
update-alternatives --install /usr/bin/B B /path/to/version1.0/bin/B 1
update-alternatives --install /usr/bin/C C /path/to/version1.0/bin/C 1
如何在 Linux 上交替安装一组可执行文件的多个安装版本?
我宁愿指定文件夹的路径:
update-alternatives --install /usr/bin/ App /path/to/version1.0/bin/ 1
所以我只选择使用哪个版本。这无法创建链接,因为 /usr/bin 是一个目录。
答案1
您无法链接目录中的一组二进制文件,但可以使多个替代方案相关:
update-alternatives --install /usr/bin/A A /path/to/version1.0/bin/A 1 \
--slave /usr/bin/B B /path/to/version1.0/bin/B \
--slave /usr/bin/C C /path/to/version1.0/bin/C
次要替代方案未加权,因为它们的选择仅取决于主要替代方案。切换 for 的替代项将切换和 的A
替代项以匹配。B
C
您可以列出所有二进制文件/path/to/versionX/bin
并构建适当的命令行以自动将其扩展到所有二进制文件......
答案2
我看到至少有3个选择。
- 只需使用您想要的路径即可,在使用时使用完整路径。
- 您正在使用的或其他答案中的更新替代方案https://unix.stackexchange.com/a/526569/4778
- 做你自己的符号链接见下文。
设置一些目录,包含文件
mystuff/A/bin1
mystuff/A/bin2
mystuff/A/bin3
mystuff/B/bin1
mystuff/B/bin2
mystuff/B/bin3
mystuff/active → mystuff/A
(或乙)
然后使用 update-alternatives 指向mystuff/active
然后,您可以通过更新一个符号链接来进行切换。