问题解决:WSL2 中进行 apt-get-update 失败

WSL2 子系统在一些操作上还是很方便的,但因为有些配置和 Windows 共用的原因,总会出现这样那样的问题,比如今天安装 Redis 的时候需要提前进行包更新,结果却报错 Failed to fetch ...

这个问题的出现我首先是考虑国外源访问被墙,但我明明挂梯子了啊,后来换成了阿里云的镜像也还是不行

修改国内镜像源的方法:修改地址列表,可以直接执行 vi /etc/apt/sources.list,常用的几个源地址我也贴一下

# 阿里云
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

# 清华云
deb 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 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 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 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

# 中科大
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

当然这些都没起到效果,然后考虑 DNS 问题,将 /etc/resolv.conf 下的源本机为 WSL 设置的虚拟 ip 地址注释掉,如下

UserName@HostName:/$ sudo cat /etc/resolv.conf
# This file was automatically generated by WSL. To stop automatic generation of this file, add the following entry to /etc/wsl.conf:
# [network]
# generateResolvConf = false
# 注释下面这一行
# nameserver 172.20.64.1

然后补充上阿里云的地址或者谷歌的地址即可,but 直接进行修改不能成功,报错如下

UserName@HostName:/$ sudo echo nameserver 8.8.8.8 > /etc/resolv.conf
-bash: /etc/resolv.conf: Permission denied

可以使用 nano 的方式进行编辑:sudo nano /etc/resolv.conf,修改后的内容如下

UserName@HostName:/$ sudo cat /etc/resolv.conf
# This file was automatically generated by WSL. To stop automatic generation of this file, add the following entry to /etc/wsl.conf:
# [network]
# generateResolvConf = false
# nameserver 172.20.64.1
# Google DNS
nameserver 8.8.8.8

至此问题成功解决

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 在WSL2安装VSCode扩展程序"ms-vscode-remote.remote-ssh"可以让我们在WSL2环境使用SSH远程连接功能。以下是安装步骤: 1. 首先,确保已在WSL2环境安装了VSCode。可以通过在WSL2终端运行以下命令来安装VSCode: ``` sudo apt-get update sudo apt-get install code ``` 2. 打开VSCode,点击左侧的"扩展"图标(或按下Ctrl + Shift + X快捷键),在搜索框输入"ms-vscode-remote.remote-ssh"。 3. 在搜索结果,找到"Remote - SSH"扩展,并点击"安装"按钮进行安装。 4. 安装完成后,点击"重新加载"按钮来激活扩展。 5. 安装完成后,可以在VSCode底部状态栏找到一个小飞机图标。点击该图标,选择"Remote-SSH: Connect to Host...",然后选择"Configure SSH Hosts"。 6. 在打开的"~/.ssh/config"文件,添加SSH连接配置信息。例如,对于连接到远程主机的情况,可以添加以下配置: ``` Host <host_name> HostName <host_ip_address> User <username> IdentityFile <path_to_private_key> ``` 其,<host_name>是主机名称,<host_ip_address>是主机IP地址,<username>是登录用户名,<path_to_private_key>是SSH私钥文件的路径。 7. 保存并关闭配置文件后,再次点击底部状态栏的小飞机图标,选择刚添加的主机配置。 8. 若SSH连接成功,将会在VSCode打开一个新的窗口,并显示在远程主机的文件和文件夹。 通过按照以上步骤,在WSL2安装VSCode扩展程序"ms-vscode-remote.remote-ssh",我们就可以轻松地使用SSH远程连接功能了。这使得在WSL2环境开发和管理远程主机变得更加方便和高效。 ### 回答2: 在WSL2环境安装VS Code的远程SSH扩展(extension/ms-vscode-remote.remote-ssh),可以让我们在本地的Windows系统上使用VS Code远程连接到Linux服务器进行开发和调试。 首先,我们需要确保已经在WSL2安装了VS Code。可以通过在WSL2的Linux终端运行以下命令来安装VS Code: ``` $ sudo apt update $ sudo apt install code ``` 安装完成后,再按照以下步骤安装远程SSH扩展: 1. 在WSL2打开VS Code。 2. 点击左侧的扩展按钮(四个方块图标)。 3. 在搜索框输入“remote-ssh”。 4. 在搜索结果找到“Remote - SSH”扩展,点击安装。 5. 安装完成后,点击右下角的重新加载按钮。 安装完成后,我们就可以通过远程SSH连接到Linux服务器了。点击VS Code左下角的“远程窗口”图标,选择“连接到主机…”。输入服务器的SSH地址、端口号和用户名,点击连接。 进入了远程连接后,我们可以在本地的VS Code进行编辑、调试等操作。所有文件和操作都会直接在Linux服务器上进行,增加了开发和调试的便利性。 需要注意的是,在安装和使用远程SSH扩展时,确保WSL2和Linux服务器之间能够正常通信,且在服务器上已经安装和启动了SSH服务。这样,我们才能顺利地在WSL2环境使用VS Code的远程SSH扩展。 ### 回答3: 在WSL 2安装VSCode的Remote SSH插件(extension/ms-vscode-remote.remote-ssh)可以实现远程SSH连接到其他服务器,非常方便进行开发和调试工作。 首先确保已经在WSL 2上安装了VSCode。打开VSCode,点击左侧侧边栏的扩展按钮(插件图标),搜索并找到"Remote - SSH"插件,并点击"安装"按钮进行安装。 插件安装完成后,点击VSCode下方的绿色图标选择一个状态栏的地方,然后选择"Remote-SSH:Connect to Host..."。 在弹出的输入框,输入SSH连接的目标服务器地址,例如"username@192.168.0.1",然后按Enter键。 接下来,需要输入您的SSH密码或者私钥密码进行身份验证。验证成功后,VSCode将会建立与目标服务器的SSH连接,并打开连接后的终端。 在终端,您可以执行各种命令和操作,与目标服务器进行交互。 安装成功后,您可以再次点击左侧的侧边栏扩展按钮,在搜索栏输入"Remote - SSH",然后找到并点击安装"Remote - SSH: Editing Configuration Files"插件。这个插件可以在VSCode轻松编辑SSH配置文件,以便更方便地管理和连接到多个远程服务器。 总而言之,通过以上步骤,就可以在WSL 2安装并使用VSCode的Remote SSH插件了。这个插件极大地扩展了VSCode在开发和调试方面的功能,能够轻松连接到远程服务器进行开发工作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值