云客户?
免费开始>
在MyJFrog中升级>
云的新功能>







概述

Artifactory支持Debian存储库,无论他们是否使用当前的自动Debian架构或已弃用的微不足道的体系结构。作为一个成熟的Debian存储库,Artifactory生成与Debian客户端完全兼容的索引文件。

Debian的人工支持提供:

  • 从Artifactory从本地和远程存储库向Debian客户端提供Debian包的能力。
  • 计算托管在Artifactory本地存储库中的Debian软件包的元数据。
  • 访问远程Debian资源(如2022世界杯阿根廷预选赛赛程us.archive.ubuntu.com)通过远程存储库它提供了通常的代理和缓存功能。
  • 提供GPG签名,Debian客户端可以使用它来验证包。
  • 使用Artifactory UI和REST API完成GPG签名的管理。
  • 支持部署Debian快照。

配置

您只能将Debian软件包部署到使用Debian创建的本地存储库中包类型

您可以从本地或远程Debian存储库下载包。

局部存储库

启用Debian元数据的计算,在政府模块,转到存储库|存储库|当地的并选择Debian随着包类型创建本地存储库时

如果您使用的是带有微不足道的布局,在Debian的设置节中,设置简单的布局复选框。

可选的索引压缩格式,点击选择压缩格式从下拉列表中选择除了默认格式之外,您希望创建的索引文件格式Gzip(。gzip扩展名),它是为每个Debian存储库创建的,不能禁用。方法创建其他索引文件格式本地存储库REST API。

若要允许对调试符号进行索引,请选择使用调试符号(.ddeb)启用索引字段。

页面内容

使用UI部署包

要将Debian包部署到Artifactory,请在Artifacts Repository Browser中单击部署

选择Debian存储库作为目标库,上传要部署的文件。

检查部署为Debian Artifact复选框,并填写分布、组件体系结构的字段。Debian工件部分。注意目标路径自动更新以反映您的输入。


手动设置目标路径?注意空格

中的字段Debian工件节来设置目标路径。然而,如果您选择指定目标路径手动地,确保您没有输入任何多余的空格。

例如上传软件包planckdb - 08 - 2015. -黛比,并指定其布局来自可靠的分布,在主要组件和i386建筑,你会进入:

池/ planckdb - 08 - 2015. - deb; deb.distribution =可靠的;deb.component =主;deb.architecture = i386


还可以使用显式URL将Debian软件包部署到Artifactory矩阵参数

在您部署工件之后,您需要等待大约一分钟,让Artifactory重新计算存储库索引,并在repository Browser中显示您的上传。

一旦你部署了Debian包,Artifactory重新计算了存储库索引,你的存储库应该被组织成如下所示:

使用矩阵参数部署包

URL的构建类似于目标路径格式如下:

使用矩阵参数部署包
把“http://SERVER_HOSTNAME: 8081 / artifactory / {debianRepoKey} /池/ {debianPackageName}; deb.distribution ={分布};deb.component ={组件};deb.architecture ={架构}"

例如,上传包libatk1.0_i386.d海尔哥哥,并指定其布局来自老生常谈的分布,在主要组件和i386建筑,你会进入:

例子
把“http://localhost: 8081 / artifactory / debian-local /池/ libatk1.0_i386.deb; deb.distribution =老生常谈的;deb.component =主;deb.architecture = i386”

设置目标路径

目标路径需要以严格和特定的格式输入,该格式使用系统属性来定义工件将被存储的位置及其具体布局,如下所示:

目标路径格式
(路径);deb.distribution =(分布);deb.component =(组件);deb.architecture =(建筑)
路径

应该存储包的存储库路径。

Artifactory支持将Debian软件包存储在存储库中的任何位置。本页上的示例展示了存储在文件夹按照Debian惯例。

分布
的值deb.distribution属性,用于指定Debian软件包发行版
组件
的值deb.component属性,用于指定Debian包组件名称
体系结构
的值deb.architecture属性,用于指定Debian软件包架构

添加与体系结构无关的包

上传Debian软件包deb.architecture =所有将导致它出现在相同发行版和组件下的所有其他体系结构的Packages索引中,以及在一个名为binary-all它包含所有标记为“all”的Debian软件包。
删除一个“all”Debian包也会从相同发行版和组件下的所有其他索引中删除它。
当一个体系结构中的最后一个Debian包被删除时,但是Packages索引仍然包含一个“all”Debian包,它将保留在索引中。
如果您希望删除这样的体系结构索引,您可以通过UI或使用计算Debian存储库元数据在REST API中,它从索引中清除孤立的包文件。

