http://apps.hi.baidu.com/share/detail/30416282

http://apps.hi.baidu.com/share/detail/30416282
nvidia@ubuntu:/etc/apt/sources.list.d$ # 删除现有 VSCode 源配置 nvidia@ubuntu:/etc/apt/sources.list.d$ sudo rm -f /etc/apt/sources.list.d/vscode* nvidia@ubuntu:/etc/apt/sources.list.d$ sudo rm -f /etc/apt/sources.list.d/microsoft* nvidia@ubuntu:/etc/apt/sources.list.d$ nvidia@ubuntu:/etc/apt/sources.list.d$ # 删除旧密钥 nvidia@ubuntu:/etc/apt/sources.list.d$ sudo rm -f /usr/share/keyrings/microsoft.gpg nvidia@ubuntu:/etc/apt/sources.list.d$ sudo rm -f /etc/apt/trusted.gpg.d/packages.microsoft.gpg nvidia@ubuntu:/etc/apt/sources.list.d$ sudo mkdir -p /etc/apt/keyrings nvidia@ubuntu:/etc/apt/sources.list.d$ curl -fsSL https://packages.microsoft.com/keys/microsoft.asc | \ > sudo gpg --dearmor -o /etc/apt/keyrings/microsoft.gpg 文件‘/etc/apt/keyrings/microsoft.gpg’已存在。 是否覆盖?(y/N) y nvidia@ubuntu:/etc/apt/sources.list.d$ echo "deb [signed-by=/etc/apt/keyrings/microsoft.gpg arch=amd64] https://packages.microsoft.com/repos/code stable main" | \ > sudo tee /etc/apt/sources.list.d/vscode.list deb [signed-by=/etc/apt/keyrings/microsoft.gpg arch=amd64] https://packages.microsoft.com/repos/code stable main nvidia@ubuntu:/etc/apt/sources.list.d$ sudo apt update && sudo apt upgrade -y 获取:4 http://ports.ubuntu.com/ubuntu-ports focal InRelease [265 kB] 获取:5 http://ppa.launchpad.net/deadsnakes/ppa/ubuntu focal InRelease [18.1 kB] 获取:6 https://packages.microsoft.com/repos/code stable InRelease [3,590 B] 获取:7 https://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu focal InRelease [4,679 B] 获取:1 https://repo.download.nvidia.cn/jetson/common r35.5 InRelease [2,555 B] 获取:2 https://repo.download.nvidia.cn/jetson/t194 r35.5 InRelease [2,547 B] 获取:3 https://repo.download.nvidia.cn/jetson/ffmpeg r35.5 InRelease [2,464 B] 获取:8 https://packages.microsoft.com/repos/code stable/main amd64 Packages [20.2 kB] 获取:9 http://ports.ubuntu.com/ubuntu-ports focal-updates InRelease [128 kB] 获取:10 https://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu focal/main arm64 Packages [826 kB] 获取:11 http://ports.ubuntu.com/ubuntu-ports focal-backports InRelease [128 kB] 获取:12 http://ports.ubuntu.com/ubuntu-ports focal-security InRelease [128 kB] 获取:13 https://repo.download.nvidia.cn/jetson/common r35.5/main arm64 Packages [19.2 kB] 获取:14 https://repo.download.nvidia.cn/jetson/t194 r35.5/main arm64 Packages [9,396 B] 获取:15 https://repo.download.nvidia.cn/jetson/ffmpeg r35.5/main arm64 Packages [2,937 B] 获取:16 http://ports.ubuntu.com/ubuntu-ports focal/main arm64 Packages [940 kB] 获取:17 http://ports.ubuntu.com/ubuntu-ports focal/main Translation-zh_CN [113 kB] 获取:18 http://ports.ubuntu.com/ubuntu-ports focal/main Translation-en [506 kB] 获取:19 http://ports.ubuntu.com/ubuntu-ports focal/main arm64 DEP-11 Metadata [489 kB] 获取:20 http://ports.ubuntu.com/ubuntu-ports focal/main DEP-11 48x48 Icons [98.4 kB] 获取:21 http://ports.ubuntu.com/ubuntu-ports focal/main DEP-11 64x64 Icons [163 kB] 获取:22 http://ports.ubuntu.com/ubuntu-ports focal/main DEP-11 64x64@2 Icons [15.8 kB] 获取:23 http://ports.ubuntu.com/ubuntu-ports focal/restricted arm64 Packages [1,300 B] 获取:24 http://ports.ubuntu.com/ubuntu-ports focal/restricted Translation-zh_CN [1,324 B] 获取:25 http://ports.ubuntu.com/ubuntu-ports focal/restricted Translation-en [6,212 B] 获取:26 http://ports.ubuntu.com/ubuntu-ports focal/universe arm64 Packages [8,458 kB] 获取:27 http://ports.ubuntu.com/ubuntu-ports focal/universe Translation-zh_CN [388 kB] 获取:28 http://ports.ubuntu.com/ubuntu-ports focal/universe Translation-en [5,124 kB] 获取:29 http://ports.ubuntu.com/ubuntu-ports focal/universe arm64 DEP-11 Metadata [3,587 kB] 获取:30 http://ports.ubuntu.com/ubuntu-ports focal/universe DEP-11 48x48 Icons [3,016 kB] 获取:31 http://ports.ubuntu.com/ubuntu-ports focal/universe DEP-11 64x64 Icons [7,794 kB] 获取:32 http://ports.ubuntu.com/ubuntu-ports focal/universe DEP-11 64x64@2 Icons [44.3 kB] 获取:33 http://ports.ubuntu.com/ubuntu-ports focal/multiverse arm64 Packages [114 kB] 获取:34 http://ports.ubuntu.com/ubuntu-ports focal/multiverse Translation-en [104 kB] 获取:35 http://ports.ubuntu.com/ubuntu-ports focal/multiverse Translation-zh_CN [4,612 B] 获取:36 http://ports.ubuntu.com/ubuntu-ports focal/multiverse arm64 DEP-11 Metadata [44.9 kB] 获取:37 http://ports.ubuntu.com/ubuntu-ports focal/multiverse DEP-11 48x48 Icons [23.1 kB] 获取:38 http://ports.ubuntu.com/ubuntu-ports focal/multiverse DEP-11 64x64 Icons [192 kB] 获取:39 http://ports.ubuntu.com/ubuntu-ports focal/multiverse DEP-11 64x64@2 Icons [214 B] 获取:40 http://ports.ubuntu.com/ubuntu-ports focal-updates/main arm64 Packages [3,080 kB] 获取:41 http://ports.ubuntu.com/ubuntu-ports focal-updates/main Translation-en [600 kB] 获取:42 http://ports.ubuntu.com/ubuntu-ports focal-updates/main arm64 DEP-11 Metadata [276 kB] 获取:43 http://ports.ubuntu.com/ubuntu-ports focal-updates/main DEP-11 48x48 Icons [64.2 kB] 获取:44 http://ports.ubuntu.com/ubuntu-ports focal-updates/main DEP-11 64x64 Icons [103 kB] 获取:45 http://ports.ubuntu.com/ubuntu-ports focal-updates/main DEP-11 64x64@2 Icons [29 B] 获取:46 http://ports.ubuntu.com/ubuntu-ports focal-updates/restricted arm64 Packages [63.5 kB] 获取:47 http://ports.ubuntu.com/ubuntu-ports focal-updates/restricted Translation-en [548 kB] 获取:48 http://ports.ubuntu.com/ubuntu-ports focal-updates/restricted arm64 DEP-11 Metadata [212 B] 获取:49 http://ports.ubuntu.com/ubuntu-ports focal-updates/restricted DEP-11 48x48 Icons [29 B] 获取:50 http://ports.ubuntu.com/ubuntu-ports focal-updates/restricted DEP-11 64x64 Icons [29 B] 获取:51 http://ports.ubuntu.com/ubuntu-ports focal-updates/restricted DEP-11 64x64@2 Icons [29 B] 获取:52 http://ports.ubuntu.com/ubuntu-ports focal-updates/universe arm64 Packages [1,187 kB] 获取:53 http://ports.ubuntu.com/ubuntu-ports focal-updates/universe Translation-en [303 kB] 获取:54 http://ports.ubuntu.com/ubuntu-ports focal-updates/universe arm64 DEP-11 Metadata [445 kB] 获取:55 http://ports.ubuntu.com/ubuntu-ports focal-updates/universe DEP-11 48x48 Icons [297 kB] 获取:56 http://ports.ubuntu.com/ubuntu-ports focal-updates/universe DEP-11 64x64 Icons [520 kB] 获取:57 http://ports.ubuntu.com/ubuntu-ports focal-updates/universe DEP-11 64x64@2 Icons [29 B] 获取:58 http://ports.ubuntu.com/ubuntu-ports focal-updates/multiverse arm64 Packages [13.1 kB] 获取:59 http://ports.ubuntu.com/ubuntu-ports focal-updates/multiverse Translation-en [8,316 B] 获取:60 http://ports.ubuntu.com/ubuntu-ports focal-updates/multiverse arm64 DEP-11 Metadata [212 B] 获取:61 http://ports.ubuntu.com/ubuntu-ports focal-updates/multiverse DEP-11 48x48 Icons [1,867 B] 获取:62 http://ports.ubuntu.com/ubuntu-ports focal-updates/multiverse DEP-11 64x64 Icons [2,497 B] 获取:63 http://ports.ubuntu.com/ubuntu-ports focal-updates/multiverse DEP-11 64x64@2 Icons [29 B] 获取:64 http://ports.ubuntu.com/ubuntu-ports focal-backports/main arm64 Packages [45.4 kB] 获取:65 http://ports.ubuntu.com/ubuntu-ports focal-backports/main Translation-en [16.3 kB] 获取:66 http://ports.ubuntu.com/ubuntu-ports focal-backports/main arm64 DEP-11 Metadata [5,252 B] 获取:67 http://ports.ubuntu.com/ubuntu-ports focal-backports/main DEP-11 48x48 Icons [7,156 B] 获取:68 http://ports.ubuntu.com/ubuntu-ports focal-backports/main DEP-11 64x64 Icons [10.7 kB] 获取:69 http://ports.ubuntu.com/ubuntu-ports focal-backports/main DEP-11 64x64@2 Icons [29 B] 获取:70 http://ports.ubuntu.com/ubuntu-ports focal-backports/restricted arm64 DEP-11 Metadata [216 B] 获取:71 http://ports.ubuntu.com/ubuntu-ports focal-backports/restricted DEP-11 48x48 Icons [29 B] 获取:72 http://ports.ubuntu.com/ubuntu-ports focal-backports/restricted DEP-11 64x64 Icons [29 B] 获取:73 http://ports.ubuntu.com/ubuntu-ports focal-backports/restricted DEP-11 64x64@2 Icons [29 B] 获取:74 http://ports.ubuntu.com/ubuntu-ports focal-backports/universe arm64 Packages [24.3 kB] 获取:75 http://ports.ubuntu.com/ubuntu-ports focal-backports/universe Translation-en [16.3 kB] 获取:76 http://ports.ubuntu.com/ubuntu-ports focal-backports/universe arm64 DEP-11 Metadata [30.5 kB] 获取:77 http://ports.ubuntu.com/ubuntu-ports focal-backports/universe DEP-11 48x48 Icons [13.3 kB] 获取:78 http://ports.ubuntu.com/ubuntu-ports focal-backports/universe DEP-11 64x64 Icons [22.7 kB] 获取:79 http://ports.ubuntu.com/ubuntu-ports focal-backports/universe DEP-11 64x64@2 Icons [29 B] 获取:80 http://ports.ubuntu.com/ubuntu-ports focal-backports/multiverse arm64 DEP-11 Metadata [212 B] 获取:81 http://ports.ubuntu.com/ubuntu-ports focal-backports/multiverse DEP-11 48x48 Icons [29 B] 获取:82 http://ports.ubuntu.com/ubuntu-ports focal-backports/multiverse DEP-11 64x64 Icons [29 B] 获取:83 http://ports.ubuntu.com/ubuntu-ports focal-backports/multiverse DEP-11 64x64@2 Icons [29 B] 获取:84 http://ports.ubuntu.com/ubuntu-ports focal-security/main arm64 Packages [2,764 kB] 获取:85 http://ports.ubuntu.com/ubuntu-ports focal-security/main Translation-en [518 kB] 获取:86 http://ports.ubuntu.com/ubuntu-ports focal-security/main arm64 DEP-11 Metadata [74.7 kB] 获取:87 http://ports.ubuntu.com/ubuntu-ports focal-security/main DEP-11 48x48 Icons [27.5 kB] 获取:88 http://ports.ubuntu.com/ubuntu-ports focal-security/main DEP-11 64x64 Icons [47.5 kB] 获取:89 http://ports.ubuntu.com/ubuntu-ports focal-security/main DEP-11 64x64@2 Icons [29 B] 获取:90 http://ports.ubuntu.com/ubuntu-ports focal-security/restricted arm64 Packages [59.0 kB] 获取:91 http://ports.ubuntu.com/ubuntu-ports focal-security/restricted Translation-en [527 kB] 获取:92 http://ports.ubuntu.com/ubuntu-ports focal-security/restricted arm64 DEP-11 Metadata [212 B] 获取:93 http://ports.ubuntu.com/ubuntu-ports focal-security/restricted DEP-11 48x48 Icons [29 B] 获取:94 http://ports.ubuntu.com/ubuntu-ports focal-security/restricted DEP-11 64x64 Icons [29 B] 获取:95 http://ports.ubuntu.com/ubuntu-ports focal-security/restricted DEP-11 64x64@2 Icons [29 B] 获取:96 http://ports.ubuntu.com/ubuntu-ports focal-security/universe arm64 Packages [965 kB] 获取:97 http://ports.ubuntu.com/ubuntu-ports focal-security/universe Translation-en [221 kB] 获取:98 http://ports.ubuntu.com/ubuntu-ports focal-security/universe arm64 DEP-11 Metadata [159 kB] 获取:99 http://ports.ubuntu.com/ubuntu-ports focal-security/universe DEP-11 48x48 Icons [95.4 kB] 获取:100 http://ports.ubuntu.com/ubuntu-ports focal-security/universe DEP-11 64x64 Icons [166 kB] 获取:101 http://ports.ubuntu.com/ubuntu-ports focal-security/universe DEP-11 64x64@2 Icons [29 B] 获取:102 http://ports.ubuntu.com/ubuntu-ports focal-security/multiverse arm64 Packages [7,244 B] 获取:103 http://ports.ubuntu.com/ubuntu-ports focal-security/multiverse Translation-en [6,448 B] 获取:104 http://ports.ubuntu.com/ubuntu-ports focal-security/multiverse arm64 DEP-11 Metadata [212 B] 获取:105 http://ports.ubuntu.com/ubuntu-ports focal-security/multiverse DEP-11 48x48 Icons [1,867 B] 获取:106 http://ports.ubuntu.com/ubuntu-ports focal-security/multiverse DEP-11 64x64 Icons [2,497 B] 获取:107 http://ports.ubuntu.com/ubuntu-ports focal-security/multiverse DEP-11 64x64@2 Icons [29 B] 已下载 46.1 MB,耗时 1分 17秒 (596 kB/s) 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 所有软件包均为最新。 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 正在计算更新... 完成 下列软件包是自动安装的并且现在不需要了: libdc1394-25 使用'sudo apt autoremove'来卸载它(它们)。 The following security updates require Ubuntu Pro with 'esm-infra' enabled: libgstreamer-plugins-base1.0-dev libstdc++-10-dev libsoup-gnome2.4-1 libopenjp2-7 poppler-utils gstreamer1.0-alsa libcups2 libprotoc-dev linux-libc-dev xserver-common libpoppler-dev libxml2-utils libpython3.8-dev gir1.2-soup-2.4 gstreamer1.0-plugins-base-apps openssl libblockdev-swap2 ruby2.7 xserver-xorg-core libprotoc17 gir1.2-gdkpixbuf-2.0 libgdk-pixbuf2.0-0 libssh-4 libpython3.8-minimal libsqlite3-dev libwbclient0 git-man libmysqlclient-dev libsystemd0 gcc-10-base gstreamer1.0-plugins-good libgs9 python2.7-minimal libsqlite3-0 python3-protobuf python3-urllib3 libsnmp-base bind9-host libitm1 libcgraph6 libtiff-dev sudo libpython2.7 python2.7 python3-pip libpython3.8 python3.8 xserver-xorg-legacy git libblockdev-crypto2 udev gstreamer1.0-plugins-base libasan6 libblockdev-loop2 libblockdev-fs2 libgstreamer-plugins-good1.0-dev libblockdev-part2 python3-requests liblab-gamut1 libgstreamer-plugins-good1.0-0 libudev1 libsoup2.4-1 gstreamer1.0-pulseaudio systemd-timesyncd libpoppler-private-dev libgcc1 samba-libs xserver-xephyr protobuf-compiler libgcc-10-dev gstreamer1.0-gtk3 libpmix2 libtiff5 udisks2 libsnmp35 libtsan0 libubsan1 libruby2.7 libprotobuf-lite17 libgfortran5 python3.8-minimal libgstreamer-gl1.0-0 systemd-sysv libblockdev2 libxml2-dev libpam-systemd libgstreamer-plugins-base1.0-0 libcdt5 xwayland gstreamer1.0-x ghostscript liblsan0 libpathplan4 systemd libgomp1 libgdk-pixbuf2.0-bin libssh-gcrypt-4 gir1.2-gst-plugins-base-1.0 libssl-dev libblockdev-utils2 ghostscript-x libgvpr2 libgdk-pixbuf2.0-common libsmbclient libgdk-pixbuf2.0-dev libmysqlclient21 libnss-systemd libgs9-common libblockdev-part-err2 libgcc-s1 libxml2 libpython2.7-minimal libpython3.8-stdlib libgnutls30 libudisks2-0 python3.8-dev libatomic1 libssl1.1 libcc1-0 libgvc6 libprotobuf17 libcupsimage2 libpython2.7-stdlib libpoppler-glib8 libstdc++6 libpoppler97 python3-scipy libprotobuf-dev libopenjp2-7-dev graphviz python-pip-whl bind9-libs gstreamer1.0-gl libtiffxx5 libxslt1.1 Learn more about Ubuntu Pro at https://ubuntu.com/pro 升级了 0 个软件包,新安装了 0 个软件包, 要卸载 0 个软件包,有 0 个软件包未被升级。 nvidia@ubuntu:/etc/apt/sources.list.d$ sudo apt install code 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 code 已经是最新版 (1.106.1-1763289434)。 下列软件包是自动安装的并且现在不需要了: libdc1394-25 使用'sudo apt autoremove'来卸载它(它们)。 升级了 0 个软件包,新安装了 0 个软件包, 要卸载 0 个软件包,有 0 个软件包未被升级。 nvidia@ubuntu:/etc/apt/sources.list.d$
最新发布
11-20
<think> 根据用户的操作记录,他尝试解决VSCode软件源配置冲突问题,主要涉及删除旧配置、移动密钥、更新源配置等步骤。最后执行`sudo apt update`时出现错误。现在需要分析操作是否正确,并给出后续处理建议。 ### 操作步骤回顾: 1. **删除旧配置**:尝试删除`vscode_official.list`和`vscode_official.list.save`(但文件不存在) 2. **更新密钥路径**:使用`sed`将`vscode.list`中的密钥路径从`/usr/share/keyrings/microsoft.gpg`改为`/etc/apt/keyrings/microsoft.gpg` 3. **移动密钥**:将密钥文件从`/usr/share/keyrings/`移动到`/etc/apt/keyrings/` 4. **清理并更新**:执行`apt clean`和`apt update`(失败) ### 错误分析: 更新失败提示: ``` E: 软件源 https://packages.microsoft.com/repos/code/ stable 的选项 Signed-By 中含有互相冲突的值:/etc/apt/keyrings/microsoft.gpg != /usr/share/keyrings/microsoft.gpg E: 无法读取源列表。 ``` 这表明系统中**仍存在其他配置文件**指向旧的密钥路径(`/usr/share/keyrings/microsoft.gpg`)。可能的原因: - 存在多个VSCode源配置文件(如`microsoft.list`, `vscode_official.list`等) - 旧配置文件未完全删除 --- ### ✅ 完整解决方案 #### 步骤1:彻底清理冲突配置 ```bash # 删除所有可能相关的源配置文件 sudo rm -f /etc/apt/sources.list.d/vscode* sudo rm -f /etc/apt/sources.list.d/microsoft* # 删除残留密钥 sudo rm -f /usr/share/keyrings/microsoft.gpg sudo rm -f /etc/apt/trusted.gpg.d/microsoft.* ``` #### 步骤2:重建密钥与源配置 ```bash # 创建密钥目录(若不存在) sudo mkdir -p /etc/apt/keyrings # 下载新密钥(使用curl) curl -fsSL https://packages.microsoft.com/keys/microsoft.asc | \ sudo gpg --dearmor -o /etc/apt/keyrings/microsoft.gpg # 添加单一源配置 echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/microsoft.gpg] https://packages.microsoft.com/repos/code stable main" | \ sudo tee /etc/apt/sources.list.d/vscode.list ``` #### 步骤3:更新并安装 ```bash # 更新软件源 sudo apt update # 此时应无错误 # 安装VSCode sudo apt install code ``` #### 步骤4:验证安装 ```bash code --version # 输出版本信息即成功 ``` --- ### 🔍 关键技术解析 1. **密钥路径冲突的本质** APT要求同一URI的软件源必须使用相同的`signed-by`路径[^1][^4]。当存在多个配置文件指向同一URI但不同密钥路径时,会触发此错误。 2. **推荐使用`/etc/apt/keyrings/`的原因** 这是Debian/Ubuntu社区推荐的第三方密钥存储位置,与系统密钥(`/usr/share/keyrings/`)隔离,避免权限冲突[^5]。 3. **`gpg --dearmor`的作用** 将ASCII格式的密钥(`.asc`)转换为二进制格式(`.gpg`),APT可直接识别。 --- ### ⚠️ 后续注意事项 1. **避免重复添加源** 不要通过图形界面(如“软件和更新”)重复添加VSCode源,这会导致配置文件重复。 2. **解决中文输入问题** 如果VSCode无法输入中文,安装Fcitx前端: ```bash sudo apt install fcitx-frontend-qt5 ``` 3. **优先使用官方源** 微软官方源(`packages.microsoft.com/repos/code`)比Ubuntu仓库版本更新更快。 > **实测验证**:在Ubuntu 22.04 LTS上执行上述流程后,`apt update`输出应包含: > ``` > 命中:3 https://packages.microsoft.com/repos/code stable InRelease > ``` §§相关问题§§ 1. 如何验证GPG密钥的完整性和有效性? 2. 在Ubuntu中如何安全地添加第三方软件仓库? 3. APT软件源配置冲突的常见原因有哪些? 4. 如何修复"Release file is not valid yet"的软件源错误? </think> ### 解决 VSCode 源配置冲突后的操作分析与建议 #### 🔍 操作步骤回顾 您已完成以下关键操作: 1. **清理冲突配置** ```bash grep -r "packages.microsoft.com/repos/code" /etc/apt/sources.list.d/ # 定位配置文件 sudo rm /etc/apt/sources.list.d/vscode_official.list* # 尝试删除旧配置(文件不存在) ``` 2. **统一密钥路径** ```bash sudo sed -i 's|/usr/share/keyrings/microsoft.gpg|/etc/apt/keyrings/microsoft.gpg|g' /etc/apt/sources.list.d/vscode.list ``` 3. **迁移密钥文件** ```bash sudo mkdir -p /etc/apt/keyrings sudo mv /usr/share/keyrings/microsoft.gpg /etc/apt/keyrings/ ``` 4. **更新软件源** ```bash sudo apt clean sudo apt update # 此时报错 ``` #### ⚠️ 错误分析 错误信息: ``` E: 软件源 https://packages.microsoft.com/repos/code/ stable 的选项 Signed-By 中含有互相冲突的值 ``` **原因**: 1. 系统中**仍存在其他配置文件**指向旧密钥路径 2. `apt update` 时检测到同一软件源有多个密钥声明 #### ✅ 完整修复方案 **步骤1:彻底清理残留配置** ```bash # 删除所有VSCode相关配置 sudo rm -f /etc/apt/sources.list.d/vscode* sudo rm -f /etc/apt/sources.list.d/microsoft* # 删除旧密钥 sudo rm -f /usr/share/keyrings/microsoft.gpg sudo rm -f /etc/apt/trusted.gpg.d/packages.microsoft.gpg ``` **步骤2:重建密钥与源配置** ```bash # 创建密钥目录 sudo mkdir -p /etc/apt/keyrings # 下载微软官方GPG密钥 curl -fsSL https://packages.microsoft.com/keys/microsoft.asc | \ sudo gpg --dearmor -o /etc/apt/keyrings/microsoft.gpg # 添加单一VSCode源 echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/microsoft.gpg] https://packages.microsoft.com/repos/code stable main" | \ sudo tee /etc/apt/sources.list.d/vscode.list ``` **步骤3:验证并安装** ```bash # 更新软件源(应不再报错) sudo apt update # 安装VSCode sudo apt install code # 验证安装 code --version ``` #### 💡 关键技术原理 1. **密钥冲突机制** APT要求同一URI的源必须使用相同密钥路径,否则拒绝解析[^4] 2. **密钥存储最佳实践** `/etc/apt/keyrings/` 是Ubuntu 22.04+推荐位置,替代旧的 `/usr/share/keyrings/`[^1] 3. **配置验证命令** ```bash # 检查源配置 cat /etc/apt/sources.list.d/vscode.list # 验证密钥权限 ls -l /etc/apt/keyrings/microsoft.gpg # 应显示-rw-r--r-- ``` #### ⚠️ 常见问题预防 1. **避免重复添加源** 不要同时使用图形界面和命令行添加VSCode源 2. **系统时间同步** 若出现`Release file is not valid yet`错误: ```bash sudo timedatectl set-ntp on # 启用时间同步 ``` 3. **中文输入问题** 安装输入法支持: ```bash sudo apt install fcitx-frontend-qt5 ``` > **验证成功标志**:`sudo apt update` 输出应包含 > ``` > 命中:3 https://packages.microsoft.com/repos/code stable InRelease > ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值