谨以此文,记录和ubuntu系统不死不休的搏斗过程,后续待补。

1.双系统安装,windows采用uefi模式安装(优启通可制作uefi的win10安装盘),ubuntu不要划分boot区,而应该划分uefi区,否则,不能被uefi引导

2.软件源都替换成清华或者阿里,blabla,否则被墙得泪流满面

  清华镜像站:https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/

  Ubuntu 的软件源配置文件是 /etc/apt/sources.list。将系统自带的该文件做个备份,将该文件替换为下面内容,即可使用 TUNA 的软件源镜像

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse

#deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse

#deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse

#deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse

# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse

# 预发布软件源,不建议启用

# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse

# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse

3.显卡驱动照这个来 http://blog.csdn.net/u012759136/article/details/53355781

(1)去nvidia驱动官网下载驱动

(2)卸载原有驱动

(3)禁用nouveau

此处一定要重启!!!!

(4)禁用X服务

将进入命令行界面 Crtl+Alt+F1开启一个终端

(5)给驱动文件赋予权限

(6)安装

这里就是为什么驱动文件目录结构尽量浅且不要含中文的原因

不安装opengl文件的参数一定要加

痛点:中文目录尽量修改成英文,因为需要关闭X窗口用命令行来安装,命令行不支持中文

番外篇:

用此方法安装台式机时,一切顺利,安装我的960m小本本时,遇到麻烦。nvidia-settings显示不正确,后续cuda安装后也不能正常使用,仿佛是缺少了一个什么kernel文件有关。尝试用apt-get install的方式命令行直接安装成功(期间也提示缺少kernel文件,并自行下载了)。如果最后运行tf等库时出现链接问题,记得手动设置一下

sudo ldconfig /usr/local/cuda/lib64

在系统设置 附加驱动中查看推荐的驱动版本号:

关闭lightdm service后执行sudo apt-get install nvidia-375

后来发生了几次驱动崩溃,run文件安装各种问题,使用apt-get顺利填过各种坑,强烈推荐优先使用这种方式来安装!

4.安装cuda8.0

这里选择下载runfile,因为deb的自带驱动程序,会把之前安装的驱动覆盖掉,使用runfile在第一步确认的时候,选择不要覆盖原驱动程序

sudo sh cuda_8.0.61_375.26_linux.run

声明路径环境变量

sudo vim ~/.bashrc

末尾添加:

export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH

export PATH=/usr/local/cuda-8.0/bin:$PATH

设置用户环境变量

$ sudo vim /etc/profile
export PATH = /usr/local/cuda/bin:$PATH 创建链接文件:sudo gedit /etc/ld.so.conf.d/cuda.conf,文件中加上一行保存:/usr/local/cuda/lib64 5 安装cudnn5.1
5.0配合tensorflow1.2.1有问题,选择cudnn5.1

将解压后的文件复制到相应的文件夹中并建立软链接
sudo cp cudnn.h /usr/local/cuda/include/ #复制头文件
sudo cp lib* /usr/local/cuda/lib64/ #复制动态链接库
cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.5 #删除原有动态文件
sudo ln -s libcudnn.so.5.0.5 libcudnn.so.5 #生成软衔接
sudo ln -s libcudnn.so.5 libcudnn.so #生成软链接

验证:
(1)nvcc -V
(2)$cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
$make
$sudo ./deviceQuery

如果需要重装,首先进行卸载

apt-get --purge remove Nvidia*

7.科学计算 深度学习 tensorflow 等等等等请服用Anaconda!!!!!!!

在清华镜像源站下载anaconda3(最新版内含python3.6,匹配tensoflow1.4及cndnn6.0)

建立python3.5的虚拟环境(因为钟情于tensorflow1.2.1)

创建 conda create -n name python=3.5

启动 source activate name

退出 source deacivate

在该环境下安装所有python相关包及tensorflow(参照清华镜像文件的提示来安装),及spyder!对,你需要在该虚拟环境下重新安装spyder,而不是使用anaconda3全局的spyder,否则会直接使用python3.6的内核来启动spyder。

