一、服务端安装dpkg-dev和nginx
服务端主机名 node, 版本 Ubuntu 22.04 LTS
apt-get install dpkg-dev nginx -y
二、创建目录
software 目录存放 deb 包
jammy 表示 ubuntu 的版本
binary-amd64 是 64 位操作系统
mkdir -p /var/debs/ubuntu/software/
mkdir -p /var/debs/ubuntu/dists/jammy/main/binary-i386/
mkdir -p /var/debs/ubuntu/dists/jammy/main/binary-amd64/
三、下载deb包
使用 apt download 下载deb包,会把deb包下载到当前目录
apt download vim
把当前目录下的deb包拷贝到 /var/debs/ubuntu/software/ 目录下
mv ./*.deb /var/debs/ubuntu/software/
四、使用dpkg-scanpackages生成Packages.gz
Packages.gz 是索引文件
dpkg-scanpackages software/ /dev/null | gzip > dists/jammy/main/binary-i386/Packages.gz
dpkg-scanpackages software/ /dev/null | gzip > dists/jammy/main/binary-amd64/Packages.gz
执行效果:
root@node:/var/debs/ubuntu# ls
dists software
root@node:/var/debs/ubuntu# dpkg-scanpackages software/ /dev/null | gzip > dists/jammy/main/binary-i386/Packages.gz
dpkg-scanpackages: warning: Packages in archive but missing from override file:
dpkg-scanpackages: warning: vim
dpkg-scanpackages: info: Wrote 1 entries to output Packages file.
root@node:/var/debs/ubuntu# dpkg-scanpackages software/ /dev/null | gzip > dists/jammy/main/binary-amd64/Packages.gz
dpkg-scanpackages: warning: Packages in archive but missing from override file:
dpkg-scanpackages: warning: vim
dpkg-scanpackages: info: Wrote 1 entries to output Packages file.
五、配置nginx
在 /etc/nginx/conf.d/ 目录下新建 default.conf 配置文件
server {
listen 8088;
location / {
autoindex on;
root /var/debs;
}
}
六、客户端配置apt源
客户端主机名node001
在客户端 /etc/apt/sources.list 下,配置apt源
deb [trusted=yes] http://node:8088/ubuntu/ jammy main
更新源
apt update
执行效果:
root@node001:~# apt update
Ign:1 http://node:8088/ubuntu jammy InRelease
Ign:2 http://node:8088/ubuntu jammy Release
Ign:3 http://node:8088/ubuntu jammy/main amd64 Packages
Ign:4 http://node:8088/ubuntu jammy/main all Packages
Ign:5 http://node:8088/ubuntu jammy/main Translation-en
Ign:6 http://node:8088/ubuntu jammy/main amd64 c-n-f Metadata
Ign:7 http://node:8088/ubuntu jammy/main all c-n-f Metadata
Ign:3 http://node:8088/ubuntu jammy/main amd64 Packages
Ign:4 http://node:8088/ubuntu jammy/main all Packages
Ign:5 http://node:8088/ubuntu jammy/main Translation-en
Ign:6 http://node:8088/ubuntu jammy/main amd64 c-n-f Metadata
Ign:7 http://node:8088/ubuntu jammy/main all c-n-f Metadata
Ign:3 http://node:8088/ubuntu jammy/main amd64 Packages
Ign:4 http://node:8088/ubuntu jammy/main all Packages
Ign:5 http://node:8088/ubuntu jammy/main Translation-en
Ign:6 http://node:8088/ubuntu jammy/main amd64 c-n-f Metadata
Ign:7 http://node:8088/ubuntu jammy/main all c-n-f Metadata
Get:3 http://node:8088/ubuntu jammy/main amd64 Packages [799 B]
Ign:4 http://node:8088/ubuntu jammy/main all Packages
Ign:5 http://node:8088/ubuntu jammy/main Translation-en
Ign:6 http://node:8088/ubuntu jammy/main amd64 c-n-f Metadata
Ign:7 http://node:8088/ubuntu jammy/main all c-n-f Metadata
Ign:4 http://node:8088/ubuntu jammy/main all Packages
Ign:5 http://node:8088/ubuntu jammy/main Translation-en
Ign:6 http://node:8088/ubuntu jammy/main amd64 c-n-f Metadata
Ign:7 http://node:8088/ubuntu jammy/main all c-n-f Metadata
Ign:4 http://node:8088/ubuntu jammy/main all Packages
Ign:5 http://node:8088/ubuntu jammy/main Translation-en
Ign:6 http://node:8088/ubuntu jammy/main amd64 c-n-f Metadata
Ign:7 http://node:8088/ubuntu jammy/main all c-n-f Metadata
Ign:4 http://node:8088/ubuntu jammy/main all Packages
Ign:5 http://node:8088/ubuntu jammy/main Translation-en
Ign:6 http://node:8088/ubuntu jammy/main amd64 c-n-f Metadata
Ign:7 http://node:8088/ubuntu jammy/main all c-n-f Metadata
Fetched 799 B in 1s (720 B/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.
使用apt安装vim
执行效果:
root@node001:~# apt install vim
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Suggested packages:
ctags vim-doc vim-scripts
The following NEW packages will be installed:
vim
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 1733 kB of archives.
After this operation, 4027 kB of additional disk space will be used.
Get:1 http://node:8088/ubuntu jammy/main amd64 vim amd64 2:8.2.3995-1ubuntu2.35 [1733 kB]
...