把网络仓库下载到本地
- 把网络仓库换成国内的源,打开
Software & Updates
,download from栏选择中国的服务器,比如aliyun或华为云 - 需要
apt-mirror
命令,该命令通过apt下载即可 - 查看
/etc/apt/sources.list
,可以看到所有的软件源都已经换成设置的服务器地址了 - 执行命令
cat /etc/apt/sources.list | grep -v ^# | grep -v ^$ | sudo tee /etc/apt/mirror.list
,可以把网络仓库地址填到/etc/apt/mirror.list
文件中,apt-mirror
命令就是根据这个文件下载仓库到本地的,可以看到mirror.list
的内容如下:
cat /etc/apt/mirror.list
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted
deb http://mirrors.aliyun.com/ubuntu/ bionic universe
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates universe
deb http://mirrors.aliyun.com/ubuntu/ bionic multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted
deb http://mirrors.aliyun.com/ubuntu/ bionic-security universe
deb http://mirrors.aliyun.com/ubuntu/ bionic-security multiverse
- 光有上面的内容是不行的,还需要再添加部分内容,复制
/etc/apt/mirror.list
的内容,在末尾粘贴一次,粘贴的内容把deb改成deb-i386,修改后的内容如下:
cat /etc/apt/mirror.list
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted
deb http://mirrors.aliyun.com/ubuntu/ bionic universe
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates universe
deb http://mirrors.aliyun.com/ubuntu/ bionic multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted
deb http://mirrors.aliyun.com/ubuntu/ bionic-security universe
deb http://mirrors.aliyun.com/ubuntu/ bionic-security multiverse
deb-i386 http://mirrors.aliyun.com/ubuntu/ bionic main restricted
deb-i386 http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted
deb-i386 http://mirrors.aliyun.com/ubuntu/ bionic universe
deb-i386 http://mirrors.aliyun.com/ubuntu/ bionic-updates universe
deb-i386 http://mirrors.aliyun.com/ubuntu/ bionic multiverse
deb-i386 http://mirrors.aliyun.com/ubuntu/ bionic-updates multiverse
deb-i386 http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-i386 http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted
deb-i386 http://mirrors.aliyun.com/ubuntu/ bionic-security universe
deb-i386 http://mirrors.aliyun.com/ubuntu/ bionic-security multiverse
注意:若没有添加deb-i386最后在执行sudo apt update
的时候会报错,部分软件也无法被列举,报错内容大致如下:
Err:56 http://127.0.0.1/ubuntu bionic-security/main i386 Packages
404 Not Found [IP: 127.0.0.1 80]
Ign:63 http://127.0.0.1/ubuntu bionic-security/restricted i386 Packages
Ign:66 http://127.0.0.1/ubuntu bionic-security/universe i386 Packages
Ign:71 http://127.0.0.1/ubuntu bionic-security/multiverse i386 Packages
Fetched 41.9 MB in 1s (29.8 MB/s)
Reading package lists... Done
E: Failed to fetch http://127.0.0.1/ubuntu/dists/bionic/main/binary-i386/Packages 404 Not Found [IP: 127.0.0.1 80]
E: Failed to fetch http://127.0.0.1/ubuntu/dists/bionic-updates/main/binary-i386/Packages 404 Not Found [IP: 127.0.0.1 80]
E: Failed to fetch http://127.0.0.1/ubuntu/dists/bionic-backports/main/binary-i386/Packages 404 Not Found [IP: 127.0.0.1 80]
E: Failed to fetch http://127.0.0.1/ubuntu/dists/bionic-security/main/binary-i386/Packages 404 Not Found [IP: 127.0.0.1 80]
E: Some index files failed to download. They have been ignored, or old ones used instead.
- 执行命令
sudo apt-mirror
,开始漫长的等待,我这64位的Ubuntu1804.5,下载完成后,大概用了246G的存储 - 执行完成后,下载的仓库存储在
/var/spool/apt-mirror/mirror
apt使用本地仓库
- 修改
cat /etc/apt/sources.list
,把http://开头的网址都换成file://开头的对应的目录,修改之后的内容如下:
cat /etc/apt/sources.list | grep -v ^# | grep -v ^$
deb file:///var/spool/apt-mirror/mirror/mirrors.aliyun.com/ubuntu/ bionic main restricted
deb file:///var/spool/apt-mirror/mirror/mirrors.aliyun.com/ubuntu/ bionic-updates main restricted
deb file:///var/spool/apt-mirror/mirror/mirrors.aliyun.com/ubuntu/ bionic universe
deb file:///var/spool/apt-mirror/mirror/mirrors.aliyun.com/ubuntu/ bionic-updates universe
deb file:///var/spool/apt-mirror/mirror/mirrors.aliyun.com/ubuntu/ bionic multiverse
deb file:///var/spool/apt-mirror/mirror/mirrors.aliyun.com/ubuntu/ bionic-updates multiverse
deb file:///var/spool/apt-mirror/mirror/mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb file:///var/spool/apt-mirror/mirror/mirrors.aliyun.com/ubuntu/ bionic-security main restricted
deb file:///var/spool/apt-mirror/mirror/mirrors.aliyun.com/ubuntu/ bionic-security universe
deb file:///var/spool/apt-mirror/mirror/mirrors.aliyun.com/ubuntu/ bionic-security multiverse
- 执行命令
sudo apt clean
清空缓存 - 执行命令
sudo apt update
更新软件列表
构造的本地仓库共享给局域网
注意:
需保证本地仓库跟局域网的Ubuntu的网络是连通的
通常,仓库需要对应系统版本,比如,1604的仓库给1804的系统用,是不行的
- 执行命令
sudo apt install -y apache2
安装apache - 执行命令
ln -s /var/spool/apt-mirror/mirror/mirrors.aliyun.com/ubuntu /var/www/html/ubuntu
创建软连接到apache的根目录 - 局域网其他的Ubuntu修改
/etc/apt/sources.list
,修改内容如下,ip要根据实际情况改变
cat /etc/apt/sources.list | grep -v ^# | grep -v ^$
deb http://127.0.0.1/ubuntu/ bionic main restricted
deb http://127.0.0.1/ubuntu/ bionic-updates main restricted
deb http://127.0.0.1/ubuntu/ bionic universe
deb http://127.0.0.1/ubuntu/ bionic-updates universe
deb http://127.0.0.1/ubuntu/ bionic multiverse
deb http://127.0.0.1/ubuntu/ bionic-updates multiverse
deb http://127.0.0.1/ubuntu/ bionic-backports main restricted universe multiverse
deb http://127.0.0.1/ubuntu/ bionic-security main restricted
deb http://127.0.0.1/ubuntu/ bionic-security universe
deb http://127.0.0.1/ubuntu/ bionic-security multiverse
- 执行命令
sudo apt clean
清空缓存 - 执行命令
sudo apt update
更新软件列表
把本地仓库制作成iso或复制到其他系统中
复制到其他系统
直接通过cp命令复制到移动硬盘即可
制作成iso
通过命令行mkisofs -r -l -o /mnt/hgfs/linuxShare/ubuntu1804.5_ali_software.iso /var/spool/apt-mirror/
制作iso,到另一个系统可以通过挂载iso,并修改source.list,快捷地使用软件源
apt-mirror的其他参数配置
其配置可以直接在/etc/apt/mirror.list
文件中添加,具体配置内容可以看下面的注释,我个人是没有添加deb行以外的内容
# 下载本地仓库到/opt/source
set base_path /opt/source
# 20线程现在
set nthreads 20
set _tilde 0
deb https://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
## Not recommended
# deb https://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
# 清除无用的安装包,节省磁盘空间
clean https://mirrors.ustc.edu.cn/ubuntu/