ubuntu 16.04 LTS
sudo gedit /etc/apt/sources.list
input neo-source:
# ustc.edu.cn
# ubuntu-arm
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial main multiverse restricted universe
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-backports main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-backports main multiverse restricted universe
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-proposed main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-proposed main multiverse restricted universe
deb http://mirrors.ustc.edu.cn/ubuntu-ports xenial-security main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-security main multiverse restricted universe
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-updates main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-updates main multiverse restricted universe
#deb http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
#deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
#deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
#deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
#deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
#deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
#deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
#deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
#deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
#deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
# tsinghua.edu.cn 清华源
#deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ trusty main universe restricted multiverse
#deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ trusty main universe restricted multiverse
#deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ trusty-security main universe restricted multiverse
#deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ trusty-security main universe restricted multiverse
#deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ trusty-updates main universe restricted multiverse
#deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ trusty-updates main universe restricted multiverse
#deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted
#deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted
#deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial universe
#deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates universe
#deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial multiverse
#deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates multiverse
#deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
#deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted
#deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security universe
#deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security multiverse
# 163.netease.cn
#deb http://mirrors.163.com/ubuntu xenial main restricted universe multiverse
#deb-src http://mirrors.163.com/ubuntu/ xenial main restricted universe multiverse
#deb http://mirrors.163.com/ubuntu/ xenial-security main restricted universe multiverse
#deb-src http://mirrors.163.com/ubuntu/ xenial-security main restricted universe multiverse
#deb http://mirrors.163.com/ubuntu/ xenial-updates main restricted universe multiverse
#deb-src http://mirrors.163.com/ubuntu/ xenial-updates main restricted universe multiverse
#deb http://mirrors.163.com/ubuntu/ xenial-proposed main restricted universe multiverse
#deb-src http://mirrors.163.com/ubuntu/ xenial-proposed main restricted universe multiverse
#deb http://mirrors.163.com/ubuntu/ xenial-backports main restricted universe multiverse
#deb-src http://mirrors.163.com/ubuntu/ xenial-backports main restricted universe multiverse
# origin.ubuntu
# deb http://ports.ubuntu.com/ubuntu-ports/ xenial main restricted universe multiverse
# deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial main restricted universe multiverse
## Major bug fix updates produced after the final release of the
## distribution.
# deb http://ports.ubuntu.com/ubuntu-ports/ xenial-updates main restricted universe multiverse
# deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-updates main restricted universe multiverse
## Uncomment the following two lines to add software from the 'universe'
## repository.
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
# deb http://ports.ubuntu.com/ubuntu-ports/ xenial universe
# deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial universe
# deb http://ports.ubuntu.com/ubuntu-ports/ xenial-updates universe
# deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-updates universe
## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
# deb http://ports.ubuntu.com/ubuntu-ports/ xenial-backports main restricted
# deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-backports main restricted
# deb http://ports.ubuntu.com/ubuntu-ports/ xenial-security main restricted universe multiverse
# deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-security main restricted universe multiverse
# deb http://ports.ubuntu.com/ubuntu-ports/ xenial-security universe
# deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-security universe
# deb http://ports.ubuntu.com/ubuntu-ports/ xenial-security multiverse
# deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-security multiverse
# third
deb http://archive.canonical.com/ xenial partner
# deb-src http://archive.canonical.com/ xenial partner
update sourse:
#sometimes
sudo rm -rf /var/lib/apt/lists/*
sudo rm -rf /var/lib/apt/lists/partial/*
sudo apt-get update
get cuda version
cat /usr/local/cuda/version.txt
forbidden ipv6
sudo gedit /etc/sysctl.d/99-sysctl.conf
add
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
update & check
sudo sysctl -p
cat /proc/sys/net/ipv6/conf/all/disable_ipv6
可查看/proc/sys/net/ipv6/conf/all/disable_ipv6是否为1,来确定修改的内核配置是否生效
apt-get 1line
#apt-get family:
sudo apt-get update 更新源
sudo apt-get install package 安装包
sudo apt-cache search package 搜索软件包
sudo apt-cache show package 获取包的相关信息,如说明、大小、版本等
sudo apt-get install package --reinstall 重新安装包
sudo apt-get -f install 修复安装
sudo apt-get build-dep package 安装相关的编译环境
sudo apt-get upgrade 更新已安装的包
sudo apt-get dist-upgrade 升级系统
sudo apt-cache depends package 了解使用该包依赖那些包
sudo apt-cache rdepends package 查看该包被哪些包依赖
sudo apt-get source package 下载该包的源代码
sudo apt-get check 检查是否有损坏的依赖
sudo apt-get autoclean
#硬盘空间不大的话,可定期运行,将已经删除了的软件包的.deb安装文件从硬盘中删除掉。
sudo apt-get clean
#把已安装的软件包的安装包也删除掉。
sudo apt-get autoclean
#类似上面的命令,但它删除包缓存中的所有包。
sudo apt-get autoremove
#删除为了满足其他软件包的依赖而安装的,但现在不再需要的软件包。
sudo apt-get remove 软件包名
#删除已安装的软件包(保留配置文件)
sudo apt-get --purge remove 软件包名称
#删除已安装包(不保留配置文件)
sudo add-apt-repository --remove [ppa name]
pip 1line
#安装包
sudo pip install 包名
#更新包
sudo pip install -U 包名
#删除包
sudo pip uninstall 包名
#显示已安装的包和版本信息
pip list
cmake 3.0.. pip9.0..
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:george-edison55/cmake-3.x
sudo apt-get update
sudo apt-get upgrade
ubuntu16.04源里的cmake版本只有3.5.1 而Android交叉编译工具链android.toolchain.cmake要求cmake版本最低是3.6.0
cd cmake
./bootstrap
sudo make
sudo make install
g++
g++ test.cpp //默认输出a.out
将test.cpp 预处理 、汇编、编译 、 链接形成可执行文件。
2 选项-o
g++ test.cpp -o test //-o用于指定输出文件名
将test.cpp预处理、汇编、编译并链接形成可执行文件。
3 选项-E
g++ -E test.cpp
显示终端过程,不生成test.i文件
g++ -E test.cpp -o test.i
将test.cpp预处理生成test.i
4 选项-S
g++ -S test.i
将预处理输出的文件test.i汇编成test.s文件,效果与g++ -S test.i -o test.s
相同。
5 选项-c
g++ -c test.s
将汇编生成的test.s文件编译输出为test.o文件,效果与g++ -c test.s -o test.o
相同。
6 无选项链接
g++ test.o -o test
将编译输出文件test.o链接成最终可执行文件test。
7 选项-O
g++ -O1 test.c -o test
使用编译优化级别1编译程序。级别为1~3,级别越大优化效果越好,但编译时间越长。
多源程序
假设有两个源文件为test.c和testfun.c
1 多个文件一起编译
g++ testfun.c test.c -o test
作用:将testfun.c和test.c分别编译后链接成test可执行文件。
假设我们有个目录/home/nvidia, 在/home/nvidia中分别存有两个目录/caffe2 和 /projects。我们把源程序*.cpp放在 /projects 中,把头文件放在 /caffe2 中。现在我们执行g++ a.cpp b.cpp -o abc后终端会显示头文件出错,即找不到头文件。这时我们应该执行g++ a.cpp b.cpp -I../protwo -o abc。参数-I是确定头文件的路径。若是/protwo和/usr在同一目录下,即头文件目录比目标源程序高两个等级,则相应的-I../protwo要变为-I../../protwo。
2 分别编译各个源文件,之后对编译后输出的目标文件链接。
gcc -c testfun.c //将testfun.c编译成testfun.o
gcc -c test.c //将test.c编译成test.o
gcc testfun.o test.o -o test //将testfun.o和test.o链接成test
Input Method
Orz
Python
sudo apt-get install build-essential
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev
sudo apt-get install libatlas-base-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
/etc/profile——登录shell读取,系统所有,仅执行一次
~/.bash_profile——登录shell读取,个人所有,仅执行一次,该文件会递归读取~/.bashrc
/ect/bashrc——Ubuntu没有此文件,与之对应的是/ect/bash.bashrc,全局(公有)的bash执行时,不管是何种方式,都会读取此文件。
~/.bashrc——非登录shell读取(每打开一个终端都会读取),个人所有
若想个人配置在任何时候都生效,建议个人配置写在~/.bashrc(因为~/.bash_profile也读取前者)