Chinaunix首页 | 论坛 | 博客
  • 博客访问: 35284
  • 博文数量: 11
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 115
  • 用 户 组: 普通用户
  • 注册时间: 2020-07-02 11:22
文章分类

全部博文(11)

分类: LINUX

2020-07-17 14:43:26

问题场景:
要在离线环境使用以下apt-get命令安装目标组件xxxx
# apt-get  install xxxx
问题描述:
没有在线的仓库,无法使用apt-get该如何解决?
解决思路: 
下载所有所需的deb包和它的依赖,拷贝到目标安装机器上,然后搭建一个本地apt仓库,安装完成之后删除本地仓库
解决方法:
一、新建一台测试的虚拟机,联网下载所有所需的deb包和其依赖
注意:尽可能保证虚拟机和目标主机操作系统初始安装一致,或者要求测试虚拟机的组件是目标主机的子集,那样测试主机下载的deb包和依赖会更全面,具有包括性。
# cd /var/cache/apt/archives
# rm  *.deb
安装dpkg-scanpackage工具
# sudo apt -d install dpkg-dev
注意:-d表示只下载,不安装 

# tar zcvf tool.tar.gz ./*.deb
# rm *.deb
# sudo apt -d install xxx
 tar zcvf  abc.tar.gz  *.deb

二、拷贝下载的deb包到离线目标机器的目录,并搭建本地apt仓库(本案例是/var/debs)
拷贝所有deb文件
# scp /var/cache/apt/archives/*.tar.gz  user@目的IP: /home/user
# cd /home/user;
# mkdir tool;tar xvf tool.tar.gz -C  tool;dpkg -i  tool/*.deb
安装命令dpkg-scanpackage
#whick dpkg-scanpackage
使用dpkg-scanpackage将目的deb包制作成本地源
# mkdir -p /var/debs ;mv abc.tar.gz  /var/debs;chmod -R 755 /var/debs
# dpkg-scanpackage /var/debs /dev/null | gzip > Packages.gz  

# cp -p  /etc/apt/source.list /etc/apt/source.listbak
# echo "deb [trusted=true] file:/var/debs /"  > /etc/apt/source.list
# apt update
注意:如果没有 [trusted=true],则执行 apt update会报以下错误

注意:“debs”后面有空格和“/”,否则执行 apt update报以下错误


安装目标组件

# apt install xxx
四、安装完成后,删除搭建的本地apt仓库,恢复系统apt仓库文件
# mv /etc/apt/source.listbak  /etc/apt/source.list
# apt update
# rm -rf /var/debs




阅读(2581) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~