服务器使用

ShenLab的主服务器是放在dry lab区域的(声音非常大的那台)Dell poweredge T640。此外,实验室目前在阿里云租用了多台云服务器,用于运行各种服务。

在服务器上配置个人环境

主服务器使用的操作系统是CentOS 7,且没有安装GUI,因此在服务器上的操作均需要通过命令行进行。

chevron-right什么是CentOS?hashtag

CentOS(Community ENTerprise Operating System)是一个基于Linux的开源操作系统。它主要建立在Red Hat Enterprise Linux (RHEL) 的源代码基础上,旨在提供一个免费、稳定、高性能和高安全性的企业级计算平台。总之它是Linux众多版本中的一个。

chevron-right什么是GUI?hashtag

GUI(Graphical User Interface,图形用户界面)是一种允许用户通过图形元素(如窗口、按钮、菜单和图标等)与计算机程序交互的用户界面类型。

我们日常使用的Windows或者MacOS都有可以用鼠标交互的“桌面”和各种图标,但是在服务器环境中,为了节省资源和提高安全性,通常不会安装GUI,而是采用命令行界面(CLI)进行管理。

远程连接服务器

通过ssh远程登录

作为多用户系统,linux支持多个用户同时使用ssh远程连接到服务器。

在命令行(终端/cmd/putty...)输入 ssh username@ip -p 22,然后按照提示输入密码,就可以用ssh远程连接目标服务器。

chevron-right启动命令行hashtag

以Win11系统为例,在开始菜单里搜索“terminal”(或者“powershell”)就可以找到命令行界面。大概长这样:

Mac看这里https://blog.csdn.net/haishu_zheng/article/details/73410594arrow-up-right

⚠️根据医学中心网络的设置,如果从校外使用rvpn连接服务器,需要使用10022端口,即把-p 22换成-p 10022

选择合适的工作路径

在登录到服务器后,可以通过df -lh指令检查服务器的存储容量。例如:

工作中会用到的可能有:

  • 系统盘:/home, 是用户默认文件夹所在的路径。由于系统盘容量仅有400G,不推荐将任何数据和软件存放在系统盘内

  • 工作盘:/HDD_A, /HDD_B, /HDD_C,是服务器目前主要使用的三块硬盘。常用数据和代码存在这里

  • 备份盘:/HDD_01 ~ /HDD_04, 实验室有多块用于数据备份的硬盘。如果硬盘上存满数据,它将被拆下来替换成新的空盘。 不常用(可能一个月里用不到一次)但需要备份的大规模数据可以放在这里。

⚠️请尽量不要在默认路径/home下面存东西!

关于用户权限

为了防止用户通过有意或无意的操作破坏计算机系统,linux为用户设置了访问权限。

  • 在正常情况下,普通用户应无权修改任何重要的系统文件。当你运行指令时遇到类似“权限不足”或“Permission denied”的提示,应当停止操作,寻求不需要高级权限(管理员权限)的解决办法。

  • 实验室成员在分析、计算过程中用到的所有操作,正常情况下都是不需要管理员权限的。

配置软件环境

安装和运行Anaconda

许多软件和软件包会在安装时改变系统重要文件的配置。我们在服务器上主要使用conda为每个人创建独立的虚拟环境,以防止用户的操作影响系统运行,也能方便地隔离不同用户的软件配置,避免它们互相干扰。

circle-info

我们有一个已经装好的anaconda软件。使用

激活。

可以看到它被装在yicheng的路径下,这属于历史遗留问题,但是不影响使用。

  1. 激活conda环境

  2. 创建一个自己的虚拟环境:用conda create -n name python指令创建一个名为name的环境,并预安装python程序

  3. conda activate name进入创建好的环境

  4. conda install xxx安装新的包

  5. conda info -e查看自己创建过的虚拟环境

以后再次使用同一个环境时,重复步骤1、3即可

circle-info

你可以用不同的虚拟环境来隔离不同代码项目所用的环境,避免它们互相干扰

远程编辑代码和数据

使用文件传输工具

有多种方式可以编辑服务器上的代码(以及其他文件)。比如说可以用文件传输工具把本机编辑好的代码上传到服务器。

例如,windows系统可以用winSCP软件。相应的教程:https://blog.csdn.net/ZYS10000/article/details/107138719arrow-up-right

使用代码编辑器远程编辑代码

有些代码编辑器具备远程ssh连接服务器,并直接编辑、运行服务器上代码的功能。例如可以通过vscode远程编辑服务器上的代码。相关教程网上有很多,例如:https://blog.csdn.net/irober/article/details/112724986arrow-up-right

使用命令行编辑代码

可以使用vim工具在命令行中编辑文本文件

教程: https://www.runoob.com/linux/linux-vim.htmlarrow-up-right

Last updated