Linux apt-mirror 同步搭建本地源详解教程

一、认识 apt-mirror

apt-mirror 是一个用于创建 Debian 或 Ubuntu 软件包镜像的工具。它能够将远程软件源中的包同步到本地服务器,使得本地用户可以直接从本地服务器获取所需的软件包,从而减少对外部网络的依赖,提高下载速度和稳定性。

二、准备工作

在开始之前,确保你的 Ubuntu 服务器满足以下条件:

  1. 系统要求:建议使用 Ubuntu 18.04 LTS 或更高版本。
  2. 硬件资源:根据需要同步的软件源大小,确保有足够的磁盘空间和网络带宽。
  3. 权限要求:需要具备 root 权限或使用具有 sudo 权限的用户。

三、安装 apt-mirror

  1. 更新系统包列表 :

    复制代码
    sudo apt update
  2. 安装 apt-mirror :

    复制代码
    sudo apt install apt-mirror

四、配置 apt-mirror

  1. 编辑配置文件 :
    打开 /etc/apt/mirror.list 文件进行编辑:

    复制代码
    sudo nano /etc/apt/mirror.list
  2. 配置镜像源 :
    在配置文件中,你需要指定要同步的软件源。以下是一个示例配置:

    复制代码
    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 版本,你可以根据需要修改为其他版本。

五、同步软件源

  1. 执行同步命令:

    复制代码
    sudo apt-mirror

    这个过程可能需要一些时间,具体取决于你的网络速度和要同步的软件源大小。

  2. 查看同步进度 :

    你可以通过查看 /var/spool/apt-mirror/log 文件来了解同步进度和状态。

六、配置本地软件源

  1. 创建本地源目录 :

    假设你的本地软件源目录为 /var/spool/apt-mirror/mirror/archive.ubuntu.com/ubuntu。

  2. 配置 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
  3. 更新包列表:

    复制代码
    sudo apt update

七、自动化同步

为了保持本地软件源的更新,可以设置定时任务来自动执行同步操作。

  1. 编辑 crontab :

    复制代码
    sudo crontab -e

    添加以下行来每天自动同步:

    复制代码
    0 2 * * * /usr/bin/apt-mirror

通过以上步骤,你可以成功搭建一个本地的 Ubuntu 软件源,提高包管理效率。

相关推荐
呉師傅6 小时前
得力P2500、M2500系列打印机硒鼓加粉及清零方法【纯享版】
运维·网络·windows·电脑
Sayai6 小时前
Elasticsearch 日志检索 DSL 实战:时间范围查询、字段去重、分钟级统计与最新日志获取
大数据·运维·elasticsearch·搜索引擎·日志分析
qetfw6 小时前
Debian Chrony 时间同步、RAID5 与 LUKS 磁盘加密配置
linux·debian
fb_123458 小时前
MySQL运维实战:备份恢复+主从复制+读写分离+MHA高可用(超详细手把手教程)
运维·mysql·oracle
东城居士8 小时前
Linux驱动阻塞与非阻塞访问的理解
linux·嵌入式系统
..Dauntless..8 小时前
【Linux】进程地址空间初步理解
linux·运维·服务器
Julien20049 小时前
Docker 网络(一)
linux·运维·服务器·ssh·学习方法
字节跳动的猫9 小时前
LikeShop 积分体系全链路改造:获取规则、订单抵扣与积分商品兑换二开
运维·数据结构
杨云龙UP9 小时前
一次数据库查询缓慢故障复盘:大表数据增长、SQL全表扫描导致系统响应异常
linux·运维·服务器·数据库·sql·mysql
PellyKoo10 小时前
【linux运维】ubuntu+samba 用户组独占目录权限配置踩坑记
linux·运维·ubuntu