指定多个布局

无论是使用UI还是Matrix Parameters上传软件包,您都可以为您上传的任何Debian软件包指定多种布局,方法是包含以逗号分隔的发行版、组件或架构的附加值。

例如,上传包libatk1.0_i386.deb两个老生常谈的可靠的两种分布主要普通发布版组件和两者i38664年bit-arm架构你将指定以下目标路径上传使用UI:

多个布局的目标路径
池/ libatk1.0_i386.deb; deb.distribution =老生常谈的;deb.distribution =可靠的;deb.component =主;deb.component = contrib; deb.architecture = i386; deb.architecture = 64 bit-arm

相应地,要使用矩阵参数上传文件,您将使用以下命令:

使用矩阵参数的多种布局
把“http://localhost: 8081 / artifactory / debian-local /池/ libatk1.0_i386.deb; deb.distribution =老生常谈的;deb.distribution =可靠的;deb.component =主;deb.component = contrib; deb.architecture = i386; deb.architecture = 64 bit-arm”

工件元数据

Artifactory从Debian包的元数据中写入几个条目作为所有工件的属性(基于控制文件的内容)。

这些属性可以用来使用Arifactory的Package search更有效地搜索Debian软件包。

元数据属性是为部署到Artifactory的每个新工件编写的。

要将这些属性写入存储库中已经存在的Debian构件,您需要调用计算Debian存储库元数据默认情况下将属性写入所有构件的REST API。

元数据验证

为了确保Debian存储库不会被畸形包破坏,Artifactory首先验证部分Debian元数据,以确保没有相关的元数据字段为空。如果验证过程显示了一个畸形的包,Artifactory提供了几个指示:

  • 包没有索引
  • 该包用以下属性进行注释:
    • 关键:deb.index.status
    • 值:校验失败的原因
  • 如果包在Tree Browser中被选中,Debian Info选项卡将显示一条消息,指出它没有被索引,以及为什么它没有通过验证过程

Debian的信息

  • Artifactory日志文件中记录了一条消息,指出包没有被索引,以及它在验证过程中失败的原因。


禁用验证

Debian包验证由debian.metadata.validation 系统属性。默认情况下启用包验证。禁用Debian软件包验证设置:
debian.metadata.validation = false

查找畸形包

要在Debian存储库中轻松找到所有畸形的包,您可以使用属性搜索或运行AQL查询性能标准deb.index.status上述属性。

远程存储库

您可以如上所述从本地Debian存储库下载Debian软件包,或者从指定为支持Debian软件包的远程存储库下载Debian软件包。

要指定远程存储库支持Debian软件包,您需要设置其包类型Debian创建时。

请注意,远程Debian存储库的索引文件(包括源索引)是根据检索缓存周期设置。

计算Debian坐标

您可以从远程存储库中提取组件/发行版/体系结构坐标,并将它们分配为缓存包上的属性。

为此,右键单击相关的远程Debian存储库并选择计算Debian坐标。你也可以用计算缓存远程Debian存储库坐标REST API

对于包含许多包的远程存储库,此过程可能需要一些时间。建议仅在需要时运行。例如,在将包复制到本地存储库之前。

下面的执行将只计算新添加到缓存中的包。

虚拟存储库

Artifactory中定义的虚拟存储库聚合来自本地和远程存储库的包。

这允许您从为虚拟存储库定义的单个URL访问本地托管的Debian包和远程代理的Debian存储库。

要定义虚拟Debian存储库,请创建虚拟存储库,设置包类型Debian,并选择底层的本地和远程Debian存储库以包含在基本设置选项卡。

不支持琐碎布局

只有具有Automatic Layout的存储库才能包含在虚拟存储库中。一个弃用微不足道的虚拟存储库不支持布局。

索引远程体系结构

创建新的虚拟存储库时索引远程体系结构字段指定将为包含的远程存储库索引的体系结构。

指定这些体系结构将加快Artifactory的初始元数据索引过程。默认的体系结构值为amd64i386

设置可选的索引压缩格式除了默认的Gzip (. zip)之外,还可以使用您想要创建的索引文件格式。gzip扩展)。


签名Debian元数据

