【问题标题】:Remove deb-packages from local repo and configure apt从本地 repo 中删除 deb-packages 并配置 apt
【发布时间】:2015-06-30 13:50:34
【问题描述】:

我有以下 apt 目录结构

/locate/repo/x86_64/dists
/locate/repo/x86_64/pool
/locate/repo/x86_64/indices
/locate/repo/x86_64/images

在池中有两个目录,分别是 debian-installer(包含 udeb 文件)和 main(包含 deb 文件)。我想删除 main 中的一些 deb 文件并使用 apt 进行安装。 我该怎么做?

【问题讨论】:

  • “删除几个 debians”是什么意思? “Debian”是发行版的名称,而不是名词;那么你想删除什么?为什么?
  • 我有一个本地存储库,其中包含 debians(.deb 文件)的集合。我想从我的本地仓库中删除一些 debian。怎么办?
  • 我建议不要对 .deb-packages 使用“debians”这个词(你也不要对 exe 文件使用“windows”,对吗?)

标签: ubuntu repository debian apt


【解决方案1】:

维护您自己的存储库

为了使您的.deb 文件可被apt 索引,您需要在/locate/repo/x86_64/dists 中至少提供一个Packages 文件。这个文件列出了所有的包(对于一个给定的套件),并包括所有的元数据(描述,依赖,...)

具体如何操作,取决于您的设置,因为有 numerous options to manage an apt-repository

一个简单的选择是使用apt-ftparchive(可以在apt-utils 包中找到):

$ cd /locate/repo/x86_64
$ mkdir -p dists/jessie/
$ apt-ftparchive packages pool/ | gzip > dists/jessie/Packages.gz
$ apt-ftparchive release dists/jessie/ > dists/jessie/Release

最后,您需要将存储库添加到您的 apt-sources。

# mkdir -p /etc/apt/sources.list.d/
# cat > /etc/apt/sources.list.d/myownrepo.list <<EOF
deb file:////locate/repo/x86_64 jessie main
EOF
#

之后,您可以简单地运行apt-get update,然后您的软件包就可以通过apt 安装。

从存储库中删除 .deb 文件

要从存储库中删除文件,只需删除它们:

$ rm /locate/repo/x86_64/pool/ugly*.deb

之后,您需要(重新)生成 Packages 文件

【讨论】:

  • 如何生成包含HashSum的Release文件?
  • apt-ftparchive 发布 dists/precise/ > dists/precise/Release,对我有用
猜你喜欢
  • 1970-01-01
  • 2015-09-11
  • 2022-10-25
  • 1970-01-01
  • 2012-02-21
  • 2016-01-12
  • 2012-08-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多