0x00 前言
Alpine Linux是一个面向安全的轻型的Linux发行版,基于Alpine Linux 的超小型Docker镜像,大小只有5MB,并且可以访问比其他基于BusyBox 的镜像更完整的包存储库。Alpine Linux 采用了 musl libc 和busybox 以减小系统的体积和运行时资源消耗,由于小巧、功能完备,非常适合用于作为容器的基础镜像。
Alpine Linux有以下特点:
Alpine Linux是围绕musl libc 和busybox 构建的。这使得它比传统的GNU / Linux 发行版更小,资源效率更高。容器不需要超过8 MB,最小的磁盘安装需要大约130 MB的存储空间。不仅可以获得完全成熟的Linux环境,还可以从存储库中获得大量的软件包。
二进制包被稀释和拆分,可以更好地控制安装的内容,从而使环境尽可能小而有效。
Alpine Linux 是一个非常简单的发行版,它会尽量避免使用。它使用自己的包管理器名为apk,OpenRC init系统,提供了一个简单,清晰的Linux环境。然后,您可以添加项目所需的软件包,无论是构建iSCSI存储控制器,薄薄的邮件服务器容器,还是坚如磐石的嵌入式交换机,没有别的办法阻碍。
Alpine Linux 的设计考虑了安全性。内核使用grsecurity / PaX 的非官方端口进行修补,所有userland二进制文件都编译为具有堆栈粉碎保护的位置独立可执行文件(PIE)。这些主动安全功能可防止利用整个类的零日漏洞和其他漏洞。
0x01 镜像源
1.2 国内镜像源:
1.3 配置软件源
# vi /etc/apk/repositories
# 添加自己要配置的源,然后保存退出
http://dl-cdn./alpine/
http://nl./alpine/
http://uk./alpine
http://dl-2./alpine/
0x02 apk软件包管理
介绍
alpine提供了比较好用的软件包管理工具apk,通过该命令可以下载、删除、升级软件等,但是apk和apt-get以及yum语法上还是有区别的。
命令
通过apk –help可以查看apk有哪些命令
命令用法–以nginx为例
2.1 升级当前软件包
- apk update 更新本地镜像源
- apk upgrade 升级所有已安装的软件包,一般包括内核
- apk add –upgrade nginx 升级指定软件包
2.2 查询软件包的信息
- apk info 列出已经安装的软件包
- apk info nginx 显示软件包的信息
- apk info -a nginx 显示软件包完整的信息
2.3 搜索软件包
- apk search 查找所有可用软件包
- apk search -v 所以可用软件包及其描述内容
- apk search -v ‘nginx’ 通过软件包名称查找软件包
- apk search -v -d ‘nginx’ 通过描述文件查找特定的软件包
2.4 安装软件包
2.5 卸载并删除软件包
0x03 OpenRC init系统
在类Unix系统上,OpenRC 是一个基于依赖的init 。由于0.25 OpenRC 包含openrc-init ,它可以替换/ sbin/init ,但init 程序的默认提供程序是SysVinit for OpenRC 。与Linux一样,OpenRC也可用于多个BSD系统。
OpenRC是TrueOS,Gentoo,Alpine Linux,Parabola GNU / Linux-libre,Artix Linux 和其他类似unix 系统的默认初始化系统,而其他一些像Devuan则提供它作为选项
3.1 openrc的安装
apk add --no-cache openrc
3.2 rc-update - 不同运行级增加或者删除服务
rc-update add nginx 增加一个服务
rc-update del nginx 删除一个服务
3.3 rc-status - 运行级的状态管理
rc-status 查看默认运行级别的状态
rc-status -a 查看所有运行级别的状态
3.4 rc-service - 管理服务的状态
rc-service nginx start 启动一个服务
rc-service nginx stop 停止一个服务
rc-service nginx restart 重启一个服务
3.5 openrc - 管理不同的运行级
Alpine Linux 可用的运行级
default sysinit boot single reboot shutdown
3.5 关机重启指令 - 在容器中试了好像没反应
- reboot 重启系统,类似于shutdown -r now。
- halt 关机,类似于shutdown -h now。
- poweroff 关机
0x04 安装nginx
4.1 安装nginx软件并更新
- apk –update add –no-cache nginx
4.2 启动nginx(二选一执行)
- /etc/init.d/nginx start
- rc-service nginx start
4.3 将nginx添加到启动服务中,下次开机自动运行
4.4 测试
|