update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 60 详细解释这个命令

update-alternatives 是一个在 Linux 系统(尤其是 Debian 系列,包括 Ubuntu)上用于管理多个相同功能的软件版本的命令。它让你可以在系统中安装多个版本的同一个程序(例如多个版本的 GCC),并通过 优先级符号链接 来控制默认使用哪个版本。

让我们详细解释一下以下命令的作用:

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 60

1. update-alternatives

这是主命令,用于管理多个可替代版本的工具。它管理的是系统中的符号链接,帮助用户在多个版本之间轻松切换。

2. --install

这是 update-alternatives 的一个选项,用来注册一个新版本的可选项。此命令告诉系统将指定的程序(如 /usr/bin/gcc-13)添加到 alternatives 系统中,并为其设置一个别名(如 gcc)。

3. /usr/bin/gcc

这是符号链接的目标路径。这个路径通常是用户在终端中输入 gcc 时实际执行的文件。通过 update-alternatives 管理的符号链接会指向不同版本的可执行文件。

在这里,/usr/bin/gcc 是你在终端输入 gcc 时执行的默认程序位置。这个路径将会被 update-alternatives 重新指向 /usr/bin/gcc-13(在本例中),根据优先级来决定使用哪个版本的 GCC。

4. gcc

这个参数是组名,表示这是一个与 gcc 相关的 "替代项组"。update-alternatives 使用组名来管理多个与同一个工具(这里是 GCC 编译器)相关的版本。

5. /usr/bin/gcc-13

这是实际的可执行文件的路径,即你希望系统选择的某个版本的 GCC。在这个命令中,/usr/bin/gcc-13 是具体的 GCC 13 版本的可执行文件路径。

6. 60

这个数字表示优先级。当系统有多个版本的同一个程序时,update-alternatives 会根据优先级来决定使用哪个版本。数字越大,优先级越高。

例如:

  • 如果你有 gcc-10gcc-13 两个版本,分别设置了优先级为 40 和 60,系统将使用优先级为 60 的 gcc-13 作为默认版本。

命令的整体作用:

  1. 注册 /usr/bin/gcc-13 作为 GCC 的一个版本。
  2. 创建或更新符号链接 /usr/bin/gcc,并将它指向 /usr/bin/gcc-13,如果当前其他版本的 GCC 优先级更低(例如 gcc-10 的优先级为 40,而 gcc-13 是 60),那么 /usr/bin/gcc 将指向 gcc-13
  3. 优先级设定60 代表优先级为 60,意味着如果没有其他版本的 GCC 具有更高的优先级,系统将使用 gcc-13 作为默认 GCC 版本。

切换版本的使用方法:

在注册多个版本的 GCC 后,你可以使用 update-alternatives 手动切换默认的 GCC 版本:

sudo update-alternatives --config gcc

执行此命令后,系统将显示所有已注册的 GCC 版本,供你选择。你可以选择所需的版本,并将其设为默认。

总结:

该命令的作用是将 /usr/bin/gcc-13 作为 GCC 编译器的一个版本注册到 update-alternatives 系统中,并设置优先级为 60。如果没有更高优先级的其他 GCC 版本,/usr/bin/gcc 将指向 gcc-13,从而使得 GCC 13 成为系统中的默认版本。

posted on 2024-09-17 17:13  五月の花  阅读(20)  评论(0编辑  收藏  举报

导航