一、 ubuntu搭建apt仓库
1、仓库配置
在/var/www/html下新建文件夹
mkdir /var/www/html/myrepo
把 Debian 包拷贝到/var/www/html/myrepo
进入/var/www/html/myrepo目录,生成Packages、Release文件
dpkg-scanpackages -m . > Packages
apt-ftparchive release . > Release
2、设置密钥
安装 gnupg
sudo apt install gnupg
生成密钥,根据提示完成操作
gpg --gen-key
在/var/www/html/myrepo下,生成 Release.gpg 文件和 InRelease 文件
gpg --armor --detach-sign -o Release.gpg Release
gpg --clearsign -o InRelease Release
若密钥生成过程中卡死,则可以安装随机数生成器
apt-get install rng-tools
3、安装 Apache2
sudo apt install apache2
Apache 服务默认的目录是 “/var/www/html”,要改成其他路径的话,修改 “/etc/apache2/sites-available/000-default.conf” 文件的 “DocumentRoot” 语句,把后面的路径改成你想要的就可以了,改完需要重启服务。下面以不修改为例,进行介绍
修改端口号
把 /etc/apache2/ports.conf 文件 “Listen 80” 的 80 改成你想要的端口。
文件的注释说还要修改 /etc/apache2/sites-enabled/000-default 文件,把这个文件 VirtualHost 语句的 80 也改成你想要的端口
编辑Apache配置文件“httpd.conf”,并添加以下内容
Alias /myrepo /var/www/html/myrepo
<Directory /var/www/html/myrepo>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Require all granted
</Directory>
这将创建一个名为“myrepo”的虚拟目录,并将其指向刚刚创建的APT存储库目录。它还允许所有人都可以访问APT存储库。
重启服务
sudo systemctl restart apache2
二、 centos搭建apt仓库
centos没法使用apt-ftparchive release . > Release生成Release文件,所以如果使用centos系统搭建apt仓库的话,我们需要先在ubuntu系统同目录下生成文件后,在移至centos同目录下。
此外centos系统安装apache命令为:
sudo yum install httpd
重启命令为:
sudo systemctl restart httpd
三、 客户端使用方法
在 /etc/apt/sources.list 新加一下内容
deb [trusted=yes] http://[IP]:[PORT]/myrepo ./
本文参考以下内容完成:
https://blog.youkuaiyun.com/lk_luck/article/details/108226464
https://blog.youkuaiyun.com/IT_Holmes/article/details/109062745