由于项目需要在Ubuntu64位上搭建运行环境,需要安装很多软件,下载需要大量时间,并且需要安装的计算机可能由于条件限制无法上网,因此我们就需要制作一个本地源。一下是制作本地源需要的步骤:
通过apt-get安装的软件都在/var/cache/apt/archives目录下,在/目录下新建packages目录,并将所有的软件包拷贝到该目录下。(可以拷贝到任意路径下的目录里,该步骤主要是将所有软件包拷贝到一处,便于以后打包)
通过dpkg-scanpackages命令来获取软件包的详细信息(必须要确认安装了dpkg-dev)。
$ sudo dpkg-scanpackages /packages/ /dev/null |gzip >/packages/Packages.gz这样就在packages目录下生成了Packages.gz文件,apt-get安装软件时都会读取这个文件,从而获取的包的信息,如有依赖的包,就会自动下载并安装。
Packages.gz包含的信息有:
包名,优先级,类型,维护者,架构,源文件(source),版本号,依赖包,冲突性信息,包大小,文件的下载路径,MD5sum,SHA1,包描述,Xul-Appid---应用程序id,Bugs信息,Origin,Supported
可以看一下dpkg-dev包的信息:
Package: dpkg-dev Source: dpkg Version: 1.16.1.2ubuntu7.5 Architecture: all Origin: debian Bugs: debbugs://bugs.debian.org Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> Installed-Size: 1162 Depends: libdpkg-perl (= 1.16.1.2ubuntu7.5), bzip2, xz-utils, patch, make, binutils, base-files (>= 5.0.0) Recommends: gcc | c-compiler, build-essential, fakeroot, gnupg, gpgv, libalgorithm-merge-perl Suggests: debian-keyring Breaks: devscripts (<< 2.10.26), dpkg-cross (<< 2.0.0) Filename: packages//dpkg-dev_1.16.1.2ubuntu7.5_all.deb Size: 468412 MD5sum: ba929418e76cf3a5d1b6620635db9652 SHA1: 8ff26b822576175c3875aae0db0c04b37dcfa2fc SHA256: ec55ac8c839220e1f5abef498def4b06cc75ac23927e2517adbccf3ab0d88efe Section: utils Priority: optional Multi-Arch: foreign Homepage: http://wiki.debian.org/Teams/Dpkg Description: Debian package development tools This package provides the development tools (including dpkg-source) required to unpack, build and upload Debian source packages. . Most Debian source packages will require additional tools to build; for example, most packages need make and the C compiler gcc. Original-Maintainer: Dpkg Developers <debian-dpkg@lists.debian.org>
apt命令每次都会读取/etc/apt/sources.list
源列表(这个源列表可以添加好多源,每次都选中开头的有效源),因此我们编辑该文件,在第一行添加我们自己的本地源,如:
deb file:/// packages/
要注意中间的空格
将/etc/apt/sources.list文件拷贝到packages目录下,将packages文件夹打包、备份,以便使用。
将packages压缩包放到/目录(该目录只要和添加的本地源路径一致即可,以便apt能找到源)下解压,备份本机的sources.list,将packages目录下的sources.list拷贝到/etc/apt/目录下。修改/etc/apt/sources.list 之后一般会运行下面两个命令进行更新升级:
sudo apt-get update
sudo apt-get dist-upgrade
其中 :
update - 取回更新的软件包列表信息
dist-upgrade - 发布版升级
然后就可以离线安装了:apt-get install xxxx
参考文献:
原文地址:http://blog.csdn.net/yuanhubilie/article/details/42106117