VMware vSphere 离线虚拟机安装软件

VMware vSphere 离线虚拟机安装软件





在 Debian 9.11 下 (apt-get) 离线下载、安装软件包

相当费劲,我只想说相当费劲,好家伙折腾了我一天,真的有些问题我很郁闷,在这里记录一下:

!!!!! 相当费劲!



1. 在 Debian 下,使用离线软件包源,安装 BIND9 依赖总是出错...出错...出错...


下载过程 - 联网的环境操作

这个问题相当头疼,最后还是解决了,解决的办法借用了网上的办法,因为依赖的问题非常麻烦,借鉴了一下网上的办法,然后自己改进了一下,最后解决了依赖下载的问题。

输入下边的指令:

$ sudo apt-get install --reinstall -d `sudo apt-cache depends bind9 bind9utils bind9-doc | grep Depends| cut -d: -f2 | tr -d "<>"`

出现了报错!.... 好像是因为版本的问题:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package debconf-2.0 is a virtual package provided by:
  debconf 1.5.61
  cdebconf 0.227
You should explicitly select one to install.

E: Package ‘debconf-2.0‘ has no installation candidate
  • 改进一下上边的命令,将 debconf 包进行跳过,即不进行安装;
$ sudo apt-get install --reinstall -d `sudo apt-cache depends bind9 bind9utils bind9-doc | grep Depends| grep -v debconf |cut -d: -f2 | tr -d "<>"`
  • 就可以正常下载了,最后再下载上边没有下载成功的 debconf,所有的安装包都被安装在了
$ sudo apt-get install --reinstall -d debconf cdebconf
  • 当然,最后不要忘记使用 dpkg-scanpackages 命令 为所有的包添加索引文件,因为 apt-get 是建立在 dpkg 工具索引上的;

添加的命令为: (所有的软件和依赖被保存在 /var/cache/apt/archives

/var/cache/apt $ sudo dpkg-scanpackages ./archives/ /dev/null | gzip > ./archives/Packages.gz

以上的所有步骤都是在连接互联网的相同 Debian 操作系统版本的虚拟机环境进行操作的,需要将 /var/cache/apt/archives 文件下的所有内容复制到一个新的文件夹,使用的方法是创建一个虚拟共享文件夹,网上有很多这方面的教程,其路径为:

/mnt/hgfs/DNS/software

命令如下:

$ sudo cp -r /var/cache/apt/archives/* /mnt/hgfs/DNS/software
$ sudo chmod 777 -R /mnt/hgfs/DNS/sooftware

安装过程 - 离线的虚拟机操作

  • 将上边的文件见拷贝到目标虚拟机的根目录下, 设置一个新的软件依赖源文件夹,目录路径为 /software
$ ls /
...
software
...
  • 修改 离线虚拟机 apt 的 源配置文件,你可以将原来的内容注释掉,加入新的目标文件夹路径;
$ sudo nano /etc/apt/sources.list
# deb http://security.debian.org/debian-security buster/updates main
# deb-src http://security.debian.org/debian-security buster/updates main
# 新加上一个新的路径
deb file:/// software/

注意: software 前有一个空格!!!!

  • 最后必须要更新一下源,中间可能有很多信息,不去管他们:
$ sudo apt-get update
  • 就可以正常使用离线软件源下载了,但是因为这个离线软件源并没有配置 Release 文件信息,因此被认为是不安全的,需要安装的时候加上 --allow-unauthenticated
$ sudo apt-get install bind9 bind9utils bind9-doc --allow-unauthenticated

2. 在 Debian下,ISO 中文件保存在本地后文件名会莫名的发生变化

背景:

  • 在离线的 Debian 虚拟机上没有安装 vsftpd 软件,无法通过 FTP 端口传输文件;
  • 不知道 怎么打开 Debian 预先安装的 FTP 服务软件,各种找不到相关文件传输服务;
  • 最后只能通过挂载 iso 镜像文件来做到 vSphereesxi 服务端的文件传递;

问题重现:

在上边的步骤已经生成了新的文件夹: /software ,现在需要将这个文件夹做成 iso 文件挂在在虚拟机上的 CD ROM 上传输数据,源文件名的截图如下:

VMware vSphere 离线虚拟机安装软件

源文件名: libxml2_2.9.4+dfsg1-2.2+deb9u3_amd64.deb

生成的 包索引文件名: Packages.gz

制作成 ISO 镜像之后在 Debian 系统 打开之后文件名悄然变化:

VMware vSphere 离线虚拟机安装软件

挂载到 Debian 系统上,之后的文件名: libxml2_294+dfsg1-22+deb9u.deb 丢失了第一个 .

索引包的文件名变成了: package.gz 第一个字母没有大写;


原因分析:

  • 可能是 MAC OS 环境下的文件命名问题,我并不认为是 Debian 文件系统的设定问题,所以其原因我更偏向于 MAC OS 文件系统的问题 或者其他原因,查了一下资料我也搞不懂.... 反正确实在实际过程中有这个问题存在导致软件包安装失败;

解决方法:

  • 将准备拷贝的文件夹压缩成一个压缩包,就上边生成的 software 文件夹为例子:

    /var/cache/apt$ tar -zcvf software.tar.gz ./software
    
  • 将这个文件制作成一个 ISO 文件, 制作的方法: 在 Mac 下 使用 Keka 来制作...

  • 最后将这个ISO文件挂载在 Debian CD ROM 上,最后 解压 压缩包 softwaretar.gz 就好了... 没错... 第一个 . 也丢了不知道为什么...

VMware vSphere 离线虚拟机安装软件

上一篇:ubuntu 网卡实时流量查看


下一篇:WARNING: Ignoring invalid distribution -ip