使用apt-mirror在Ubuntu18.04(.2)创建本地软件源

前言

基于Ubuntu的开发环境,一般需要开发者在连接互联网的情况下从Ubuntu官方软件源(Main/China/USA)下载和更新需要使用的软件包(deb)。

当前公司的工作环境,工作计算机不能够访问外网。故需要预先将官方软件源内容全部下载,导入公司的内网,在内网中创建本地软件源。

 

简介

本文将介绍在Ubuntu18.04(.2)中如何使用脚本工具apt-mirror创建一个本地的软件源仓库。主要信息来自于互联网的相关技术内容。

首先需要确定系统的版本号,可以使用以下命令查看当前系统的版本号。

lsb_release -a



No LSB modules are available.

Distributor ID: Ubuntu

Description:     Ubuntu 18.04.2 LTS

Release:  18.04

Codename:      bionic

 

由输出信息得知,当前计算机安装的操作系统是Ubuntu 18.04.2,从2018年4月发布至今(2019年7月),18.04 LTS已经迭代升级到了18.04.2。Bionic是Ubuntu18.04的代号(简称),全称是Bionic Beaver。在下面通过修改mirror.list文件指定软件源的时候,不同版本的Ubuntu LTS(18.04/16.04/14.04)就是通过这个代号去区分的。

近年来Ubuntu LTS的版本与代号的对应关系如下:

12.04.5 LTS       Precise Pangolin

14.04.6 LTS       Trusty Tahr

16.04.6 LTS       Xerial Xerus

18.04.2 LTS       Bionic Beaver

这里需要用到两个软件,apt-mirror和apache2。使用apt-mirror可以将官方的软件源镜像包下载到本地;使用apache2可以将软件源从本机发布出去。

操作步骤

1、安装apt-mirror,在命令行中执行以下命令:

sudo apt install apt-mirror

扫描二维码关注公众号,回复: 8684968 查看本文章

安装完毕后会在/etc/apt/路径下自动生成文件mirror.list

2、配置apt-mirror,修改mirror.list文件(安装apt-mirror后生成的mirror.list文件里的内容仅为示例),在命令行中执行以下命令:

sudo vi /etc/apt/mirror.list

mirror.list文件中包含配置信息和软件源地址,首先修改配置信息。

<base_path> 代表下载软件源的存储位置

<nthreads> 代表下载的线程数,默认20

修改并去掉该行注释

############# config ##################

#

set base_path    /home/xxx/xxx

#

# 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  <running host architecture>

# set postmirror_script $var_path/postmirror.sh

# set run_postmirror 0

set nthreads     20

set _tilde 0

#

############# end config ##############

 

源地址的修改,Ubuntu官方的软件源有的时候下载速度过慢,可以替换为国内软件源地址,下面是阿里云的源地址。

每一行都需要以deb-i386或者deb-amd64开始(deb-src表示下载源代码,目前不需要)deb-i38632位的软件源,deb-amd6464位软件源,这里同时下载32位和64位的软件源。

每一行中都有单独“版本代号”(bionic)或者“版本代号-限定词”(updates/secrity/proposed/backports)的字段,bionic表示Ubuntu 18.04,每一个发行版,每一种架构(amd64/i386)都需要有5行的内容。所以现在是10行的内容。

*proposed可以选择性的添加,不是必须的。官方解释该文件夹里的内容属于测试性质的软件包。系统默认的软件源中不包括proposed内容。

每行最后的 main/restricted/universe/multiverse 代表开源软件的级别分类,都需要添加进去。

最终源地址部分修改的结果如下所示:

deb-i386 http:// mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse

deb-i386 http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse

deb-i386 http:// mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse

deb-i386 http:// mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse

deb-i386 http:// mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

 

deb-amd64 http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse

deb- amd64 http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse

deb- amd64 http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse

deb-amd64 http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse

deb- amd64 http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

3、同步源

sudo apt-mirror

当前Ubuntu18.04(.2)的软件源大小为110GB左右,网速不同,下载速度也不同,等待下载完成。

 

4、安装apache2

sudo apt install apache2

5、创建软连接

将软件源软连接到/var/www/html路径下,apache2将自动发布。

ln –s /home/xxx/xxx/mirror/mirrors.aliyun.com/Ubuntu  /var/www/html/Ubuntu

6、在个人工作用计算机修改软件源文件,/etc/apt/sources.list。其中192.168.0.36为放置软件源的内网计算机的IP地址

deb http://192.168.0.36/ubuntu/ bionic main restricted universe multiverse

deb http://192.168.0.36/ubuntu/ bionic-updates main restricted universe multiverse

deb http://192.168.0.36/ubuntu/ bionic-security main restricted universe multiverse

deb http://192.168.0.36/ubuntu/ bionic-backports main restricted universe multiverse

deb http://192.168.0.36/ubuntu/ bionic-proposed main restricted universe multiverse

7、更新软件源

sudo apt update

之后就可以使用apt命令从本地软件源仓库更新和安装需要的软件了。

 

参考资料:

  1. Ubuntu安装镜像官方下载地址:http://releases.ubuntu.com
  2. 网页内容《Ubuntu的软件源格式详解》
  3. 互联网搜索内容“apt-mirror 软件源”
发布了1729 篇原创文章 · 获赞 371 · 访问量 273万+

猜你喜欢

转载自blog.csdn.net/jj12345jj198999/article/details/102747888