Skip to content

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

错误记录

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

改造

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

登录方式

proxyjump

更改~/.ssh/config文件:

Host A
  HostName NameA
  User Alice
  Port 22
Host B
  HostName NameB
  User Alice
  ProxyJump A

登录时直接ssh B

这里建议直接跳到RockyOS8,CentOS7已经停止维护了。

google二次验证

expect + pyotp

VSCode Server 离线安装

  • 服务器上Dotfiles内mkdir -p .vscode-server/bin
  • 在家目录下ln -s ~/.vscode-server /workspace/S/jiangdongchenx/Dotfiles/.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
  • Remote.SSH: Local Server Download在本地机设置为off
  • 连接服务器RockyOS8

推荐目录结构

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

VPN

自建节点

  • 实验室服务器可能把某些ip给墙了,自建代理不推荐

服务器配置

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

Warning

TODO: clash配置方法

包管理器

使用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也可以改一下。
  • Claude Code
    • brew install --cask claude-code
    • 在Dotfiles中建立.claude文件夹和.claude.json然后从用户目录软链接。
    • claude --version查看版本
    • claude doctor修复安装并选择reset

dotfile管理

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

中国科技云远端仓库

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

实际工作流

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

Warning

TODO: Claude Code使用方法

其它

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

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