- 积分
- 278
- 最后登录
- 2023-11-18
- 精华
- 0
- 阅读权限
- 30
- 主题
- 50
- UID
- 764183
- 帖子
- 620
- PB币
- 825
- 威望
- 5
- 贡献
- 0
- 技术
- 5
- 活跃
- 620
- UID
- 764183
- 帖子
- 620
- PB币
- 825
- 贡献
- 0
- 技术
- 5
- 活跃
- 620
|
本帖最后由 fshylove 于 2016-4-8 19:16 编辑
早上在公司升级的14361,在添加windows功能中选择windows linux子系统添加后,重启,进cmd,输入bash,就会提示下载安装,估计应该在100-200M左右
初步看,子系统是在c:/user/{User}/Appdata/local/lxss/rootfs下挂载的,文件夹可以通过windows的资源管理器查看,感觉上像是微软实现了一个在ntfs硬盘上跑的驱动(其实早就有linux的ntfs挂载支持)
测试:使用apt-get install mysql-server-5.6,安装成功并可以运行,在Bash里面也可以使用mysql登录并使用
猜测:从测试的情况看,基本上所有的linux命令或者软件,在这个子系统上都兼容(linux桌面及桌面应用除外)
问题:虽然看起来很美好,但是这个子系统的端口目前还不知道是怎么映射的,linux子系统内部是3306可以直接访问,但是在外部,根本就访问不了,从windows的进程中也查不出个所以然,而且通过测试(在linux内部去请求一个服务,在服务那边打印日志)可以看到linux子系统和windows是共享IP的,目前看起来,子系统像是被完全隔离了。。。。所以就算是装上mysql,也没鸟用。。
问题2:在windows命令行中,无法调用linux的命令,WTF。。。但是可以通过bash -c 'mysql -uroot -p'这样的,很尴尬。。我在ide中,一般会自动检测svn或者git这样的系统命令,然而却没法用,虽然理论上可以通过bat文件封装达到同样目的
求大神告知有没有办法把子系统的端口映射出来
PS:命令行终于可以全屏啦!
@更新1:确认端口可以外网访问,是我mysql绑定端口的设置问题,问题在于,我如果更改了my.cnf,居然只能重启windows才能生效,不然mysql别想再起来。。只是预览版本,表示能理解
@更新2:openjdk-8-jdk确认不兼容,楼下测试说oracle jdk也不兼容。。
@更新3:可以使用如下命令重装,感谢@m2nlight
- echo y|lxrun /uninstall
- echo y|lxrun /install
@更新4:如果安装的时候遇到错误,0x80004005好像是这个,记不太清了,就是下载完解压文件时出现的错误,目前还没有找到解决方案,全新安装后解决(重置是不行的)
@更新5:在windows中调用linux shell已经测试可行,可以新建Bat文件,内容如:bash -c "svn %~1%",需要在你在shell中已经安装过svn(apt-get install subversion),然后直接在windows命令行中,svn "co ${url}",就可以了,它的意义在于,为某些windows软件提供了直接使用linux命令的可能(如svn ,git,etc.),又或者说,让windows可以直接运行某些linux应用(非桌面)
|
-
2
查看全部评分
-
|