
# 通过Linux命令行上传/获取RPM私有组件
在软件开发过程中，开发人员经常需要将自定义的私有组件上传至RPM私有依赖库，以便团队成员能够方便地获取并使用这些组件。然而，由于缺乏详细的指导文档，开发人员在使用Linux命令行进行上传时可能会遇到困难，导致组件上传失败或依赖包获取不成功。如何解决这一问题，确保私有组件能够顺利上传并被正确获取？本文档将详细介绍如何通过Linux命令行上传私有组件到RPM私有依赖库，以及如何从RPM私有依赖库中获取依赖包，帮助开发人员顺利完成组件的上传和依赖包的获取。
#### 前提条件
- 已有可用的RPM组件。
- 已有可连通公网的Linux系统主机。
- 已[创建RPM格式私有依赖库](https://support.huaweicloud.com/usermanual-cloudartifact/cloudartifact_01_0008.html)。
- 已添加当前账号对当前私有库的"上传"、"下载/查看"私有库组件权限，具体操作请参考[配置私有依赖库权限](https://support.huaweicloud.com/usermanual-cloudartifact/cloudartifact_01_0047.html)。
 
 #### 发布私有组件到RPM私有依赖库
1. 使用华为云账号[访问CodeArts Artifact的私有依赖库](https://support.huaweicloud.com/usermanual-cloudartifact/cloudartifact_01_0007.html#section0)。
2. 选择RPM私有依赖库。单击页面右侧"操作指导"。 
   ![](https://support.huaweicloud.com/bestpractice-cloudartifact/zh-cn_image_0000002512517019.png "点击放大")
   
   
   
3. 在弹框中单击"下载配置文件"。
4. 在Linux主机中执行以下命令，上传RPM组件。 
   ```
   curl -u {{user}}:{{password}} -X PUT https://{{repoUrl}}/{{component}}/{{version}}/ -T {{localFile}}
   ```
   其中，"user"、"password"、"repoUrl"来源于[上一步]下载的配置文件中"rpm上传命令"部分。
   - user：位于curl -u与-X之间、":"之前的字符串。
   
   - password：位于curl -u与-X之间、":"之后的字符串。
   
   - repoUrl："https://"与"/{{component}}"之间的字符串。
   
   
   ![](https://support.huaweicloud.com/bestpractice-cloudartifact/zh-cn_image_0000002480237152.png "点击放大")
   
   "component"、"version"、"localFile"来源于待上传的RPM组件。以组件"hello-0.17.2-54.x86_64.rpm"为例。
   - component：软件名称，即"hello"。
   
   - version：软件版本，即"0.17.2"。
   
   - localFile：RPM组件，即"hello-0.17.2-54.x86_64.rpm"。
   
   
   完整的命令行如下图所示：
   ![](https://support.huaweicloud.com/bestpractice-cloudartifact/zh-cn_image_0000002512517023.png "点击放大")
   
   
   
5. 命令执行成功，进入私有依赖库，可找到已上传的RPM私有组件。
 
#### 从RPM私有依赖库获取依赖包
1. 参考[发布私有组件到RPM私有依赖库]，下载RPM私有依赖库配置文件。
2. 打开配置文件，将文件中所有"{{component}}"替换为上传Rpm文件时使用的"{{component}}"值（本文档中该值为"hello"），并删除"rpm上传命令"部分，保存文件。 
   
   
   
3. 将修改后的配置文件保存到Linux主机的"/etc/yum.repos.d/"目录中。 
   ![](https://support.huaweicloud.com/bestpractice-cloudartifact/zh-cn_image_0000002480397126.png "点击放大")
   
   
4. 执行以下命令，下载RPM组件。其中，hello为组件的"component"值，请根据实际情况修改。 
   ```
   yum install hello
   ```
   
   
 
