首页 > 其他分享 >update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 60 详细解释这个命令

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

时间:2024-09-17 17:13:12浏览次数:1  
标签:bin GCC gcc usr 版本 13

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 成为系统中的默认版本。

标签:bin,GCC,gcc,usr,版本,13
From: https://www.cnblogs.com/Tifahfyf/p/18417322

相关文章

  • 在ubuntu中安装较新版本的gcc和gdb
    要在Ubuntu中安装较新版本的GCC和GDB,可以通过以下几种方法实现。Ubuntu的默认包管理器apt提供的软件包通常不是最新的,因此需要使用PPA或手动编译以获取较新版本。方法1:使用ppa:ubuntu-toolchain-r/test安装最新版本的GCC和GDBUbuntuToolchainPPA提供了更新的......
  • C语言中的GCC的优化和数组的存放方式、Cache机制、访问局部性
    “我们仍需共生命的慷慨与繁华相爱,即使岁月以刻薄和荒芜相欺”文章目录前言文章有误敬请斧正不胜感恩!第一题:***什么是gcc:***C语言中,“gcc-O2”是使用GCC编译器时的一个编译选项。第一部分:为什么程序一输出0,而程序二输出1?第二题:第二部分:为什么两个循环版本的性能......
  • JavaScript-apply、bind、call
    call、apply、bind作用是改变函数执行时的上下文,简而言之就是改变函数运行时的this指向区别 applyapply接受两个参数,第一个参数是this的指向,第二个参数是函数接受的参数,以数组的形式传改变this指向后原函数会立即执行,且此方法只是临时改变this指向一次当第一个参数......
  • GCC安全编译选项
    以CMake为例,给出安全编译选项的定义。关闭RPATH特性。set(CMAKE_SKIP_RPATHTRUE)开启栈保护。set(CMAKE_CXX_FLAGS"${CMAKE_CXX_FLAGS}-fstack-protector-strong")或者set(CMAKE_CXX_FLAGS"${CMAKE_CXX_FLAGS}-fstack-protector-all")开启GOT表保护。set(CM......
  • MySQL 误操作 误修改 binlog 还原恢复实战 超详细
    硬盘有价,数据无价,数据库执行,谨慎操作!binlog日志还原不适用于直接删表删库的误操作!目录实战恢复1、导出相关时间binlog数据2、找到对应语句以及pos区间3、导出改动区间的sql4、将binlog导出的sql转换为逆向修复sql        1、从上面binlog日志可以看出  开头......
  • C# jsonconvert and binaryformater both in serialize and deserialize
    publicDelCmdExportAllCmd{get;set;}publicDelCmdExportAllBinaryFormatterCmd{get;set;}publicDelCmdDeserializeJsonFileCmd{get;set;}publicDelCmdDeserializeBinFileCmd{get;set;}privatevoidInitCmds(){ExportAllCmd=newDelC......
  • IMA的binary_runtime_measurement文件格式
    首先贴出一个IMA度量文件的实例:binary_runtime_measurement:00000000000a00009d4c81b9dbf2b4c527177f49|.....L......'..I|00000010759de98fdc50a2f6000600006d692d61|u....P......mi-a|00000020676e00310000001a0000687......
  • WPF datagrid contextmenu menuitem commandparameter CommandParameter="{Binding R
    Install-packagenewtonsoft.json  <DataGrid.ContextMenu><ContextMenu><MenuItemHeader="ExportSelected"Command="{BindingExportSelectedCmd}"CommandParameter="{BindingRelativeSource={Relat......
  • WPF Datagrid DataGridTemplateColumn.CellTemplate local:ImageTextblock ImgUrl="{
    DataGridTemplate.CellTemplatecontainsonedatatemplaewilldisplaythecustomoizedcontrol,thekeylocatedatthecustomcontrol'sdependencypropertybindingandrelativesourceofx:typedatagridrow<local:ImageTextblockImgUrl="{Binding......
  • Combinatorics/Probability/Expectation
    前言计数加训!!!!以下问题都是数数。一些纯组合问题插板法例1求$\sum_{i=1}^kx_i=n$的解的组数,其中$x_i\in\mathbb{N^+}$且$x_i\gea_i$。考虑令$x_i'=x_i-a_i+1\ge1$,于是有$\sum_{i=1}^kx_i'=n-k+\suma_i$,于是答案为$$n-k+\suma_i-1\choosek-1$$例2从$1\do......