Linux离线安装包收集与安装
安全性要求较高的项目现场一般不允许连接外网,这时需要在 有外网且同样linux系统
下,将安装包下载到本地,然后再拷贝到离线环境安装。而一个安装包可能会有多个依赖包,且依赖包又有依赖包,依此类推,需要将所有的依赖包都下载到本地,才能完成安装。不同的linux发行版的安装命令不太一样,这里分别以 yum
和 apt-get
命令为例,演示如何将 ffmpeg
安装包下载到本地并在目标机器上安装。
yum命令示例
- 新建目录ffmpeg
bash
sudo mkdir ffmpeg
2.通过repotrack下载所有rpm包
bash
sudo repotrack ffmpeg -p ./ffmpeg
3.压缩ffmpeg目录
bash
sudo zip -r ffmpeg.zip ffmpeg
4.将压缩包拷贝到目标机器并解压
bash
sudo unzip ffmpeg.zip
5.安装所有.rpm包
bash
sudo rpm -Uvh --force --nodeps ./ffmpeg/*.rpm
这里的几个选项的含义如下:
-U:更新软件包,如果rpm比系统现有的版本更高,那么就更新系统的包
-v:输出更多执行细节,也就是显示执行过程
-h:在软件包安装的过程中打印哈希值
--force:等价于--replacepkgs --replacefiles两个选项,前者指重新安装已有的软件包,后者指忽略包之间的文件冲突
--nodeps:不验证软件包的依赖关系
apt-get命令示例
- 新建目录ffmpeg
bash
sudo mkdir ffmpeg
2.通过apt-get下载所有deb包
bash
sudo apt-get --download-only -o=dir::cache=./ffmpeg install ffmpeg
3.压缩ffmpeg目录
bash
sudo zip -r ffmpeg.zip ffmpeg
4.将压缩包拷贝到目标机器并解压
bash
sudo unzip ffmpeg.zip
5.安装所有.deb包
bash
sudo dpkg -i --force-depends ./ffmpeg/archives/*.deb