NAS星球 篇五:WiNAS之忘记WSL2动态IP烦恼 CentOS设置及固定IP
上一篇文说明了怎么样在windows10中安装Linux内核和centos。
但是安装好之后的centOS是运行在WSL1模式下,而对Docker而言WSL2会更好一些,两者的比较可以去微软WSL官网查看。
升级到WSL2
在开始菜单按钮上右键选择“Windows PowerShell (管理员)”。
在出现的命令行Shell窗口中可以输入以下命令
查看Linux的版本和状态
wsl -l -v
将WSL1的Linux切换到WSL2模式,其中“CentOS”为你需要使用的Linux名称。
wsl --set-version CentOS 2
关闭WSL
wsl --shutdown
切换到WSL2模式后最好重启一下。重启后就可以直接运行Cent OS了,因为在国内使用,我们还需要通过以下命令把源换成国内源,我选择了阿里云的源。
首先备份原来的源
cd /etc/yum.repos.d/;mkdir bak/; mv *.repo bak/
然后替换为阿里云的源,下边的命令最后加一个空格,后面添加你需要的阿里云源的地址,大妈不能在文字中添加阿里云源的链接,大家可以参照图片。
curl -o /etc/yum.repos.d/CentOS-Base.repo
清除缓存
yum clean all
重建缓存
yum makecache
升级系统组件
yum update -y
固定IP
启动WSL的CnetOS后可以通过“ ifconfig ”命令查看Cent OS的IP地址,我们可以发现,每次重启宿主机,IP都是不一样的。我试过了网友提供的“ .wslconfig ”方法,似乎在Win10升级到22H2后创建的WSL,这个方法就无效了。
这里我找到了另外可用的方案,每次宿主机开机首次启动WSL时会自动生成一个vEthernet (WSL)虚拟网络连接,这个连接的IP是动态的,我们要做的就是为这个连接添加一个固定IP。
添加Linux启动项
首先在建立一个“ nas.sh ”文件,并在其中添加如下内容,有几个个需要注意的地方:
1.两个命令间要有一行空行,如果没有,有的时候会卡死;
2.编辑器要切换至UTF-8 Linux/Unix模式;
3.“192.168.66.2”中的66要与你家里的内网路由IP不同。
#!/bin/bash
ip addr add 192.168.66.2/24 broadcast 192.168.66.255 dev eth0 label eth0:1
之后把这个“ nas.sh ”移动到Linux的“ etc/profile.d ”目录,因为Win10已经自动挂载了Linux根目录,直接通过Win10的资源管理器移动即可。
启用Win脚本运行权限
默认情况下Win是不允许PowerShell运行脚本的,只允许运行命令,再次以管理员权限打开PowerShell,在其中输入“ set-executionpolicy remotesigned ”,之后重启,就可以运行ps1脚本了。
建立固定IP脚本
新建一个“ nas.ps1 ”文件,并在其中加入如下命令。其中的“100”是为了等待WSL的Cent OS完成启动而延迟时间100秒,如果你的电脑性能较高,也可以缩短这个时间。
Start-Sleep -Seconds 100 | netsh interface ip add address "vEthernet (WSL)" 192.168.66.1 255.255.255.0
exit
把这个PS1脚本建立一个快捷方式,并选择用管理员模式启动。
最后把“ nas.ps1 ”的快捷方式和Cent OS的快捷方式移动到“ C ProgramData Microsoft Windows Start Menu Programs StartUp ”(自动被去了斜杠,你们懂得)就可以了。
技术宅是我梦想
校验提示文案
西边小种子
校验提示文案
值友4587258587
校验提示文案
技术宅是我梦想
校验提示文案
西边小种子
校验提示文案
值友4587258587
校验提示文案