怎样将mysql仓库添加到apt源_如何创建一个简单 APT 仓库

无废话版本

需求: 有一堆 .deb 包,想把它们做成一个 APT 仓库,这样就可以用apk install pkgname进行安装了,这样一方面自己可以规避 dpkg -i xxx.deb 时候的依赖问题,另一方面也方便了其他人

解决方法:

mkdir -p /opt/raspi-apt-repos/raspbian8

cp ~/Downloads/raspbian8/*.deb /opt/raspi-apt-repos/raspbian8

cd /opt/raspi-apt-repos/raspbian8

# scan *.deb and create Packages file

dpkg-scanpackages -m . > Packages

# create  Release  file

apt-ftparchive release . > Release

# TODO: create a GPG key with ‘gpg --gen-key’ if you have no one

gpg --list-keys || gpg --gen-key

# create Release.gpg file

gpg --armor --detach-sign --sign -o Release.gpg Release

# create InRelease file

gpg --clearsign -o InRelease Release

# export your public key

cd /opt/raspi-apt-repos/

gpg --export --armor  -o my-repo.gpg-key.asc

# start web server (you'd better use nginx instead)

python -m SimpleHTTPServer 4000

# ===== 8< ==========================================

# on client

wget http://210.32.142.88:4000/my-repo.gpg-key.asc && sudo apt-key add my-repo.gpg-key.asc

echo “deb http://foo.example.com/repos/raspbian8 ./” | sudo tee /etc/apt/sources.list.d/my-repo.list

什么叫"简单 APT 仓库"

这里说的是如何创建一个简单的 APT 仓库(根据 DebianRepository/Setup - Debian Wiki ,这种简单的仓库称为 trivial archive, 而复杂的那种称为 official archive.),之所以说"简单",主要是指仓库不采用 pool 结构,里面只有一个suite(jessie, jessie-backport, trusty, trusty-updates 这些东西叫做 suite),一个 component(main, nonfree, universe 这些东西叫做 component),也就是说 Packages 文件只有一个(也不提供Contents-amd64.gz 这些可有可无的文件).

这个仓库的目录结构如下:

.

├── vim_8.0.1420-0york0~14.04_amd64.deb

├── vim_8.1.1575-0york0~14.04_amd64.deb

├── vim_8.1.1575-0york0~16.04_amd64.deb

├── vim_8.1.1575.orig.tar.gz

├── vim-common_8.0.1420-0york0~14.04_all.deb

├── vim-common_8.1.1575-0york0~16.04_all.deb

├── Packages

└── Release

使用时需要在 /etc/apt/sources.list 里面添加的配置是:

deb http://foo.example.com/repos/raspbian8 ./

(在这个配置里, suite 的值是 ./, 当suite是路径的情况下 component 必须为空.对于sources.list的格式可以参考 sources.list (5) )

1.1 参考: "不简单"的 APT仓库

Debian/Ubuntu的官方仓库(以及Launchpad上面的ppa)跟上面的结构不一样,典型特征是顶层有个 dists 目录和 pool 目录.目录结构如下:

├── dists/

│   ├── buster/

│   ├── jessie/

│   │   ├── InRelease

│   │   ├── main/

│   │   │   ├── binary-aarmhf/

│   │   │   │   ├── Packages

│   │   │   │   └── Release

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值