V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
king2014
V2EX  ›  Vagrant

vagrant 打包 box 文件很大是什么原因?

  •  
  •   king2014 · 2018-03-04 23:32:56 +08:00 via Android · 4203 次点击
    这是一个创建于 2217 天前的主题,其中的信息可能已经有所发展或是发生改变。
    官方找了个 centos68 的镜像大概 200M 多,自己编译安装了 php.mysql,nginx,Apache 以及安装上述软件必要的依赖,还安装了 zsh,git,vim.修改了下安装源,最后打包出来 box 居然变成了 3G 的大小,我看了下系统本身没什么东西啊,怎么会这样?在我看来安装那些软件后大小在 600M 左右是理想的,现在这个问题一直困扰我,系统是 win7 的。
    6 条回复    2018-03-04 23:52:55 +08:00
    mritd
        1
    mritd  
       2018-03-04 23:42:49 +08:00 via iPhone
    清楚下 yum 缓存,还有编译缓存
    题外话 如果仅仅是这些的话,试试 docker
    zhs227
        2
    zhs227  
       2018-03-04 23:47:39 +08:00
    首先 df 或 du 确定一下虚拟机内的文件有多大,然后再看看 vmdk 有多大。
    1. 如果文件本身比较大,需要清除 yum 的缓存,删掉不必要的大文件和临时文件
    2. 如果实际空间和 vmdk 差距比较大,请先使用网上传的回收大法, 关键词 dd /dev/zero
    3. 做完第 2 步以后,压缩一下 vmdk。这个也可以在网上找到教程,windows 上最容易
    4. 做完步骤 3,再 vagrant 打包

    第 1 步的清除大法,可以在网上找一些对应的 dockerfile,看看里面的清除是怎么弄的。比如基于 centos 的 lamp 套件 docker 等,里面都比较详细。
    7654
        3
    7654  
       2018-03-04 23:49:40 +08:00
    用 0 填充,然后压缩打包
    king2014
        4
    king2014  
    OP
       2018-03-04 23:51:25 +08:00 via Android
    @mritd 我试试,我只是想在 win 环境下面搭一个开发环境,docker 之前有花时间了解了一下,个人感觉更适合线上部署,vagrant 本地部署开发环境个人感觉蛮方便的,另外现在 docker 基本上是针对 centos7 了,公司线上环境还是 centos68。教程是有的,但是比较老了,至少官网都是针对 7 以上的教程。
    king2014
        5
    king2014  
    OP
       2018-03-04 23:52:45 +08:00 via Android
    @zhs227 多谢
    king2014
        6
    king2014  
    OP
       2018-03-04 23:52:55 +08:00 via Android
    @7654 好的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2428 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 67ms · UTC 15:57 · PVG 23:57 · LAX 08:57 · JFK 11:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.