
# 通过客户端上传/下载RPM组件
CodeArts Artifact支持与本地RPM客户端对接，用户A可以通过客户端的方式将本地RPM客户端中的私有组件上传至CodeArts Artifact私有依赖库，其他用户再通过客户端的方式从CodeArts Artifact私有依赖库下载用户A上传的RPM组件，实现RPM组件的共享或传递。
#### RPM组件介绍
RPM（Red Hat Package Manager）是一种用于管理软件包的格式和工具，最初由Red Hat开发，现在广泛应用于多个Linux发行版，如Red Hat Enterprise Linux (RHEL)、Fedora、CentOS、SUSE等。RPM组件（RPM Packages）是一种包含软件和元数据的文件，用于安装、升级和卸载软件包。
#### 约束与限制
不同用户账号的私有依赖库仓库密码不同，当用户以不同账号访问私有依赖库时，如果需要使用仓库密码，则需要在各仓库"操作指导"中重新下载配置文件获取仓库密码。
#### 前提条件
- 使用Linux系统和yum工具，请确保使用Linux系统，且已安装yum。
  在Linux主机中输入以下命令，可以检查Linux下是否安装yum工具。
  ```
  rpm -qa yum
  ```
  如果出现如下内容，则证明机器已安装yum工具。
  ![](https://support.huaweicloud.com/usermanual-cloudartifact/zh-cn_image_0000002549644761.png)
  
- 已[创建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#cloudartifact_01_0007__section1789618380209)。
2. 在私有依赖库页面选择对应的RPM仓库。
3. 单击页面右侧"操作指导"。
4. 在弹框中单击"下载配置文件"。
5. 在Linux主机中执行以下命令，上传RPM组件。 
   ```
   curl -k -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/usermanual-cloudartifact/zh-cn_image_0000002513698916.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/usermanual-cloudartifact/zh-cn_image_0000002545218811.png "点击放大")
       
       命令执行成功，进入私有依赖库，可找到已上传的RPM私有组件。
       
      
   
   
   
   
 
#### 通过客户端下载RPM组件
1. 使用华为云账号[访问CodeArts Artifact的私有依赖库](https://support.huaweicloud.com/usermanual-cloudartifact/cloudartifact_01_0007.html#cloudartifact_01_0007__section1789618380209)。
2. 在私有依赖库页面选择对应的RPM仓库。
3. 单击页面右侧"操作指导"。
4. 在"操作指导"对话框，单击"下载配置文件"，下载RPM私有依赖库配置文件。
5. 打开配置文件，将文件中所有"{{component}}"替换为上传RPM文件时使用的"{{component}}"值（本文档中该值为"hello"），并删除"rpm上传命令"部分，保存文件。
6. 将修改后的配置文件保存到Linux主机的"/etc/yum.repos.d/"目录中。 
   ![](https://support.huaweicloud.com/usermanual-cloudartifact/zh-cn_image_0000002513858834.png "点击放大")
   
   
7. 执行以下命令，下载RPM组件。其中，hello为组件的"component"值，请根据实际情况修改。 
   ```
   yum install hello
   ```
   
   
 
