首先说明本篇博客是在一位博主的博客基础上增加了一些我在该子系统里下载和使用Gurobi时遇到的问题
原博主的博客地址是:https://blog.csdn.net/zhangdongren/article/details/82663977
今天为大家介绍如何才能启用Windows10下的Linux子系统,废话不多说,直接看步骤:
启用开发者模式
打开设置
点击更新和安全
点击开发者选项
启用开发人员模式
更改系统功能
使用win+X快捷键调出系统管理菜单后点击应用和功能,然后拉到底下,选择程序和功能
选中应用或关闭Windows功能
勾选适用于Linux的Windows子系统,然后确认并重启就可以了
安装Linux系统
打开功能以后系统中其实还没有安装Linux,需要使用cmd完成安装。
首先按Win+R开启cmd命令输入框,然后输入lxrun /install /y来下载Linux系统(注意斜杠后面前要空一格,要不然无法识别命令)
好了,现在安装成功了,可以为所欲为了!
首先输入bash指令进入Ubuntu系统
接着可以输入passwd重置密码,重置完密码就可以正常使用Ubuntu系统了。至此,基本的安装工作就完成了。
=================================菜鸟分割线===================================
Linux进阶
在Ubuntu下我们可以通过 apt-get 命令 很方便的安装 / 卸载软件,由于默认的软件包仓库是位于国外的,安装软件的时候就可能遇到各种网络问题或者下载到的一些资源不完整,因此就需要切换数据源为国内的镜像站点来改善。
编辑数据源配置文件 vi /etc/apt/sources.list
接着就进入vi编辑器
继续按enter键进入真正的vi编辑页面
vi编辑器一共有三种模式,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode)。命令模式下我们只能控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode等;插入模式下可以做文字输入,按「ESC」键可回到命令行模式;底行模式下,可以将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号等。
当我们进入vi编辑器的时候默认是命令行模式,这是后如果想编辑内容,就输入 i 命令就可以了。现在我们要把镜像源改为阿里的,所以插入如下内容:
deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
但是需要注意的是在修改sources.list前,需要知道你使用的Ubuntu的codename,否则仍然无法使用这个源进行下载。使用命令行如下:
即知道了Ubuntu的Codename,然后利用此信息,修改sources.list,如下图
接着按「ESC」退会命令行模式,输入命令行 wq! 保存退出就好了,但是有的时候也会出现问题,例如当你在非root中操作时,会出现文件无法写入的情况:
出现这种情况有两种方法:
1、这种情况退出Ubuntu,然后在进入Ubuntu切换到root用户下,再修改一下这个文件的权限就可以了: 这种方法也可以用到别的文件没有操作权限的情况,如果这个文件是在/home路径下,那么直接在本用户下使用chmod命令,如果是在/home路径以外的文件夹下,就需要切换到超级用户root下面
2、直接在root下,将该用户加入sudoers中,从而利用sudo,让用户暂时拥有root用户操作权限
接着输入命令apt-get update更新配置就可以了,这个过程可能比较长,祝好运!
另外下载一个很好用的命令dos2unix,它可以将在Win系统下编写.sh脚本转换成Unix系统下可以执行的脚本 ,很好的发挥了Bash on windos的作用。
另外有一个需要注意是,在我刚开始使用Bash on windows执行Gurobi for linux64里的gurobi.sh文件时,出现错误:
export: (x86)/Common: bad variable name
之后发现是.sh文件中开头的#! /bin/sh的问题,需要改成#! /bin/bash,因为这里使用的是bash脚本,然后再利用上面的dos2unix操作一下就可以执行了。
好了本教程到此结束,谢谢!
最后说一下,Bash on windows在window系统下的路径(藏得很深):
C:\Users\F~C~H\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs
另外,在.bashrc文件中添加新的路径时和在windows系统中添加环境变量略有不同。 我之前下载bashdb 时自己加入了下载路径,但是结果是加入了之后没有效果,更糟糕的是/usr/bin里的命令没有办法使用了,,之后才知道在加入路径是最后需要加上:$PATH,或者开头加上$PATH: