Linux 系统环境配置教程
0. 前言
本文将详细记录在 Linux 服务器上进行环境配置的步骤,适用于深度学习、开发等场景。本文步骤亲测有效,适用于 Ubuntu 系统环境。
1. 系统设置
1.1 网络配置
对于刚安装操作系统的服务器,可能处于无网络的状态。首先需要连接网络,然后再进行后续配置。
-
配置静态 IP 地址(如果需要),并使用以下命令检查网络状态:
ifconfig
-
更新系统包列表,确保所有包信息都是最新的:
sudo apt-get update
1.2 更换软件源
由于国内网络原因,下载软件包可能比较慢。建议更换为清华源(或其他国内源),提升下载速度。
-
备份原有源文件:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
-
编辑源文件:
sudo vim /etc/apt/sources.list
在文件末尾添加以下内容(清华源):
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
-
更新软件包列表:
sudo apt-get update
2. 显卡驱动安装 (nvidia-smi)
2.1 移除现有 NVIDIA 驱动
-
首先,检查并移除现有的 NVIDIA 驱动:
sudo apt-get remove --purge nvidia*
-
禁用默认的 Nouveau 驱动(NVIDIA 驱动的冲突驱动):
sudo vim /etc/modprobe.d/blacklist.conf
在文件末尾添加以下内容:
blacklist nouveau blacklist nvidiafb options nouveau modeset=0
-
更新初始化文件:
sudo update-initramfs -u
-
重启系统:
sudo reboot
2.2 安装 NVIDIA 驱动
-
停止图形界面服务(以便安装 NVIDIA 驱动):
sudo service lightdm stop # 对于 LightDM
或者,如果你使用的是 GDM:
sudo service gdm stop
-
添加 NVIDIA 官方 PPA:
sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt-get update
-
检查推荐安装的 NVIDIA 驱动:
ubuntu-drivers devices
-
安装推荐的 NVIDIA 驱动:
sudo apt-get install nvidia-driver-xxx # 替换 xxx 为推荐的驱动版本号
-
安装完成后,重启系统:
sudo reboot
-
验证是否安装成功:
nvidia-smi
3. CUDA Toolkit 安装
CUDA 是 NVIDIA 提供的并行计算平台和编程模型,用于加速计算。为确保 CUDA 与 PyTorch 版本兼容,建议手动安装。
-
检查当前 CUDA 版本:
nvcc -V
-
如果未安装 CUDA,可以使用以下命令安装:
sudo apt-get install nvidia-cuda-toolkit
注意:如果遇到版本问题,手动安装 CUDA,访问 NVIDIA 官方网站选择并下载所需版本:CUDA Toolkit 下载页面。
-
配置环境变量:
sudo vim ~/.bashrc
添加以下行:
export PATH=/usr/local/cuda-10.1/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64:$LD_LIBRARY_PATH
然后更新配置:
source ~/.bashrc
4. Miniconda/Anaconda 安装
推荐使用 Miniconda,体积小,灵活且满足大多数需求。
-
下载 Miniconda 安装包(选择 Python 版本和架构):
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py38_4.8.3-Linux-x86_64.sh
-
安装 Miniconda:
bash Miniconda3-py38_4.8.3-Linux-x86_64.sh
-
配置环境变量:
vim ~/.bashrc
在文件末尾添加:
export PATH="/home/username/miniconda3/bin:$PATH"
使用
source ~/.bashrc
刷新配置。 -
验证安装:
conda -V
5. 虚拟环境创建
-
创建一个新的虚拟环境:
conda create -n myenv python=3.9
-
激活虚拟环境:
conda activate myenv
-
设置 pip 使用清华源(加速包的安装速度):
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple/
-
安装 PyTorch:
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu116
6. SSH 远程设置
如果需要远程访问服务器,可以启用 SSH 服务。
-
安装 SSH 服务:
sudo apt-get install openssh-server
-
启动 SSH 服务:
sudo service ssh start
-
验证是否启用:
ps -e | grep ssh
-
使用 SSH 客户端连接服务器:
ssh user@your_server_ip
7. XRDP 远程桌面安装
为了便于图形界面操作,安装 XRDP 远程桌面。
-
安装桌面环境:
sudo apt-get install xubuntu-desktop
-
安装 XRDP:
sudo apt-get install xrdp
-
配置 XRDP:
sudo adduser xrdp ssl-cert sudo systemctl restart xrdp
-
连接远程桌面,使用
xfce
或其他桌面环境。
8. 创建新用户及文件权限设置
-
创建新用户:
sudo adduser newuser
-
设置文件夹权限(注意不要使用
777
,除非确实需要):sudo chmod -R 755 /mnt/*
9. 总结
本文详细介绍了在 Linux 服务器上进行常见环境配置的步骤,包括系统设置、显卡驱动、CUDA Toolkit 安装、Miniconda/Anaconda 安装、虚拟环境配置、远程访问配置等。通过这些步骤,你可以完成一个适用于深度学习、机器学习、开发等工作的 Linux 环境。
关键步骤回顾:
- 系统设置:确保网络连接和软件源更换,保证环境稳定。
- 显卡驱动安装(nvidia-smi):正确安装并配置 NVIDIA 驱动,确保 GPU 计算功能可用。
- CUDA Toolkit 安装:安装合适版本的 CUDA,并配置环境变量,确保与其他工具兼容。
- Miniconda/Anaconda 安装:使用 Miniconda 安装 Python 环境,管理依赖库。
- 虚拟环境创建:使用 Conda 创建和管理虚拟环境,安装 PyTorch 等深度学习框架。
- 远程访问配置:通过 SSH 和 XRDP 配置远程访问,方便进行远程开发和调试。
- 新用户和文件权限设置:创建新用户,配置文件权限,确保安全的文件访问控制。
附加提示
-
备份配置: 在进行重大系统更改(如更改软件源、安装新驱动等)时,建议先备份相关配置文件。这样,若出现问题,可以轻松恢复:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup sudo cp ~/.bashrc ~/.bashrc.backup
-
检查驱动和库的兼容性: 安装显卡驱动、CUDA 和其他库时,确保它们与所使用的深度学习框架(如 TensorFlow、PyTorch)版本兼容。可以查阅框架官方文档或使用
nvidia-smi
检查显卡驱动是否安装正确。 -
网络安全:
- 如果你开启了 SSH 远程访问服务,确保修改默认的端口号(22),增加额外的安全性。
- 设置强密码或使用 SSH 密钥认证来增强安全性。
- 配置防火墙限制只允许必要的 IP 地址访问 SSH 服务。
-
虚拟环境管理:
- 虚拟环境可以帮助你隔离不同项目的依赖,避免版本冲突。在需要使用不同版本库时,创建新的虚拟环境,切换环境时使用
conda activate
。 - 使用
conda list
查看当前环境中已安装的包。
- 虚拟环境可以帮助你隔离不同项目的依赖,避免版本冲突。在需要使用不同版本库时,创建新的虚拟环境,切换环境时使用
-
驱动安装问题:
-
在安装 NVIDIA 驱动时,如果出现问题,可以查看驱动日志文件进行排查:
cat /var/log/nvidia-installer.log
-
如果安装时出现“找不到驱动程序”的问题,检查 NVIDIA 的官方文档,手动选择合适的版本。
-
-
硬件支持检查:
- 对于使用 CUDA 或其他 GPU 加速任务的环境,确保你的硬件和驱动版本支持所安装的 CUDA 版本。可以参考 NVIDIA CUDA 版本兼容性矩阵。
-
远程桌面使用注意:
- 使用 XRDP 远程桌面时,确保虚拟机或物理机的网络配置正确,且可以远程访问。如果是云服务器,确保相关端口(如 3389)已开放。
常见问题解答
Q1: 为什么 nvidia-smi
无法识别我的显卡?
-
可能是驱动未正确安装。请确保 NVIDIA 驱动与 CUDA 版本兼容。你可以使用以下命令检查驱动是否正常:
sudo nvidia-smi
如果
nvidia-smi
无法启动,尝试重新安装 NVIDIA 驱动或使用
ubuntu-drivers devices
检查并安装推荐的驱动。
Q2: 为什么 CUDA 安装后仍然无法找到 nvcc
命令?
-
可能是没有正确设置环境变量。你可以通过以下命令检查
nvcc
是否存在:
which nvcc
如果没有找到,确保你已将 CUDA 的
bin
目录添加到 PATH 环境变量中:
export PATH=/usr/local/cuda-10.1/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64:$LD_LIBRARY_PATH
Q3: 在安装 PyTorch 时遇到依赖问题怎么办?
-
使用清华源(或其他国内镜像)来加速安装,并确保虚拟环境已激活。你可以使用以下命令来强制重新安装依赖:
pip install --upgrade --force-reinstall torch torchvision torchaudio
Q4: 安装 NVIDIA 驱动时遇到“无法找到驱动程序”的问题?
- 确保你的硬件和操作系统版本支持当前 NVIDIA 驱动。如果安装过程中出现问题,可以参考 NVIDIA 官方安装文档或尝试从官方网站下载适用于你显卡的驱动并手动安装。
Q5: 如何查看系统中已安装的所有库和工具?
-
使用以下命令查看已安装的软件包:
dpkg -l
查看 Conda 环境中的包:
conda list