在WSL中apt-get install命令无法正常工作。

Windows 10 Ubuntu bash 安装软件包失败。每次尝试使用以下命令安装新的软件包时,都会出现相同的错误。
root@VASI-HOME-PC:/mnt/c/Users/vadap# apt-get install atom
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package atom
这不仅仅是Atom软件包的问题,我还尝试安装其他软件包,比如pip,但是收到了相同的错误信息。

1你收到的错误信息表明需要Atom,这意味着你正在尝试安装的软件包具有图形用户界面。WSl默认情况下不支持此功能。换句话说,你将无法安装任何需要Atom的软件包。 - Ramhound
@Ramhound 我尝试安装了pip和其他几个包,但是都遇到了同样的错误。这是否意味着它们都有图形用户界面(GUI)? - Devoloper250
我在WSL2 Debian 10上遇到了这个问题,尝试以root用户身份安装openssh-server。我认为OP遇到的问题是他以root用户身份调用了apt,而没有从非特权用户使用sudo。我不确定为什么,但只有当你以非root用户的sudo方式运行apt时,它才能正常工作... - Willman
7个回答


1这个回答可能不会得到良好的反馈,除非您在回答正文中提供链接中的相关信息,比如您实际上做了什么。 - Ramhound
感谢 @Ramhound。我已更新执行步骤,然后成功安装了像pip这样的软件包。 - Devoloper250
4更新后,请执行apt upgrade以进行升级。 - Timo
1我刚刚像Timo说的那样执行了sudo apt update,然后是 sudo apt upgrade,这就足够让我让它正常工作了。 - Eyal Gerber
1目前的措辞暗示您需要python3-pip,但实际上不需要 - 只需运行sudo apt update即可。 - Alexander Revo

系统:Windows 10企业版,Ubuntu Windows子系统。 我运行了这个命令:
sudo apt-get install dos2unix
我遇到了这个错误:
E: Unable to locate package dos2unix
我接着跑了:
sudo apt-get update
然后:
sudo apt-get install dos2unix
安装成功。

这对我来说完美解决了问题: https://sundarnarasiman.net/2021/05/15/wsl2-apt-update-not-working/ 以防链接失效,重新发布: 步骤 #1. 在Ubuntu发行版上,在此位置创建一个文件 /etc/wsl.conf。 文件应具有以下配置。
[network]
generateResolvConf = false
如果我们不设置这个文件,WSL将自动加载一个默认的/etc/resolv.conf文件,并带有默认的namesever配置。 关闭并重新启动发行版。 第二步 删除默认的/etc/resolv.conf文件。
sudo rm /etc/resolv.conf
创建一个新的/etc/resolv.conf文件,并添加以下条目。
nameserver 8.8.8.8

现在,重新启动WSL2并再次打开发行版。WSL2上的apt更新应该能够正常工作。


我之前的工作方式是:
wsl --set-version Ubuntu-18.04 2

或者

wsl --set-version Ubuntu-20.04 2

同样的错误,在以下步骤后解决:
sudo vi /etc/apt/sources.list # add source
sudo apt update # update source cache
我的sources.list文件:
deb http://mirrors.163.com/ubuntu/ bionic main restricted
deb http://mirrors.163.com/ubuntu/ bionic-updates main restricted
deb http://mirrors.163.com/ubuntu/ bionic universe
deb http://mirrors.163.com/ubuntu/ bionic-updates universe
deb http://mirrors.163.com/ubuntu/ bionic multiverse
deb http://mirrors.163.com/ubuntu/ bionic-updates multiverse
deb http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu/ bionic-security main restricted
deb http://security.ubuntu.com/ubuntu/ bionic-security universe
deb http://security.ubuntu.com/ubuntu/ bionic-security multiverse
根据您的位置编辑此列表,因为有些来源可能不适用于全球。

1你在“sources.list”文件中添加了什么?请不要在评论中回答;编辑你的答案,使其更清晰和完整。 - Scott - Слава Україні
1@Scott 文件内容已添加 ;D - Qinsi

在全新的WSL中安装非GUI软件包的最简单解决方案

只需在终端中运行以下命令:

sudo apt-get update

sudo apt-get install your-package-name
通常情况下,当您在Windows上配置了全新的WSL时,会出现此错误。因此,您需要更新您的apt-get软件包管理器。然而,正如上面提到的,对于涉及GUI(如Atom)的软件包,WSL默认不支持。

通常只需要在之前更新软件包。
sudo apt update

这完全就是已经说过的那个接受答案。你有额外的信息要补充吗? - NotTheDr01ds