安装方法
在win10上面是可以开启ubuntu子系统的,安装好了之后,就可以使用ubuntu直接访问win系统里面的文件,这样对于要使用tar打包、或者简单对日志进行分析,就很方便了。如是,C盘是挂载在/mnt/c下,能直接访问的感觉真爽。
1 | root@localhost:~# df -h |grep mnt |
Win10安装Ubuntu子系统的方法如下:
- 在开发者选项里面开启
开发人员模式
- 在启用或关闭windows功能位置,安装”适用于Linux的Windows子系统“
- 打开应用商店,下载ubuntu镜像即可
详细的攻略,请参考:Win10安装Ubuntu子系统超详细攻略
注意安装之后,其保存的位置是在%LOCALAPPDATA%\Packages\
下,以CanonicalGroupLimited.Ubuntu18.04onWindows
开头的目录名,尽量不要在上面安装大型软件,不然就把C盘占满了。
安装完ubuntu之后,是需要给root设置密码的。打开终端,输入命令sudo passwd
,输入当前用户的密码,然后系统会提示输入新密码Enter new UNIX password:
并再次确认Retype new UNIX password:
,此时的密码就是root新密码。修改成功后,输入命令su root,再输入新的密码就ok了。
启动方法,一是在应用程序里面找到ubuntu进行运行,二是打开cmd,使用bash -c "pwd"
运行,非常方便。
1 | E:\hexo>bash -c "pwd" |
由于lxrun在win10 18.03之后的版本已经去掉了,所以现在是没有这个命令的。使用 winver 来查看win10的具体版本。取而代之的是ubuntu或者ubuntu1804,根据自己安装的系统而定。这个命令在应用商店的简介页面就有说明了。
开启ssh
由于ubuntu类似使用了一下cmd的界面,很难用,我们就需要开启SSH通过xshell等其他软件来登陆。
修改/etc/ssh/sshd_config
配置文件,做以下调整:
1 | Port = 22 # 默认是22端口,如果和windows端口冲突或你想换成其他的否则不用动 |
修改完成之后,/etc/init.d/ssh start
会出现以下报错
1 | Could not load host key: /etc/ssh/ssh_host_rsa_key |
服务是有启动了,但是使用xshell还是没有办法登陆,这是因为一般openssh服务正常安装后,主机会自动生成相应的主机密钥文件,但这里因未知原因并没有完成这一步动作,导致无法远程ssh连接。
解决方案,重新生成主机密钥文件:
使用ssh-keygen来重新生成,-t表示生成的密钥所使用的加密类型;-f项后接要生成的密钥文件名
1 | ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key |
完成之后,在/etc/ssh/目录下面,就可以看到有生成了这些文件,这样就可以很愉快地使用xshell登陆系统了。
1 | ll /etc/ssh/*key* |
设置默认用户
默认情况下,win10安装完ubuntu之后,会普通用户的权限的。这对于使用上面来说,比较不方便。我们可以使用ubuntu1804
进行修改。
1 | C:\>ubuntu1804 help |
使用ubuntu1804 config --default-user root
完成之后,需要把原有的bash进程Kill掉,然后再打开就是root权限了。这时也就不需要密码就可以进行登陆了。
开机自启动
在设置好了默认账号为root之后,在ubuntu上面创建以下脚本:
1 | root@localhost:~# cat /init.sh |
打开文件管理器,输入shell:startup
打开这个目录,创建ubuntu.vbs
文件,内容如下:
1 | set ws=wscript.createobject("wscript.shell") |
这样就完美实现开机自启动了。
参考资料
启动sshd时,报“Could not load host key”错