方法一
1.软件包放在 deps 目录下:
dpkg-scanpackages deps /dev/null |gzip > deps/Packages.gz -r
2.更新 sources.list
cat /etc/apt/sources.list
deb file:///opt/dmdbms/data/wangjq/P003 deps/
3.更新源
sudo apt-get update
方法二
-
收集软件,下载的软件都在/var/cache/apt/archives目录下
例如openstack L版的所有包 keystone,glance nova neutron。。。。。。。
举例:
apt-get install ros-lunar-control-toolbox
-
把下载的软件copy到一个目录
apt-get 安装的软件会存在/var/cache/apt/archives目录下
mkdir -p /root/ubuntu-L-package 创建一个文件夹
把目录下的软件包copy到 /root/ubuntu-L-package
3.安装软件包dpkg-dev
apt-get install dpkg-dev
4.生成包的依赖信息
cd /root
dpkg-scanpackages /root/ubuntu-L-package/ /dev/null | gzip> /root/ubuntu-L-package/Packages.gz
vim /etc/apt/sources.list
添加 deb file:///root/ (空格) ubuntu-L-package/ 。注意空格。
6 如果是局域网的话建议用ftp去下载,
例子:在有源的节点上搭建ftp服务器
apt-get install vsftpd
默认的话vsftp是不允许匿名登录的,修改vim /etc/vsftpd.conf文件
anonymous_enable=YES ///默认为no 修改为yes就是允许匿名用户登录
匿名用户登录的默认目录是:/srv/ftp
把下载的包ubuntu-L-package移到/srv/ftp下。
制作源的索引:
需要安装apt-get install dpkg-dev -y
安装完之后对下载的离线package包进行索引设置
cd /srv/ftp
dpkg-scanpackages ubuntu-L-package/ | gzip >/srv/ftp/ubuntu-L-package/Packages.gz
一定要写成Packages.gz,不然不识别会报错
如果不想输出太多内容可以:
dpkg-scanpackages ubuntu-L-package/ /dev/null | gzip >/srv/ftp/ubuntu-L-package/Packages.gz
如果想要上传下载的话,根据信息去修改就行,这里暂不需要
修改完重启服务 service vsftpd restart
在局域网的机器上配置/etc/apt/source.list
修改之前就得把原来的source.list先备份一下
deb ftp://10.10.10.25/ ubuntu-L-package/
6.apt-get update
7.apt-get upgrade