1. 添加用户
adduser <用户名> 后按提示设计密码、全名等
adduser hlbayes
# 查看当前用户是谁
whoami
设置用户组
usermod -G groupname username:把用户username添加到groupname组,并从其他组中删除。
# 表示添加hlbayes用户到root组中,并只属于root组。
usermod -G root hlbayes
# 查看当前用户和当前用户所属组
groups
# 修改用户密码
passwd # 修改当前用户
sudo passwd user1 # 修改用户user1
赋予sudo权限
方案一
将用户添加到 sudo 组:通过将用户添加到 sudo 组来赋予 sudo 权限。切换到 root 用户后,运行以下命令:
usermod -aG sudo hlbayes
之后,你可以重新登录以应用更改。
方案二
添加用户到 sudoers 文件
如果你已经切换到 root 用户,你可以将用户 hlbayes 添加到 sudoers 文件,以赋予 sudo 权限。你可以使用visudo
命令来编辑 sudoers 文件:
在文件中找到类似以下的行:
root ALL=(ALL:ALL) ALL
然后在这行下面添加:
hlbayes ALL=(ALL:ALL) ALL
保存并退出编辑器。
切换用户
sh - hlbayes
2. 建立软连接
为了防止home目录过载关机,需要建立软连接将文件放到硬盘/data/上去:
ln -s ../old new
# 当前路径下创建文件夹new引向…/old文件夹;注意在软链接文件夹内需用使用绝对路径增加新文件软链接
mkdir -p /data/hlbayes/project
mkdir project app
cd ~
ln -s /data/dataset /data/hlbayes/project/
ln -s /data/hlbayes/project ./
ln -s /data/hlbayes/app ./
设置文件所属关系
% 设置文件所属用户 文件所属组
chown [选项设置] 文件所属新用户名称:文件所属新组名称 文件名称
[选项设置]:-R : 代表递归修改,主要针对文件夹
比如:chown hlbayes:root 1.txt
表示将文件1.txt设置为root
组下的hlbayes
用户
3. 复制必要文件
复制文件
# 复制本地文件
cp /path/dir_original/file /path/dir_destination/
# 复制其他服务器文件
scp ./file_original username2@remote_host2:/path/
复制文件夹
# 本地复制
cp -r /path/dir_original/ /path/destination/
# 跨服务器复制
scp -r ./xxx_old/ username2@remote_host2:/path/
# `scp -r ./xxx_old/ username2@remote_host2:/path/`表示将`xxx_old`文件夹复制到`path/`目录下(`path/`下有`xxx_old`母文件夹)
# `scp -r ./xxx_old username2@remote_host2:/path/`表示将`xxx_old`文件夹下的文件复制到`path/`目录下(`path/`没有`xxx_old`母文件夹,只有原母文件夹下的所有文件)
排除目录复制
# 排除某个目录:`
rsync -r -v --exclude xxx/datasets xxx/project username2@remote_host:/path/
# 排除多个目录
rsync -arv --exclude xxx/datasets --exclude xxx/logs username2@remote_host:/path/
4. 安装anaconda
自己安装一个anaconda:
-
官网https://repo.anaconda.com/archive/Anaconda3-2023.09-0-Linux-x86_64.sh下载:
wget https://repo.anaconda.com/archive/Anaconda3-2023.09-0-Linux-x86_64.sh
-
安装anaconda:
bash Anaconda3-2020.07-Linux-x86_64.sh
2.1 查看license文档:按
q
跳过查看,输入yes
同意license
2.2 确认安装位置:键入/home/hlbayes/app/anaconda3
(默认为保存home目录下)。(别多按不然跳过添加环境变量)
2.3 添加环境变量:输入yes
添加环境变量(不小心默认no跳过添加环境变量就参考博客中"共用其他用户anaconda环境"中的代码自己配置。) -
刷新.bashrc配置:
source ~/.bashrc
5. 设置免密登录
如果本地有授权登录文件时(其他情况参考博客中的“设置免密登录”),本地ssh:
ssh-copy-id user@host
# 如果本地有多个公钥:找到id_rsa拷贝
ssh-copy-id -i ~/.ssh/id_rsa.pub user@host
# 如果ssh-copy-id不可用:自行拷贝
type .\.ssh\id_rsa.pub | ssh user@host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
6. 建立conda环境
确保cuda正常安装
nvcc --version # 查看输出是否正常
# 输出不正常的情况下,按以下配置cuda
# 文件 ~/.bashrc 粘贴以下cuda路径
export PATH=/usr/local/cuda/bin:$PATH # 1. 根据/usr/local/查看可使用的cuda版本
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH # 2. 对应修改“cuda”目录
# 刷新
source ~/.bashrc
配置pip.conf文件
# 加快大型包的下载安装 配置pip.conf文件
# mkdir -p ~/.pip: 创建 ~/.pip 目录。如果该目录已存在,-p 选项可以防止报错。
# touch ~/.pip/pip.conf: 在 ~/.pip 目录下创建 pip.conf 文件。如果文件已存在,则更新文件的修改时间。
mkdir -p ~/.pip && touch ~/.pip/pip.conf
在 pip.conf 文件中键入以下内容
[global]
timeout = 600
index-url = https://mirrors.ustc.edu.cn/pypi/simple/
extra-index-url =
https://pypi.tuna.tsinghua.edu.cn/simple/
https://mirrors.huaweicloud.com/repository/pypi/simple/
https://pypi.org/simple/
[install]
trusted-host =
mirrors.ustc.edu.cn
pypi.tuna.tsinghua.edu.cn
mirrors.huaweicloud.com
pypi.org
建立python环境
conda create -n <env_name> python=3.8 # 最新torch https://pytorch.org/get-started/locally/ 要求python>=3.8
# 安装带有anaconda基础包的环境:conda create -n <env_name> anaconda
# 出错可以删除重来:conda remove --name hlbayes --all
#激活环境
conda activate <env_name>
再安装GPU版本的pytorch
# nvidia-smi右上角查看本机最大支持的cuda版本,也就是nvcc --version显示的版本
# https://pytorch.org/get-started/locally/ 查看最新安装代码
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
验证是否正确安装
# 验证cuda
nvcc --version
# 验证pip.conf
pip config list
# 验证torch
import torch
print(torch.cuda.is_available())
print(torch.version.cuda)
print(torch.cuda.current_device())
print(torch.cuda.get_device_name(0))
7. 配置远程git
# 生成公钥
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
# 本地用户信息
git config --global user.name "your_name"
git config --global user.email "your_email@example.com"
git config --global --list # 测试配置是否成功
# 复制公钥到github
cat ~/.ssh/id_rsa.pub
# git remote -v 查看已有的远程仓库
# git remote remove origin 删除已有的origin
# 配对远程仓库为本地仓库的origin
git remote add origin git@github.com:username/repository.git
# push推送分支到仓库
# git push [仓库] [本地分支]
git push origin <branch>
# pull拉取远程仓库到本地分支
# git pull [远程仓库] [本地分支]
git pull [remote_name] [branch_name]
8. 更改ssh登录端口
SSH 默认使用端口 22,属于高危端口,很容易被破解。如果需要更改 SSH 的端口号,可以按照以下步骤进行操作:
编辑 SSH 配置文件:
在服务器上打开 /etc/ssh/sshd_config
文件。
sudo nano /etc/ssh/sshd_config
找到端口配置:
找到文件中的 #Port 22
,取消注释并更改端口号。例如:
Port [xxx] # [xxx] 是你个人自定义的端口号
端口号的范围是 0-65535 ,注意避开常用端口号.
保存并退出:
保存文件并退出编辑器。
重启 SSH 服务:
运行以下命令重启 SSH 服务以使更改生效:
sudo systemctl restart sshd
更新防火墙规则:
确保防火墙允许新的端口:
sudo ufw allow [xxx]/tcp
重新连接:
使用新端口连接:
ssh -p [xxx] user@server_ip