# rpkm **Repository Path**: decvgr/rpkm ## Basic Information - **Project Name**: rpkm - **Description**: 使用c语言自制的极简Linux包管理器 - **Primary Language**: C - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-20 - **Last Updated**: 2026-02-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # RPKM - RPK Package Manager RPKM 是一个轻量级的软件包管理工具,用于管理系统上的 RPK(Remote Package Kit)软件包。该工具提供了完整的包管理功能,包括安装、卸载、搜索和列出已安装的软件包。 ## 功能特性 - **软件包安装**: 支持从本地 .rpk 文件安装软件包 - **远程下载**: 可以从配置的仓库源下载并安装软件包 - **软件包搜索**: 在仓库中搜索指定的软件包 - **依赖管理**: 支持软件包依赖关系管理 - **完整性验证**: 支持 SHA256 哈希校验,确保软件包安全性 - **多仓库支持**: 可以配置多个软件源仓库 - **本地数据库**: 维护已安装软件包的本地数据库 ## 系统要求 - GCC 编译器 - Make 工具 - curl 库(用于网络下载) - 标准 C 库 ##编译方式 gcc -o rpkm rpkm.c ##安装方式 cp rpkm /bin/ ### 配置说明 RPKM 使用以下默认目录: ## 使用方法 ### 基本命令格式 ```bash rpkm [命令] [选项] [参数] ``` ### 常用命令 #### 安装软件包 从本地文件安装: ```bash rpkm install package.rpk ``` 从远程仓库安装: ```bash rpkm install package_name ``` #### 卸载软件包 ```bash rpkm remove package_name ``` #### 搜索软件包 ```bash rpkm search keyword ``` #### 列出软件源 ```bash rpkm sources ``` #### 列出已安装软件包 ```bash rpkm list ``` ## 配置文件 ### 软件源配置 默认软件源列表存储在 `/etc/rpkm/sources.list`,格式如下: ``` # RPKM 软件源配置文件 # 格式: <源名称> # 以 # 开头的行为注释 # 官方源 official https://piv9l4.i996.me/rpkm/pkgf # 社区源 # community http://community.repo.org/pkgf # 本地源 # local file:///home/user/local-packages/pkgf ``` 首次运行时会自动生成默认软件源配置。 ## 技术架构 ### 核心组件 1. **包索引 (PackageIndex)**: 存储仓库中可用软件包的信息 2. **包元数据 (PackageMeta)**: 存储单个软件包的详细信息 3. **仓库源 (RepoSource)**: 管理软件源配置 ### 主要模块 - **数据库操作**: 维护本地软件包数据库 - **包解析器**: 解析 .rpk 包文件格式 - **网络模块**: 处理软件包下载 - **安全模块**: SHA256 完整性校验 - **路径处理**: 安全的文件路径操作 ## 开发指南 ### 项目结构 ``` rpkm/ ├── client/ │ └── rpkm.c # 主程序代码 ├── server/ │ ├── pkgf/ # 服务器端工具 │ └── testapp/ # 测试软件包 ├── LICENSE └── README.md ``` ## 安全特性 - 支持 HTTPS 软件源 - SHA256 哈希验证 - 安全的路径拼接(防止路径遍历攻击) - 可禁用安全验证(开发模式) ## 许可证 本项目采用 GPL v3.0 许可证开源。 ## 贡献指南 欢迎贡献代码或报告问题。请通过 Gitee 仓库提交 Issue 或 Pull Request。 ## 联系方式 - 项目仓库: https://gitee.com/decvgr/rpkm - 问题反馈: https://gitee.com/decvgr/rpkm/issues