概述
分支特点
分支 内核 驱动 特点
─────────────────────────────────────────────────────────────────────────────────────────────────────────────
Standard linux-lts [Full-Drivers] 包含全量物理外设驱动(显卡/音频/USB/网卡),适用于所有主流物理硬件。
Virtual linux-virt [Virt-Modules] 仅保留 Virtio/Hyper-V/VMXNET3 等虚拟化总线驱动,针对 KVM/VM 深度减脂。
Extended linux-lts [RAM-Overlay] 预装微代码(Microcode)与常用工具,系统加载至内存运行,极大提升 IO 响应速度。
Netboot linux-lts [Initramfs] 内核与根文件系统分离,仅含网络引导核心模块,支持 PXE 无盘远程部署与快速扩容。
Raspberry Pi linux-rpi [BCM-Drivers] 针对树莓派 SoC 定制内核,集成 Broadcom GPU 与 GPIO 驱动,支持特定引导固件。
Mini rootfs None (Shared) [None] 不含内核与驱动,体积最小(约 5MB),完全依赖宿主机内核,专为 Docker 容器定制。
Generic U-Boot linux-lts [U-Boot-Tar] 集成通用引导程序 (Bootloader),适配嵌入式 ARM 设备,便于 SD 卡或 Flash 启动。
Xen linux-xen [Hypervisor] 内置 Xen Hypervisor 控制域模块,专门针对虚拟化管理机 (Dom0) 进行底层权限优化。部署
WSL2部署
vmware部署
- 创建虚拟机
- 2C1G10GB仿博客服务器
- vnet0桥接08:00:27:49:D6:EC,继承90IP
- 启动进live
- 加载ISO:alpine-standard-3.23.3-x86_64.iso
- live模式:启动虚拟机自动进live模式
- 登录:用户root密码无
- 临时网卡
- 查看网卡:ip link
- 激活网卡:ip link set eth0 up
- 获取IP:udhcpc -i eth0
- 验证联网:ping www.baidu.com
- 安装系统
- 安装向导:setup-alpine
- 不确定的都直接回车
- 键盘布局:keyboard layout=cn两次
- 主机名:hostname=max2alpine
- 管理员密码:
- 包源:清华源=13, 南京=15,自动检测速度最快的源=f
- 还能创建用户ghost,但是输入ssh无法粘贴,顺带安装openssh
- 时间同步选 chrony
- 硬盘用途:use=sys;erase=y(耗时很长,感觉n跳过也行)
- 完成后reboot重启
root用户临时开启密码远程
vi /etc/ssh/sshd_config # PermitRootLogin prohibit-password PermitRootLogin yes PubkeyAuthentication yes # 启用公钥认证 # (可选) PasswordAuthentication no # 禁用密码认证 # 只对 ghost 用户禁用密码,其他用户保留密码登录 Match User ghost PasswordAuthentication no PubkeyAuthentication yes rc-service sshd restart
设置
上网设置
网卡
------------------ udhcpc 手动获取ip --------------- ip link # 查看网卡 ip link set eth0 up # 激活网卡 udhcpc -i eth0 # 获取IP ping www.baidu.com # 验证联网 ------------------ dhcpcd 智能获取ip --------------- sudo apk add dhcpcd # 更智能的 DHCP 客户端 vi /etc/network/interfaces # 注释旧网卡管理 # auto eth0 # iface eth0 inet dhcp sudo rc-update add dhcpcd default sudo rc-service dhcpcd start
系统初始化
更新源
# 注释掉官方源 sed -i '/community/s/^#//' /etc/apk/repositories apk update apk add sudo #后面用到的sodu管理 # 顺带安装 apk add jq curl rsyncvi支持中文
# 自带vi 本身就不支持中文字符,安装成类似centos的大vi apk add vim rm -f /usr/bin/vi;ln -s /usr/bin/vim /usr/bin/vi标准的时间文件GMT+8
-------------安装chrony--------------- sudo apk add chrony # 安装同步程序 ls -l /etc/init.d/chronyd # 确认同步程序 sudo rc-update add chronyd default # 开机自启 sudo rc-service chronyd start # 启动服务 -------------偏差跳变---------------- sudo vi /etc/chrony/chrony.conf # 允许在任何时候,只要偏差超过 1 秒,就无限制地立即跳变对时 (重点) makestep 1.0 -1 # 启动时如果偏差大,在前 10 次时钟更新中允许跳变 initstepslew 10 pool.ntp.org # 记录系统时钟增益或损耗的速率 driftfile /var/lib/chrony/chrony.drift # 将系统时钟同步到硬件实时时钟 (RTC) rtcsync # 关闭命令端口(安全性考虑) cmdport 0 -------------提供标准的时区时间文件,供容器映射--------------- sudo apk add tzdata sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime echo "Asia/Shanghai" | sudo tee /etc/timezone- alpine docker 代理设置(linux通用)
docker
安装docker
apk add docker # 安装 Docker 依赖与引擎 rc-update add docker boot # 启动 Docker 服务并设置开机自启 dockerd # 验证 Docker 是否安装成功 rc-service docker zap # Alpine 的 OpenRC需要手动处理 rc-update add cgroups boot # Alpine 需要手动挂载必要的 cgroups service cgroups start service docker start service docker status # 确认服务状态docker国内镜像
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<EOF { "registry-mirrors": [ "https://docker.1ms.run", "https://dockerproxy.net", "https://proxy.vvvv.ee", "https://dockerproxy.link" ] } EOF # alpine sudo rc-service docker restart- alpine docker 代理设置(linux通用)
安装docker-compose
# 自动安装 apk add docker-compose # 手动安装:加代理的一句话安装 + 执行权限 COMPOSE_VERSION=$(curl -s --socks5 192.168.1.120:7890 https://api.github.com/repos/docker/compose/releases/latest | grep tag_name | cut -d '"' -f4) && curl -L --socks5 192.168.1.120:7890 "https://github.com/docker/compose/releases/download/${COMPOSE_VERSION}/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose # 验证 docker-compose --version- alpine docker 快速命令设置
系统其它
配置用户和ssh
su - ghost mkdir -p ~/.ssh chmod 700 ~/.ssh # 必须700,权限太宽会被SSH拒绝 vi ~/.ssh/authorized_keys # 粘贴公钥 chmod 600 ~/.ssh/authorized_keys # 必须600 chown -R ghost:ghost ~/.ssh # 确保归属ghost用户ll命令支持
# root用户执行 echo "alias ll='ls -l'" >> /etc/profile # ghost用户执行 echo "alias ll='ls -l'" >> ~/.profile用户提权
su - visudo # 修改sodu配置 ghost ALL=(ALL:ALL) ALL ghost ALL=(ALL) NOPASSWD: /bin/rm -rf /www/*, /bin/rm -f /www/*, /bin/mkdir -p /www/*, /bin/mkdir /www/*, /bin/find /www/*, /bin/tar -* /www/*, /bin/tar -* -C /, /sbin/apk, /home/ghost/backupGhost.sh, /bin/rm -rf /home/ghost/* 如果损坏了,物理进服务器运行 pkexec visudo adduser ghost docker service docker restart 重新连接ssh,才会生效时间同步
# 安装NTP时间同步服务 apk add chrony # 启动并设置开机自启 rc-service chronyd start rc-update add chronyd default # 手动同步时间(立即生效) chronyc makestep修改网络名
echo "vm-alpine" > /etc/hostname hostname -F /etc/hostname
应用
恢复应用
docker net
docker network create ghost_net上传并解压www
sudo tar -xzvpf ghost20250701090751.tar.gz -C / sudo chown -R 1000:1000 /www # 递归修改 镜像内部 UID 通常是 1000启动应用
docker-compose -f /www/mariadb/docker-compose.yml up -d docker-compose -f /www/nginx/docker-compose.yml up -d服务器互传
rsync -avP -e "ssh -c aes128-ctr -o StrictHostKeyChecking=no" /www/hermes/ x99@192.168.1.142:/www/hermes/at