通过Linux命令行上传/获取Debian私有组件
本文档介绍如何通过Linux命令行上传私有组件到Debian私有依赖库、如何从Debian私有依赖库获取依赖包。
前提条件
- 已有可用的Debian组件。
- 已有可连通公网的Linux系统主机。
- 已创建Debian格式私有依赖库。
- 请添加当前账号对当前私有库的权限,请参考管理用户权限。
发布私有组件到Debian私有依赖库
- 登录软件开发生产线,进入Debian私有依赖库。单击页面右侧“操作指导”。
- 在弹框中单击“下载配置文件”。
- 在Linux主机中执行以下命令,上传Debian组件。
curl -u <USERNAME>:<PASSWORD> -X PUT "https:// <repoUrl>/<DEBIAN_PACKAGE_NAME>;deb.distribution=<DISTRIBUTION>;deb.component=<COMPONENT>;deb.architecture=<ARCHITECTURE>" -T <PATH_TO_FILE>
其中“USERNAME”、“PASSWORD”、“repoUrl”来源于上一步下载的配置文件中“Debian上传命令”部分。
- USERNAME:上传文件使用的用户名,可以从Debian配置文件中获取,参考示例图片。
- PASSWORD:上传文件使用的密码,可以从Debian配置文件中获取,参考示例图片。
- repoUrl:上传文件使用的url,可以从Debian配置文件中获取,参考示例图片。
“DEBIAN_PACKAGE_NAME”、“DISTRIBUTION”、“COMPONENT”、“ARCHITECTURE”来源于待上传的Debian组件。
以组件“a2jmidid_8_dfsg0-1_amd64.deb”为例。
- DEBIAN_PACKAGE_NAME:软件包名称,例如:“a2jmidid_8_dfsg0-1_amd64.deb”。
- DISTRIBUTION:发行版本,例如:“trusty”。
- COMPONENT:组件名称,例如:“main”。
- ARCHITECTURE:体系结构,例如:“amd64”。
- PATH_TO_FILE:Debian组件的本地存储路径,例如:“/root/a2jmidid_8_dfsg0-1_amd64.deb”。
完整的命令如下图所示:
- 命令执行成功,进入私有依赖库,可找到已上传的Debian私有组件。
从Debian私有依赖库获取依赖包
以发布私有组件到Debian私有依赖库中发布的Debian私有组件为例,介绍如何从Debian私有依赖库中获取依赖包。
- 参考发布私有组件到Debian私有依赖库,下载Debian私有依赖库的“公钥”文件。
- 导入gpg公钥。
gpg --import <PUBLIC_KEY_PATH>
PUBLIC_KEY_PATH:Debian公钥的本地存储路径,例如:“artifactory.gpg.public”。
- apt导入公钥。
gpg --export --armor <SIG_ID> | apt-key add -
- apt仓库源添加。
打开配置文件(获取方法参考发布私有组件到Debian私有依赖库),将文件中所有“DISTRIBUTION”替换为上传Debian文件时使用的“COMPONENT”值(例如“main”),并根据下载的配置文件sources.list执行仓库源添加。
- 仓库源添加后,使用如下命令更新仓库源。
apt-get update
- 执行以下命令,下载Debian包。其中a2jmidid为包的“PACKAGE”值,请根据实际情况修改。
apt download a2jmidid