YesPMP
44人浏览/2人投稿
6分钟前
待托管赏金
业务需求
以Ubuntu deb安装包为例,制作一个管理后台,共计3个功能页面
一、安装包扫描页面
提供一个安装包的浏览页
a.页面具有【搜索】功能按钮。
搜索字段: 操作系统名(下拉)、系统版本号(下拉)、CPU架构(下拉)、安装包名称(输入,模糊搜索)、安装包版本号;
b.页面具有【源设置】按钮。
弹出输入框,回显当前操作系统的apt源地址,可设置apt源名称和url,点击确认按钮自动设置系统apt源,并清理生效,比如可以设置为清华源,华为源。
此设置应该存储至数据库表,请自行设计。
c.页面具有【包索引更新】功能。
后台执行sudo apt-get update命令,执行成功后开始进行包信息提取操作。通过后台提取操作系统的所有可安装的安装包信息,建立安装包基础表 tbl_pkg_base,主要字段有:
唯一id,例如: 年月日_六位数字或字母的随机字符串,20250726_485f2d
操作系统名,例如: Ubuntu
系统版本号,例如: 24.04
系统代号,例如: noble
操作系统位数,例如: 32/64
系统CPU架构,例如: x86/arm
包类型,例如: deb/rpm/tar.gz
包名称,例如: net-tools
版本号全称,例如: 0:1.0.3-xxx, Debian包版本号格式包含三个可选部分: [epoch:]upstream_version[-debian_revision]。通过dpkg -I xxx.deb | grep Version 命令获取。
版本号epoch,预留字段,暂时留空
版本号upstream_version,预留字段,暂时留空
版本号debian_version,预留字段,暂时刘空
包功能描述, 长文本
下载地址域名(网址见附件)
下载地址相对路径(不含域名), 例如:
创建时间,例如: 2025-06-12 08:00:00
更新时间,例如: 2025-06-12 08:00:00
是否删除,例如: 否
2. 安装包解析页面
页面由2个tab页构成
第1个tab页,上方工具栏具备筛选功能,筛选字段包含:操作系统(下拉),系统版本(下拉),CPU架构,安装包名,可勾选(本包名,依赖包名),;下方主体以级联表格形式显示所有解析后的安装包、其依赖的包、以及包本身详情、操作功能,主要显示列: 序号,操作系统名,系统版本号,系统位数,系统CPU架构,包名称,包版本,包状态(未知、已缓存、已探测可缓存、缓存失败),操作(删除、重新缓存、级联联分析)。
【级联分析功能】
分析包的依赖包和版本,例如通过执行命令
dpkg -s python3 | grep -E 'Version|Depends'
将依赖分析结果存入安装包依赖数据表 tbl_pkg_deps,依据第一张表tbl_pkg_base自行设计该表结构。
第2个tab页,以表格形式展示未处理的安装包信息,主要显示: 序号,操作系统名,系统版本号,系统位数,系统CPU架构,安装包名称,路径地址,状态(未知、已缓存、可缓存、缓存失败、待解析),本机缓存路径,操作(探测,缓存,上传,解析,删除)
3. 后台登录页
技术要求
1. 后端,spring boot、mybatis-plus框架
2. 前端,传统html ui框架或vue
3. 数据库使用sqlite3
4. 先画原型图理解业务,确认后再开始干活
接包要求
个人,三年以上java+linux经验
源码、PSD设计稿