windows server 2019 中使用 wsl2 开启 启动服务

1、编写bat文件:

linux-start.bat:

wsl -d Ubuntu-20.04 -u root /etc/init.wsl

其中 Ubuntu-20.04 是我的 wsl2 子系统名,通过 wsl -l 查看

2、wsl2 子系统中添加init.wsl文件 vim /etc/init.wsl  :

#! /bin/sh
service nginx restart
service ssh restart
service cron restart
service php7.4-fpm restart

需要啥服务,自己加吧~!

3、添加计划任务,开机调用:

参考:windows server 2019 使用wsl2 开机挂载 物理磁盘

触发器里面,建议设置延迟 30秒。

这样,开机后,wsl2 中的服务,也就自动start了。

windows server 2019 使用wsl2 开机挂载 物理磁盘

PS: 要在wsl2中挂载物理盘,需要先将你要挂载的磁盘在 磁盘管理 里面 进行 “脱机”处理。

1、查看win上的磁盘列表:

确定磁盘

若要列出 Windows 中的可用磁盘,请运行:

wmic diskdrive list brief

 

磁盘路径位于 “DeviceID” 列下。 通常在 \.\PHYSICALDRIVE* 格式下。

列出并选择要装入的分区 WSL 2

确定磁盘后,运行以下内容:

wsl --mount  --bare

 

这会使磁盘在 WSL 2 中可用。

附加后,可以通过在 WSL 2 中运行以下命令列出该分区:

lsblk

 

这会显示可用块设备及其分区。

在 Linux 内,块设备被标识为 /dev/<Device><Partition> 。 例如,/dev/sdb3 是磁盘的第3部分 sdb 。

示例输出:

NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sdb      8:16   0    1G  0 disk
├─sdb2   8:18   0   50M  0 part
├─sdb3   8:19   0  873M  0 part
└─sdb1   8:17   0  100M  0 part
sdc      8:32   0  256G  0 disk /
sda      8:0    0  256G  0 disk

 

标识 filesystem 类型

如果不知道磁盘或分区的文件系统类型,可以使用以下命令:

blkid 

 

这会在 “) ” 格式下输出检测到的文件系统类型 (TYPE="<Filesystem>" 。

2、装载所选分区

确定要装载的分区后,请在每个分区上运行以下命令:

 

wsl --mount  --partition  --type 

3、卸载磁盘

wsl --unmount 

浏览全部

windows server 2019 安装 wsl2

PS: 目前要使用wsl2,win 2019需要安装 preview版本。

提供一个百度盘下载地址(因为超了4G,没会员,所以压缩分卷了):链接: https://pan.baidu.com/s/1zZ2VEUgYX2zEe0FLmy5DiQ 提取码: fuka

1、启动 linux 子系统

打开 posershell(管理员),输入:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

2、下载和安装

下载:

Windows server是没有Windows应用商店的,所以我们需要下载wsl系统的离线安装包,这里我选择下载kali,如果需要下载其他系统,可以点击下方链接自行下载或者从官方文档下载。官方下载速度非常慢,这里推荐大家使用IDM下载,我当前下载好了kali,并上传到了百度网盘(链接https://pan.baidu.com/s/1GiNDbWQtcXbCa2ecrwiw9w 提取码:h7mg)

还有一个开源的WSL系统,

  • Fedora Remix for WSL(https://github.com/WhitewaterFoundry/Fedora-Remix-for-WSL/releases)可以下载其中后缀.appxbundle的文件尝试安装,不过这个系统我并未有过接触。具体安装可能需要自己探索

浏览全部

gin 使用 pack2 打包 html到二进制

直接上我的一个web播放器的样例代码片段

主要是 LoadTemplate 方法

然后打包的时候需要用packr2工具:

#安装编译工具,用于打包html到二进制
go get -u github.com/gobuffalo/packr/v2/packr2
#build和go build一样,交叉编译的方式也是一样的
CGO_ENABLED=0 GOOS=linux GOARCH=arm packr2 build  -o 115_player
#简单点的
packr2 build  -o 115_player

 

代码片段: 浏览全部

Docker CE 镜像源站 linux 下国内源安装 阿里源

使用官方脚本:

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

 

Ubuntu 14.04 16.04 (使用apt-get进行安装)

# step 1: 安装必要的一些系统工具
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
# step 2: 安装GPG证书
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# Step 3: 写入软件源信息
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# Step 4: 更新并安装 Docker-CE
sudo apt-get -y update
sudo apt-get -y install docker-ce

CentOS 7 (使用yum进行安装)

# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3: 更新并安装 Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce
# Step 4: 开启Docker服务
sudo service docker start

 

mac下开发 github 上传大于 50M的文件 git-lfs

Homebrewbrew install git-lfs MacPortsport install git-lfs

1、安装git和git-lfs,然后运行:

git lfs install

2、添加你要上传的大文件例如:

git lfs track "*.psd"

确保.gitattributes is tracked:

git add .gitattributes

3、开始推送:

git add file.psd
git commit -m "Add design file"
git push origin master

参考网站:https://git-lfs.github.com/

mac上遇到的错误sed command a expects followed by text

mac上简单的替换操作

sed -i 's/apple/mac/g' full-path-file
执行后报错,“sed: 1: command a expects \ followed by text” 由于mac系统与linux系统下sed用法的差异,下面给出两种解决方案 (差异可自己在两个系统用man命令查看帮助)
第一种解决方案
sed命令改写为
sed -i '' 's/apple/mac/g' full-path-file
第二种解决方案调整macsed的用法,使其与linux一致 mac上安装gnu-sed
brew install gnu-sed
alias sed=gsed
调整后两系统下sed的用法完全一致。 注意添加PATH=/usr/local/opt/gnu-sed/libexec/gnubin:/$PATH