在 Debian 系统上使用update-alternatives (8) 可以将手册页添加为某个主替代方案下的从属手册页。
例如,以下命令安装替代手册页tclsh.1
以及tclsh
.
$ update-alternatives --install /usr/bin/tclsh tclsh /usr/bin/tclsh8.6.0 100 \
--slave /usr/share/man/man1/tclsh.1 tclsh.1 /usr/share/man/man1/tclsh8.6.0.1
Run Code Online (Sandbox Code Playgroud)
但是,如果我没有一个而是整个目录,其中包含我想要安装的手册页作为替代方案,该怎么办?如何在不添加数百个奴隶的情况下添加这些?
我正在使用 Ubuntu 12.04,并尝试安装我自己的Tcl 8.6(无 ActiveState)。它有 800 多个手册页/opt/tcl8.6.0/man/man[13n]
。
任何人都可以帮助我使用 Fedora 替代系统来安装旧版本的 make 吗?我知道实际的程序无关紧要,但我需要它,所以我会用它作为我的例子。
我目前已经make-3.82
安装在我的 Fedora 14 机器上,但我需要安装 3.81 来构建 android 内核。我已经下载了 3.81 源代码并构建了它,但现在我想将它与 3.82 一起安装,并且能够使用 Fedora 替代品在它们之间切换。
现在我make-3.81
从源代码安装到/usr/local
,我将如何使用替代方案来实现我的目标?我知道我必须使用替代命令,但到目前为止我的尝试都失败了,我想要一个具体的例子。
我无法从update-alternatives
文档中理解优先级系统是如何工作的。
假设我想在其他情况下/usr/bin/node
指向nodejs
nodejs 应用程序和业余无线电节目,称为node
。我不得不说:
update-alternatives --install /usr/bin/node nodejs /usr/bin/nodejs 100 --slave /usr/share/man/...
Run Code Online (Sandbox Code Playgroud)
假设我有 2 个期望/usr/bin/node
不同的程序,第一个 - nodejs,第二个 - 业余无线电。他们将如何确定使用哪一个?
优先级在此过程中的作用是什么?
添加:请注意,npm
nodejs 包管理器需要调用 nodejs 命令node
,因此我必须将 nodejs 安装为node
.
我在多个窗口(配置文件)中同时使用 Firefox 和 Google Chrome。
单击终端或其他 GUI 应用程序中的链接时,我想选择加载 URL 的浏览器/窗口,而不是运行默认浏览器(例如 Firefox)。有谁知道这样的程序是否存在?
根据我的(有限的)理解,我认为它应该替换默认浏览器并显示一个弹出窗口,其中包含已知浏览器和/或活动窗口,链接应该被委派到其中。
如果找到此答案,但它仅查找现有进程,如果找不到则启动默认进程。
在 Debian 10 中有这个命令来选择默认浏览器:
update-alternatives --config x-www-browser
Run Code Online (Sandbox Code Playgroud)
我从 .deb 文件安装了 Waterfox,但它没有显示在可用浏览器列表中。有没有办法添加它?
在 RHEL 8.3 系统上,我安装了两个 python3 版本,当我列出替代版本时,它们显示为版本:
$ alternatives --display python3
/usr/bin/python3.6 - priority 1000000
slave easy_install-3: /usr/bin/easy_install-3.6
slave pip-3: /usr/bin/pip-3.6
slave pip3: /usr/bin/pip3.6
slave pydoc-3: /usr/bin/pydoc3.6
slave pydoc3: /usr/bin/pydoc3.6
slave pyvenv-3: /usr/bin/pyvenv-3.6
slave python3-man: /usr/share/man/man1/python3.6.1.gz
/usr/bin/python3.9 - priority 3900
slave easy_install-3: /usr/bin/easy_install-3.9
slave pip-3: /usr/bin/pip-3.9
slave pip3: /usr/bin/pip3.9
slave pydoc-3: /usr/bin/pydoc3.9
slave pydoc3: /usr/bin/pydoc3.9
slave pyvenv-3: (null)
slave python3-man: /usr/share/man/man1/python3.9.1.gz
Current `best' version is /usr/bin/python3.6.
Run Code Online (Sandbox Code Playgroud)
如何使用该alternatives
命令选择已列出的python3.9
已使用版本?python3.9
(即,当我在命令行上键入时,我想在系统范围内执行python3
)。
注意:我知道我可以添加一个新版本alternatives --install …
来自为什么我的 Ubuntu 14.04 bash 上的默认 shell 是这样的?:
/bin/sh
在 Debian 衍生版本上,您可以通过以 root 身份运行dash来默认在 Dash 和 Bash 之间切换dpkg-reconfigure
。
update-alternatives
两者都dpkg-reconfigure
可以用于更改符号链接链接到的可执行文件,这是否正确/bin/
?
如果是,为此目的,update-alternatives
和 之间有什么区别dpkg-reconfigure
?
谢谢。
所以我从python开始。我正在使用全新安装 Fedora25 的笔记本电脑。
我使用 pydev 在 eclipse 中运行了所有内容,但是根据讲师的指示,我需要使用 python 3.4 或更高版本。
所以我检查我使用的是什么版本。显然它是 python 2.7.13 我认为 Fedora post 23 默认使用 python3,但这就是生活。因此,我在此处查看并询问fedora 和其他来源,了解当您安装了多个版本时如何更改默认版本。其中两个建议如何在 Fedora Linux 上在 Python 版本之间切换。在盲目地将任何人的建议放入 shell 之前,我浏览了一下,它看起来是一个不错的站点。
所以我遵循了教程,现在没有任何与 python 相关的作品。
$ alternatives --list | grep -i python
((no output))
$ sudo alternatives --install /usr/bin/python python /usr/bin/python3.4 2
$ sudo alternatives --install /usr/bin/python python /usr/bin/python2.7 1
$ alternatives --list | grep -i python
python auto /usr/bin/python3.4
$ python -v
bash: /usr/bin/python: No such file or directory
$ python …
Run Code Online (Sandbox Code Playgroud) 使用 Ubuntu 16.04
试图将 python 3.6 设置为python3
命令的默认值。我找到了似乎是答案,并没有仔细阅读就快速复制粘贴了以下几行:
$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.6 1
update-alternatives: using /usr/bin/python3.6 to provide /usr/bin/python (python) in auto mode
$ sudo update-alternatives --set python /usr/bin/python3.6
Run Code Online (Sandbox Code Playgroud)
这是结果:
$ python3
Python 3.5.2 (default, Nov 12 2018, 13:43:14)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
$ python
Python 3.6.8 (default, Dec 24 2018, 19:24:27)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.python …
Run Code Online (Sandbox Code Playgroud) 我正在按照此站点中有关构建 spring-boot docker 容器的说明进行操作。他们正在使用 CentOS。
在他们的 dockerfile 中,他们多次调用替代命令。我想了解这些陈述的目的。
注意:run 是一个 docker 命令。我对传递给运行的替代命令感兴趣
RUN alternatives --install /usr/bin/java jar /usr/java/latest/bin/java 200000
RUN alternatives --install /usr/bin/javaws javaws /usr/java/latest/bin/javaws 200000
RUN alternatives --install /usr/bin/javac javac /usr/java/latest/bin/javac 200000
Run Code Online (Sandbox Code Playgroud)
据我所知,他们正在修改符号链接。这是正确的,更重要的是,为什么?
谢谢
马特