Alpine Linux 使用apk
作为其包管理器,其安装程序文件是.apk
...就像 Android 文件一样。
这些有任何关联吗?如果有关联,如何关联?
如果没有关联,APK 代表什么(阿尔卑斯山包?),为什么他们为他们的包管理器选择相同的名称,因为这听起来可能令人困惑?网络上没有关于管理器名称的信息。
答案1
Android 应用程序包 .apk
文件是包含程序代码、资源、资产、证书和清单文件的软件档案。档案格式基于 JAR(Java 档案),而 JAR 又基于 ZIP 档案格式。(MIME 类型:application/vnd.android.package-archive
。)
相似地,Alpine Linux 软件包管理 .apk
文件是经过数字签名的tar.gz
档案,其中包含程序、配置文件和依赖项元数据。其存储库只是一个包含这些文件和索引文件的文件夹。这些.apk
文件通常被称为“a-packs”,但我不确定扩展名是否来自该昵称或反之亦然——起源并不重要。
这两种用法没有任何关联并且包是不兼容的。
除此之外,.apk
文件也可能指
- 4C Media, Inc. 的 Active Tutor(项目)
- IGN Entertainment, Inc. 的 GameSpy Arcade(服务)
- 微软公司的“火车模拟器”(套装活动)
不同的程序具有相同的文件扩展名的情况并不少见。虽然文件扩展名最初是通用的,就像.txt
纯文本和.gfx
图形一样(后来是.csv
逗号分隔变量),但它们很快就与某些程序紧密相关。
有人可能会认为,每个程序都有大量不同的 AZ 和 0-9 三字符组合,每个程序都有自己的扩展名,因为 36^3 有 46,656 种变体。然而,由于没有任何机构分配扩展名,程序员倾向于使用可以轻松与其程序名称关联的扩展名,例如.wks
Microsoft Works 和.wpd
WordPerfect 文档。因此,即使在广泛使用的文件格式中,我们也已经存在冲突:
.rpm
:RealPlayer 媒体文件 / RedHat 软件包管理器软件包 / RunPaint 多色图形.qif
:QuickTime 图像 / Quicken 交换格式 / DESQview 压缩字体档案.gba
:GrabIt 脚本 / Game Boy Advance ROM 映像- 在许多视频文件格式中,扩展名仅说明容器,但文件类型可以包含不同类型的压缩,并且可以在不同文件类型中使用相同的压缩。
除了造成混淆之外,这只会在系统将要打开的文件扩展名与某个程序(如 Windows 资源管理器)关联时导致实际问题。除了扩展名之外,还有其他方法可以区分文件类型,例如解释器指令(例如#!/bin/bash
她怦然心动在 Unix/Linux 脚本的开头)或(注册)MIME 类型(看RFC 6838),在发送实际比特流之前,一行文本说明文件类型,如 HTTP 标头Content-Type: text/html; charset=UTF-8
。Adobe PDF 就是一个很好的例子,因为文件以%PDF-1.5
(PDF 和版本) 开头,说明这是一个 PDF 文件,它可以包含对象是其他文件类型的比特流,例如/Filter/DCTDecode
对于 JPEG 图像。
答案2
这是偶然的巧合。摘自 Alpine 的网站和 wiki:
Alpine 的打包和开发系统是 ArchLinux 与 Gentoo 和 FreeBSD 的混合体。我们的包管理和构建实用程序与 Arch 的非常相似。
apk
来自 apk-tools 是 Alpine 的包管理器,与 Arch 的一样pacman
和
Alpine Linux 的软件包是经过数字签名的 tar.gz 档案,其中包含程序、配置文件和依赖项元数据。它们的扩展名为 .apk,通常称为“a-packs”。
答案3
就像声明的那样这里
APK 代表 Alpine Linux 包管理器
由于 Android .apk 文件是使用 Play 商店安装的,而 Alpine .apk 工具是使用 apk 工具安装的,因此普通用户不会感到困惑。
答案4
最后,让我们来回答一下 APK 在 Alpine 语境中到底代表什么:根据Alpine 文档,是 的缩写,代表Alpine Package Keeper
。
这可能还会告诉您它与 Android APK 文件无关(这些是的缩写Android Package Kit
),并且仅仅巧合地使用相同的文件结尾。
缩写不幸重叠的原因可能是,尽管 Android 很可能首先使用缩写(Android 1.0 于 2008 年 9 月发布,而 Alpine 2.0(实际上是 Alpine 的第一个发布版本)于 2010 年 8 月才发布),但这两个项目在发布时都没有得到广泛使用,因此他们很可能不知道文件扩展名的不幸选择