news 2026/1/9 13:12:42

Ubuntu 装软件不踩坑!3 种方法深度对比(VSCode 实战:APT/Snap/DEB 谁更适配?)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Ubuntu 装软件不踩坑!3 种方法深度对比(VSCode 实战:APT/Snap/DEB 谁更适配?)

Ubuntu 作为主流 Linux 发行版,安装软件的方式远不止 “双击安装包” 这么简单。不同安装方式(APT 仓库、DEB 包、Snap)适配不同场景,选对方法能避免 “更新难”“权限受限”“依赖缺失” 等问题。本文以高频使用的 VSCode 为例,拆解 3 种安装方法的完整步骤,对比优劣,帮你选到最适合的方式。

一、核心方法 1:APT 仓库安装(推荐!自动更新 + 稳定性拉满)

APT(Advanced Packaging Tool)是 Ubuntu 原生包管理器,通过官方 / 第三方仓库安装软件,能自动处理依赖、支持系统级更新,是绝大多数场景的首选。以 VSCode 为例,步骤如下:

步骤 1:安装仓库配置依赖

sudo apt update
sudo apt install -y wget gpg apt-transport-https software-properties-common

步骤 2:导入软件官方 GPG 密钥(验证包完整性)

wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/packages.microsoft.gpg

步骤 3:添加 VSCode 官方 APT 仓库

echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/trusted.gpg.d/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" | sudo tee /etc/apt/sources.list.d/vscode.list > /dev/null

步骤 4:更新源并安装 VSCode

sudo apt update
sudo apt install -y code

步骤 5:启动 VSCode

code

二、核心方法 2:手动下载 DEB 包安装(离线 / 内网专属)

DEB 是 Ubuntu 的离线安装包格式,适合网络受限(内网 / 离线)、无法访问外部仓库的场景,需手动处理依赖。

步骤 1:下载 VSCode DEB 包(AMD64 架构,主流 Ubuntu 适配)

wget https://code.visualstudio.com/sha/download?build=stable&os=linux-deb-x64 -O vscode_latest.deb

(若 wget 下载慢,可直接从VSCode 官网手动下载,传到 Ubuntu 系统)

步骤 2:安装 DEB 包

sudo dpkg -i vscode_latest.deb

步骤 3:修复依赖缺失(安装失败必做)

sudo apt install -f -y

三、核心方法 3:Snap 一键安装(新手友好,零配置)

Snap 是 Ubuntu 内置的通用包管理器,打包了所有依赖,跨版本适配,一键安装无需配置仓库,适合新手。

步骤 1:安装 VSCode Snap 包

sudo snap install code --classic

步骤 2:启动 VSCode

code

四、3 种安装方法核心对比(以 VSCode 为例)

安装方式核心优势核心劣势适配场景
APT 仓库1. 自动随系统apt update更新;2. 深度集成系统,无权限限制;3. 自动处理依赖,稳定性最高1. 需配置仓库 / 导入密钥,步骤稍多;2. 依赖外部仓库网络日常开发、网络通畅、追求长期维护(首选)
DEB 包1. 离线 / 内网可安装;2. 安装包可保存,重复使用;3. 无沙箱限制1. 需手动下载新版本更新;2. 可能出现依赖缺失,需手动修复内网 / 离线环境、需精准控制软件版本
Snap1. 一键安装,零配置;2. 打包所有依赖,跨 Ubuntu 版本适配;3. 自动更新(可手动关闭)1. 沙箱机制,可能限制文件访问;2. 启动速度略慢;3. 占用磁盘空间更大新手入门、快速尝鲜、不想配置仓库

五、高频避坑技巧(VSCode 安装专属)

坑 1:APT 安装提示 “GPG 验证失败”

  • 原因:微软 GPG 密钥未正确导入。
  • 解决方案:
    sudo rm /etc/apt/trusted.gpg.d/packages.microsoft.gpg
    wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/packages.microsoft.gpg > /dev/null

坑 2:Snap 安装的 VSCode 无法访问本地文件

  • 原因:Snap 沙箱权限限制。
  • 解决方案:
    sudo snap connect code:home :home

坑 3:DEB 包安装提示 “依赖未满足”

  • 原因:系统缺少 VSCode 依赖库。
  • 解决方案:
    sudo apt install -f -y

坑 4:终端输入code提示 “command not found”

  • 原因:安装路径未加入环境变量。
  • 解决方案:
    echo "export PATH=\$PATH:/usr/bin" >> ~/.bashrc
    source ~/.bashrc

六、总结:不同场景怎么选?

  1. 日常开发(首选):选 APT 仓库安装,兼顾自动更新和系统兼容性,避免后期维护麻烦;
  2. 内网 / 离线环境:选手动 DEB 包安装,提前下载好包和依赖,离线也能装;
  3. 新手 / 快速尝鲜:选 Snap 一键安装,零配置上手,缺点可忽略;
  4. 老机型 / 低版本 Ubuntu:优先 APT/DEB,Snap 可能因沙箱占用资源导致卡顿。

无论选哪种方法,安装 VSCode 后都可通过Ctrl+Shift+P打开命令面板,输入 “Configure Display Language” 切换中文界面,再安装对应编程语言插件,即可满足日常开发需求。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2025/12/24 19:00:42

如何设计一个数据驱动的故事

原文:towardsdatascience.com/how-to-design-a-data-driven-story-c46400afcbb9 https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/042dba457ebcfca4580cfb96647e0f5a.png 来源:作者在 ChatGPT 中生成的图片。 这篇…

作者头像 李华
网站建设 2025/12/24 18:50:48

购买服务器,选择按流量计费的含义,优缺点分析~

在阿里云、腾讯云等平台购买云服务器时, 带宽计费方式通常有两个选项: 按固定带宽 或 按使用流量计费。 很多人被“按流量计费”吸引—— “带宽可任选高达1-200Mbps,用多少付多少”,听起来很灵活。 但背后的风险,你真…

作者头像 李华
网站建设 2025/12/24 18:48:34

[Linux外设驱动详解]PWM Backlight 驱动详解

PWM Backlight 驱动详解 1. 概述 pwm_bl.c 是 Linux 内核中基于 PWM 的背光控制驱动程序。该驱动通过 PWM(脉冲宽度调制)信号来控制 LCD 屏幕的背光亮度,是嵌入式系统中常用的背光控制方案。 文件位置: linux-4.19.125/drivers/video/backlight/pwm_bl.c 主要功能: 通过…

作者头像 李华
网站建设 2025/12/24 18:46:54

GPT 系列学习总结(1-3)

GPT(Generative Pre-Trained Transformer): GPT 系列是 OpenAI 的一系列预训练模型,GPT 的目标是通过 Transformer,使用预训练技术得到通用的语言模型(目前已经公布论文的有 GPT-1、GPT-2、GPT-3) 核心架构:仅解码器(…

作者头像 李华
网站建设 2025/12/24 18:45:20

当测试遇到产品经理:用测试思维评审需求文档的核心方法论

一、需求评审的测试思维转型 传统认知中,测试是开发流程的末端环节。但现代敏捷实践要求测试人员前置介入需求评审,通过四大核心思维重构评审逻辑: 可测性思维:立即识别模糊表述(如"快速响应""用户体验…

作者头像 李华