当前位置: 首页 > 工具软件 > alpine-xmrig > 使用案例 >

alpine 系统

薄兴昌
2023-12-01

alpine系统

简介

Alpine 操作系统是一个面向安全的轻型 Linux 发行版。它不同于通常 Linux 发行版,Alpine 采用了 musl libc 和 busybox 以减小系统的体积和运行时资源消耗,但功能上比 busybox 又完善的多,因此得到开源社区越来越多的青睐。在保持瘦身的同时,Alpine 还提供了自己的包管理工具 apk,可以通过 https://pkgs.alpinelinux.org/packages 网站上查询包信息,也可以直接通过 apk 命令直接查询和安装各种软件。

Alpine 由非商业组织维护的,支持广泛场景的 Linux发行版,它特别为资深/重度Linux用户而优化,关注安全,性能和资源效能。Alpine 镜像可以适用于更多常用场景,并且是一个优秀的可以适用于生产的基础系统/环境。

Alpine Docker 镜像也继承了 Alpine Linux 发行版的这些优势。相比于其他 Docker 镜像,它的容量非常小,仅仅只有 5 MB 左右(对比 Ubuntu 系列镜像接近 200 MB),且拥有非常友好的包管理机制。官方镜像来自 docker-alpine 项目。

目前 Docker 官方已开始推荐使用 Alpine 替代之前的 Ubuntu 做为基础镜像环境。这样会带来多个好处。包括镜像下载速度加快,镜像安全性提高,主机之间的切换更方便,占用更少磁盘空间等。

下表是官方镜像的大小比较:


REPOSITORY          TAG           IMAGE ID          VIRTUAL SIZE
alpine              latest        4e38e38c8ce0      4.799 MB
debian              latest        4d6ce913b130      84.98 MB
ubuntu              latest        b39b81afc8ca      188.3 MB
centos              latest        8efe422e6104      210 MB

特点

  • 小巧
    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)。这些主动安全功能可防止利用整个类的零日漏洞和其他漏洞。

相关资料

alpine官网

alpine官方仓库

alpine官方镜像

alpine官方镜像仓库

更新apk源:

echo "https://mirror.tuna.tsinghua.edu.cn/alpine/v3.8/main/" > /etc/apk/repositories //清华大学源
echo "https://mirrors.ustc.edu.cn/alpine/v3.8/main/" > /etc/apk/repositories //中科大源
echo "http://mirrors.aliyun.com/alpine/v3.8/main/" > /etc/apk/repositories //阿里云源

常用命令


apk update //更新最新镜像源列表

apk search //查找所以可用软件包

apk search -v //查找所以可用软件包及其描述内容

apk search -v ‘acf*’ //通过软件包名称查找软件包

apk search -v -d ‘docker’ //通过描述文件查找特定的软件包

apk add openssh //安装一个软件

apk add openssh openntp vim //安装多个软件

apk add --no-cache mysql-client //不使用本地镜像源缓存,相当于先执行update,再执行add

apk info //列出所有已安装的软件包

apk info -a zlib //显示完整的软件包信息

apk info --who-owns /sbin/lbu //显示指定文件属于的包

apk upgrade //升级所有软件

apk upgrade openssh //升级指定软件

apk upgrade openssh openntp vim //升级多个软件

apk add --upgrade busybox //指定升级部分软件包

apk del openssh //删除一个软件

服务管理


alpine没有使用fedora的systemctl来进行服务管理,使用的是RC系列命令:

rc-update //主要用于不同运行级增加或者删除服务

rc-status //主要用于运行级的状态管理

rc-service //主用于管理服务的状态

rc-status -a //列出系统所有服务

开启SSH服务


#安装openssh-server服务器

apk add openssh-server

 

#修改配置文件 /etc/ssh/sshd_config,

#如果要想使用root用户远程管理,需要修改参数为:

PermitRootLogin yes

 

#将ssh服务配置为开机自动启动

 rc-update add sshd

 

#如果你想立刻生效,可以执行命令:

/etc/init.d/sshd restart

软件包管理工具apk的基本使用

alpine 提供了非常好用的apk软件包管理工具,

可以方便地安装、删除、更新软件。

#查询openssh相关的软件包

apk search  openssh   

#安装一个软件包

apk add  xxx   

#删除已安装的xxx软件包

apk del  xxx   

#获取更多apk包管理的命令参数

apk --help   

 

#比如安装常用的网络相关工具:

#更新软件包索引文件

apk update    

#用于文本方式查看网页,用于测试http协议

apk add curl  

#提供了查看网络连接的协议端口的命令ss,可以替代netstat命令

apk add iproute2  

#drill 命令可以替代dig和nslookup DNS查询命令

apk add drill   

 

 #测试192.168.3.166的80端口,查看web服务是否能正常访问。

curl 192.168.3.166  

#查看建立的TCP连接

ss -ta   

#查询域名的信息

drill blog.csdn.net @8.8.8.8    

#根据IP地址,反向查找域名

drill -x 8.8.8.8 @47.94.71.34    

网络相关文件

#主机名文件

/etc/hostname    

#使用新设置的主机名立刻生效,执行如下命令:

hostname -F /etc/hostname   

 

#主机IP和域名映射文件

/etc/hosts    

#文件内容为:

192.168.99.100    alpine.csdn.net

 

#DNS 服务器配置文件

/etc/resolv.conf   

#文件内容为:

nameserver 218.2.135.1

nameserver 202.102.24.35

 

#网卡配置文件

/etc/network/interfaces

#文件内容为:

auto lo

iface lo inet loopback

 

auto eth0

iface eth0 inet static

      address 192.168.3.166

      netmask 255.255.255.0

      gateway 192.168.3.254

 

#修改完相关配置以后,重新启动网络服务:

/etc/init.d/networking restart
 类似资料: