参考:https://blog.csdn.net/ouyangziling/article/details/79056161
参考:https://codeleading.com/article/11393480544/
ubuntu使用apt-get制作Offline-package(以mysql为例)
近来在研究工程软件的部署,虽说这是运维的工作,但还是蛮有意思的。
问题:软件环境配置有哪些需要考虑的因素
软件安装有两种方式
make安装,需要自己解决依赖问题
apt-get安装,稳定,自动配置服务
软件的安装在没有网络的情况下如何安装:
自己下载好文件
采用apt-get离线包的方式。
文本采用的是apt-get的离线包的安装方式。
场景描述
安装环境ubuntu, 使用apt-get包管理器。apt-get的一些操作这里就不在描述了。
用户使用user,配置安装包路径为/home/user/CorsFace_install/
自作离线包以mysql为例
下载软件
apt-cache search mysql
# 下载mysql包含相关依赖但是不安装
sudo apt-get install -d mysql-server-5.6
制作离线包
一个shell脚本
# 定位到自己的安装包文件夹
cd /home/user/CorsFace_install
# 创建安装包
mkdir OfflinePackage
# apt-get包管理器下载的软件都放置在/var/cache/apt/archives文件夹中,将软件宝贝到自己的离线包中。
cp -r /var/cache/apt/archives /home/user/CorsFace_install/OfflinePackage
# 给予操作的权限
chmod 777 -R /home/user/CorsFace_install/OfflinePackage
sudo apt-get install dpkg-dev
cd /home/user/CorsFace_install/OfflinePackage/
# 生成依赖软件包的关系
sudo dpkg-scanpackages archives/ /dev/null |gzip > Packages.gz
cp Packages.gz archives/Packages.gz
# 创建sources.list 定制离线源的位置
echo "deb file:///home/user/CorsFace_install/OfflinePackage archives/" > sources.list
# 将整个工程的需要打包的内容都打包,形成工程的依赖安装。形成离线包
tar -cvf CorsFace.tar /home/user/CorsFace_install
离线环境安装
在新的机器部署环境中
一个shell脚本
# 将工程依赖包拷贝到user下面
# 解压文件到user的目录线面
tar xvf CorsFace.tar -C ./
cd CorsFace_install
autoInstall.sh内容
# 设置不输入sudo命令
sudo cp nopasswdsudo /etc/sudoers.d/nopasswdsudo
# 将上文制作的sources.list放置到到新的版本机器中
sudo cp /etc/apt/sources.list /etc/apt/sources.list.back
sudo cp /home/user/CorsFace_install/OfflinePackage/sources.list /etc/apt/sources.list
#更新源 允许不安全的存储库
sudo apt-get update--allow-insecure-repositories
#从本地获取文件包进行安装
sudo apt-get install mysql-server-5.6 --allow-unauthenticated
#将原本的sourcelists拷贝回来
sudo cp /etc/apt/sources.list.back /etc/apt/sources.list