当前位置: 首页 > news >正文

【Ubuntu】新服务器配置完全指南

新服务器配置

文章目录

  • 新服务器配置
    • 安装 fish
    • 安装 NVIDIA 驱动
    • 安装 Miniconda
      • 初始化conda
    • 配置 conda 国内源
    • 配置pip国内源
    • conda 创建/删除环境
    • 安装 PyTorch
    • 使用 tmux
      • 常用命令(命令行)
      • 快捷键速览(默认前缀 Ctrl+b)
    • 服务器间文件传输
      • 方法一:`scp`(一次性、简单)
      • 方法二:`rsync`(增量/断点续传/大目录首选)
    • SSH 基本配置(客户端免密登录)
      • 1) A机器连接B
      • 2) Windows客户端密钥登录vscode(免密)
        • 1. 在Windows上生成密钥
        • 2. 把公钥内容复制到服务器的 authorized_keys

安装 fish

sudo apt update
sudo apt -y install fish
fish --version# 设为默认 shell(可选)
which fish            # 一般是 /usr/bin/fish
chsh -s /usr/bin/fish # 重新登录生效

MobaXterm 提示(否则 Remote monitoring 可能失效)
A. 保持 bash 为默认 shell,在 MobaXterm 的会话设置里把“Remote command / Execute command”设为:fish -l
B. 或保持 bash 为默认,自动进入 fish:在 ~/.bashrc 里追加(仅交互会话执行):

if [[ $- == *i* ]] && command -v fish >/dev/null; then exec fish -l; fi

这样 scp/rsync/非交互 不会被影响。
C. 简单在 ~/.bashrc 里追加fish


安装 NVIDIA 驱动

# 查看推荐版本
ubuntu-drivers devices# 以开源内核模块版为例
sudo apt install nvidia-driver-580-open
sudo reboot# 验证
nvidia-smi

安装 Miniconda

mkdir -p ~/miniconda3
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm ~/miniconda3/miniconda.sh

初始化conda

source ~/miniconda3/bin/activate
conda init --all

fish直接运行上面的命令会报错,切回bash再运行


配置 conda 国内源

最新内容请看清华 TUNA

nano ~/.condarc

粘贴:

channels:- defaults
show_channel_urls: true
default_channels:- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudpytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

验证:

conda info

配置pip国内源

最新内容请看清华源

pip config set global.index-url https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple

conda 创建/删除环境

# 创建
conda create -n xxx python=3.12 -y
conda activate xxx# 删除
conda remove -n xxx --all -y

安装 PyTorch

到官网选择对应 CUDA 版本;下面以 CUDA 13.0 的 pip 示例为例:

pip3 install torch torchvision --index-url https://download.pytorch.org/whl/cu130

验证(保存为 check_torch.py 运行):

import torch, torch.backends.cudnn as cudnn
print("="*50, "\nPyTorch 环境检测\n", "="*50, sep="")
print("PyTorch版本:", torch.__version__)
print("CUDA可用:", torch.cuda.is_available())
if torch.cuda.is_available():print("CUDA版本:", torch.version.cuda)print("cuDNN版本:", cudnn.version())print("GPU数量:", torch.cuda.device_count())for i in range(torch.cuda.device_count()):print(f"GPU {i}: {torch.cuda.get_device_name(i)}")x = torch.randn(3,3, device="cuda"); y = torch.randn(3,3, device="cuda")z = x + yprint("GPU计算测试: 成功")
else:print("CUDA不可用,使用CPU模式")
print("="*50)

使用 tmux

常用命令(命令行)

# 会话(Session)
tmux                    # 新建会话(匿名)
tmux new -s work        # 以名字新建
tmux ls                 # 列出会话
tmux attach -t work     # 附着到会话
tmux rename-session -t work work2025   # 重命名会话
tmux switch -t work2025 # 在已连接内切换会话
tmux kill-session -t work2025          # 关闭会话# 窗口(Window)
tmux new-window -n dev  # 新建窗口并命名
tmux rename-window -t 1 log   # 重命名窗口
tmux kill-window -t 2    # 关闭窗口# 面板(Pane)
tmux split-window -h     # 左右分屏
tmux split-window -v     # 上下分屏
tmux select-pane -L      # 光标切换到左侧面板(L/R/U/D)
tmux resize-pane -L 10   # 调整面板大小(向左扩 10)
tmux kill-pane           # 关闭当前面板# 其他
tmux source-file ~/.tmux.conf           # 重新加载配置
tmux set -g mouse on                    # 临时开启鼠标(当前会话)
tmux capture-pane -S -3000 -p > out.txt # 导出滚动缓冲到文件

快捷键速览(默认前缀 Ctrl+b)

