Alpine 的 APK 代表什么?

Alpine 的 APK 代表什么?

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 种变体。然而,由于没有任何机构分配扩展名,程序员倾向于使用可以轻松与其程序名称关联的扩展名,例如.wksMicrosoft Works 和.wpdWordPerfect 文档。因此,即使在广泛使用的文件格式中,我们也已经存在冲突:

  • .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 月才发布),但这两个项目在发布时都没有得到广泛使用,因此他们很可能不知道文件扩展名的不幸选择

相关内容