Hits: 4

Alpine Linux配置使用技巧【一个只有5M的操作系统(转)】

https://www.cnblogs.com/zhangmingcheng/p/7122386.html

$ reboot #重启系统
$ poweroff #关机

设置固定IP

vi /etc/network/interfaces

更换源

vi /etc/apk/repositories

http://mirrors.aliyun.com/alpine/v3.10/main/
#http://mirrors.ustc.edu.cn/alpine/v3.10/main/
http://mirrors.aliyun.com/alpine/v3.10/community/
#http://mirrors.ustc.edu.cn/alpine/v3.10/community/

Alpine Linux是一个面向安全应用的轻量级Linux发行版。它采用了musl libc和busybox以减小系统的体积和运行时资源消耗,同时还提供了自己的包管理工具apk。

Alpine Linux的内核都打了grsecurity/PaX补丁,并且所有的程序都编译为Position Independent Executables (PIE) 以增强系统的安全性。

Alpine Linux的优势和问题

优势

  • Alpine Linux的Docker镜像特点是轻巧(大小只有5M)且有完整的包管理工具(APK)。
  • Docker官方镜像可能会用Alpine Linux替换Ubuntu。

问题

  • Alpine Linux使用了musl,可能和其他Linux发行版使用的glibc实现会有些不同。

Alpine Linux 包管理

apk包管理命令

Alpine使用

1
apk

进行包管理,通过apk –help命令查看完整的包管理命令,下面列举常用命令:

update:从远程镜像源中更新本地镜像源索引

update命令会从各个镜像源列表下载APKINDEX.tar.gz并存储到本地缓存,一般在/var/cache/apk/(Alpine在该目录下)、 /var/lib/apk/ 、/etc/apk/cache/下。

apt-update

add命令从仓库中安装最新软件包,并自动安装必须的依赖包,也可以从第三方仓库添加软件包。add:安装PACKAGES并自动解决依赖关系
apk add openssh openntp vim
$ apk add –no-cache mysql-client
$ apk add docker –update-cache –repository http://mirrors.ustc.edu.cn/alpine/v3.4/main/ –allow-untrusted

安装指定版本软件包

$ apk add asterisk=1.6.0.21-r0
$ apk add ‘asterisk<1.6.1’
$ apk add ‘asterisk>1.6.1

del:卸载并删除PACKAGES

apk del openssh openntp vim

  upgrade命令升级系统已安装的所以软件包(一般包括内核),当然也可指定仅升级部分软件包(通过-u或–upgrade选择指定)。upgrade:升级当前已安装的软件包

$ apk update #更新最新本地镜像源
$ apk upgrade #升级软件
$ apk add –upgrade busybox #指定升级部分软件包

search命令搜索可用软件包,-v参数输出描述内容,支出通配符,-d或–description参数指定通过软件包描述查询。search:搜索软件包

$ apk search #查找所以可用软件包
$ apk search -v #查找所以可用软件包及其描述内容
$ apk search -v 'acf*' #通过软件包名称查找软件包
$ apk search -v -d 'docker' #通过描述文件查找特定的软件包

info命令用于显示软件包的信息。info:列出PACKAGES或镜像源的详细信息

$ apk info #列出所有已安装的软件包
$ apk info -a zlib #显示完整的软件包信息
$ apk info --who-owns /sbin/lbu #显示指定文件属于的包

Alpine Linux使用的是

1
Gentoo

一样的

1
OpenRC

init系统.Alpine Linux init系统

以下命令可用于管理init系统:rc-update

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

rc-update语法格式

使用实例

$ rc-update add docker boot #增加一个服务
$ rc-update del docker boot #删除一个服务