搭建apt包仓库 装机流程优化

本文是对改良装机流程做的实验

通常的做法是:

1. 本地安装。通过http服务(通常由Apache搭建) 用wget下载 rpm和deb包 然后通过rpm或者dpkg命令本地安装。

2. 网络安装。直接使用apt或者yum工具安装软件。

那么 有没有什么办法能够简化以上步骤呢?要装的软件很多 就算有脚本 维护起来也不那么方便的

来看一看apt 这个软件的工作原理吧。

1. apt工具先根据系统提供的源(/etc/apt/sources.list)上下载好所需要的包 (apt update) 到本地(/var/cache/apt/archive)

2.  更新软件包(apt upgrade) 

以上前提是安装的apt协议里的deb包 (想要它接受其他的源应该是在/etc/apt/apt.config.d里可以改的 详情参考apt官网)

开始搭建:

1.安装reprepro并生成key,命令如下:

apt-get install  pnupg #用来生成key

apt-get install  reprepro #用来创建管理deb仓库

apt-get install  rng-tools #用来生成key需要的随机数

rngd -r /dev/urandom

gpg --gen-key 

用gpg --list-keys查看生成的key. 

搭建apt包仓库 装机流程优化_第1张图片

2.创建包仓库并导出key

创建目录/var/www/apt,结构如下.

搭建apt包仓库 装机流程优化_第2张图片

将key导出到仓库文件夹

gpg --armor --export $username [email protected] >> /var/www/apt/key/deb.gpg.key

 写点介绍到这个仓库里touch /var/www/apt/conf/distributions

touch /var/www/apt/conf/distributions #建一个配置文件,里面可以写以下内容

Origin: (你的名字)

Label: (库的名字)

Suite: (stable 或 unstable)

Codename: (发布的代码名,比如 trusty)

Version: (发布的版本,比如 14.04)

Architectures: (软件包所支持的架构, 比如 i386 或 amd64)

Components: (包含的部件,比如 main restricted universe multiverse)

Description: (描述)

SignWith: yes

用reprepro创建并导出仓库树 

reprepro --ask-passphrase -Vb /var/www/apt export

 搭建apt包仓库 装机流程优化_第3张图片

 

仓库创建成功

搭建apt包仓库 装机流程优化_第4张图片

3.接下来就可以在新建的仓库里放入deb包啦 

cd /var/www/apt 
reprepro --ask-passphrase -Vb . includedeb $Codename $/www/software/teamviewer......deb #输入库名称和deb包的位置 

搭建apt包仓库 装机流程优化_第5张图片

目录结构改变了

搭建apt包仓库 装机流程优化_第6张图片

  如果要移除仓库可用

reprepro --ask-passphrase -Vb /var/www/apt remove $Codename $teamviewer......deb

 4. 要导入仓库key(/var/www/apt/key/deb.gpg.key)到别的机器上,可以借助这个https://sourceforge.net/,或者直接在自己的服务器上搭建一个http服务.

我这里用的是本机已经搭建好的http服务,rsync镜像备份key并使用ssh数据同步过去

5.现在可以登录要安装的机器,登录后把key放入源里

rm -rf /etc/apt/apt.conf.d/deb.gpg.key

wget -O - http://$IP/software/test/key/deb.gpg.key | apt-key add - #把下载的key 添加到本地trust里

echo "deb http://$IP/software/test/key/deb.gpg.key $Codename  $Conponents" >> /etc/apt/sources.list

sudo apt-get update #更新仓库列表

现在仓库就可以用啦 ^ - ~ 嘿嘿

如果要搭建yum仓库可以参考下文:

https://blog.csdn.net/weixin_42255666/article/details/81530998

额外资料:

https://blog.csdn.net/a13526758473/article/details/79247478

http://troglobit.com/2017/09/30/set-up-a-debian-ubuntu-apt-repository/

https://forums.kali.org/showthread.php?38858-apt-get-update-GPG-error-key-expired

https://www.cnblogs.com/hustdc/p/7273811.html

https://blog.csdn.net/a13526758473/article/details/79247478

 

你可能感兴趣的:(linux运维)