Linux: 软件包管理工具 apk 命令(Alpine Linux)_apk list-程序员宅基地

技术标签: Linux 常用命令与服务  linux  alpine  apk  

本文链接: https://xiets.blog.csdn.net/article/details/117205211

1. Alpine Linux

Alpine Linux 是基于 musl libc 和 busybox 的面向安全的轻量级 Linux 发行版。Alpine 的体积非常小,Alpine 的 Docker 镜像大小仅 5 MB 左右。Alpine 功能比 buysbox 完善,还提供了软件包管理工具 apk (Alpine Package Keeper)。

相关网站:

其他 Linux 软件包管理工具:

后面示例以 Alpine 3.13.5 为例。

2. 更新/安装/卸载 软件包

  • 更新
apk update              # 根据远程镜像源更新本地仓库中的所有软件包索引(通常在更新/安装软件包前先更新索引)
apk upgrade             # 从仓库中安装所有可用的软件包升级(升级本地已安装的软件包及其依赖项)

apk upgrade <package>   # 更新指定的软件包

# update 只更新索引, upgrade 才真正更新
  • 安装
apk add <package>               # 安装软件包(并自动安装依赖项)
apk add <package>=<version>     # 安装指定版本软件包

apk --no-cache add <package>    # 安装软件包, 不使用缓存

apk fix <package>               # 在不修改 WORLD 的情况下修复, 重新安装或升级软件包

apk 命令格式: apk [<OPTIONS>...] COMMAND [<ARGUMENTS>...]
其中每个子命令的 [OPTIONS...] 参数信息可以使用 --help 查询,如: apk add --help

  • 卸载
apk del <package>       # 删除软件包, 如果其依赖项不再本需要, 则将其一起卸载

# 删除软件包时默认会执行类似 apt autoremove 的清理操作

3. 查询/搜索/缓存 软件包

  • 列出软件包 (apk list)
apk list [<OPTIONS>...] PATTERN...  # 列出给定模式的软件包

# apk list --help 命令参数 (List options):
#     -I, --installed       只显示已安装的软件包
#     -O, --orphaned        只显示孤立的软件包
#     -a, --available       只显示可用的软件包
#     -u, --upgradable      只显示可升级的软件包
#     -o, --origin          按来源列出软件包
#     -d, --depends         按依赖关系列出软件包
#     -P, --providers       按提供者列出软件包

apk -I list                 # 列出已安装的所有软件包
apk -u list                 # 列出可升级的所有软件包
apk list <package>          # 列出指定软件包
  • 查询软件包的详细信息
apk info <package>          # 列出给定软件包或仓库的详细信息
apk info -R <package>       # 列出给定软件包依赖项
apk info --help             # 查询 apk info 命令的帮助/参数信息

apk dot --installed         # 将已安装软件包的依赖项呈现为 graphviz 图形
apk dot <package>           # 将给定装软件包的依赖项呈现为 graphviz 图形
  • 搜索软件包
apk search <string>         # 搜索软件包
  • 缓存管理
apk cache clean         # 删除旧的软件包
apk cache download      # 下载缺少的软件包
apk cache sync          # 删除旧软件包并下载缺少的程序包(上面两个步骤合并为一个)

使用缓存需要先开启缓存: https://wiki.alpinelinux.org/wiki/Local_APK_cache

4. 下载/离线安装 apk 软件包

使用 apk fetch 命令下载软件包到本地 (.apk 文件):

apk fetch [<OPTIONS>...] PACKAGES...    # 从配置的软件包仓库中下载软件包到本地

# apk fetch --help 命令参数 (Fetch options):
#     -L, --link            如果可能的话, 创建硬链接
#     -o, --output DIR      下载到指定文件夹(默认为当前文件夹)
#     -R, --recursive       下载软件包及其依赖项
#     -s, --stdout          将 .apk 文件转储到标准输出 
#     --simulate            模拟请求的操作,不做任何更改

下载软件包及其依赖项并离线安装示例:

