win10 WSL(win sub linux) linux 子系统使用笔记

目录

前言:

问题记录:

1. ubuntu 64位系统上运行32位程序

2. WSL 不支持 SYSV IPC 问题


前言:

刚开始安装win10时,发现win10自带 linux子系统。由于之前在win系统下使用VMware虚拟机linux时,体验不太顺畅,主要是文件共享、网络配置以及操作反应慢,且窗口大小问题。因此尝试使用WSL系统,刚开始使用时,感觉非常不错。主要的优点有一下几点:

  1. 配网简单,启用安装好WSL后,不需要配置网络环境,就可以直接上网。
  2. 文件共享方便,WSL下,可轻松访问win下的所有磁盘内容,在"/mnt/" 目录下就是对应的各个磁盘。
  3. linux系统内的文件查找方便,由于linux的文件都在C盘,大致路径如下所示,为linux的跟目录,可使用everthing工具非常方便快捷的查找系统中的文件。

     C:\Users\Administrator\AppData\Local\Packages\

     CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs

  4. 系统操作灵敏,默认的终端环境不太友好,可使用ssh远程登陆工具登陆,反应比虚拟机中要快。

使用一段时间后,总结一下WSL的缺点:

  1. nfs 文件服务有很多问题。
  2. 在WSL上使用buildroot 编译程序时,由于工程较大,需要编译和下载很多的东西,一运行编译脚本就会导致主机很卡。这个原因还不太清楚,估计时WSL 运行时,可完全使用主机的所有CPU资源,导致主机使用也很卡。
  3. SYSV IPC 进程间通信问题。  -- https://stackoverflow.com/questions/45469650/error-while-building-rootfs-system-for-raspberry-pi-3-using-buildroot-lack-of
  4. 很多正常的问题解决方式,在WSL上解决方式不一样。比如文章后面介绍的64位系统上运行32位程序的问题。这个排除了很长一段时间才找到解决方法,晚上说的很多方法对于虚拟机和一般的linux是可行的,但对WSL不生效。类似的问题可能会很多。
  5. 其他问题待发现。。。

但在进行实际开发过程中,遇到的问题较多,本文主要作用在于记录我在使用WSL 实际开发中的问题以及对应的解决办法,方便以后查找,同时也希望能给使用WSL开发的朋友们也一些帮忙。

WSL 官方帮助文档: https://docs.microsoft.com/zh-cn/windows/wsl/troubleshooting

问题记录:

1. ubuntu 64位系统上运行32位程序

      可参考该文档的配置:https://www.jianshu.com/p/3df082840b40。

      在网上找了很多资料都不行,这个可能时WSL和一般的linux不一样的地方。

      怎样判断你的系统是多少位的? 

       方法1: 终端敲命令: getconf LONG_BIT

       方法2:uname -a 

      怎样看linux 程序是多少位的?

       file + 文件:

       

2. WSL 不支持 SYSV IPC 问题

       实际使用buildroot工具编译程序时,出现一下报错,可参考本链接。

fakeroot, while creating message channels: Function not implemented
This may be due to a lack of SYSV IPC support.

  修改buildroot->fs目录下的common.mk 文件,如下所示:

# 将以下
PATH=$$(BR_PATH) $$(HOST_DIR)/bin/fakeroot -- $$(FAKEROOT_SCRIPT)
# 修改为:
if [ `uname -r | grep "Microsoft"` ] ; then \
    cp -f `which fakeroot-tcp` $$(HOST_DIR)/bin/fakeroot ; fi

  未完,待续...

       

你可能感兴趣的:(Linux开发,linux,ubuntu,windows)