常用Ubuntu做科研,这是常用的一些配置指南。
Anaconda常用操作
源管理
查看当前源
1
conda config --show-sources
更换清华源
1
2
3
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
可能需要删除默认源,对于卡在solving environment
的情况:
1
conda config --remove channels defaults
环境配置
1
2
3
4
5
conda info --envs
conda create --name semi python=3.6 tensorflow=1.12 matplotlib=2.2.3 opencv=3.4.2
conda activate semi
conda deactivate
conda remove -n flowers --all
NVIDIA驱动安装
先禁用nouvea
1
sudo gedit /etc/modprobe.d/blacklist.conf
末尾添加
1
blacklist nouveau
更新内核
1
sudo update-initramfs -u
重启。确认生效
1
2
sudo reboot
lsmod | grep nouveau
没有输出即可
安装驱动
1
2
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
识别显卡模型和推荐的驱动
1
ubuntu-drivers devices
安装驱动
1
sudo apt install nvidia-driver-410 nvidia-settings nvidia-prime
或者
1
sudo ubuntu-drivers autoinstall
重启生效
1
sudo reboot
科学上网
安装ShadowSocks
1.1 系统自带安装
1
2
3
sudo apt update
sudo apt install python-pip
sudo pip install shadowsocks
1.2 或者(recommend)
1
2
3
4
sudo apt update
sudo apt install python-pip
sudo apt install git
sudo pip install -U git+https://github.com/shadowsocks/shadowsocks.git@master
2.1 设置.json
文件, 或用2.2下载模版
1
2
3
4
5
6
7
8
9
{
"server":"my_server_ip",
"local_address": "127.0.0.1",
"local_port":1080,
"server_port":my_server_port,
"password":"my_password",
"timeout":300,
"method":"aes-256-cfb"
}
2.2 下载模版
1
wget -P /etc https://raw.githubusercontent.com/zbhoscar/storage/master/shadowsocks.json
3 单次启动ShadowSocks(unrecommended)
1
sslocal -c /etc/shadowsocks.json -d start
ShadowSocks服务
1.1 先写一个.service
文件, 或者用1.2下载模版
1
sudo pluma /lib/systemd/system/shadowsocks.service
填写如下内容. 注意: sslocal
可以通过which sslocal
找到
1
2
3
4
5
6
7
8
9
10
11
[Unit]
Description=Shadowsocks Client Service
After=network.target
[Service]
Type=simple
User=root
ExecStart=/usr/bin/sslocal -c /path/shadowsocks.json
[Install]
WantedBy=multi-user.target
1.2 懒得写命令行:
1
wget -P /lib/systemd/system https://raw.githubusercontent.com/zbhoscar/storage/master/shadowsocks.service
2 载入service系统
1
systemctl enable /lib/systemd/system/shadowsocks.service
实际上是在link到/etc/systemd/system/multi-user.target.wants
下
3 服务管理
1
2
service shadowsocks start
service shadowsocks stop
最终效果是给本机 ip 127.0.0.1
的1080
端口科学加成,可以配置浏览器和软件用来科学。
比如系统自带firefox浏览器中,设置手动代理,选择socks5 DNS,加入科学端口就可以了。
更全面的讲解
Proxychains
通过ShadowSocks
的建立的本地端口给指令科学加成
1
sudo apt install proxychains
配置/etc/proxychains.conf
1
socks5 127.0.0.1 1080
示例: 通过proxychains
启动Dropbox
1
proxychains dropbox start -i #启动后可能提示缺少python-gpgme, install即可
服务器远程控制
命令行控制
需要在受控机器与本机在同一网络下
1
ssh usrname@server_ip
图形界面控制
受控机器使用VNC做图形界面控制,需要与本机在同一网络中
1
2
sudo apt-get install vnc4server # 最新版本看官网
vim /home/用户名/.vnc/xstartup
内容修改
1
2
# &x-window-manager & # 注释掉
exec /usr/bin/mate-session & # 针对mate界面
重启服务
1
service vncserver restart
使用方法
1
2
3
4
5
ssh usrname@server_ip # 本机命令行登陆受控机器
vncserver -geometry 1024x768 :id # 受控机器开启界面,注意是x不是*
vncviewer server_ip:id # 本机登陆vnc登陆受控机器
vncserver -kill :id # 受控机器关闭界面
ps -ef | grep 'vnc' | grep id # 受控机器检测vnc端口id被占用
硬盘挂载
Samba远程文件夹
Check smb in servers:
1
/etc/samba/smb.conf
Windows系统
1
2
3
任意界面 `win + R`
> 输入 \\受控机器的ip\文件夹名 <
> 输入 账号密码 <
Ubuntu系统
1
2
3
文件夹界面 `Ctrl + l`
> 输入 smb://受控机器的ip/文件夹名/
> 输入 账号密码 <
/home
挂载
NFS硬盘挂载
Boot引导修复Grub
先决环境
U盘启动,试用ubuntu,联网。
打开终端,添加boot-repair
所在的源:
1
2
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
安装boot-repair
:
1
sudo apt-get install -y boot-repair
运行boot-repair
:
1
sudo boot-repair
一般选择recommanded repair
即可,启动项重启生效
启动项查看
1
sudo efibootmgr
启动项删除
1
sudo efibootmgr -b 000A -B
Ubuntu环境文件
/etc/profile
为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行,并从/etc/profile.d目录的配置文件中搜集shell的设置。/etc/environment
在登录时操作系统使用的第二个文件,系统在读取你自己的profile前,设置环境文件的环境变量。/etc/bash.bashrc
为每一个运行bash shell的用户执行此文件,当bash shell被打开时,该文件被读取。~/.profile
:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次,默认情况下,他设置一些环境变量,执行用户的.bashrc文件,每个用户应当在这里添加自己的环境配置
。~/.bashrc
包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取,终端配色在这里修改
。~/.bash_logout
当每次退出系统(退出bash shell)时,执行该文件。 相互关系/etc/profile
中设定的变量(全局)的可以作用于任何用户,而~/.bashrc
等中设定的变量(局部)只能继承/etc/profile
中的变量,他们是”父子”关系。
每次登录之后加载profile和bashrc的流程
1) /etc/profil
–> /etc/profile.d/*.sh
2) $HOME/.profile
–> $HOME/.bashrc
生效不用重启
source profile
, source bash
环境变量·自定义
1
2
3
4
export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH
export LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LIBRARY_PATH
export PYTHONPATH=/home/zbh/Desktop/caffe-ssd/python:$PYTHONPATH
终端相关
readline插件
解决使用Shell时⬆⬇⬅➡乱码的问题,在Ubuntu16中貌似不需要
1
sudo apt-get install libreadline-dev , 不然安装python3的方向键会乱码
terminator终端
很好用的终端,戒不掉
1
sudo apt-get install terminator
右键打开终端选项
很实用,需要重启,在Ubuntu16中貌似不需要
1
sudo apt-get install nautilus-open-terminal
终端配色
1
sudo gedit ~/.bashrc
替换相似PS1
行,并设置force_color_prompt=yes
这是一种配色方案:
1
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;36m\]\u\[\033[01;36m\]@\[\033[01;36m\]\h\[\033[01;36m\]:\[\033[01;33m\]\w\[\033[01;36m\]\$ \[\e[m\] '
数据格式相关
超级解压缩
1
2
apt install pigz
tar --use-compress-program=pigz -xvpf ucfTrainTestlist.tar.gz -C ./test
安装rar
解压RAR出Parsing Filters is unsupported
1
sudo apt-get install unrar
U盘exFat格式支持
可能需要重启,反正Ubuntu16不需要
1
sudo apt-get install exfat-fuse exfat-utils
其他
GCC/G++ multi
1
2
3
4
5
6
7
8
9
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
gcc -v
ls /usr/bin/gcc*
sudo apt-get install gcc-4.5 gcc-4.5-multilib g++-4.5 g++-4.5-multilib
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 50
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.5 40
sudo update-alternatives --config gcc
sudo update-alternatives --remove gcc /usr/bin/gcc-4.5
FFMPEG
解决编译OpenCV出错的问题
1
2
sudo apt-get install librubberband-dev libx264-dev libvpx-dev
./configure --enable-gpl --enable-version3 --enable-nonfree --enable-libx264 --enable-librubberband --enable-libvpx
Firefox使用本地账户
在附加组件(addons)中添加附加组件管理器(addons manager)
设置工作区
在software center
中设置unity tweak tool