最新接到一个项目,需要在客户内网的liunx系统中跑项目,但是,又不能连接网络,其中各个插件,各个程序,看起来很绝望啊 没办法啊
在网上查了许久的资料,明明在liunx中,执行 apt-get install 指令 一句话就可以搞定的事情,为什么非要下载离线包,还要配置环境,还要一个一个执行命令,如此的麻烦啊
稍微不注意,还执行错了,内网没有网络,又不能重置,更换系统很麻烦,所以只能自己想办法解决啊。
好吧 说了这么多也没啥意思,先举个例子吧:(其他的安装程序和这个差不多的不影响){我使用新方法安装了很多程序,例如:ssh vim supervisor asterisk等等 还有很多}
守护进程程序 supervisor,这个应该是用的相对比较广泛的把,可以守护我们的程序死掉后自动重启
网上找的例子是这样的,看着脑壳疼
像这样的安装方式,真心让我绝望,哎,这种还不能保证环境和实施现场有没有区别,会不会少什么插件
算了,说了这么多,大概也知道其中的困难有多少了,反正我是找了好几天,才无意间发现这个办法,然后去实施,发现竟然没有任何问题
好了 上过程:(我的这种方式就是使用apt-get 的缓存文件拷贝到离线系统中安装)
1.众所周知,ubuntu中 使用apt-get 安装程序,是有缓存的,每次安装的时候都会下载程序所需有的插件,都是缓存在 apt-get中的,但是呢 这种安装把缓存文件拷过去直接装的,会破坏系统的文件,再次联网的安装是,会一直报下载失败,安装失败,具体的不知道为啥,反正我是出现了这种问题。
2.然而在我不屑努力下,找到了另一种方式,使用 apt-get -d install 指令,apt-get -d 表示只下载不安装,这样,他会下载程序所有的安装包,不执行安装过程,而且存储也在缓存目录,可以拷贝到另一个系统中离线安装
Linux缓存目录 /var/cache/apt/archives
清空 linux缓存目录 rm -rf /var/cache/apt/archives
sudo passwd root 修改root密码
sudo apt-get -d install openssh-server //-d 代表下载ssh但是不安装
sudo apt-get -d install ~
sudo apt-get -d install ~ //下载完成后 把archives 打包
sudo tar -zcvf 1.tar.gz /var/cache/apt/archives 将 archives文件夹 打包成1.tar.gz文件
将1.tar.gz拷贝到新的系统中
sudo tar -zxvf 1.tar.gz 将1.tar.gz解压到当前目录
sudo tar -zxvf 1.tar.gz -C /var/cache/apt/ 将1.tar.gz解压到 /var/cache/apt/ 目录
3.解压完成后 就可以正常执行 apt-get install 指令了。完全没有问题,而且不需要联网,是不是爽歪歪,哈哈哈哈哈