pve安装Alpine Linux

PVE安装Alpine Linux精简系统以及部分软件

pve安装参考

Alpine Linux介绍及实践

简介

Alpine 是一个轻量级的 Linux 发行版,它的优点是镜像体积小,安装软件速度快,安全性高,适合用于构建容器镜像

  • Alpine Linux是创始于2010年4月及以前的、一款开源社区开发的、基于musl libc和BusyBox的轻量级Linux发行版;适合用来做路由器、防火墙、VPNs、VoIP 盒子以及服务器的操作系统。
    • Alpine 的意思是“高山的”。
    • Alpine Linux 围绕 musl libc 和 busybox 构建。这使得它比传统的 GNU/Linux 发行版更小,更节省资源。
    • 一个容器只需不超过 8 MB 的空间。而在磁盘中的最小安装仅要大约 130 MB 的存储空间。
    • 尽管体积很小,Apline 提供了完整的 Linux 环境,其存储库中还包含了大量的软件包备选。
    • 除此之外,Alpine 还对软件包进行了缩减和拆分,以使用户能够对安装内容有更精确的控制,进一步帮助减少安装体积并提高效率。
  • 它专注于安全、简单和高效,以最小化系统资源消耗和攻击面。
    • Alpine Linux 在设计时注重安全性。
    • 内核采用了一个非官方的 grsecurity/PaX 移植版本(3.8 版本已终止对 grsecuiry 移植版本的支持),并且所有用户空间的二进制文件被编译为位置独立可执行文件(Position Independent Executables)并启用堆栈粉碎保护
    • 这些积极的安全功能可有效防止某些种类的 0-day 攻击。
  • Alpine Linux采用apk包管理器,使软件安装和更新变得简单和快速。
    • Alpine Linux 设计清晰而简练。它采用自有的名为 apk 的包管理器,以 OpenRC 作为初始化(init)系统,安装由脚本驱动。其提供的 Linux 环境简单、清晰且没有任何「噪音」。然后,用户可以基于此添加项目所需的软件包。因此,在各种应用场景下,Alpine 的设计都不会为用户带来麻烦。
  • 它也可以作为容器镜像的基础操作系统。因为它的镜像非常小,这使得它适合于云原生应用和微服务架构。
    • 由于其小巧、安全、简单以及功能完备的特点,被广泛应用于众多Docker容器中。
    • 我司目前使用的基础镜像均是基于该系统;
    • dockerhub上有提供各种语言的基础镜像.如:node:8-alpinepython:3.6-alpine,同时也可以基于alpine镜像制作符合自己需求的基础镜像。

官方版本

  • STANDARD:最小的可启动镜像,需要网络才能安装。

  • EXTENDED:包括最常用的软件包。适用于路由器和服务器。从RAM运行。扩展版本,带有更多软件包。

  • NETBOOT:netboot的内核、initramfs和modloop。

  • MINI ROOT FILESYSTEM:最小系统版本,仅包含内核,只用于构建Docker镜像。

  • VIRTUAL:与STANDARD类似,但更小,更适合虚拟系统使用。

  • XEN:内置XEN Hypervisor支持。

  • RASPBERRY PI:带有树莓派内核的版本。

  • GENERIC ARM:带有ARM内核,带有uboot加载器。

源/镜像

  • 官方镜像源列表

    • http://dl-cdn.alpinelinux.org/alpine/MIRRORS.txt
      • MIRRORS.txt中是当前Alpine官方提供的镜像源(Alpine安装的时候系统自动选择最佳镜像源)
  • 清华大学:

    • https://mirror.tuna.tsinghua.edu.cn/alpine/
  • 中国科技大学:

    • http://mirrors.ustc.edu.cn/alpine/
  • 阿里云:

    • https://mirrors.aliyun.com/alpine
  • 网易:

    • https://mirrors.163.com/alpine/
  • 以配置阿里云镜像源为例:(实测,不修改镜像源也可)

    • a. 编辑 /etc/apk/repositories

    • b. 将里面 dl-cdn.alpinelinux.org 的 改成 mirrors.aliyun.com ; 保存退出即可

sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories

一、安装alpine

1.下载官方alpine的CT模板

2025年04月最新的版本是:alpine-3.21-default_20241217_amd64.tar.xz

image-20250411100016728

image-20250411100044316

2.在LXC里创建alpine虚拟机

image-20250411100128481

image-20250411100244093

之后的步骤按需选择,直到完成。

二、SSH 服务安装并启动

在 Proxmox VE (PVE) 中通过 CT 模板安装 Alpine Linux 后无法使用 SSH,可能涉及多个配置环节的问题。以下是综合多个解决方案的排查和修复步骤:

安装 OpenSSH: Alpine Linux 默认不安装 SSH 服务,需手动安装:

apk add --no-cache openssh-server

如果下载慢,可先切换国内镜像源(如清华源)

sed -i 's/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apk/repositories

启动 SSH 服务

Alpine 使用 rc-service 管理服务,启动并加入开机自启:

rc-service sshd start
rc-update add sshd

检查服务状态:

rc-service sshd status

修改 SSH 配置文件

编辑 /etc/ssh/sshd_config ,确保以下配置:

PermitRootLogin yes  # 允许 root 登录(测试环境建议开启)
Port 22             # 确认端口为 22(或自定义端口)#默认是22,可以不加

重启服务生效:

rc-service sshd restart

三、安装nginx

使用 Alpine 官方仓库安装(推荐)

# 更新软件包索引
apk update

# 安装 Nginx
apk add nginx

# 启动 Nginx 并加入开机自启
rc-service nginx start
rc-update add nginx

修改nginx配置

安装完成后,建议进行基本配置:

  1. 修改配置文件(/etc/nginx/nginx.conf):

    worker_processes  1;
    
    events {
        worker_connections  65536;
    }
    
    http {
        include       mime.types;
        default_type  application/octet-stream;
        sendfile        on;
        keepalive_timeout  65;
    	client_max_body_size 10240m;
    
        server {
            listen       8011;
            listen [::]:8011 default ipv6only=on;
            server_name  localhost;
    		charset utf-8;
    
    		location / {
                root   /home/product;
    			try_files $uri $uri/ /index.html;
                index  index.html index.htm;
            }
    		
        }
    	
    }
    
  2. 创建测试页面

    mkdir -p /home/product			#使用 -p 选项可以一次性创建多级目录
    echo "<h1>Hello, Nginx!</h1>" > /home/product/index.html
    
  3. 重启服务

    rc-service nginx restart
    

查看监听端口

netstat -ntlp | grep nginx

四、修改静态IP

修改 /etc/network/interfaces

auto lo
iface lo inet loopback
iface lo inet6 loopback

auto eth0
iface eth0 inet static
	address 192.168.32.83
    netmask 255.255.255.0
    gateway 192.168.32.1
    dns-nameservers 223.5.5.5

iface eth0 inet6 manual

重启网络服务

service networking restart  # 或  /etc/init.d/networking restart

五、切换为动态 IP(DHCP)

修改 /etc/network/interfaces

iface eth0 inet dhcp  # 替换静态配置为DHCP

删除 address 192.168.32.83
    netmask 255.255.255.0
    gateway 192.168.32.1
    dns-nameservers 223.5.5.5

六、关机命令

poweroff

立即关闭系统并断电,相当于传统 Linux 的 shutdown -P now

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值