WSL 使用技巧

启动wsl的多种方式:

    1. [distro] ie ubuntu
    2. wsl.exe or bash.exe
  1. wsl [command] or bash -c [command]

Windows命令和Linux命令的融合:

windows中访问linux命令:

wsl中直接访问Windows的程序:

Windows的path会自动添加了wsl的PATH中的,只要可执行文件名带上 .exe 就会直接执行windows的命令的;如果当前的工作目录只存在于wsl中,则windows程序会fallback到c:\temp

不过,也可以通过如下方式,机制wsl中调起Windows程序:

或者通过wsl.conf来配置:

/etc/wsl.conf

通过  wslconfig.exe 来配置默认的Linux子系统

修改wsl中的language: https://docs.microsoft.com/zh-cn/windows/wsl/faq#how-do-i-change-the-display-language-of-wsl

修改成中文,需要子系统中安装中文包,如:

然后再:

限制:

  1. Windows程序不允许直接修改wsl内部的文件(可能根本就看不见)

Ubuntu子系统的安装位置:

Ubuntu子系统根目录:

注意:

  1. Windows升级后可能会禁用wsl,导致wsl无法使用,解法:powershell管理员权限中执行:

    注:这个就是【启用或关闭windows功能】中开启【适用于Linux的Windows子系统】的命令行用法

wsl 子系统中手动mount windows上的目录:

这样挂载的属主用户是root,可以通过-o来指定目录权限,用户id、组id:

 

自动启动WSL:(设置一个开机或用户登录windows时触发执行的计划任务就行了)

注意: 计划任务可能有电源相关的条件,如果没有插电(只用电池),计划任务是不执行的,如果插电了,计划任务就立即触发了

参考: https://dev.to/ironfroggy/wsl-tips-starting-linux-background-services-on-windows-login-3o98

参考:

https://docs.microsoft.com/en-us/windows/wsl/wsl-config

https://docs.microsoft.com/zh-cn/windows/wsl/interop

https://docs.microsoft.com/zh-cn/windows/wsl/release-notes

关于ceph osd偶尔收到SIGHUP信号的问题

ceph osd日志中显示,偶尔会收到来自于如下进程的信号:

如:

而且,通常出现在日志文件的第一条。

原因:

这个是 /etc/logrotate.d/ceph 中配置的用于切换日志文件的,没有其他影响

 

Virutalbox 中使用自建的DHCP服务器

本人使用的Windows,这里了只说Windows

可以自己安装一个: http://www.dhcpserver.de

禁用DHCP:

查看:

 

禁用:

 

 

如果宿主机上设置了一个该网络的网络适配器(就是虚拟网卡),该网卡作为该网络的网关的话,可以通过dhcpserver来设置一个网关,否则,就得自己在手动设置IP(或dhcp 的ip)的机器上手动设置网关,也或者你正好不想给该网络设置网关,那就也不需要在dhcp server上设置网关了。

 

详细语法参考:

还可以设置更多的DHCP选项,如: dns server

参考:

Windows 换回网卡(lo) 抓包

Wireshark 在Windows上不能对环回网卡lo进行抓包,因为:

Windows TCP/IP stack does not implement a network loopback interface, as found in other TCP/IP stack like lo* interfaces in BSD systems.Thus, it is not possible to sniff network traffic using the typical Windows packet capture driver, WinPcap.

 

其实,不仅本地环回的lo上的数据包抓不着,本机访问本机的非lo接口的数据包也是抓不着的,应该是数据包抄近道了

 

参考:

替代办法: https://www.netresec.com/index.ashx?page=RawCap

Virtualbox 中的链接复制

当从一个虚拟机复制出来一个新的虚拟机的时候,有如下两种方式:

其中:

链接复制就比较高级,不会copy整个磁盘得到内容,相当于在原虚拟机的snapshot上启动一个新的虚拟机,类似于docker中得到分层文件系统得到概念,新虚拟机和原虚拟机共享早期的数据,虽然共享早期数据,新添加/修改的数据都是完全隔离的,当新虚拟机想和原虚拟机脱离关系的时候,只需要将新虚拟机做一次完全复制就行了,这个办法不错,尤其是要创建几个相似的虚拟机时会很迅速

Windows10 右键菜单启动bash

Linux桌面中一个非常有用的功能就是可以在任意文件夹中直接右键在这里打开bash终端,Windows中也是可以的:

shift + 右键 : 可以直接打开powershell, 然后输入bash就行了,似乎也很简单

如果还嫌麻烦的话,可以参考:https://blog.csdn.net/gulang03/article/details/79177500 直接将bash添加到右键菜单

更加高级一点的是使用cmder,可以直接注册到右键菜单,而且还可以在cmder中设置直接启动bash