apk Alpine Linux的优势和问题

把玩Alpine linux(二):APK包管理器 AlpineLinux非常精简,开机内存占用也在二三十兆大,没有拆箱即用,就需要我们自己去做一些了解和配置 Alpine Linux的优劣 优势 Alpine Linux的Docker镜像特点是轻巧(大小只有5M)且有完整的包管理工具(APK)。 Docker官方镜像可能会用Alpine Linux替换Ubuntu。 劣势 Alpine Linux使用了musl,可能和其他Li... 阅读详情

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使用apk进行包管理,通过apk --help命令查看完整的包管理命令,下面列举常用命令:

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

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

1
$ apk update
  • add:安装PACKAGES并自动解决依赖关系

add命令从仓库中安装最新软件包,并自动安装必须的依赖包,也可以从第三方仓库添加软件包。

1
2
3
$ 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

安装指定版本软件包

1
2
3
$ apk add asterisk=1.6.0.21-r0
$ apk add 'asterisk<1.6.1'
$ apk add 'asterisk>1.6.1'
  • del:卸载并删除PACKAGES
1
$ apk del openssh openntp vim
  • upgrade:升级当前已安装的软件包

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

1
2
3
$ apk update    #更新最新本地镜像源
$ apk upgrade   #升级软件
$ apk add --upgrade busybox   #指定升级部分软件包
  • search:搜索软件包

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

1
2
3
4
$ apk search            #查找所以可用软件包
$ apk search -v         #查找所以可用软件包及其描述内容
$ apk search -v 'acf*'  #通过软件包名称查找软件包
$ apk search -v -d 'docker'   #通过描述文件查找特定的软件包
  • info:列出PACKAGES或镜像源的详细信息

info命令用于显示软件包的信息。

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

镜像源配置

MIRRORS.txt中是当前Alpine官方提供的镜像源(Alpine安装的时候系统自动选择最佳镜像源)

  • 国内镜像源

清华TUNA镜像源:https://mirror.tuna.tsinghua.edu.cn/alpine/
中科大镜像源:http://mirrors.ustc.edu.cn/alpine/
阿里云镜像源:http://mirrors.aliyun.com/alpine/

如何配置软件源

以中科大源为例:在/etc/apk/repositories文件中加入对应源地址就行了,一行一个地址。

1
2
3
4
$ vi /etc/apk/repositories
# /media/cdrom/apks
http://mirrors.ustc.edu.cn/alpine/v3.5/main
http://mirrors.ustc.edu.cn/alpine/v3.5/community

Alpine Linux init系统

Alpine Linux使用的是Gentoo一样的OpenRCinit系统.

以下命令可用于管理init系统

  • rc-update

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

rc-update语法格式

1
2
3
4
5
6
7
8
9
10
11
12
13
Usage: rc-update [options] add <service> [<runlevel>...]
   or: rc-update [options] del <service> [<runlevel>...]
   or: rc-update [options] [show [<runlevel>...]]

Options: [ asuChqVv ]
  -a, --all                         Process all runlevels
  -s, --stack                       Stack a runlevel instead of a service
  -u, --update                      Force an update of the dependency tree
  -h, --help                        Display this help output
  -C, --nocolor                     Disable color output
  -V, --version                     Display software version
  -v, --verbose                     Run verbosely
  -q, --quiet                       Run quietly (repeat to suppress errors)

使用实例

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

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

rc-status语法格式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Usage: rc-status [options] <runlevel>...
   or: rc-status [options] [-a | -c | -l | -r | -s | -u]

Options: [ aclrsuChqVv ]
  -a, --all                         Show services from all run levels
  -c, --crashed                     Show crashed services
  -l, --list                        Show list of run levels
  -r, --runlevel                    Show the name of the current runlevel
  -s, --servicelist                 Show service list
  -u, --unused                      Show services not assigned to any runlevel
  -h, --help                        Display this help output
  -C, --nocolor                     Disable color output
  -V, --version                     Display software version
  -v, --verbose                     Run verbosely
  -q, --quiet                       Run quietly (repeat to suppress errors)

使用实例