会话 Sessiond        分离当前会话(detach)s        会话选择器$        重命名会话(rename-session)窗口 Windowc        新建窗口(create-window),        重命名窗口(rename-window)&        关闭窗口(kill-window)n / p    下一个 / 上一个窗口l        返回上一次窗口w        窗口列表面板 Pane%        左右分屏(split -h)"        上下分屏(split -v)方向键   在面板间切换o        在面板间轮换焦点x        关闭面板(kill-pane)z        面板放大/还原(zoom)Alt+方向 调整面板大小(多数终端可用;或用 :resize-pane -L/R/U/D 5)编辑/复制 & 其他:        命令模式(等同输入 tmux 命令)[        进入复制模式(上下滚动、搜索)]        粘贴复制缓冲

建议的 ~/.tmux.conf 片段(可选)

set -g mouse on
set -g history-limit 200000
set -g mode-keys vi
bind r source-file ~/.tmux.conf \; display-message "Reloaded ~/.tmux.conf"

服务器间文件传输

方法一:scp(一次性、简单)

# A -> B(推送文件/目录)
scp -P 22 /path/file  user@B:/dest/
scp -P 22 -r /path/dir  user@B:/dest/# B -> A(拉取)
scp -P 22 user@B:/path/file  /dest/# 常用参数:-P 端口;-r 目录递归;-C 压缩;-i 指定私钥
scp -C -i ~/.ssh/id_ed25519 -P 2222 big.tar user@B:/data/

方法二:rsync(增量/断点续传/大目录首选)

# A -> B(保留权限/时间戳,显示进度,压缩)
rsync -avzP /path/file  user@B:/dest/# 同步目录(只传变化部分)
rsync -avzP /data/  user@B:/data/# 断点续传 & 大文件更稳
rsync -avzP --partial --inplace big.img user@B:/data/# 过滤/限速/自定义端口
rsync -avzP --exclude "*.tmp" --bwlimit=20m -e "ssh -p 2222"  /src/  user@B:/dst/# 远端→远端(本机发起,走 SSH)
rsync -avz -e ssh user@A:/src/  user@B:/dst/

提醒:rsync -a 为归档模式(权限、时间、软链等);需要目标与源完全一致时加 --delete(谨慎)。


SSH 基本配置(客户端免密登录)

场景:windows电脑通过vscode访问服务器不用每次输入密码AB服务器之间访问

原理:把A的公钥放到Bauthorized_keys

1) A机器连接B

# 在 A 上生成用户密钥(推荐 ed25519)
ssh-keygen -t ed25519 -C "yourname@A"# 把公钥拷到 B 上指定账户(会自动追加到 B: ~/.ssh/authorized_keys)
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@B
# 如非 22 端口: ssh-copy-id -i ~/.ssh/id_ed25519.pub "-p 2222 user@B"# 测试免密登录
ssh user@B

2) Windows客户端密钥登录vscode(免密)

1. 在Windows上生成密钥
# 打开 PowerShell
ssh-keygen -t ed25519 -C "yourname@windows"
# 一路回车,默认保存到:C:\Users\<你>\.ssh\id_ed25519(.pub)
2. 把公钥内容复制到服务器的 authorized_keys
http://www.dtcms.com/a/577314.html

相关文章:

  • 2026年PMI-PBA商业分析师报考时间+条件全解析
  • 计算机图形学·9 几何学
  • 基于MATLAB的梯度下降法实现
  • dw制作简单网站模板下载网站建设工作会议讲话
  • 如何优化多表查询sql?
  • 64QAM信号的数字预失真处理(MATLAB实现)
  • 网站模板下载之后如何修改公司官网怎么设计
  • 崇信县门户网站留言首页杭州做商务网站
  • 只出现一次的数字 II(二)
  • Linux系统编程:(六)深入理解 Linux 软件包管理器——从原理到 yum 实战全攻略
  • NoSql数据库概念
  • OCR 新范式!DeepSeek 以「视觉压缩」替代传统字符识别;Bald Classification数据集助力高精度人像分类
  • jQuery 入门学习教程,从入门到精通,AJAX在jQuery中的应用 —— 详细知识点与实战案例(14)
  • seo优化标签北京seo百度推广
  • joomla 网站模板.net 手机网站源码下载
  • PL27A1旺玖5Gbps USB 3.0主机到主机桥接控制芯片,超高速USB3.0数据对拷线双机跨屏共享文件和数据的USB对拷芯片
  • 理解预处理器(Sass/Less)
  • Java_LinkedHashSet源码分析
  • 基于大数据的信贷风险评估的数据可视化分析与预测系统
  • 《算法通关指南:数据结构和算法篇 --- 栈相关算法题》--- 1.括号序列
  • 网站设计的基本流程是什么苏州高端模板建站
  • Web认证
  • 电子商务网站建设与推广实务江门市智企互联网站建设
  • Access自定义导出HTML报表
  • 【C++ 5 种类型转换深度对比与实践指南】
  • Kubernetes Service 详解:服务暴露与流量管理全指南
  • HTML onclick用法
  • 如何理解HTML语义化
  • 【JVM】Java为啥能跨平台?JDK/JRE/JVM的关系?
  • 数据存储新势力:Doris如何挑战ClickHouse的霸主地位?