Linux/本地源的制作

Linux上安装软件对网络的依赖是非常大的,有些软件可以通过网络直接安装,有些己经下载好的软件在安装的时候需要从网上下载所依赖软件包。而且Linux系统时常会有更新要下载。在刚刚安装完Linux系统以后,虽然网速也不算慢,但下载这些软件包的慢长的等待是给人最深刻的印象。

当因为各种原因需要重新安装系统或需要在多台电脑上安装时,如果能利用前一次安装后已经下载好的软件包,就能快速的完成软件的安装,这不是很美好的事情吗?

方法一 编辑

ubuntu中,所有下载的软件包默认是保留的,它们放在/var/cache/apt/archives目录下。因此最简单的方法是把所有软件包全部复制出来,重装后复制回相同目录。这样系统就不会下载已经存在的软件包,安装的时间就短多了。另外每次安装完系统后,如果想从网上下软件包,要做的第一件事是更新网上的软件包信息,更新后它们全放在/var/lib/apt/lists目录里,如果想把这点时间也省了,可以用同样的方法。

方法二 编辑

选一个你喜欢的地方,比方说/media/backup。创建如下目录/media/backup/binary-i386/Packages和/media/backup/binary-i386/dists/intrepid/main/binary-i386,将所有软件包复制到/media/backup/binary-i386/Packages里。然后在命令行下,进入/media/backup/binary-i386,可以用命令

cd /media/backup/binary-i386

然后再用命令

dpkg-scanpackages Packages /dev/null | gzip > /media/backup/binary-i386/dists/intrepid/main/binary-i386/Packages.gz

创建软件包信息。

在重装系统后,将binary-i386这个文件夹,放回这个目录。在命令行下用如下命令打开软件源列表

sudo gedit /etc/apt/sources.list

先备分一下里面的内容,然后把里面的内容全删了,加入以下内容

 deb file:///media/backup/binary-i386 intrepid main

保存。

在命令行下运行如下命令 sudo apt-get update

然后就可以安装软件了,像从网上安装软件一样,但是不用上网,所以叫本地源。别忘了恢复已经备分的软件源列表。

fedora下我还不知道怎么做本地源,但是可以提供跟最上面提到的类似的一个放法。

因为fedora默认不保存软件包,所以一定要先设置一下,先用su命令在命令行下进入超级用户,然后打开/etc/yum.conf文件

gedit /etc/yum.conf

找到keepcache=0这一项,把0改成1,保存。重启电脑,然后再从网上下的软件包都会保存在/var/cache/yum目录里,软件信息也放在里面。只要把这个文件夹复制出来,下次重装系统后再替换原有文件夹就行了。别望了重装后也要改/etc/yum.conf文件,否则再安装完后就会把软件包给删了。

注意 编辑

每当版本升级后原来的软件包就有一部分不能用了,如果强行安装就会造成意想不到的后果,这时最安全的方法是用方法一,关于多余软件包的清理,请看下一节内容。