1
2
$ rc-status  #检查默认运行级别的状态
$ rc-status -a #检查所有运行级别的状态
  • rc-service

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

rc-service语法格式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Usage: rc-service [options] [-i] <service> <cmd>...
   or: rc-service [options] -e <service>
   or: rc-service [options] -l
   or: rc-service [options] -r <service>

Options: [ e:ilr:INChqVv ]
  -e, --exists <arg>                tests if the service exists or not
  -i, --ifexists                    if the service exists then run the command
  -I, --ifinactive                  if the service is inactive then run the command
  -N, --ifnotstarted                if the service is not started then run the command
  -l, --list                        list all available services
  -r, --resolve <arg>               resolve the service name to an init script
  -h, --help                        Display this help output
  -C, --nocolor                     Disable color output
  -V, --version                     Display software version
  -v, --verbose                     Run verbosely
  -q, --quiet                       Run quietly (repeat to suppress errors)

使用实例

1
2
3
$ rc-service sshd start #启动一个服务。
$ rc-service sshd stop  #停止一个服务。
$ rc-service sshd restart  #重启一个服务。
  • openrc

openrc主要用于管理不同的运行级。

openrc语法格式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Usage: openrc [options] [<runlevel>]

Options: [ a:no:s:SChqVv ]
  -n, --no-stop                     do not stop any services
  -o, --override <arg>              override the next runlevel to change into
                                    when leaving single user or boot runlevels
  -s, --service <arg>               runs the service specified with the rest
                                    of the arguments
  -S, --sys                         output the RC system type, if any
  -h, --help                        Display this help output
  -C, --nocolor                     Disable color output
  -V, --version                     Display software version
  -v, --verbose                     Run verbosely
  -q, --quiet                       Run quietly (repeat to suppress errors)

Alpine Linux可用的运行级

  • default
  • sysinit
  • boot
  • single
  • reboot
  • shutdown

使用实例

1
$ openrc single #更改为single运行级
  • 其它指令
1
2
3
$ reboot  #重启系统,类似于shutdown -r now。
$ halt     #关机,类似于shutdown -h now。
$ poweroff #关机

参考文档

http://www.google.com
http://t.cn/RizgdLy
https://wiki.alpinelinux.org/wiki/Alpine_Linux_Init_System
https://wiki.alpinelinux.org/wiki/Alpine_Linux_package_management

Alpine Linux(初) Alpine Linux是一个基于安全的轻量级Linux发行版,基于musl libc和busybox。是一个独立的,非商业的通用Linux发行版,专为那些喜欢安全性,简单性和资源效率的高级用户而设计。 特点: 小。简单。安全。 小 Alpine Linux是围绕musl libc和busybox构建的。这使它比传统的GNU / Linux发行版更小,资源效率更高。容器不需要超过8 MB,最小... 阅读详情

相关推荐

混合整数规划(MIP)在资源优化中的实战应用

本文深入探讨了混合整数规划(MIP)在资源优化中的实战应用,从菜市场采购到工厂调度,再到物流配送和钢铁厂切割问题。通过分支定界法和割平面法等技术,MIP能够有效解决包含整数和连续变量的复杂优化问题,提升企业运营效率。文章还介绍了现代求解器的优化策略和实际项目中的避坑指南,帮助读者更好地应用MIP技术。

weixin_30500105的博客 91

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

转自https://www.cnblogs.com/zhangmingcheng/p/7122386.html Alpine Linux是一个面向安全应用的轻量级Linux发行版。它采用了musl libc和busybox以减小系统的体积和运行时资源消耗,同时还提供了自己的包管理工具apk。 Alpine Linux的内核都打了grsecurity/PaX补丁,并且所有的程序都编译为Posit...

gezilan的博客 1760

(1)大蚂蚁即时通讯

即时通讯软件BigAnt(大蚂蚁)是杭州艾朴软件推出的一个”企业级”的即时通讯平台。该平台专为企业,其他企事业单位和政府单位而设计,目的就是为了增强内部沟通能力,提高内部员工的工作效率;同时服务器就直接置于单位内部,所有信息由单位自己管理,让单位以更安全、更可伸缩和更易于管理的方式灵活方便地使用协同和通信服务的功能! BigAnt(大蚂蚁)即时通讯软件包括服务器端和客户端。客户端功能包括单位

