APT是Debian系Linux发行版(如Ubuntu、Raspberry Pi OS)的官方命令行包管理器,基于dpkg,可自动处理依赖、更新索引、安装卸载软件,并需通过/etc/apt/sources.list配置源;添加第三方源时须正确导入GPG密钥至/usr/share/keyrings/并指定signed-by路径。

能用 APT 安装,就别手动下 .deb 包 —— 除非你明确需要旧版本、离线部署,或系统不支持 HTTPS 源。 APT 安装能自动处理依赖、集成系统更新、避免权限混乱,是绝大多数 Linux 发行版(Ubuntu、Debian、Raspberry Pi OS、UOS)的首选方式。
为什么 sudo apt install code 会报 “Unable to locate package”
这不是网络问题,而是源没配对。APT 查包靠的是本地缓存的 Packages.gz 索引文件,而这个文件只存在于你已启用的软件源中。微软官方 code 包不在 Ubuntu/Debian 默认源里,必须手动添加其仓库。
- 常见错误现象:
E: Unable to locate package code或W: Target Packages (main/binary-amd64/Packages) is configured multiple times - 根本原因:没加微软 GPG 密钥,或源地址写错架构(比如在树莓派上用了
arch=amd64) - 检查当前架构:运行
dpkg --print-architecture,输出arm64就别硬写amd64 - 树莓派用户注意:Raspberry Pi OS Bookworm(12)起已内置
code包,直接sudo apt update && sudo apt install code即可;Buster(10)等老系统必须换源,否则找不到
apt-key add 已弃用,该用什么替代
执行 wget ... | sudo apt-key add - 会触发警告:Warning: apt-key is deprecated。这不是提示“还能用”,而是明确告诉你:密钥管理逻辑已迁移到 /usr/share/keyrings/ 目录,继续用 apt-key 可能在未来版本彻底失效。
- 正确做法:用
gpg --dearmor把公钥转成二进制格式,存到/usr/share/keyrings/下 - 命令示例(通用):
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo gpg --dearmor -o /usr/share/keyrings/microsoft-archive-keyring.gpg - 后续添加源时,
signed-by=必须指向这个路径,例如:deb [arch=amd64 signed-by=/usr/share/keyrings/microsoft-archive-keyring.gpg] https://packages.microsoft.com/repos/code stable main - 别手欠删
/etc/apt/trusted.gpg—— 那是系统级信任库,动它可能影响其他软件源
安装后启动失败或中文输入框偏移怎么办
这通常不是安装环节的问题,而是桌面环境集成或 Qt 库冲突导致的,但根源常埋在安装时的依赖链里。
- 启动报错
libXss.so.1: cannot open shared object file:说明缺少基础图形依赖,补装即可:sudo apt install libxss1 libasound2 - 中文输入法候选框位置异常(尤其在 GNOME 或 KDE 上):VSCode 默认用 Electron 内嵌的输入法框架,易与系统 IBus/Fcitx 冲突;临时解法是加启动参数:
code --disable-gpu-sandbox,长期建议在设置里启用"editor.suggest.preview": false减少渲染压力 - 首次启动卡在黑屏或白屏:大概率是沙盒策略拦截,尤其是 Snap 安装版;APT 版应改用
code --no-sandbox启动一次,再从 GUI 菜单固定启动项 - 权限错误提示
Unable to write to Workspace settings:执行sudo chown -R $USER:$USER ~/.vscode,别用sudo code启动 —— 这会让配置文件属主变成 root,后续普通用户无法修改
最易被忽略的一点:APT 安装的 code 包默认不带自动更新桌面图标或 MIME 关联,首次启动后要手动右键「锁定到任务栏」,否则下次得从终端输 code 才能唤起。另外,扩展市场里的调试器(如 ms-python.python)和主题(如 ms-ceintl.vscode-language-pack-zh-hans)必须重启 VSCode 才生效,光重载窗口不够。