$ apk fetch -R <package>            # 下载软件包及其依赖项
$
$ ls                                # 下载的软件包是 .apk 格式
xxxx.apk.   xxxx.apk    ...
$
$ apk add xxxx.apk xxxx.apk ...     # 离线安装 apk 软件包及其依赖项

5. apk --help

$ apk --help

apk-tools 2.12.5, compiled for x86_64.

usage: apk [<OPTIONS>...] COMMAND [<ARGUMENTS>...]

Package installation and removal:
  add        Add packages to WORLD and commit changes
  del        Remove packages from WORLD and commit changes

System maintenance:
  fix        Fix, reinstall or upgrade packages without modifying WORLD
  update     Update repository indexes
  upgrade    Install upgrades available from repositories
  cache      Manage the local package cache

Querying package information:
  info       Give detailed information about packages or repositories
  list       List packages matching a pattern or other criteria
  dot        Render dependencies as graphviz graphs
  policy     Show repository policy for packages

Repository maintenance:
  index      Create repository index file from packages
  fetch      Download packages from global repositories to a local directory
  manifest   Show checksums of package contents
  verify     Verify package integrity and signature

Miscellaneous:
  audit      Audit system for changes
  stats      Show statistics about repositories and installations
  version    Compare package versions or perform tests on version strings

This apk has coffee making abilities.
For more information: man 8 apk
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/xietansheng/article/details/117205211

智能推荐

基于惯性主轴方向的CATIA包围盒(Bounding Box)_catia bounding box-程序员宅基地

文章浏览阅读3k次,点赞4次,收藏13次。基于惯性主轴方向的CATIA包围盒(Bounding Box)通俗地说,对象的包围盒(Bounding Box)指的是一个最小的能将对象包含在内的长方体盒子。在机械设计中,零件(部件)的包围盒可用于确定是否和其他零件在装配中发生干涉,或者用于确定加工该零件所需的最小材料尺寸。在CATIA中,使用惯量测量(Mearure Inertia)工具可以直接测量得到3D模型的包围盒,这是一种确定对象包围盒尺寸的常用工具。惯量测量工具所测的包围盒等尺寸为相对于坐标系方向的包围盒,但有时候我们希望测得相对于惯性主轴的_catia bounding box

线程 vs 进程_线程vs进程-程序员宅基地

文章浏览阅读1.8w次,点赞15次,收藏87次。进程与线程的区别是很重要的一个知识点,也是面试中经常问到的。网上转载博客痕迹明显,且千篇一律。我简单提取下,记录下来,希望能帮到你。另外在 LeetCode 上也有关于此问题的讨论,可以直接浏览“Read more” 部分。引入进程之前–多道程序设计概述多道程序设计技术是操作系统最早引入的技术,它的设计思想是允多个程序同时进入内存并运行,其目的是为了CPU的利用率,进而提高系统效率。特点多道程序设_线程vs进程

pydev连接数据库mysql布署及python连接mysql问题及Python学习_those products with missing-程序员宅基地

文章浏览阅读2.2k次。 mysql本地、远程连接及'mysql' 不是内部或外部命令错误 - 程序员宅基地 https://blog.csdn.net/sjpljr/article/details/80115364Python3 MySQL 数据库连接 | 菜鸟教程(好用!) http://www.runoob.com/python3/python3-mysql.html安装:pip install p..._those products with missing

Python类里的__init__方法函数,Python类的构造函数_python中构造函数-程序员宅基地

文章浏览阅读1w次。如果某类里没有__init__方法函数,通过类名字创建的实例对象为空,切没有初始化;如果有此方法函数,通常作为类的第一个方法函数,有点像C++等语言里的构造函数。——————————————————————————————————————class Ca: def __init__(self, v): # 注意前后各两个下划线 sel_python中构造函数

Conflux人物志-杨光博士:徜徉在密码学中的“宝藏男孩”-程序员宅基地

文章浏览阅读531次。说起密码学,大多数人最先联想到的可能是波诡云谲的谍战,为了取得对方密码不惜一切代价的特工;或许也有人会想到二战时期的布莱奇利公园,年轻的图灵带领着一群天才数学家成功破解了..._密码专家阳光

