百胜存储库管理工具
uvalde的Python项目详细描述
Uvalde:Yum存储库管理工具
uvalde是一个用于管理yum存储库的简单cli工具。没有守护进程 没有Web界面,只有一个Yum存储库目录和一个小的SQLite 数据库以记住哪些RPM是从同一个SRPM构建的。
用法
配置
在运行应用程序之前,创建一个配置文件来定义存储库 你想管理。基本目录不需要存在,UVALDE会 如果需要,创建它。
~/.config/uvalde/repos.ini
[my-repo]base=/home/me/my-repoarchitectures=i686, x86_64[my-other-repo]base=/home/me/my-other-repoarchitectures=i686, x86_64
$ uvalde list repos
my-repo
my-other-repo
现在您可以导入RPM文件,并将它们放置在适当的 相对于存储库库的位置。存储库元数据也将是 生成。
$ uvalde import my-repo cello-*.rpm
cello-1.0-1.i686.rpm -> /home/me/my-repo/i686/packages/c/
cello-1.0-1.src.rpm -> /home/me/my-repo/src/packages/c/
cello-1.0-1.x86_64.rpm -> /home/me/my-repo/x86_64/packages/c/
cello-debuginfo-1.0-1.i686.rpm -> /home/me/my-repo/i686/debug/packages/c/
cello-debuginfo-1.0-1.x86_64.rpm -> /home/me/my-repo/x86_64/debug/packages/c/
cello-debugsource-1.0-1.i686.rpm -> /home/me/my-repo/i686/debug/packages/c/
cello-debugsource-1.0-1.x86_64.rpm -> /home/me/my-repo/x86_64/debug/packages/c/
cello-extra-1.0-1.noarch.rpm -> /home/me/my-repo/i686/packages/c/
cello-extra-1.0-1.noarch.rpm -> /home/me/my-repo/x86_64/packages/c/
rpms和srpm之间的关系存储在sqlite数据库中,因此 您可以集中管理文件,通过nvr引用它们 (名称版本发布)字符串。移动RPM时,存储库元数据 将根据需要重新生成。
$ uvalde list all
my-repo
cello-1.0-1
my-other-repo
$ uvalde move my-repo my-other-repo cello-1.0-1
/home/me/my-repo/i686/packages/c/cello-1.0-1.i686.rpm -> /home/me/my-other-repo/i686/packages/c/
/home/me/my-repo/src/packages/c/cello-1.0-1.src.rpm -> /home/me/my-other-repo/src/packages/c/
/home/me/my-repo/x86_64/packages/c/cello-1.0-1.x86_64.rpm -> /home/me/my-other-repo/x86_64/packages/c/
/home/me/my-repo/i686/debug/packages/c/cello-debuginfo-1.0-1.i686.rpm -> /home/me/my-other-repo/i686/debug/packages/c/
/home/me/my-repo/x86_64/debug/packages/c/cello-debuginfo-1.0-1.x86_64.rpm -> /home/me/my-other-repo/x86_64/debug/packages/c/
/home/me/my-repo/i686/debug/packages/c/cello-debugsource-1.0-1.i686.rpm -> /home/me/my-other-repo/i686/debug/packages/c/
/home/me/my-repo/x86_64/debug/packages/c/cello-debugsource-1.0-1.x86_64.rpm -> /home/me/my-other-repo/x86_64/debug/packages/c/
/home/me/my-repo/x86_64/packages/c/cello-extra-1.0-1.noarch.rpm -> /home/me/my-other-repo/x86_64/packages/c/
/home/me/my-repo/i686/packages/c/cello-extra-1.0-1.noarch.rpm -> /home/me/my-other-repo/i686/packages/c/
$ uvalde list all
my-repo
my-other-repo
cello-1.0-1
$ uvalde remove my-other-repo cello-1.0-1
/home/me/my-other-repo/i686/packages/c/cello-1.0-1.i686.rpm X
/home/me/my-other-repo/src/packages/c/cello-1.0-1.src.rpm X
/home/me/my-other-repo/x86_64/packages/c/cello-1.0-1.x86_64.rpm X
/home/me/my-other-repo/i686/debug/packages/c/cello-debuginfo-1.0-1.i686.rpm X
/home/me/my-other-repo/x86_64/debug/packages/c/cello-debuginfo-1.0-1.x86_64.rpm X
/home/me/my-other-repo/i686/debug/packages/c/cello-debugsource-1.0-1.i686.rpm X
/home/me/my-other-repo/x86_64/debug/packages/c/cello-debugsource-1.0-1.x86_64.rpm X
/home/me/my-other-repo/i686/packages/c/cello-extra-1.0-1.noarch.rpm X
/home/me/my-other-repo/x86_64/packages/c/cello-extra-1.0-1.noarch.rpm X
$ uvalde list all
my-repo
my-other-repo
安装
RPM包即将推出!同时,您可以从源安装。
安装createrepo_c build dependencies
- 软呢帽:
dnf install cmake gcc make bzip2-devel expat-devel file-devel glib2-devel libcurl-devel libxml2-devel openssl-devel python3-devel rpm-devel sqlite-devel xz-devel zlib-devel
- 中心:
yum install cmake gcc make bzip2-devel expat-devel file-devel glib2-devel libcurl-devel libxml2-devel openssl-devel python36-devel rpm-devel sqlite-devel xz-devel zlib-devel
克隆存储库
git clone https://github.com/carlwgeorge/uvalde.git
cd uvalde
创建虚拟环境
python3 -m venv .env
以可编辑模式安装
.env/bin/pip install --editable .
可选:安装测试依赖项
.env/bin/pip install --editable .[tests]
可选:将命令添加到路径
ln -s $PWD/.env/bin/uvalde ~/.local/bin/
git clone https://github.com/carlwgeorge/uvalde.git
cd uvalde
python3 -m venv .env
以可编辑模式安装
.env/bin/pip install --editable .
可选:安装测试依赖项
.env/bin/pip install --editable .[tests]
可选:将命令添加到路径
ln -s $PWD/.env/bin/uvalde ~/.local/bin/
.env/bin/pip install --editable .
.env/bin/pip install --editable .[tests]
可选:将命令添加到路径
ln -s $PWD/.env/bin/uvalde ~/.local/bin/