笔记本电脑的系统切换成了win11,安装完成后的第一件事就是通过wsl安装linux子系统,通过wsl.exe -l -o查看获取的发布版都相对较大,不过通过microsoft store查看,发现有Apline linux这个经常做docker镜像的发行版。所以决定在WSL上换用Alpine作日常Linux子系统使用。这里就总结下安装完成后的配置。

一、安装docker

通过apk add docker安装完成后,发现无法启动,报了touch /run/openrc/softlevel相关的报错,

apline-openrc
apline-openrc

细读了下是跟openrc这个服务相关。通过以下命令完成了docker安装并启动:

1apk add openrc --no-cache
2# 安装完成后可以通过rc-status查看启动项
3touch /run/openrc/softlevel
4apk add docker
5/etc/init.d/docker start
6# 如果需要配置开机自启动,可以通过如下指令操作
7rc-update add docker default   //将 docker 注册为服务,设置开机自启动
8rc-service docker start       //启动 docker 服务

二、安装数据库

1# alpine 中MySQL 用的就是MariaDB
2apk add --no-cache mysql mysql-client
3# 或
4apk add mariadb mariadb-client
5rc-update add mariadb default //如果不需要开机自启动可以删除该步
6/etc/init.d/mariadb setup
7rc-service mariadb start

在启动过程中如果遇到Datadir ‘/var/lib/mysql’ is empty or invalid错误,通过执行/etc/init.d/mariadb setup即可解决。

三、安装nginx和php7

1apk add nginx
2apk add php7 php7-fpm php7-opcache php7-curl php7-gd php7-mbstring php7-mysqli php7-json
3service nginx start
4#或者rc-service nginx start
5service php-fpm7 start
6
7# 配置开机自启动
8rc-update add nginx default
9rc-update add php-fpm7 start

四、安装bash shell

由于alpine默认使用的是ash,如果不习惯使用ash的可以安装bash或zsh,安装bash如下:

1apk add bash
2apk add bash-doc
3apk add bash-completion

对于想要使用bash的用户,可以修改/etc/passwd文件修改为bash shell,可以通过执行source /etc/profile.d/bash_completion.sh完成命令自动补全,也可以在bashrc文件中配置开机自启动:

 1# cat ~/.bashrc
 2
 3alias update='apk update && apk upgrade'
 4export HISTTIMEFORMAT="%d/%m/%y %T "
 5export PS1='\u@\h:\W \$ '
 6alias l='ls -CF'
 7alias la='ls -A'
 8alias ll='ls -alF'
 9alias ls='ls --color=auto'
10source /etc/profile.d/bash_completion.sh

五、安装oh my zsh

1apk add zsh
2apk add git curl
3sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
4mv ~/.zshrc ~/.zshrc.oh-my-zsh
5
6# vim ~/.zshrc增加下面一行
7#加载oh my zsh插件
8source ~/.zshrc.oh-my-zsh

安装高亮显示插件zsh-syntax-highlighting

1cd $HOME/.oh-my-zsh/plugins
2#下载代码
3git clone https://github.com/zsh-users/zsh-syntax-highlighting.git
4#自动配置
5echo "source ${(q-)PWD}/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ${ZDOTDIR:-$HOME}/.zshrc

source ~/.zshrc 发现输入指令可以高度显示了
安装自动补全zsh-autosuggestions

1cd $HOME/.oh-my-zsh/plugins
2#下载代码
3git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
4vim ~/.zshrc.oh-my-zsh
5在plugins里增加如下内容:
6zsh-autosuggestions

source ~/.zshrc 生效。

六、设置彩色提示符及Alias

Alpine Linux因为追求极致的轻巧,所以采用了Busybox作为shell,因此其没有 /etc/bashrc 文件和 ~/.bashrc文件,从而无法通过上述两个文件设置彩色提示符以及命令别名。

事实上Busybox使用 /etc/profile 文件来设置全局的shell环境,其作用基本与 /etc/bashrc 文件相当,修改该配置文件,增加如下内容:

1export PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$'
2alias ll='ls -l'