avatar

nk

学习 思考 坚持 平静

  • 首页
  • 关于
Home 小鸡的自我救赎: Alpine Linux
文章

小鸡的自我救赎: Alpine Linux

Posted 2024-02-23 Updated 2024-03- 2
By nk
28~36 min read

小鸡的自我救赎: Alpine Linux

Alpine Linux 简介

出生时间

2005年8月

听听ChatCPT怎么说

Alpine Linux 是一个面向安全、简洁和资源效率的轻量级 Linux 发行版。它是基于 musl libc 和 busybox 的,这两个组件都是为了提供轻量级和简洁的系统而设计的。Alpine Linux 的安装包往往比其他 Linux 发行版的更小,这使得它非常适合用于创建 Docker 镜像和在资源受限的环境中使用。

以下是 Alpine Linux 的一些主要特性:

  1. 安全性:Alpine Linux 采用了一些策略来增强系统的安全性,如使用 PaX 和 grsecurity,这是一种针对 Linux 内核的安全补丁,可以防止一些攻击手法。
  2. 简洁性:Alpine Linux 有一个非常小的基础 Docker 镜像,只有 5 MB 左右,这使得它非常适合用于容器化的应用。
  3. 资源效率:由于 Alpine Linux 的轻量级特性,它非常适合在资源有限的环境中使用,比如老旧的硬件,或者是需要节省资源的云环境。
  4. 包管理:Alpine Linux 使用的是 apk 包管理器,这是一个简单、快速、安全的包管理工具。
  5. 运行模式:Alpine Linux 支持两种运行模式,即 "diskless" 模式和 "persistent" 模式。在 "diskless" 模式下,系统完全运行在内存中,而在 "persistent" 模式下,系统会把数据保存在硬盘上。

Alpine Linux 的这些特性使得它在某些特定的应用场景中,如容器化应用、嵌入式系统、服务器等,表现出了非常好的性能。

安装 Alpine Linux 前

因为我 512MB的小鸡已经完成安装并且配置些软件,此博客的掩饰我使用的 Netcup的优惠套餐

VPS piko G11s 12M

大致信息

image-axcgr.png

翻译使用的是DeepLX,致敬大佬 Linxux.do#Neo

含税 12 欧元/年,中国区免税 0.83欧元/月

image-tnswh.png

IP 评分

image-fkkig.png

image-pqmtm.png

此机器为合同机器,一年起购,德国人很有契约精神,小伙伴感兴趣可以Google一下,当然啦,Linux.do 大佬云集

image-mlxhi.png

安装 Alpine Linux后

1G小鸡

image-cmwwc.png

512MB小小鸡

此时这个小小鸡已经运行多个docker镜像

image-wzhzy.png

其实可以看出来,Alpine Linux的优势还是很明显的呢

不知小伙伴是否是否有如下的烦恼

  • 买来一台服务器厂商的学生优惠服务,但是我们希望把用最小的代价达到最好的效果

  • 我们有海外业务需求,举些栗子

    • 我们因为想搭个下载服务,听说了BuyVM,怎奈手速慢,我们只买到了LU RYZEN KVM 512MB
    • 我们希望把我们自己才华和智慧无私分享给到我天朝之外,怎奈经济实力有限,网络线路不是那么友好,但是我们不小心了解了搬瓦工,不小得了这个套餐搬瓦工年付$49.99 CN2 GIA限量版套餐补货,但是 512MB的运行内存,想想就痛😭
    • ... ...

Alpine Linux的安装

想到安装,小伙伴是否有点不只所措?别急,我们一起去全球最大同性交流网站逛一下呗

借助大佬的力量,从此安装系统 So Easy

leitbogioro/Tools

