如何制作完整的Ubuntu本地源镜像(以Ubuntu12.04为例)
本地部分源镜像的优点是占用空间比较小,一个部分软件包源根据系统需要所占的空间大概也就在1G~2G之间。能满足系统备份还原的基本需求,凡是备份下来的软件包都能安装。但是它的缺点和局限性也是很明显的,它只能使用系统安装过的的软件包,也就是/var/cache/apt/archives/下的所有软件包。如果你的系统是32位的,那么这个源也就是32位的源,而不能被64位的系统所使用。或者如果要安装没有在本机上安装过的软件,那么就不行。因此制作完整的本地软镜像就是个不错的选择。
制作部分软件包源镜像可以作为个人备份系统,还原之用;如果是公司企业的话,推荐还是使用完整的本地源镜像。
下面介绍下制作完整的本地源镜像的方法:
安装前一定要注意:
首先,镜像目录为/var/spool/下的 apt-mirror 。
其次,要尽量用官方源或者Ubuntu系统源列表中列出来的镜像站进行镜像。
/var下要有40G以上的空间,建议在40G的基础上再保留30%以上的余量。
/var下如果没有空间,可以把镜像目录改到其他分区中,可以参考如下方法:
[plain] view plain copy
- sudo ln -s /media/g/Ubuntu_local/apt-mirror/ /var/spool/apt-mirror
1. 安装apt-mirror工具[plain] view plain copy
- sudo apt-get install apt-mirror
- sudo apt-get install apache2 #如果不打算对局域网或互联网开放,这个不必装
2. 配置apt-mirror工具
gksugedit /etc/apt/mirrors.list
清除原有内容,没关系,输入以下内容:
[plain] view plain copy
- #############config ##################
- #
- # set base_path /var/spool/apt-mirror
- #
- # setmirror_path $base_path/mirror
- # setskel_path $base_path/skel
- # setvar_path $base_path/var
- # setcleanscript $var_path/clean.sh
- # setdefaultarch <running hostarchitecture>
- # setpostmirror_script $var_path/postmirror.sh
- # setrun_postmirror 0
- #默认为20线程下载,推荐10线程,20可能会造成服备器或网络loading太重
- setnthreads 20
- set _tilde 0
- #
- #############end config ##############
- #网易源(速度很快)
- debhttp://mirrors.163.com/ubuntu/ precise main universe restricted multiverse
- debhttp://mirrors.163.com/ubuntu/ precise-security universe main multiverserestricted
- debhttp://mirrors.163.com/ubuntu/ precise-updates universe main multiverserestricted
- debhttp://mirrors.163.com/ubuntu/ precise-proposed universe main multiverse restricted
- debhttp://mirrors.163.com/ubuntu/ precise-backports universe main multiverserestricted
- #ubuntu12.04 src源不进行同步,因为大多数人用不上,如果同步,要多增加一倍空间
- #deb-srchttp://mirrors.163.com/ubuntu/ precise main universe restricted multiverse
- #deb-srchttp://mirrors.163.com/ubuntu/ precise-security universe main multiverserestricted
- #deb-srchttp://mirrors.163.com/ubuntu/ precise-proposed universe main multiverserestricted
- #deb-srchttp://mirrors.163.com/ubuntu/ precise-backports universe main multiverse restricted
- #deb-srchttp://mirrors.163.com/ubuntu/ precise-updates universe main multiverserestricted
- #下面的代码是为了镜像成功后节省空间的,实际上下面的这一句不写也是可以的
- clean http://mirrors.163.com/ubuntu/
这里的地址规则和sources.list中是一样的,用的是163网速不同,时间不同,完成后有提示,
3. 开始制作镜像sudo apt-mirror
制作完成后会有提示,制作过程可以中断,如果时间太长,可以关闭终端或ctrl+c ,如果电脑关机,什么时候要继续,再重新执行代码即可,这时原来下载过的是不会重新下载的。直到完成,完成后有如何节约空间的提示,可以不去理会;镜像内容很全的,与官方同步的.
之后再次运行apt-mirror会继续以前的工作.每次都可以这样更新.
此过程根据网速不同,会有不同的时间.网速快的话,1个晚上就能完成.
4. 作为本地源使用更新
这一部分和部分软件包源镜像源的使用一样,可参考
制作完成后,在本地存储的地址为:
/var/spool/apt-mirror/mirror/mirrors.163.com/Ubuntu
编辑sources.list
sudo gedit /ets/apt/sources.list
删除原有内容,写入:
debfile:///var/spool/apt-mirror/mirror/mirrors.163.com/ubuntu/ precise mainuniverse restricted multiverse
debfile:///var/spool/apt-mirror/mirror/mirrors.163.com/ubuntu/ precise-securityuniverse main multiverse restricted
debfile:///var/spool/apt-mirror/mirror/mirrors.163.com/ubuntu/ precise-updatesuniverse main multiverse restricted
debfile:///var/spool/apt-mirror/mirror/mirrors.163.com/ubuntu/ precise-proposeduniverse main multiverse restricted
debfile:///var/spool/apt-mirror/mirror/mirrors.163.com/ubuntu/ precise-backportsuniverse main multiverse restricted
5. 本地安装软件包sudo apt-get update
sudo apt-get install xxxx
6. 制作成局域网源
安装apaches
/var/spool/apt-mirror/mirror/mirrors.163.com/ubuntu/作为webroot
地址为局域网ip地址即可.
说明: 完整的本地源做好后,通过新立得或apt-get,可以完全免除ubuntu官方源或ubuntu-cn源的负担,你想装什么,就装什么吧