Linux 多架构支持介绍和实践

news2024/12/16 21:32:02

Linux 多架构支持介绍和实践

1. Linux 上多架构支持指的是什么意思?

在Linux 上开启多架构支持(multi-arch support),指的是可以让您在同一系统上安装多个不同架构的软件包,这在交叉编译的场景显得格外重要。

以下实际操作均在Ubuntu 18.04 + x86_64 环境下演示。

2. 如何查看和开启多架构支持?

2.1 查看

[netease@netease-Precision-3630-Tower ~]$ dpkg --print-foreign-architectures
i386

以上说明该系统支持的架构包括自身(x86_64)+ i386(x86)

2.2 开启arm64架构支持

[netease@netease-Precision-3630-Tower ~]$ sudo dpkg --add-architecture arm64
[netease@netease-Precision-3630-Tower ~]$ dpkg --print-foreign-architectures
i386
arm64

3. 如何安装多架构软件

以安装x86_64和arm64架构的OpenGL为例。

3.1 修改apt源

使用清华大学镜像源。

3.1.1 32/64位x86架构包

ubuntu | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

3.1.2 其他架构包 (arm64等)

ubuntu-ports | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

最终修改/etc/apt/sources.list, 如下, 支持下载amd64(x86_64)和arm64两种架构的包。

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb [arch=amd64] https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb [arch=amd64] https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb [arch=amd64] https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse

# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
# # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse

deb [arch=amd64] http://security.ubuntu.com/ubuntu/ bionic-security main restricted universe multiverse
# deb-src http://security.ubuntu.com/ubuntu/ bionic-security main restricted universe multiverse

# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
# # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse



# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb [arch=arm64] https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main restricted universe multiverse
deb [arch=arm64] https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
deb [arch=arm64] https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse

deb [arch=arm64] https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse

# deb http://ports.ubuntu.com/ubuntu-ports/ bionic-security main restricted universe multiverse
# # deb-src http://ports.ubuntu.com/ubuntu-ports/ bionic-security main restricted universe multiverse

# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-proposed main restricted universe multiverse
# # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-proposed main restricted universe multiverse

3.2 安装包

3.2.1 x86_64
sudo apt-get update
sudo apt-get install libgl1-mesa-dev 或者sudo apt-get install libgl1-mesa-dev:amd64
3.2.2 arm64
sudo apt-get update
sudo apt-get install libgl1-mesa-dev:arm64

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1140520.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

分享一下怎么做一个微信抽奖活动

抽奖活动是当今社会中非常流行的一种营销方式,它能够有效地吸引消费者的注意力,提高品牌知名度和销售额。在举办抽奖活动时,需要制定相应的规则和奖励设置,以确保活动的公平性和吸引力。本文将详细介绍如何制作一个有效的抽奖活动…

外汇天眼:如何有效地交易外汇?15个基本提示!

外汇是买卖货币的行为。日均交易量超过6万亿美元,是世界上最大的金融市场。鉴于其规模和可及性,许多人被高回报的承诺所吸引。但是,如果没有适当的知识和纪律,交易可能会有风险。在本文中,很好地分解了有效交易外汇的基…

2023高频前端面试题-浏览器

1. 浏览器是如何解析 CSS 选择器的? 在生成渲染树的过程中,渲染引擎会根据选择器提供的信息来遍历 DOM 树,找到对应的 DOM 节点后将样式规则附加到上面。 来看一段样式选择器代码、以及一段要应用样式的 HTML: .mod-nav h3 spa…

AI口语APP第三方接口

AI口语练习应用程序通常可以通过第三方接口来集成语音识别、自然语言处理和其他相关功能。以下是一些常见的第三方接口及其特点,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 1.Google Cloud Speech…

如何设计元宇宙展厅,元宇宙展厅的展示和交互形式有哪些?

引言: 元宇宙是当下科技界最为炙手可热的话题之一,被誉为数字世界的未来。将元宇宙与展厅结合,展示产品信息成了很多人关注的热点,那么元宇宙展厅应该如何设计呢? 一.元宇宙展厅设计理念 1.创造虚拟与现实…

为什么选择Codigger静态分析?

开发每个阶段的安全代码 Codigger是一种很流行的静态分析工具,用于持续检查代码库的代码质量和安全性,并在代码评审期间指导开发团队。代码审查是一种系统的软件质量保证技术,通过审查开发人员的代码来发现和修复问题、提高代码质量并执行编码…

九月手游出海三黑马,营销上如何做到成功?

