• 虚拟机安装ubuntu16.04 + tensorflow+ 虚拟机扩容挂载新分区 + anaconda 环境迁移


    总结一句:生命在于折腾 

    1、首先为什么要用虚拟机

    因为公司服务器上的python版本太高,linux版本也不合适,自己没有权限退版本,环境要求特定版本python  + ubuntu 16.04 

    2、为什么要扩容?

    还不是创建虚拟机时想当然觉得用不到太多空间,分配空间小了,结果安装的库越多,空间爆了

    3、为什么要将anaconda环境迁移?

    和问题2是连带的,安装anaconda后 ,需安装大量的库,而anaconda安装时默认装在 根目录了,最后导致没空间了

    即使扩容,也只是增加分区,并未解决根目录空间不足的问题,所以还需将anaconda环境迁移到新建分区中。

    一、首先安装虚拟机及系统镜像 

    viualbox虚拟机开源的,比较方便(没有版权风险),下载后新建一个虚拟机即可

    在此之前,先下载一个自己需要的镜像版本(https://mirrors.ustc.edu.cn/ubuntu-releases/

    0
     
     
    选择第一个磁盘映像
     
    0
     
     
    选择动态分配
     
    0
     
    安装时选择自己下载好的镜像即可进入安装过程。具体安装过程略过,可参考之前的博文 安装ROS (双系统方案)
     
     
    其他虚拟机配置项
    选择双向拖放
    0
     
    安装增加模块
    点击上图中的  安装增强功能
    需重启生效 ,这样就能实现主机和虚拟机之间的文件互相拖拽,方便文件传输
     
    二、安装 tensorflow , 之前写过一篇关于windows上安装环境的,可参考Windows安装tensorflow经验总结  ,那篇总结了如何在windows下安装适合自己电脑的GPU版本的tensorflow ,所有有cuda的相关安装介绍,本篇是介绍在linux环境下安装cpu 版本的tensorflow,可依据自己实际情况参考看看。
     
    两篇都是通过安装anaconda来实现环境的安装,所以首先下载anaconda3 ,可到清华镜像网站下载Index of /anaconda/archive/    ,文件类型别下载错了
    linux下安装比较方便

    (注意这里在安装时会有弹出选择安装目录的选项,本人当时没注意,导致安装都在默认根目录下,导致后面的空间不足问题,具体可以安装时敲回车别太快,看清楚选项就行,当然空间足够的就当我没说)

    运行:

    bash Anaconda3-5.3.1-Linux-x86_64.sh   

     等待安装ok 
     
     
    添加环境变量 

     vi  ~/.bashrc

    在最后添加

    export PATH=~/anaconda3/bin:$PATH

    然后

    source ~/.bashrc  生效配置

    测试安装是否成功 anaconda -V

    conda list  可以查看已经安装的模块list

    创建名字为 “tensorflow ”的虚拟环境,指定python 版本3.6,这个指定时指在虚拟环境中的python版本,和实际的ubuntu的python版本可以不一致,甚至可以多个虚拟环境创创建多个不同的python版本

    conda create -n tensorflow python=3.6  

    激活虚拟环境,出现前面的名字就是激活了(你的名字可以自己随便取)

    source activate tensorflow / conda activate tensorflow

     

    例如再创建一个python 3.7的

    conda create -n py37 python=3.7

    安装tensorflow 

    进入到虚拟环境中:conda activate py37

    pip install tensorflow==版本号

     测试tensorflow ,首先再终端输入python ,进入python ,按如下测试打印hello world! , 成功则说明安装OK

    三、 linux 虚拟机扩容,配置linux新分区挂载

    当用到一半忽然提示空间不够了,虚拟机只能进行扩容了

    首先到虚拟机设置中找到 管理-> 虚拟介质管理

    然后拖到滑块,设置自己总的虚拟介质大小(需关闭虚拟机运行,否则会如同图中一样时灰色的无法拖到)

    设置后重启,就这样就OK了????

    当然不会就这样可以,开机后,查看磁盘列表

    分区sudo fdisk -l /dev/sda

    已经显示有33G多出来的空间了,但是,系统还是会弹出来空间不够的提示,只是因为空间未挂载,无法被系统识别到,分区列表中自然也无法找到改部分多出来的空间

    运行   sudo fdisk /dev/sda 可以查看命令列表提示

    按下n,选择新建一个分区

    然后按下w  写入分区  (红色提示可不管)

    重启

    格式化分区

    sudo mkfs -t ext4 /dev/sda4

    挂载分区

    创建目录 /home/renwnag/sda4

    sudo mkdir sda4

    挂载分区到/home/renwang/sda4

    sudo mount /dev/sda4 /home/renwang/sda4

    设置开机自动挂载

    修改/etc/fstab文件

    sudo vi /etc/fstab

    添加如下行:

    /dev/sda4 /home/renwang/sda4/ ext4 defaults 0 1

    然后再查看分区列表,接口看到分配的新分区sda4 ,空间大小36.7G

    四、迁移anaconda3

    分区建立好后好,还是会出现空间不够的系统提示,因为根目录下空间被占满了,新建分区,并没法缓解根目录空间不够的问题,当然可以把能挪动的文件尽量移到新分区,来释放部分的根目录空间,但是对于已经安装的软件,比如anaconda3这种,按照经验,这个软件所占空间10来个G是比较常见的,安装的库越多,所占空间越可怕

    之前再windows上也干过迁移 anaconda环境的事情,这次在linux下再整了一遍,做个笔记

    修改bashrc文件 ,改以下路径为自己的目标路径  (vi 不行就用gedit file_name)

    vi  ~/.bashrc

    修改anaconda3/bin/conda 文件

    vi anaconda3/bin/conda

    如下,改路径为自己对应的

    运行conda 提示

    conda command 没有

    打开一个新终端,重新测试,可以看到用法提示就ok了

     

    还有问题是pip找不到

     
     

    需要修改配置路径 pip pip3都改

    vi /home/renwang/sda4/anaconda3/bin/pip

    vi /home/renwang/sda4/anaconda3/bin/pip3

    出现正常版本打印就ok

    此时进入到自己迁移前建立的某个虚拟环境中运行pip3,pip还是会有以上问题

    需在各自的环境中再修改以上文件

    如下:修改内容同上

    vi sda4/anaconda3/envs/py35/bin/pip3

    vi sda4/anaconda3/envs/py35/bin/pip3

      

    最后看一下迁移后内存sda1空出来一半了(由使用99%->使用55%),sda4中内存被使用了36%

     

     至此,一顿折腾结束,终于没有提示空间不足了

  • 相关阅读:
    ipython notebook
    使用gevent多线程下载豆瓣音乐 李少宏 博客园
    牛人
    Lucene中对document(记录)的CURD操作~为分布式全文检索设计
    DDD领域驱动设计(Domain Driven Design)(转)
    LINQtoSQL那点事~线程共享的DbContext与私有的DbContext
    LINQtoSQL那点事~LINQtoSQL中的数据缓存与应对
    分布式中的DTO(转)
    php处理checkbox
    filter_var()函数解释
  • 原文地址:https://www.cnblogs.com/victorywr/p/15911303.html
Copyright © 2020-2023  润新知