Artifactory支持使用GPG密钥对Debian存储库元数据(不是包)进行签名。这个过程将创建一个签名的发布文件Release.gpg,它将与发布文件一起发送。Artifactory将存储和管理用于签名和验证Debian软件包的公钥和私钥。

要生成一对GPG密钥并将其上传到Artifactory,请参见管理签名密钥


使用Debian快照

创建Debian快照

从Artifactory 7.41.3开始,Debian存储库包括对Debian快照的支持。Debian快照包含本地、远程或虚拟Debian存储库的固定状态的元数据。快照是不可变的,并且包含每个特定发行版的元数据文件夹,包括所有元数据文件,例如版本和包,而不是实际的包装。

快照可用于以下场景:

  • 作为备份,允许您在由于依赖项更改而导致包损坏的情况下轻松退回到以前的版本。
  • 为了发布的目的,测试的包文件可以被不可变地保存和提供。

在Artifactory中,Debian快照默认保存在repoKey /照片/美元标签并使用专用的创建Debian快照REST API创建。

在下面的例子中,一个名为2的Debian快照02203141800保存在deb-snapshot本地存储库,包含分布元数据。

规则及指引

  • 为了在Artifactory中使用Debian快照,您需要配置Debian客户端的源文件,使其指向以下路径:artUrl/ Artifactory /api/deb/$repoKey/ Snapshots /$tag
  • 的根源快照sub-repositoryrepoKey /照片/美元标签
  • 的所有元数据文件srcRepo / dist /美元分布,包括release和packages文件拷贝到快照文件夹。
  • 在该文件夹中,有一个名为deb.snapshot.source创建指向源存储库的。
  • 你需要使用/ artifactory / api / deb repoKey /照片/美元/标记,其中标记是快照的用户定义名称。
  • 删除快照不会删除相关的Debian软件包文件。Debian快照子存储库不包含包,而只是重定向到它们。

要创建Debian快照,请参见创建Debian快照REST API

解析Debian快照

为了在Artifactory中使用Debian快照,你需要将Debian客户端的源文件配置为指向以下路径:artUrl / artifactory / api / deb repoKey /照片/美元/标记


在Packages文件中添加MD5校验和

支持工具(例如:恰当地),要求Debian软件包在其您可以通过在Artifactory .system.properties文件中设置以下系统属性来配置Artifactory来添加该值:

#artifactory.debian.metadata.calculateMd5InPackagesFiles=true添加MD5校验和

要使此更改生效,需要重新启动Artifactory。


通过身份验证访问服务器

如果需要访问需要用户名和密码的安全Artifactory服务器,可以在Debian中指定source.list通过在工件主机名前加上所需的凭据来创建文件,如下所示:

使用凭证访问Artifactory
http://user:password@SERVER_HOSTNAME:8081/artifactory/{repoKey} {distribution} {components}例如:http://admin:password@localhost:8081/artifactory/debian-local wheezy main restricted

加密密码

您可以使用加密的密码,如使用安全密码


压缩格式

Artifactory支持以下Debian索引的压缩格式:

  • Gzip. gz文件扩展名)-由默认为每个Debian存储库,不能禁用。
  • Bzip2bz2文件扩展名)
  • LZMA.lzma扩展)
  • XZ.xz扩展)

通过哈希获取包

Artifactory支持APT客户端的按哈希获取功能,该功能适用于使用Automatic架构的Debian存储库(不支持按哈希获取包的Trivial架构)。该特性由两个支持系统属性

artifactory.debian.use.acquire.byhash

(默认值:真实)

当为true时,Debian发布文件中的acquire-by-hash值被设置为true,允许APT客户端通过校验和(MD5, SHA1, SHA256)访问Debian软件包。为此,Artifactory将在所有Debian存储库中添加“按散列”布局

artifactory.debian.packages.byhash.history.cycles.to.Keep

(默认值:3)

指定启用按哈希获取时要保存的包文件历史记录的周期数


使用Debian InRelease元数据文件

从7.4版开始,Artifactory支持Debian InRelease元数据文件。

人工会产生一个InRelease使用GPG签名时,存储库中的元数据文件。从Artifactory下载Debian包现在会更快,因为客户端只会下载InRelease文件,而无需下载释放Release.gpg更重的文件。


REST API支持

Artifactory REST API为Debian签名密钥和重新计算存储库索引提供了广泛的支持,如下所示:


观看视频

  • 没有标签
版权所有©2023 JFrog Ltd.