从2022年开始,手游出海红利几乎完全消失,在经历高速发展的黄金阶段过渡到竞争激烈的精品化阶段,再到目前“不上不下”的存量竞争时代。 现在手游出海到底面临怎么样的困境?是全球经济下行、隐私政策更新频繁、国际形势变化莫测、…

【工具使用】使用Audition增加增益的方法

一,简介 本文主要介绍如何在Adobe Audition 2020中改变波形的幅值。供参考。 二,操作方法 这里使用1KHz,-120dB信号为例。 2.1 方法一:直接使用悬浮窗口 窗口中输入6,波形的幅值就变成了-114dB。 注意&#xff1a…

ChatGLM系列五:Lora微调

目前主流对大模型进行微调方法有三种:Freeze方法、P-Tuning方法和Lora方法 LoRA: 在大型语言模型上对指定参数(权重矩阵)并行增加额外的低秩矩阵,并在模型训练过程中,仅训练额外增加的并行低秩矩阵的参数,冻结其他参数…

Java中级面试题记录(四)

一面面试题 1.Innodb的行数据存储模式 https://baijiahao.baidu.com/s?id1775090633458928876&wfrspider&forpc 2.行数据包含哪些信息? https://baijiahao.baidu.com/s?id1775090633458928876&wfrspider&forpc 3.MySQL在进行存储VARCHAR的时…

qq怎么发长视频?超级好用!

在平时的工作和生活中,我们会想分享一些比较长的内容。但是我们会发现视频文件过大,可能会超过腾讯规定的单次发送文件的大小限制,导致无法发送成功。这时候就需要借助一些视频压缩工具,下面介绍了四种方法,一起来看看…

浅谈信息化与数字化

一、信息化/数字化的概念 信息化、数字化按字面意思理解,这两个词的确代表了不同的含义。但是也不可否认,在目前我们可以接触到的信息平台来看。信息化、数字化很多时候都被混在一起了。 那么,既然今天要聊这个话题。我们得先把这两个词分清…

【C++】:拷贝构造函数与赋值运算符重载的实例应用之日期类的实现

C实现日期类 ├─属性: │ ├─年份 │ ├─月份 │ └─日期 ├─方法: │ ├─构造函数 │ ├─拷贝构造函数 │ ├─析构函数 │ ├─设置年份 │ ├─设置月份 │ ├─设置日期 │ ├─获取年份 │ ├─获取月份 │ ├─获取日期 │ ├…

mysql-linux归档版安装

什么是归档版安装?简单来说就是编译好的软件压缩打包版。 说明:我这里服务器之前已经装过一个不同版本的mysql,已经占用了3306端口,所以这里我用3307端口来演示,命令和官方的稍有不同,不过步骤都是差不多的…

next项目部署到云服务器上(手动)

准备环境: 云服务器 ECS,服务器安装好了docker 自己的next项目 开始: 1.在next项目根目录下创建Dockerfile文件 FROM node:18-alpine AS base# Install dependencies only when needed FROM base AS deps # Check https://github.com/nodejs/docker-node/tree/b4117f9333d…

SpringMVC Day 05 : Spring 中的 Model

前言 欢迎来到 SpringMVC 系列教程的第五天!在之前的教程中,我们已经学习了如何使用控制器处理请求和返回视图。今天,我们将深入探讨 Spring 中的 Model。 在 Web 应用程序开发中,数据的传递和展示是非常重要的。SpringMVC 提供…

flutter版本选择

使用命令dart --version查看dart版本 使用命令flutter doctor查看flutter版本 Flutter 有 3 个发布渠道,分别是 stable、beta 和 master。我们推荐使用 stable 渠道除非你需要体验最新更新的 Flutter 特性。 要查看你当前使用的哪个渠道,使用下面的命令&…

山西电力市场日前价格预测【2023-10-28】

日前价格预测 预测说明: 如上图所示,预测明日(2023-10-28)山西电力市场全天平均日前电价为324.42元/MWh。其中,最高日前电价为601.09元/MWh,预计出现在18:15。最低日前电价为0.00元/MWh,预计出…

微信native支付对接

简介 Native支付是指商户系统按微信支付协议生成支付二维码,用户再用微信“扫一扫”完成支付的模式。 应用场景 Native支付适用于PC网站、实体店单品或订单、媒体广告支付等场景,用户扫描商户展示在各种场景的二维码进行支付。聚体步骤如下: 1.商户根据微信支付的规则,…