一、认识 apt-mirror
apt-mirror 是一个用于创建 Debian 或 Ubuntu 软件包镜像的工具。它能够将远程软件源中的包同步到本地服务器,使得本地用户可以直接从本地服务器获取所需的软件包,从而减少对外部网络的依赖,提高下载速度和稳定性。
二、准备工作
在开始之前,确保你的 Ubuntu 服务器满足以下条件:
- 系统要求:建议使用 Ubuntu 18.04 LTS 或更高版本。
- 硬件资源:根据需要同步的软件源大小,确保有足够的磁盘空间和网络带宽。
- 权限要求:需要具备 root 权限或使用具有 sudo 权限的用户。
三、安装 apt-mirror
- 更新系统包列表:
sudo apt update
- 安装 apt-mirror:
sudo apt install apt-mirror
四、配置 apt-mirror
- 编辑配置文件:
打开/etc/apt/mirror.list
文件进行编辑:sudo nano /etc/apt/mirror.list
- 配置镜像源:
在配置文件中,你需要指定要同步的软件源。以下是一个示例配置:
在这个配置中,set base_path /var/spool/apt-mirror set mirror_path $base_path/mirror set skel_path $base_path/skel set var_path $base_path/var set cleanscript $var_path/clean.sh set defaultarch amd64 set postmirror_script $var_path/postmirror.sh set run_postmirror 0 deb http://archive.ubuntu.com/ubuntu focal main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu focal main restricted universe multiverse clean http://archive.ubuntu.com/ubuntu
focal
代表 Ubuntu 20.04 LTS 版本,你可以根据需要修改为其他版本。
五、同步软件源
-
执行同步命令:
sudo apt-mirror
这个过程可能需要一些时间,具体取决于你的网络速度和要同步的软件源大小。
-
查看同步进度:
你可以通过查看/var/spool/apt-mirror/log
文件来了解同步进度和状态。
六、配置本地软件源
-
创建本地源目录:
假设你的本地软件源目录为/var/spool/apt-mirror/mirror/archive.ubuntu.com/ubuntu
。 -
配置 apt 使用本地源:
打开/etc/apt/sources.list
文件进行编辑:sudo nano /etc/apt/sources.list
将原有的官方源替换为本地源,例如:
deb file:///var/spool/apt-mirror/mirror/archive.ubuntu.com/ubuntu focal main restricted universe multiverse deb-src file:///var/spool/apt-mirror/mirror/archive.ubuntu.com/ubuntu focal main restricted universe multiverse
-
更新包列表:
sudo apt update
七、自动化同步
为了保持本地软件源的更新,可以设置定时任务来自动执行同步操作。
- 编辑 crontab:
添加以下行来每天自动同步:sudo crontab -e
0 2 * * * /usr/bin/apt-mirror
通过以上步骤,你可以成功搭建一个本地的 Ubuntu 软件源,提高包管理效率。