阿里云 Ubuntu 服务器环境配置
阿里云服务器配置
以下相关环境配置基于 Ubuntu 1804
ZSH 终端
安装 zsh
sudo apt update
sudo apt install zsh
安装配置 oh-my-zsh
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
或者
wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh
超时使用
wget https://gitee.com/mirrors/oh-my-zsh/raw/master/tools/install.sh -O - | sh
更换默认的 shell
为 zsh
chsh -s /bin/zsh
重启,就可以愉快的使用 zsh
了
reboot
自动补全插件 zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions
语法高亮插件 zsh-syntax-highlighting
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting
安装 powerline
字体
sudo apt install powerline
sudo apt install fonts-powerline
修改 .zshrc
sudo nano ~/.zshrc
找到如下代码行并修改为
ZSH_THEME = "agnoster" # 主题
plugins=(
git
zsh-autosuggestions
zsh-syntax-highlighting
)
使 .zshrc
生效
source ~/.zshrc
Anaconda
从清华镜像站下载 Anaconda
离线安装文件
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2020.11-Linux-x86_64.sh
安装
sudo zsh Anaconda3-2020.11-Linux-x86_64.sh
根据提示安装,安装完成后,重新进入 shell
修改 conda
源为清华镜像源
sudo nano ~/.condarc
复制以下内容到 .condarc
channels:
- defaults
show_channel_urls: true
channel_alias: https://mirrors.tuna.tsinghua.edu.cn/anaconda
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
运行 conda clean -i
清除索引缓存,保证用的是镜像站提供的索引
Jupyter 配置
多内核
想要在 jupyter notebook
或者 jupyter lab
中直接切换虚拟环境中的内核,而不是在多个虚拟环境中分别安装多个 jupyter lab
在新建的虚拟环境如 tf22
中,安装 jupyter kernel
conda install ipykernel
python -m ipykernel install --name tf22 --display-name "tf22" --user
上面命令中第一个 tf22
是虚拟环境的名称,第二个tf22
是你想在 jupyter
中展示的名称
远程访问
生成配置文件
jupyter notebook --generate-config
设置密码并生成密钥
jupyter notebook password
Enter password: ****
Verify password: ****
[NotebookPasswordApp] Wrote hashed password to /root/.jupyter/jupyter_notebook_config.json
查看密钥
cat /root/.jupyter/jupyter_notebook_config.json
修改配置文件
nano ~/.jupyter/jupyter_notebook_config.py
找到下面的代码行,分别修改为
c.NotebookApp.ip = '*'
c.NotebookApp.password = u'sha:ce...刚才复制的那个密文'
c.NotebookApp.open_browser = False
c.NotebookApp.port = 8888 # 可随便指定一个端口
c.NotebookApp.allow_remote_access = True
c.NotebookApp.notebook_dir = '/root/data' # 修改默认文件路径为桌面上的 data 文件夹
解决 root
运行权限的问题
c.NotebookApp.allow_root = True
在 base
环境中打开 jupyter lab
网页输入 http://aliyun-server:8888
其中 aliyun-server
为工作站的 ip
地址
后台运行
nohup
命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令
该命令可以在你 退出帐户/关闭终端 之后继续运行相应的进程。nohup就是不挂起的意思( no hang up)
nohup jupyter lab &
关闭后台挂起的命令
# 通过jobs命令查看job号(假设为num)
jobs -l
kill %num
将后台作业放到前台终端运行
fg %1
端口管理
# 查看服务器 8888 端口的占用情况
lsof -i:8888
# 杀掉对应的进程,PID 用上面的命令查看
kill -9 PID
C++内核
conda create -n cling
conda activate cling
conda install xeus-cling -c conda-forge
# 切换到默认的base环境里添加kernel
conda activate base
# 查看一下cling虚拟环境的位置
conda env list
# 切换到 kernel 所在路径
cd ~/anaconda3/envs/cling/share/jupyter/kernels
# ls 查看一下kernel列表,并添加
jupyter kernelspec install xcpp11
jupyter kernelspec install xcpp14
jupyter kernelspec install xcpp17
TensorFlow
# 新建 conda 虚拟环境
conda create -n tensorflow
# 激活虚拟环境
conda activate tensorflow
# 安装 tensorflow 2.2.0
conda install tensorflow==2.2.0
# 安装 jupyter kernel
conda install ipykernel
# 第一个 tf15 是虚拟环境的名称
# 第二个tf15 是你想在 jupyter 中展示的名称
python -m ipykernel install --name tensorflow --display-name "tensorflow"
Pytorch
参考tensorflow
安装 Jupyter lab 插件
-
保存常用代码片段
jupyter labextension install jupyterlab-code-snippets
-
markdown 目录
jupyter labextension install @jupyterlab/toc
-
github 插件
jupyter labextension install @jupyterlab/github
-
font 插件
在 Extension Manager 里搜索
jupyterlab-fonts
安装
nodejs
去 nodejs
查看最新的版本号,当前最新版为 14.5.0
添加源后安装
nodejs 的每个大版本号都有相对应的源,比如这里的 10.x.x版本的源是
https://deb.nodesource.com/setup_10.x
终端执行
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
稍等片刻,源已经添加完毕,再执行:
sudo apt-get install -y nodejs
顺带一提,如果你要安装 12.x.x
的版本,只需要修改添加源地址中的数字即可,比如:
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
最后验证一下,执行nodejs -v
即可出现刚才安装的版本号
卸载 Anaconda
# 删除安装目录
rm -rf ~/anaconda3
# 删除.zshrc 中的 conda 环境变量
sudo nano ~/.zshrc
# 更新环境变量
source ~/.zshrc
安装ssh-server
sudo apt-get install openssh-server
解决SSH 连接自动断开
服务器连接后,一段时间内没有操作,会自动断开链接。
原因是服务器设置了连接断开的时间,修改即可。
vim /etc/ssh/sshd_config
找到下面两行
#ClientAliveInterval 0
#ClientAliveCountMax 3
修改如下
ClientAliveInterval 30
ClientAliveCountMax 86400
这两行的意思分别是
-
客户端每隔多少秒向服务发送一个心跳数据
-
客户端多少秒没有相应,服务器自动断掉连接
重启sshd服务
service sshd restart
Java 环境
见 WSL2 环境配置