面向对象-静态变量与单例设计模式_单例模式,使用static 变量-程序员宅基地

文章浏览阅读449次。1. Static1.1 什么是Staticstatic:静态的static可以用来修饰:方法、属性、代码块、内部块1.2 Static的使用1.2. 1static修饰属性:静态变量;属性:按是否使用static修饰,又分为静态变量 vs 非静态变量实例变量:当我们创建了类的多个对象,每个对象都独立的拥有一套类中的非静态属性,当修改其中一个对象中的非静态属性时,不会导致其它对象中同样的属性值修改静态变量:我们创建了类的多个对象,多个对象共享同一个静态变量,当通过某一个对_单例模式,使用static 变量

随便推点

go技术日报--2020-05-29_技术日报接口-程序员宅基地

文章浏览阅读745次。go 语言中文网(每日资讯)_2020-05-29一、Go 语言中文网Go 语言之父:拿过奥运银牌,发明过航天望远镜,想用 Go 语言解放程序员!Go Web 开发如何优雅的包含静态资源文件?Go:从 context 源码领悟接口的设计Go 异常处理详解Go Redis 客户端源码阅读(3)协程间的通信二、亚军进化史Go 技术日报(2020-05-28)三、xueyuanjunGo 语言 Web 编程系列(十六)—— 设置、读取和删除 Cookie四、 _技术日报接口

vs2013+NetCDF二维数据的读取方法-程序员宅基地

文章浏览阅读137次,点赞9次,收藏4次。说明:根据自己的实际情况请参考使用,更多问题请参考博客中的其他文章。环境:win7+vs2013+NetCDF4.4.2。

风险评估在应对网络安全威胁中扮演着重要的角色-程序员宅基地

文章浏览阅读771次,点赞15次,收藏8次。是从风险管理角度,运用科学的方法和手段,系统地分析信息系统所面临的威胁及其存在的脆弱性,评估安全事件一旦发生可能造成的危害程度,提出有针对性的防护对策和整改措施,防范和化解信息安全风险,将风险控制在可接受的水平,最大限度地保障信息安全提供科学依据。——风险对策会付出一定代价,需将不同风险对策的适用性与不同风险的后果结合考虑,使不同风险选择适宜的风险对策,形成高效的风险对策组合。:涉及多个国家和地区的业务运营,面临政治风险、汇率风险、文化差异等复杂因素,风险评估有助于企业更好地适应不同环境并降低潜在风险。

维基百科(Wikipedia)网址_维基中文百科官网入口-程序员宅基地

文章浏览阅读10w+次,点赞103次,收藏492次。分享几个维基百科网址镜像,服务器在国内,可以直接访问,并且打开速度比较快,因镜像网址的原因,搜索的结果也几乎相同,若无法访问国外的维基百科,那就来试试这个吧。_维基中文百科官网入口

常用应用层协议的报文格式_应用层协议报文格式-程序员宅基地

文章浏览阅读4.4k次。常见应用层协议的报文格式1.常用应用程序的端口号2.HTTP的报文格式1.常用应用程序的端口号名称应用层协议端口运输层协议说明超文本传输协议HTTP80TCP域名解析系统DNS53UDP/TCP长度超过512字节,使用TCP动态主机配置协议DHCP67/68UDP简单网络管理协议SNMP161/162UDP文件传..._应用层协议报文格式

javax.crypto.BadPaddingException: error:0407106B:rsa routines:RSA_padding_check_PKCS1_type_2:block t-程序员宅基地

文章浏览阅读1w次。RSA超过长度时报这个错,解决方法是 加密使用117 解密使用128 public static byte[] encryptByPublicKey(byte[] data, PublicKey publicKey){ int MAX_ENCRYPT_BLOCK = 117; try { Cipher cipher = Cipher.getInstance(CIPH_rsa_padding_check_pkcs1_type_2

推荐文章

热门文章

相关标签