给客户部署有时需要纯内网环境,那这样就连不了网络。
一些包就下载不下来,而大家都知道用deb离线安装是非常麻烦的,各种依赖让你装不出来。
这里教大家打包源。
我准备2台机器,42和41
42可以联网,41不能联网。我想在41上通过apt安装某些东西。看我步骤。
为保证41不能联网,我先删除41的所有镜像源。
41机器上,编辑
sudo vi /etc/apt/sources.list
注释里面的所有内容
假设我现在要在41上安装redis
sudo apt install nginx
失败的,对吧
42操作
进入42,下载redis
sudo apt-get install -d redis
建个目录
sudo mkdir /offline-apt-packages
sudo chmod -R 777 /offline-apt-packages
把下载的包复制过来(apt默认路径/var/cache/apt/archives)
sudo cp -r /var/cache/apt/archives /offline-apt-packages
建立依赖关系
sudo apt-get install -y dpkg-dev
cd /offline-apt-packages
sudo dpkg-scanpackages -m . /dev/null | gzip -9c > Packages.gz
sudo cp Packages.gz ./archives
打包(无所谓的,打不打包都无所谓,重要的是把这个文件夹传过去就行了)
cd /
sudo tar -czvf offline-apt-packages.tar.gz offline-apt-packages
上传到41
在41上操作
解压
sudo tar -zxvf offline-apt-packages.tar.gz -C /
改源
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo vi /etc/apt/sources.list
加入下面这行
deb [trusted=yes] file:///offline-apt-packages archives/
sudo apt-get update
安装
sudo apt-get install -y redis
成功
参考:
他这个里面有写错的,我改了。
Ubuntu 制作离线源-腾讯云开发者社区-腾讯云
这个老哥写的好
https://www.cnblogs.com/ddcoder/p/18024804