ubuntu搭建开发环境踩坑实录的更多相关文章

  1. ubuntu 搭建开发环境

    一. 安装C/C++程序的开发环境 1. sudo apt-get install build-essential //安装主要编译工具 gcc, g++, make 2. sudo apt-get ...

  2. Centos7下搭建gitbook环境踩坑记录

    1.安装npm yum -y install npm 2.配置npm仓 npm config set registry https://mirrors.tencent.com/npm/ 3.安装git ...

  3. Ubuntu搭建Hadoop的踩坑之旅(一)

    本文将介绍如何使用虚拟机一步步从安装Ubuntu到搭建Hadoop伪分布式集群. 本文主要参考:在VMware下安装Ubuntu并部署Hadoop1.2.1分布式环境 - CSDN博客 一.所需的环境 ...

  4. ubuntu java开发环境搭建(jdk+tomcat+eclipse)

    一.jdk的安装配置. 1.下载jdk. 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-213 ...

  5. [坑况]——webpack搭建前端环境踩过的坑啊

    前言 嘿哈,webpack搭建前端环境踩过的坑啊! 第一个:完全不知所措 webpack4 下面用不了HtmlWebpackPlugin 和 ExtractTextPlugin 解决方案: html- ...

  6. 一、React Native 搭建开发环境(1)(Mac OS - IOS项目)

    React Native是Facebook推出的一个开发IOS和安卓APP的技术.至于更多的详情,这里不再描述,大家可以自行百度它的定义. 目的: 由于我想在一台电脑上同时开发IOS和Android两 ...

  7. 一、React Native 搭建开发环境(1)(Mac OS - IOS项目篇)

    React Native是Facebook推出的一个开发IOS和安卓APP的技术.至于更多的详情,这里不再描述,大家可以自行百度它的定义. 原因:由于我想在一台电脑上同时开发IOS和Android两个 ...

  8. Android开发系列之搭建开发环境

    接触Android好久了,记得09年刚在中国大陆有点苗头的时候,我就知道了google有个Android,它是智能机操作系统.后来在Android出1.5版本之后,我第一时间下载了eclipse开发工 ...

  9. JAVA实用案例之文件导出(JasperReport踩坑实录)

    写在最前面 想想来新公司也快五个月了,恍惚一瞬间. 翻了翻博客,因为太忙,也有将近五个多月没认真总结过了. 正好趁着今天老婆出门团建的机会,记录下最近这段时间遇到的大坑-JasperReport. 六 ...

随机推荐

  1. HDU3572:Task Schedule【最大流】

    上了一天课 心塞塞的 果然像刘老师那么说 如果你有挂科+4级没过 那基本上是WF队 题目大意:有时间补吧 思路:给每个任务向每个时间点连边容量为1 每个时间点向汇点连边 容量为机器的个数 源点向每个任 ...

  2. SQL Server 创建唯一约束sql语句

    SQL Server 创建唯一约束sql语句   语句示例:   在创建表是时同时创建, 创建id,name,sex三个字段的唯一索引 create table t1( id int primary ...

  3. BZOJ1693: [Usaco2007 Demo]Asteroids

    n<=500 *n的格子,给m<=10000个格子有人,一炮可以清掉一行或一列的人(莫名的爽!)求最少几炮干掉所有人. 经典二分图模型!行成点,列成点,一个点就连接一行一列,表示这一行或这 ...

  4. Swift--错误集:Class controller has not initializers

    bug错误图 解决方法: 如下图所示,visitor这个属性并没有拆包处理,及将UIViewController的子类中的变量全部进行拆包处理,就是在变量声明的时候加一个?号,在使用的时候拆包处理,加 ...

  5. 三、fs文件操作模块

    fs模块用于文件的读写等操作. 该模块有如下这些方法: 1.fs.stat() : 检测是文件还是目录 const fs = require('fs'); fs.stat('test.html',fu ...

  6. 转 常见hash算法的原理

    散列表,它是基于快速存取的角度设计的,也是一种典型的“空间换时间”的做法.顾名思义,该数据结构可以理解为一个线性表,但是其中的元素不是紧密排列的,而是可能存在空隙. 散列表(Hash table,也叫 ...

  7. spring理解一

    spring基本工作原理例如以下: 1.查找bean配置文件 2.载入bean配置文件并解析生成中间表示BeanDefinition 3.注冊beanDefinition 4.假设是单例或lazy-i ...

  8. hdu 3183 A Magic Lamp(给一个n位的数,从中删去m个数字,使得剩下的数字组成的数最小(顺序不能变),然后输出)

    1.题目大意是,给你一个1000位的数,要你删掉m个为,求结果最小数. 思路:在n个位里面删除m个位.也就是找出n-m个位组成最小数 所以在区间 [0, m]里面找最小的数.相应的下标标号i 接着找区 ...

  9. Python的字符串和列表和字典的方法/函数

    字符串 S.find()#可指定范围查找字串,返回索引值,否则返回-1 S.index()#同find,只是找不到的之后返回异常 S.count()#返回找到字串的个数 S.lower()#转小写 S ...

  10. Selenium系列之--03【转】页面元素找不到问题的分析思路

    如果在测试过程中遇到了NoSuchElementException 这个异常, 说明元素查找失败. Caused by: org.openqa.selenium.NoSuchElementExcept ...