reprepro移除不用的软件或仓库

来源:互联网 发布:如何看待网络成瘾行为 编辑:程序博客网 时间:2024/05/15 04:05

reprepro是一个强大的debian仓库管理工具。它的主要功能包含创建仓库、往仓库中添加包、从仓库中移除包、仓库导出、无用仓库移除等。
reprepro这些强大的功能全部依赖于其自身的一套管理数据库。同样的,运行reprepro命令也有特定的配置文件和目录结构的要求。首先介绍一下reprepro的配置文件目录结构要求。

reprepro的配置

这是正确运行reprepro命令的基础。

目录要求

  • Base目录:reprepro的执行需要一个Base目录,所有的一切配置都在这个base目录以及其子目录下。这个目录可以同–basedir 参数指定。如果没有传入的话,则默认为当前目录。
  • Conf目录:conf目录中存放执行reprepro所必须的distributions文件,这个目录的位置可以通过 –confdir 参数指定。如果没有指定的话,默认为Base目录下的conf/目录。
  • DB目录: 存放reprepro数据库的目录,可以通过–dbdir 指定,如果没有指定的话,默认为Base目录下的db/目录

配置文件conf/distributions

这是一个固定名称的文件,用于配置reprepro所管控的所有发行版版本信息。 这个文件有一定的内容结构要求,必须按照内容结构要求编写该文件并放到Base目录下的conf/distributions,reprepro命名才具备了可运行的基础。

这是一个纯文本文件,指定了不同的发行版本,每个发行版需要一组信息,以key:value的形式,每组key:value一行, 不同发行版间以空行分隔。例如下面是两个发行版仓库的信息:

Label:ubuntuSuite:trustyCodename:trustyComponents:main upstream partnerArchitectures: i386 amd64 sourceSignWith: yesContents: udebsLabel:mintSuite:qianaCodename:qianaComponents:main upstream partnerArchitectures: i386 amd64 sourceSignWith: yesContents: udebs

主要功能

移除未引用的包

pool中有可能存在没有被任何dists引用的包,这时就可以通过reprepro的命令检测和移除。

检测,列出未被引用的包

reprepro dumpunreferenced

移除未被引用的包

reprepro deleteunreferenced

移除仓库

  • 首先从distributions文件中移除要删除的仓库信息。

  • 在Base目录下执行

reprepro --delete clearvanished

注意:该命令会直接执行删除,务必小心。

这个命令会将distributions文件中没有的仓库信息从数据库中删除,同时删除该仓库特有的包(这也有一个单独的命令: reprepro deleteunreferenced)。

  • 移除 dists/ 目录下对应的仓库repo目录。
原创粉丝点击