少安的砖厂 2237

Alpine Linux常用命令

目录 一:Alpine Linux开启SSH远程登陆 1.简介: 2.配置 3.配置命令 4.重启服务 二:Alpine Linux源管理 1.简介 2.国内源简介: 3.配置: 3.我的配置: 三:Alpine Linux 包管理 1.简介 2.apk update 3.apk search 4.apk add 5.apk info ...

rentian1的博客 4021

数仓 - 促销敏感度、评论敏感度

1. 促销敏感度 步骤1. 首先按照最后一次下单时间及有无复购情况将用户分为四大群体: 近一年有购物行为且复购的用户 -- L1 (今年复购用户) 近一年有购物行为但无复购的用户 --L2 (今年一单购用户) 最后一次下单时间在1年之前且有复购的用户 --L3 (今年无购且只有一单用户) 最后一次下单时间在1年之前但无复购的用户 -- L4 (今年无购多单用户) 步骤2. 每一类用户群再根据优惠订单占比、每单优惠金额占比的平均值、优惠金额这三个指标进行k-means聚类,分为: 非常敏感 -

weixin_41332009的博客 1900

从零部署DeepSeek V4 Flash:NVIDIA DGX Spark实战指南

GPU加速计算已成为现代人工智能基础设施的核心,其原理是通过并行处理架构大幅提升深度学习模型的训练与推理效率。在AI工程实践中,NVIDIA GPU凭借CUDA生态和专用驱动栈,为大规模语言模型部署提供了硬件基础。本文聚焦于企业级AI服务器部署场景,针对NVIDIA DGX Spark多节点系统的硬件初始化、驱动兼容性配置、容器化部署等关键环节,提供从系统层到应用层的完整解决方案。通过vLLM推理框架的实战配置,演示如何将DeepSeek V4 Flash模型高效部署于多GPU环境,涵盖Tensor Par

weixin_32296621的博客 382

Alpine-Linux:仅5MB的Linux

Alpine-Linux,一款极其精简的linux,一个容器只需不超过 8 MB 的空间。而在磁盘中的最小安装仅要大约 130 MB 的存储空间。

sanqin_的博客 4908

Android:Google三方库之Adjust集成详细步骤

Android为APP添加google adjust功能

学习就是我的个性 4476

Alpine

Alpine

Eternity_zzh的博客 280

【20】方案管理器

方案管理器是Excel中一个非常强大且灵活的工具,适合用于多情景分析和比较。在复杂的决策过程中,它可以帮助用户快速管理和评估不同变量组合下的结果,从而优化决策过程。

学习,输出==》再学习再输出 1586

(9-2)离线强化学习:离线强化学习的主流方法

本文介绍了三种离线强化学习的主流约束策略优化方法:BCQ、CQL和Fisher-BRC,并通过CartPole环境进行性能比较。BCQ利用生成模型约束动作选择并引入扰动网络;CQL通过正则化Q值抑制对未见状态-动作对的高估;Fisher-BRC使用Fisher散度正则化策略分布。实验结果表明,三种方法各有优势,其中CQL表现最为稳定。文章还指出,为获得更好的性能,需要更大的数据集和更长的训练轮次。这些方法通过限制策略优化范围,有效提高了离线强化学习的稳定性和泛化能力。

码农三叔 1542

容器基础镜像首选-Alpine Linux简介

Alpine Linux简介

quyingzhe0217的博客 1216

深入探讨 SAP ERP 物料主数据中的 Valuation Type

在 SAP ERP 系统中,是用于区分同一种物料在不同条件下的估价方法。物料的估价可以因产地、质量等级、供应商或批次的不同而有所差异。通过为物料设置不同的估价类别,使企业能够对这些差异进行有效管理。为了实现更细致的物料成本核算,SAP 系统通过(分批估价)功能允许为同一物料设置多个估价类型。这种方法特别适合那些在来源、质量、或其他参数上存在显著差异的物料。是 SAP ERP 和 SAP S/4HANA 中物料主数据的核心组成部分,为企业提供了灵活的成本管理工具。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1408

