利用apt-mirror制作Ubuntu本地源

简介

  • 使用apt安装软件是非常的方便的,但是有时下载软件包又是非常耗时的,所以设置一个apt的本地源是非常有必要的;
  • 为公司内部局域网提供本地源,增强员工的工作效率,节省大量的时间;

Server端

安装apt-mirror

1
$ apt install -y apt-mirror

创建存储目录

  • 由于软件包的大小有100G+,故推荐挂载一块新磁盘;
  • 分区并格式化新磁盘
1
2
$ fdisk /dev/sdb
$ mkfs.ext4 /dev/sdb1
  • 挂载至指定目录
1
2
3
$ mkdir -p /opt/source/
$ mount /dev/sdb1 /opt/source/
$ echo '/dev/sdb1 /opt/source/ ext4 defaults 0 0' >> /etc/fstab

配置apt-mirror

1
$ vim /etc/apt/mirror.list
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
set base_path /opt/source
set nthreads 20
set _tilde 0

# 清华大学的源,包含i386和amd64俩种架构,不包含deb-src,即源文件
deb-i386 https://mirrors.tuna.tsinghua.edu.cn/ubuntu trusty main restricted universe multiverse
deb-i386 https://mirrors.tuna.tsinghua.edu.cn/ubuntu trusty-updates main restricted universe multiverse
deb-i386 https://mirrors.tuna.tsinghua.edu.cn/ubuntu trusty-backports main restricted universe multiverse
deb-i386 https://mirrors.tuna.tsinghua.edu.cn/ubuntu trusty-security main restricted universe multiverse

deb-amd64 https://mirrors.tuna.tsinghua.edu.cn/ubuntu trusty main restricted universe multiverse
deb-amd64 https://mirrors.tuna.tsinghua.edu.cn/ubuntu trusty-updates main restricted universe multiverse
deb-amd64 https://mirrors.tuna.tsinghua.edu.cn/ubuntu trusty-backports main restricted universe multiverse
deb-amd64 https://mirrors.tuna.tsinghua.edu.cn/ubuntu trusty-security main restricted universe multiverse

# OpenStack之Mitaka版的源
deb-i386 http://ubuntu-cloud.archive.canonical.com/ubuntu trusty-updates/mitaka main
deb-amd64 http://ubuntu-cloud.archive.canonical.com/ubuntu trusty-updates/mitaka main

# 清除无用的安装包,节省磁盘空间
clean https://mirrors.tuna.tsinghua.edu.cn/ubuntu
clean http://ubuntu-cloud.archive.canonical.com/ubuntu

同步源

  • 创建postmirror.sh文件,否则会报类似can't open /opt/source/var/postmirror.sh的错误;
  • 该文件用于执行同步软件源成功后所执行的操作;
1
$ touch /opt/source/var/postmirror.sh
  • 同步软件源(首次同步非常耗时,具体时间由实际带宽决定):
1
$ apt-mirror

安装Apache

1
$ apt install -y apache2

创建软链接

1
2
$ ln -s /opt/source/mirror/mirrors.tuna.tsinghua.edu.cn/ubuntu /var/www/html/ubuntu
$ ln -s /opt/source/mirror/ubuntu-cloud.archive.canonical.com/ubuntu /var/www/html/openstack

设置定时任务,定时同步软件源

  • 利用crontab设置定时任务
1
$ crontab -e
1
0 2 * * * /usr/bin/apt-mirror > /opt/source/var/cron.log &

Client端

修改软件源

1
$ vim /etc/apt/source.list
1
2
3
4
5
deb http://<Server端的IP地址>[:PORT]/ubuntu/ trusty main restricted universe multiverse
deb http://<Server端的IP地址>[:PORT]/ubuntu/ trusty-updates main restricted universe multiverse
deb http://<Server端的IP地址>[:PORT]/ubuntu/ trusty-security main restricted universe multiverse
deb http://<Server端的IP地址>[:PORT]/ubuntu/ trusty-backports main restricted universe multiverse
deb http://<Server端的IP地址>[:PORT]/openstack/ trusty-updates/mitaka main

更新软件源

1
$ apt update
  • 若在执行更新过程中,遇到GPG error,则为缺少某一Key,使用以下命令添加即可;
  • 根据实际情况替换<Public_KEY>
1
$ apt-key adv --recv-keys --keyserver keyserver.ubuntu.com Public_KEY
  • 添加OpenStack源的Key
1
$ apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 5EDB1B62EC4926EA

有你就有世界,感谢有你,昕!
0%