2023年12月最新解决linux环境用户名、network(IP和DNS)错误、ipconfig无法使用和wsl、windows系统之间文件传输问题

第一个问题

wsl子系统用户名发生改变
用户名变化
该图中,原本的用户名为shao@xiaoxuan,现在为shao@DemoHost

  • 分析问题:
    (一)首先搞清楚形如 shao@xiaoxuan 这样的字符串含义:@ 符号之前和之后的部分分别表示用户名和主机名。
    shao 是用户名,表示当前登录用户的标识。
    xiaoxuan 是主机名,表示当前计算机或系统的名称。在WSL中,主机名通常是由Windows计算机名生成的。
    因此,shao@xiaoxuan 表示用户 shao 当前登录到主机名为 xiaoxuan 的系统。这种格式通常在命令行提示符或者终端中用来显示当前用户和主机名。
    (二)查阅资料,发现应该是/etc/wsl.conf系统文件出问题了,不知道怎么出的问题,我从来没动过系统文件。
  • 解决问题:
    (一) 通过sudo vim /etc/wsl.conf 命令进入文件内部:
    vim命令操作方法如下
    vim命令是Linux系统编辑系统内文件的命令,通常进入文件后,需使用 i(insert)键,开启插入模式,即可在文件内写入、删除字符;使用esc键即可推出插入模式;退出插入模式后,使用:q可退出该文件;使用:wq即可保存在文件中的编辑内容,并退出该文件。
    (二)红色方框内容含义如下:
    hostname = DemoHost: 设置 WSL 2 的主机名为 “DemoHost”。
    generateHosts = false: 禁止 WSL 自动生成 /etc/hosts 文件。一般情况下,WSL 会自动根据主机名生成 /etc/hosts 文件,但在这里被设置为禁用。
    generateResolvConf = false: 禁止 WSL 自动生成 /etc/resolv.conf 文件。同样,WSL 会自动生成 /etc/resolv.conf 文件用于 DNS 配置,但在这里被设置为禁用。

    在这里插入图片描述
    此处,我们修改hostnamexiaoxuan,退出文件后,关闭wsl窗口,在命令行窗口或者powershell窗口中输入wsl.exe --shutdown,重启wsl。重启之后,发现用户名改回来了!
    在这里插入图片描述

第二个问题

  • ifconfig无法使用,尝试安装net-tools工具包,但遇到网络错误。(这其实是网络错误,不是镜像错误,也不是按照提示说的加入--fix-missing或者更新apt等方法解决)
    在这里插入图片描述
    在这里插入图片描述
  • 分析问题:
    该问题与第一个问题捆绑出现,根源都在系统文件中。分别为/etc/hosts 文件、 /etc/resolv.conf 文件。这其实都是网络问题,IP和DNS问题,这些应该都是自动生成。我查看一下我的/etc/resolv.conf 文件,是空的,说明没有自动生成。
  • 解决问题:将第一个问题图中红色方框标记部分修改为:
generateHosts = true: 
generateResolvConf = true

修改完毕,退出文件后,关闭wsl窗口,在命令行窗口或者powershell窗口中输入wsl.exe --shutdown,重启wsl。重启之后,通过sudo apt install net-tools命令安装net-tools工具包结果如下:
在这里插入图片描述
在这里插入图片描述
安装成功之后,通过ifconfig命令可查看IP。

  • 替代解决方法:如果仅查看Ip,而不需要解决网络问题,可通过ip addr,ip address等命令查看。
    在这里插入图片描述

第三个问题

Windows与WSL子系统之间无法直接互传文件了
如图
尝试copy 命令,遇到问题:
在这里插入图片描述

  • 分析问题:
    明显的用户权限问题,
  • 暂时未解决问题:
    使用命令ls -ld /home/shao查看文件夹权限,发现:
    在这里插入图片描述
    解释:
    d: 这是一个目录。
    rwx: 所有者(即用户 shao)有读、写和执行权限。
    r-x: 组用户有读和执行权限,但没有写权限。
    ---: 其他用户没有任何权限。
    修改:
    命令:chmod g+w /home/shao允许其他用户将文件复制到这个目录,将组用户的写权限添加到该目录。
    在这里插入图片描述
    然而,没有什么结果。没有用!!
  • 暂时替代方案:
    使用cp命令和unzip命令。复制和解压Windows系统内的文件。具体地:
# cp windows目录 Linux目录,wsl系统使用/mnt可访问Windows系统,/e为E盘。
cp /mnt/e/your/path /home/shao/your/path
# unzip 命令,unzip 压缩文件 -d 解压路径
unzip /home/shao/your/path/**.zip -d home/shao/your/path

之前无法使用copy命令,猜测可能是权限问题。也有可能网络问题,我网络修复好了之后,以管理员模式,打开wsl子系统,就可以使用cp命令,希望对大家有帮助!!!

  • 45
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值