Alpine-Linux:仅5MB的Linux

Alpine-Linux

在这里插入图片描述

简介

Alpine Linux 是一款独立的非商业性的通用 Linux 发行版,关注于安全性、简单性和资源效率。

Alpine Linux 围绕 musl libc 和 busybox 构建。这使得它比传统的 GNU/Linux 发行版更小,更节省资源。**一个容器只需不超过 8 MB 的空间。而在磁盘中的最小安装仅要大约 130 MB 的存储空间。**尽管体积很小,Apline 提供了完整的 Linux 环境,其存储库中还包含了大量的软件包备选。除此之外,Alpine 还对软件包进行了缩减和拆分,以使用户能够对安装内容有更精确的控制,进一步帮助减少安装体积并提高效率。

Alpine 的极简环境当然是优势,但是得考虑清楚你们是否真的需要这个优势,遇到问题有没有解决的能力。

Alipne Linux 由于使用了 musl libc,如果是那种专门在 CI 服务器的宿主机系统上构建应用再打包为镜像的流程(这是一种很常见的模式),就必须使用交叉编译的方式构建应用。需要交叉编译就不可避免的会遇到各种麻烦和风险。

还有一个较大的问题是依赖过少,比如在安装 php 的时候他不会自带 php-mysqli 等插件(实际上什么插件都不会自动安装)。

镜像获取/安装

docker

alpine Linux 主要用在 docker 容器中。直接 pull alpine 即可获取。大小仅5MB,非常推荐作为一些大规模启动的镜像的基础镜像。

docker pull alpine

虚拟机

镜像下载地址:https://dl-cdn.alpinelinux.org/alpine/v3.16/releases/x86_64/alpine-virt-3.16.2-x86_64.iso

因为占用小的缘故,把它拿去当作虚拟机做一些测试也非常合适。

安装

这里以 esxi 为例,创建新的虚拟机,名称和兼容性以实际需求为准,操作系统选 Linux,系统版本选 其他 Linux(64 位)。
在这里插入图片描述

CPU、内存选项依照虚拟机实际需求而定,CD/DVD 驱动器 选择 esxi 已经上传至服务器上的 ISO 文件。

系统版本可以随便选。虚拟机的配置也可以依照后续需求再去修改,所以可以随意配置,能运行就行。

添加虚拟机后启动即可,初始状态用户名输入 root 即可登入到系统里。
在这里插入图片描述

登入到系统后,输入 setup-alpine,开始系统的初始化和安装。安装过程非常简单快捷,大部分参数没有特殊需求的情况下可以直接使用默认配置(直接回车),只有以下几个注意项。

  1. Enter mirror numer (1-73) or URL to add:可以在这里选择源,也可以直接回车后面再去配置。
  2. Allow root ssh login:默认 ssh 不允许 root 登入,可以输入 yes 来允许 root 登入。
  3. Whic disk(s) would you like to use:他会列出你所有的硬盘,你需要选择你的硬盘。
  4. How would you like to use it:是否写入磁盘,选 sys。
  5. WARNING Erase the above disk(s) and continue:输入 y 确定擦除磁盘并继续。

待进度条加载完毕后即完成安装。

加粗项(3、4、5)是必选的,这样才可以将系统写入磁盘,不写入磁盘会导致重启虚拟机将导致配置失效和弹出 ISO 文件后无法启动虚拟机。

apk 包管理工具

alpine 提供了非常好用的apk软件包管理工具,通过apk –help命令查看完整的包管理命令。软件包源地址路径储存在 /etc/apk/repositories 文件里。该文件首行默认为 /media/cdrom/apks,一般情况下都会删除首行。如果前面安装系统时选择的源是默认源,可以使用一下命令改为清华大学源。

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

傻瓜式配置,直接运行以下命令即可:

echo 'http://mirrors.tuna.tsinghua.edu.cn/alpine/v3.16/main
http://mirrors.tuna.tsinghua.edu.cn/alpine/v3.16/community' > /etc/apk/repositories

常用命令

apk update:新本地仓库索引

apk add <package>:添加指定包

apk add --no-cache <package>:添加指定包,并且不使用本地cache进行安装,避免产生无用的缓存安装文件

apk del <package>:删除指定包,会连同安装的其他依赖一同删除

apk list:包的列表信息

openRC 服务管理

alpine linux 采用openrc来管理init系统。通过 apk add openrc 来安装 openrc。

启动/停止/重启服务

rc-service 用法与 service 命令相同。

  • rc-service <name> start:启动服务
  • rc-service <name> stop:停止服务
  • rc-service <name> restart:重启服务

查看服务

  • rc-status:查看启动的服务
  • rc-status -a:查看所有运行级别的服务
  • rc-status -s:查看服务列表

启动项

  • rc-update add <name> [default | boot]:将一个服务设置为开机自启,如果不懂 default 和 boot 的是什么那就别加这个参数。
  • rc-update del <name> :将一个服务从自启动中删除。

技术分享

欢迎各位小伙伴来此交流信息安全与寻找各种资源。
击链接加入QQ频道【信息安全】:https://pd.qq.com/s/71e776wtz

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值