Docker 镜像瘦身进阶:多阶段构建与 Alpine 的极致优化实践

本文深入探讨了Docker镜像瘦身的进阶实践,重点介绍了多阶段构建与Alpine Linux的极致优化组合。通过剖析多阶段构建的设计哲学与Alpine的轻量优势,并结合Node.js、Go等实战案例,详细展示了如何将臃肿镜像缩减数十倍,有效提升部署效率、安全性与资源利用率。

weixin_29196613的博客 243

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

alpine linux apk删除,把玩Alpine linux(二):APK包管理器

原标题:把玩Alpine linux(二):APK包管理器Alpine Linux非常精简,开机内存占用也在二三十兆大,没有拆箱即用,就需要我们自己去做一些了解和配置。 Alpine Linux的优劣优势Alpine Linux的Docker镜像特点是轻巧(大小只有5M)且有完整的包管理工具(APK)。Docker官方镜像可能会用Alpine Linux替换Ubuntu。劣势Alpine Linu...

weixin_32483357的博客 2829

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Alpine Linux详解

简介 Small. Simple. Secure.Alpine Linux is a security-oriented, lightweight Linux distribution based on musl libc and busybox. Alpine Linux 是一个社区开发的面向安全应用的轻量级Linux发行版。 Alpine 的意思是...

weixin_34329187的博客 1851

alpine Linux简介、alpine制作jdk镜像、jre镜像、 Alpine 命令

文章目录一、alpine Linux简介alpine制作jdk镜像1.下载镜像Alpine制作jre镜像二、 Alpine 命令0- 简介0.1- 特点0.2- Docker下的运行0.3- 作为Docker容器的基础镜像0.4- 网卡配置文件1- Alpine Linux源管理1.1- 国内源1.2- 配置1.3- 执行命令2- Alpine包管理2.1- apk命令2.1.1- apk update2.1.2- apk search2.1.3- apk add2.1.4- apk info2.1.5-

weixin_46837396的博客 1478

Alpine Linux

Alpine Linux 基于Alpine写Dokerfile 并作出网站

weixin_72435491的博客 886

Alpine介绍与apk的基本使用

Alpine是一个面向安全的轻量级的Linux发行版,相比与CentOS,ubuntu体积小很多,大约只有5M左右

shura1014的博客 2748

终极指南:10个Alpine Linux Docker镜像的核心优势,为什么它比Ubuntu更好

Alpine Linux Docker镜像作为轻量级容器解决方案,正在彻底改变Docker生态系统。这个基于Alpine Linux的Docker镜像仅有5MB大小,却提供了完整的包管理系统和丰富的软件生态。如果你正在寻找更高效、更快速的容器部署方案,那么Alpine Linux Docker镜像绝对是你的不二选择。 ## 🚀 极致的轻量化设计 Alpine Linux Docker镜像最大

gitblog_00067的博客 750

Alpine Linux 操作系统 Docker 构建最小镜像

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

访问受限丶 1046

Alpine linux 小内存版,Alpine Linux,一个只有5M的Docker镜像

简介Alpine Linux Docker镜像基于Alpine Linux操作系统,后者是一个面向安全的轻型Linux发行版。不同于通常Linux发行版,Alpine Linux采用了musl libc和busybox以减小系统的体积和运行时资源消耗。在保持瘦身的同时,Alpine Linux还提供了自己的包管理工具apk,可以在其网站上查询,或者直接通过apk命令查询和安装。Alpine Lin...

weixin_31939387的博客 1059

Alpine Linux配置使用技巧

Alpine Linux的内核都打了grsecurity/PaX补丁,并且所有的程序都编译为Position Independent Executables (PIE) 以增强系统的安全性。 Alpine Linux的优势和问题 优势 Alpine Linux的Docker镜像特点是轻巧(大小只有5M)且有完整的包管理工具(APK)。 Docker官方镜像可能会用Alpine Linu...

shadow_zed的博客 1339
上一篇: Docker入门与应用系列(五)Dockerfile
下一篇: Calendar获取当前日期,或前几天,或后几天的日期
王树民
博客等级 码龄10年 912粉丝 560原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值