如何在 Debian 上为软件包创建自己的存储库

您想要构建自己的本地存储库的原因有多种。这是创建本地镜像存储库以缓存许多计算机使用的常用软件包以节省带宽使用的好方法,或者您可能希望在内部为开发团队提供一些修改过的软件包。

在本教程中,我们将向您展示如何轻松创建 Debian Ubuntu 版本兼容的本地 Debian 软件包存储库。

1 步:安装所需的包

在基于 Debian 的系统上,所有存储库都由APT实用程序(aptapt-getapt-cache 等)管理。创建与 APT 兼容的本地存储库需要 dpkg-dev 软件包。

首先使用以下命令更新系统包:

$ sudo apt update && sudo apt upgrade

接下来通过键入以下内容安装dpkg-dev软件包:

$ sudo apt-get install dpkg-dev

包安装完成后,继续为包文件创建目录。

2 步:为本地存储库创建目录

创建一个目录来保存二进制包。对于此示例,我们将使用 /opt/local/debs,但您可以使用任何您喜欢的目录。

$ sudo mkdir -p /opt/local/debs

接下来,更改目录:

$ cd /opt/local/debs

3 步:将包添加到本地存储库目录

出于本教程的目的,我们将 chrome-browser 包下载到我们的本地存储库,因为在默认的 Ubuntu 存储库中找不到它:

$ sudo wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb

在此步骤中,您可以复制或下载任意数量的包。

4 步:为 APT 创建所需的存储库包元

为此,我们必须运行几个 dpkg-scanpackages 命令。我将切换到 root 用户帐户,因为我正在使用 /opt/local 目录来跳过使用 sudo

$ sudo su

首先,我们将通过运行以下命令创建一个 Release 文件:

# dpkg-scanpackages . /dev/null > Release

根据您添加到本地存储库的软件包数量,您应该会获得类似的输出:

dpkg-scanpackages: warning: Packages in archive but missing from override file:

dpkg-scanpackages: warning: google-chrome-stable

dpkg-scanpackages: info: Wrote 1 entries to output Packages file.

接下来扫描目录下的所有deb文件,并创建一个合适的Packages.gz文件

# dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz

输出:

dpkg-scanpackages: warning: Packages in archive but missing from override file:

dpkg-scanpackages: warning: google-chrome-stable

dpkg-scanpackages: info: Wrote 1 entries to output Packages file.

请注意,每次将新的 deb 包添加到本地存储库目录时,都必须运行这些命令。您还可以创建一个简单的 bash 脚本并在添加新包时运行它。

要列出本地 repo 目录结构,请运行 ls 命令:

$ ls -l

输出:

-rw-r--r-- 1 root root 83325072 May 8 02:29 google-chrome-stable_current_amd64.deb

-rw-r--r-- 1 root root 761 May 17 20:44 Packages.gz

-rw-r--r-- 1 root root 1321 May 17 20:39 Release

5 步:将我们的本地存储库添加到 Sources.list

最后一步是编辑 sources.list 文件。使用您选择的编辑器编辑文件:

$ sudo nano /etc/apt/sources.list

将以下行添加到您的 /etc/apt/sources.list

deb [trusted=yes] file:/opt/local/debs ./

现在我们将测试我们的本地存储库。

6 步:验证

我们可以通过从本地存储库安装或删除包来验证。

首先我们必须更新软件包:

$ sudo apt-get update

现在我们像往常一样使用 apt-get 安装我们的包:

$ sudo apt-get install google-chrome-stable

现在您的本地软件包可以使用 Synapticaptitude apt 命令安装、更新和删除:apt-getapt-cache 等。当您运行 apt-get install 时,任何依赖项都将被解析并为您安装,只要因为他们可以满足。

我们可以像删除系统上任何已安装的软件包一样轻松地删除已安装的软件包:

$ sudo apt-get remove google-chrome-stable

结论

在本教程中,我们学习了如何创建自己的本地 Debian 存储库以及在本地添加/删除软件包。这些步骤适用于大多数基于 Debian 的发行版。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

太极淘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值