Ubuntu制作本地软件源

把网络仓库下载到本地

  1. 把网络仓库换成国内的源,打开Software & Updates,download from栏选择中国的服务器,比如aliyun或华为云
  2. 需要apt-mirror命令,该命令通过apt下载即可
  3. 查看/etc/apt/sources.list,可以看到所有的软件源都已经换成设置的服务器地址了
  4. 执行命令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
  1. 光有上面的内容是不行的,还需要再添加部分内容,复制/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.

  1. 执行命令sudo apt-mirror,开始漫长的等待,我这64位的Ubuntu1804.5,下载完成后,大概用了246G的存储
  2. 执行完成后,下载的仓库存储在/var/spool/apt-mirror/mirror

apt使用本地仓库

  1. 修改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
  1. 执行命令sudo apt clean清空缓存
  2. 执行命令sudo apt update更新软件列表

构造的本地仓库共享给局域网

注意:
需保证本地仓库跟局域网的Ubuntu的网络是连通的
通常,仓库需要对应系统版本,比如,1604的仓库给1804的系统用,是不行的

  1. 执行命令sudo apt install -y apache2安装apache
  2. 执行命令ln -s /var/spool/apt-mirror/mirror/mirrors.aliyun.com/ubuntu /var/www/html/ubuntu创建软连接到apache的根目录
  3. 局域网其他的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
  1. 执行命令sudo apt clean清空缓存
  2. 执行命令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/

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值