本文介绍如何在ubuntu机器上制作私有源给内网的其他机器使用
1、ubuntu机器修改源
先将ubuntu机器的源改成国内的源 清华源介绍:https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/
sed -i "s@http://.*archive.ubuntu.com@https://mirrors.tuna.tsinghua.edu.cn@g" /etc/apt/sources.list
sed -i "s@http://.*security.ubuntu.com@https://mirrors.tuna.tsinghua.edu.cn@g" /etc/apt/sources.list
2、安装apt-mirror
apt-get install apt-mirror
安装后,会生成文件 /etc/apt/mirror.list,然后进行 1、设置 base_path目录,当然也可以用默认目录 2、然后将源改成国内的源 3、注释 deb-src开头的源同步,apt-get install安装软件包,只??需要deb…开头的而不是deb-src… 除非你想手动编译,才需要deb-src
set base_path /data/apt-mirror
set nthreads 20
set _tilde 0
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu bionic main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu bionic-security main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu bionic-updates main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu bionic-proposed main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu bionic-backports main restricted universe multiverse
clean http://mirrors.tuna.tsinghua.edu.cn/ubuntu
3、开始同步源
nohup /usr/bin/apt-mirror &
同步完有这个报错 Running the Post Mirror script … (/data/apt-mirror/var/postmirror.sh)
/bin/sh: 0: cannot open /data/apt-mirror/var/postmirror.sh: No such file
Post Mirror script has completed. See above output for any possible errors.
不知道具体原因,创建这个文件解决这个报错 touch /data/apt-mirror/var/postmirror.sh
如果要在一台ubuntu机器上同步多个版本的源怎么操作呢? 可以指定配置文件同步
/usr/bin/apt-mirror mirror-20.04.list
/usr/bin/apt-mirror mirror-22.04.list
更多apt-mirror的用法参考: https://manpages.ubuntu.com/manpages/bionic/man1/apt-mirror.1.html
4、设置定时任务同步
0 3 * * * /usr/bin/apt-mirror > /data/apt-mirror/var/cron.log 2>&1
5、安装nginx
通过web方式将apt源暴露给外部机器访问
apt-get install nginx
修改nginx的配置
root /data/apt-mirror/mirror/mirrors.tuna.tsinghua.edu.cn/;
6、修改其他机器的sources.list
deb http://apt源的机器ip/ubuntu
|