Skip to content

RockyOS8服务器普通用户标准流程

错误记录

  • 无包管理器,裸机使用软件,经常出现Glibc版本不够的情况,放弃;
  • 自己编译安装Glibc难以维护出现的错误,放弃;
  • conda下载和使用比较缓慢,性能低,放弃;
  • docker需要sudo权限,放弃;

改造

  • 登录方式
  • VPN
  • 包管理器
  • 常用软件
  • dotfile
  • 使用中国科技云作为远端仓库

登录方式

外网工作机

以ArchLinux为例:

首先连接手机热点,打开VPN的全局代理和TUN模式。

sudo yay -S tailscale
sudo systemctl enable --now tailscaled
sudo tailscale up

从URL登录浏览器端Tailscale帐号。

跳板机

以windows为例: 1. 连接以太网 2. 安装并开启OpenSSH服务 3. 打开VPN的全局代理和TUN模式 4. 下载Tailscale登录,看到Tailscale上有两台设备

Tailscale上有两台设备后可以断开外网工作机和跳板机的VPN。

配置ssh连接

此时可以按照以下方式设置ssh: 1. 连接到跳板机 2. 跳板机从内网连接服务器

更改~/.ssh/config文件:

# RemoteServer
Host RemoteCentOS
  ServerAliveInterval 60
  ServerAliveCountMax 10
  PreferredAuthentications keyboard-interactive,password
  ControlMaster auto
  ControlPath ~/.ssh/cm-%C
  ControlPersist 10m
  HostName xxx
  User xxx
  Port xxx
Host RemoteRocky
  ServerAliveInterval 60
  ServerAliveCountMax 10
  PreferredAuthentications keyboard-interactive,password
  ControlMaster auto
  ControlPath ~/.ssh/cm-%C
  ControlPersist 10m
  HostName xxx
  User xxx
  ProxyJump RemoteCentOS

此时已经可以在terminal使用ssh直接连接服务器了。

windows下推荐使用ssh公钥/私钥登录。

VSCode Server 离线安装

  • 服务器上Dotfiles内mkdir -p .vscode-server/bin
  • 在家目录下ln -s /workspace/S/jiangdongchenx/Dotfiles/.vscode-server ~/.vscode-server
  • code --version查看第二行commit号并记录
  • curl -L -o "vscode-server-linux-x64-<commit>.tar.gz" "https://update.code.visualstudio.com/commit:<commit>/server-linux-x64/stable"行号记录替换<commit>,本地下载vscoder-server文件
  • scp vscode-server-linux-x64-<commit>.tar.gz InnerRocky:~scp上传到服务器。
  • commit="<commit>"服务器设置commit
  • mkdir -p "$HOME/.vscode-server/cli/servers/Stable-<commit>/server"

    tar -xzf "$HOME/vscode-server-linux-x64-${commit}.tar.gz" \
      -C "$HOME/.vscode-server/cli/servers/Stable-${commit}/server" \
      --strip-components 1
    

  • 连接服务器RockyOS8

推荐目录结构

  • home下只放配置的软链接
  • workspace下放
    • 近期项目的文件
    • App
    • Dotfiles源文件
  • lustre下放归档文件和下载目录
  • 除此之外,要注意软件的缓存目录。home目录大小有限,需要定期检查,如果是缓存问题要及时迁移和清理。

VPN

服务器配置

  • 从云仓库下载clash二进制、clash配置文件和bashrc模板文件
  • 将clash和bashrc按照dotfile管理一节中的内容软链接到正确的位置

包管理器

使用homebrew

  1. 开启clash代理
  2. 在App目录下git clone https://github.com/Homebrew/brew homebrew
  3. eval "$("homebrew/bin/brew" shellenv)" 并将其加入到bashrc文件中,需要将brew的路径改为绝对路径。
  4. command -v git找到git绝对路径。
  5. export HOMEBREW_GIT_PATH=<git绝对路径>
  6. brew update --force --quiet
  7. chmod -R go-w "$(brew --prefix)/share/zsh"
  8. export HOMEBREW_CACHE=</workspace/homebrew-cache>在workspace上开一个新缓存,在bashrc中更改homebrew缓存位置到新缓存。

至此包管理器安装完成。

常用软件

  • git
    • ln -sf /tools/cluster-software/git/git-2.31.1/bin/git /workspace/S/jiangdongchenx/App/homebrew/bin/git
    • module load git 写入到 .bashrc 中去.
    • export HOMEBREW_GIT_PATH=/tools/cluster-software/git/git-2.31.1/bin/git 写入到`.bashrc中去.
  • uv
    • brew install uv
    • uv cache dir查看uv缓存位置。
    • 在workspace上开新缓存。
    • 在bashrc中加入UV_CACHE_DIR=</workspace/uv-cache>
    • UV_PYTHON_INSTALL_DIRUV_TOOL_DIR也可以改一下。
    • 后续使用注意uv的链接库版本可能较高, 导致A100集群的CPU不支持. 需要在slurm脚本中直接调用python二进制文件使得A100集群的CPU能够支持.
  • Claude Code
    • brew install --cask claude-code
    • 在Dotfiles中建立.claude文件夹和.claude.json然后从用户目录软链接。
    • claude --version查看版本
    • claude doctor修复安装并选择reset
  • brew install codex安装codex CLI
  • brew install tokei安装代码统计工具tokei
  • tmux,系统自带会话窗口管理工具

隐藏VSCode的AI功能。

dotfile管理

在dotfile应该出现的位置使用ln -s <dst> <src>建立软链接。 在workspace下的Dotfiles目录中统一管理配置文件。

配置文件源位置: - ~/.bashrc - ~/.bash_profile - ~/.config/clash

中国科技云远端仓库

  • 搜索中国科技云gitea
  • 注册帐号并在gitea界面更新密码
  • 开启私有仓库并使用https上传代码,ssh被服务器防火墙封了

实际工作流

  1. VSCode SSH 插件 或者 命令行 SSH 登录进入工作目录
  2. Claude Code 或 人工 编写代码 Claude Code基本工作流
  3. 测试,成功后git提交远端仓库

其它

删除文件时显示文件被占用

  • 错误描述:Linux删除文件失败后显示rm: cannot remove xxx. Device or resource busy.
  • 错误原因:还有进程在占用这个文件
  • 解决方法:在终端执行 lsof +D 再加上无法删除文件的目录,把显示的process都kill掉,然后再rm就可以了。
  • lsof +D递归扫描指定目录及其子目录下的所有文件,并显示哪些进程正在使用这些文件。
    • lsof全称是list open files