配置Linux客户端使用本地存储库服务器
配置本地存储库列表
配置文件为 /etc/apt/sources.list
。
要在客户端中使用我们本地存储库,我们需要编辑配置文件“/etc/apt/sources.list”,指定本地repo并禁用任何远程repo。
建议对“/etc/apt/sources.list”文件中引用未在服务器中镜像的存储库的任何行进行注释,例如,在本例中,任何以“deb src”开头并包含“bionic backport”的行都已被注释。
如果不这样做,则在客户端上运行apt update命令时可能会出现错误Release file has not been found(“未找到发布文件”)
。
配置示例:
$ sudo sed -i.bak0 "s/archive\.ubuntu\.com/10\.0\.0\./g" /etc/apt/sources.list
$ sudo sed -i.bak1 "s/ubuntu/ubuntu\/mirror\/archive\.ubuntu\.com\/ubuntu/g" \ /etc/apt/sources.list
更新本地存储库索引。(确保端口80不被客户端防火墙阻止)
$ sudo apt update
如何创建Ubuntu存储库服务器
在服务器上安装所需的软件。
我们需要安装名为“Apache2”的包下的Apache HTTP服务器:
$ sudo apt install apache2
确保服务在启动时运行:
$ sudo systemctl enable apache2
apache默认的站点目录位/var/www/html/
,我们在下面创建一个ubuntu目录。/var/www/html/ubuntu
,并设置相应的所有者。
$ sudo mkdir -p /var/www/html/ubuntu $ sudo chown www-data:www-data /var/www/html/ubuntu
可以让我们创建本地存储库的主要工具是“apt-mirror”,所以要安装它:
$ sudo apt install apt-mirror
如果找不到软件包,先刷新包列表:
$ sudo apt update
选择要在服务器上镜像的存储库。
安装APT-MIRRIR后,备份/etc/apt/mirror.list
文件。
并设置set base_path执行正确的保存目录。默认为/var/spool/apt-mirror
$ sudo cp /etc/apt/mirror.list /etc/apt/mirror.list.org
我们的存储库基于/var/www/html/ubuntu
,所以将base_path设置为这个目录。
接下来,将重要脚本复制到/var/www/html/ubuntu/var/
中
$ sudo mkdir -p /var/www/html/ubuntu/var $ sudo cp /var/spool/apt-mirror/var/postmirror.sh /var/www/html/ubuntu/var/
将远程服务器的存储库数据镜像到本地服务器:
$ sudo apt-mirror
我们可以中断此过程(按Ctrl+C)。
下载再镜像时,将从上次中断的地方开始。
使用Cron Scheduler配置自动同步过程:
如果之后要自动最新的本地存储库,创建一个crontab计划任务:
$ sudo crontab -e
每天两点进行同步。
00 02 * * * /usr/bin/apt-mirror