开始

  • 系统重装会格式话磁盘,小伙伴记得备份好服务器数据到本地或其它地方
  • 文章的原系统是Ubuntu,其它的系统小伙伴可以自行翻译或者交给GPT ~~gpt.iil.im ~~(在此希望大家一起致敬大佬: Linux.do#蒙恬)
  • 演示系统:

    系统版本: Ubuntu 22.04.3 LTS
    Linux版本: 6.6.15-x64v2-xanmod

1.安装 wget
sudo apt update && sudo apt install -y wget
2. 下载安装脚本
wget --no-check-certificate -qO InstallNET.sh 'https://raw.githubusercontent.com/leitbogioro/Tools/master/Linux_reinstall/InstallNET.sh' && chmod a+x InstallNET.sh
3.执行脚本进行系统安装
bash InstallNET.sh -alpine
4. 等待命令执行完成
  • 需要一定的时间,请小伙伴耐心等待

image-lbcnf.png

5. 执行 reboot
reboot
6.等待服务器重启

需要一定的时间,小伙伴耐心等待,可以通过云厂商控制台提供的VNC实时查看系统安装进度

7.登陆服务器,修改 root密码

安装系统默认信息

  • ssh 端口:22
  • 用户名:root
  • 密码:LeitboGi0ro
#接下来你输入两次需要修改的你们即可
sudo passwd root

关于 BBR3

Alpine Linux 的内核会紧跟内核更新,所以我们直接可以很方便的开启 BBR3

控制台输入

cat > /etc/sysctl.conf << EOF

net.core.default_qdisc=fq_pie

net.ipv4.tcp_congestion_control=bbr

EOF

控制台输入

sysctl -p

image-lkzqr.png

番外篇

安装 Docker

Alpine Linux默认使用 apk 安装管理软件包,如有疑问小伙伴可以优先Google 或者和GPT gpt.iil.im深入交流

apk update &&  apk add docker

将 Docker设置为系统服务并开启自启

Alpine Linux 默认使用 service管理系统服务

rc-update add docker default

启动 Docker

service docker start

查看 Docker版本信息

docker version

安装 Docker Compose

apk add docker-compose
查看 Docker Compose 版本号
docker compose version

使用ServerStatus监控小鸡

因为服务端可以 docker部署,所以此处不过多赘述,下面我们只讨论client-psutil 跨平台客户端在 Alpine Linux的使用

安装 python3

apk add python3

安装 pip3

apk add py3-pip

安装 psutil依赖

apk add gcc python3-dev musl-dev linux-headers && pip3 install psutil --break-system-packages

新建 service配置

vim /etc/init.d/serverstatus

输入下面内容并保存

#!/sbin/openrc-run

description="Server Status Client"

start() {
    ebegin "Starting serverstatus"
    start-stop-daemon --start --background --exec /usr/bin/nohup -- /usr/bin/python3 /root/serverstatus/client-psutil.py >/dev/null 2>&1
    eend $?
}

stop() {
    ebegin "Stopping serverstatus"
    start-stop-daemon --stop --exec /usr/bin/python3 -- /root/serverstatus/client-psutil.py
    eend $?
}

将配置设置为可执行

chmod +x  /etc/init.d/serverstatus

添加服务为默认启动

rc-update add serverstatus default

服务启动

service serverstatus  restart

查看服务状态虽然是 crashed,但是应该是使用 nohup的缘故(盲猜)

service serverstatus status

最后

希望各位小伙伴的小鸡都能物尽其用,感恩遇见,此敬~

Linux
Linux Alpine Linux
License:  CC BY 4.0
Share

Further Reading

Mar 19, 2024

Nginx配置跨越支持

Niginx 配置 跨越支持 nginx.conf nginx 主配置文件 map $http_origin $allow_origin { default ""; ~^https?://[^/]*\.realme\.net(:[0-9]+)?$ $http_

Feb 23, 2024

小鸡的自我救赎: Alpine Linux

小鸡的自我救赎: Alpine Linux Alpine Linux 简介 出生时间 2005年8月 听听ChatCPT怎么说 Alpine Linux 是一个面向安全、简洁和资源效率的轻量级 Linux 发行版。它是基于 musl libc 和 busybox 的,这两个组件都是为了提供轻量级和简

OLDER

Spring 数据绑定

NEWER

Nginx配置跨越支持

Recently Updated

  • 拥抱云原生:Dockerfile 的多阶段构建
  • 拥抱云原生:Dockerfile
  • 拥抱云原生:Docker文件系统
  • 拥抱云原生:Docker 指令小析
  • 拥抱云原生:起始

Trending Tags

Nginx 工作报告 云计算 云原生 Alpine Linux Docker Spring Linux 面试智慧

Contents

©2025 nk. Some rights reserved.

Using the Halo theme Chirpy