Ubuntu 16.04 LTS制作本地源



 



平时apt-get install安装软件时,下载的deb文件都会存放在/var/cache/apt/archives/下,没有网络时就需要将这些deb制作成本地源。另外,如果在本机架一个简单的网络服务器,同一局域网内其他机器也可以通过网址访问这个局域网源。例如用Python -m SimpleHTTPServer 1111,就可以建成一个局域网共用的源了。 

下面给出Ubuntu 16.04 LTS本地源制作步骤:

一、在自己的根目录下建立一个目录,用于放所有下载的软件包,目录名随自己喜欢,建议新手在自己的根目录下进行以下操作,以避免操作权限问题的困扰。



mkdir ~/ packs
pack_dir=/home/someone/packs


拷贝过来发现在packs当中为文件都是root账户的,需要修改

修改所有者



sudo chown -R someone.someone * $pack_dir


 修改权限



sudo chmod ug+rw,o+r * $pack_dir


二、复制文件到packs文件夹下,目录依各人情况变化。



sudo cp /var/cache/apt/archives/* ~/packs -r


三、建立Packages.gz包,里面记录了packs文件夹下面的软件包信息,包括依赖信息。



dpkg-scanpackages $pack_dir /dev/null |gzip > ${pack_dir}/Packages.gz -r


四、加本地源



sudo gedit /etc/apt/sources.list


添加以下内容:



deb file:/// /home/someone/packs/


注意packs后面有一个斜杠,全路径前面还要有空格

如果连不了外网,将所有外网源的链接注释掉。

五、更新源



sudo apt-get update ---allow-insecure-repositories
sudo apt-get install -f
sudo apt-get xxxx --allow-unauthenticated


 注意事项:本地的源是没有签名的,直接更新ubuntu1604下的apt会提示找不到release文件,是一种不安全的源,默认是被禁用的。如果还要安装的话需要加上这个 --allow-unauthenticated选项。

不加选项报错如下: 

N: Updating from such a repository can't be done securely, and is therefore disabled by default.