前言
有时候遇到Linux无法连接互联网的时候,安装软件就成了一个很头大的麻烦事,各种依赖安装,那么怎么去解决这个问题呢?
打包,是一个不错的选择,下面开始实践!
目录 ————————————————————>请在右上位置查看目录
一、RPM系的打包方法
1.1、测试环境
用到的测试环境如下:
[root@master ~]# cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
本文以vsftpd及docker服务为例子
1.2、打包安装VSFTPD服务
1.2.1、下载包
下载之前我们先新建一个文件夹存放我们的RPM包,命令如下
sudo mkdir -p /rpm/vsftpd
新建之后我们就使用下面的命令将我们需要的安装包拉取下来
yum install --downloadonly --downloaddir=/rpm/vsftpd/ vsftpd
从下图可以看出,此时已经把这个服务的包拉取下来了
1.2.2、尝试本地安装
我们使用本地安装的方式安装看看
rpm -ivh vsftpd-3.0.2-25.el7.x86_64.rpm
此时已经安装成功,从上面的结果来看的话看不出依赖问题,下面以docker-ce服务的安装做演示,相同步骤不再做解释。
1.3打包安装docker-ce
1.3.1、下载docker服务包及其依赖包
参数说明:
- -q #静默安装
从上面的结果来看,这次不止是下载docker-ce这个包,其主要依赖container也被下载下来,那么这时候我们试一下安装
此时服务安装成功,如果需要打包去其他主机安装,可以选择压缩之后打包,下面简单演示一下压缩与解压
1.3.2、安装压缩解压工具
首先安装unzip和zip
yum install -y unzip zip
安装完成之后,我们进入之前指定的文件夹路径
1.3.3、开始压缩
执行下面的命令进行解压
zip -r docker-ce.zip *.rpm
打包之后我们查看一下文件大小
du -sh docker-ce.zip
压缩之后管理就比较方便了,当复制到其他主机的时候,只需要使用下面的命令即可解压
1.3.4、解压文件
这里我移动该压缩文件至/opt/进行解压演示,文件名后面不加路径将默认解压当当前路径
unzip docker-ce.zip
那么到这里,RPM系的依赖打包方法就结束了!
二、DEB系
2.1、系统环境
2.2、缓存清理
rm -rf /var/cache/apt/archives/
mkdir -p /var/cache/apt/archives/
2.3、下载VSFTPD安装包
apt-get -d install vsftpd
此时安装包已经下载完成, 验证
ls /var/cache/apt/archives/
2.4、本地安装验证
cd /var/cache/apt/archives/
dpkg -i vsftpd_3.0.3-12_amd64.deb
2.5、docker打包演示
2.5.1、清理缓存及下载包
rm -rf /var/cache/apt/archives/*
下载完成之后,查看缓存目录
2.5.2、查看下载结果
ls /var/cache/apt/archives/
可以看到,此时下载了非常多的依赖包,现在我们使用本地安装的方式进行安装验证
2.5.3、本地安装验证
dpkg -i /var/cache/apt/archives/*.deb
可以看到,安装是完全没问题的。当然,这是其中一个安装方式,仅限主机少的情况下进行安装,如果主机多久需要做一个私有源了,下面演示私有源的部署
三、debian系私有源的部署与配置
3.1、压缩与解压
3.1.1、压缩包
一样的操作,先安装压缩 工具
apt install zip
然后对安装包进行打包
zip -r docker-ce.zip /var/cache/apt/archives/*
打包成功之后,把这个包复制到需要安装此服务的主机中的其中一台进行安装及配置私有,所以我们需要打包两个服务,另一个是vsftpd,在这里就不展开了,请自行理解
3.2.1、解压并安装
首先查看我们需要用到的包
解压docker包
unzip docker-ce.zip
3.2.2、安装vsftpd
dpkg -i vsftpd_3.0.3-12_amd64.deb
配置路径
echo 'anon_root=/opt/apt/' >> /etc/vsftpd.conf&&mkdir /opt/apt/
3.2.3、 访问ftp服务器
3.2.4、开启匿名访问
sed -i 's/anonymous_enable=.*/anonymous_enable=YES/g' /etc/vsftpd.conf
systemctl restart vsftpd
继续访问
此时,访问成功
3.2.5、生成包索引
touch /opt/apt/Packages.gz
chmod -R 777 /opt/apt/
dpkg-scanpackages /opt/apt/ /dev/null | gzip > /opt/apt/Packages.gz
5.2.6、添加源列表
首先查看源配置
cat /etc/apt/sources.list
备份源文件
cp /etc/apt/sources.list /etc/apt/sources.list.bak
配置源
echo 'deb file:/opt apt/' > /etc/apt/sources.list
更新源