帮助文档
专业提供香港服务器、香港云服务器、香港高防服务器租用、香港云主机、台湾服务器、美国服务器、美国云服务器vps租用、韩国高防服务器租用、新加坡服务器、日本服务器租用 一站式全球网络解决方案提供商!专业运营维护IDC数据中心,提供高质量的服务器托管,服务器机房租用,服务器机柜租用,IDC机房机柜租用等服务,稳定、安全、高性能的云端计算服务,实时满足您的多样性业务需求。 香港大带宽稳定可靠,高级工程师提供基于服务器硬件、操作系统、网络、应用环境、安全的免费技术支持。
服务器资讯 / 香港服务器租用 / 香港VPS租用 / 香港云服务器 / 美国服务器租用 / 台湾服务器租用 / 日本服务器租用 / 官方公告 / 帮助文档
服务器和Linux ,安装R rstudio ,常用软件
发布时间:2024-03-07 19:33:10   分类:帮助文档
服务器和Linux ,安装R rstudio ,常用软件

服务器的基本概念:
如服务器的基本结构,节点,端口的概念等。 服务器的基本设置和管理:
如何配置新服务器, 如何管理服务器,如何分配账户并确保他们互不访问, 如何全局安装软件让所有人都可以使用, 以及服务器管理员的常用操作等。 软件的安装和使用:安装和版本管理
如何在服务器上安装和使用各种软件,如R, Rstudio, Jupyter notebook等, 如何在服务器上使用不同版本的R和Python等。 数据管理:
如何下载和安装各种数据, 如何在Linux下进行相关分析, 如何在Linux下挂载后台运行及查看进度, 如何管理大量数据集等。 工作环境的搭建:
如何搭建生信分析或者对接课程的工作环境, 如何搭建单细胞下游分析工作环境, 如何创建网页版Rstudio和Python notebook以供外人访问等。 文件传输和存储:
如何用FileZilla或其他工具上传文件到服务器, 上传的文件在Python中如何找到 数据文件如何存储和管理等。
实际上关键点就两个,一个是怎么管理好多个用户,一个是怎么安装好软件。因此昨晚的直播课也就是侧重这两点。
第一部分:服务器和Linux的了解
在这一部分,我主要给大家简答科普了目前的服务器的类型,以及与我们当前用到的笔记本、台式机的区别。
需要知道的几点
服务器性能不一定比台式机强 服务器一般来说都是为了完成某个特定目标,比如说网页服务器,而我们用的电脑则是常用来执行多种不同的任务 服务器有物理服务器和虚拟服务器两类,虚拟服务器一般指的是将一个物理服务器的资源虚拟化,有效利用资源的一种。 大厂的云服务器比较贵。不建议购买云服务器做计算任务。 Linux是服务器上最常用的一种操作系统 Linux有两种主要发行版本,一种是CentOS,一种是ubuntu。 从后续的直播结果来看,请大家在装服务器系统的时候,尽量装最新的Ubuntu。云服务器的CentOS可能还是7,因此除非你对自己的管理能力很自信,否则慎选。
第二部分:服务器的交互
服务器访问三要素是
用户名 IP地址,或者域名 端口号
即便很多时候你没有写端口,那也是有一个默认端口22的。
我觉得经过我很多次强调,上过我Linux课的人,都知道这三要素了。
与服务器交互的两种最常见方式是:SSH登录和SFTP数据传输。
在Windows上,我认为的最佳组合就是XSHELL和XFTP


而在MacOS和Linux上,我自己偏好自带终端和FileZilla。由于FileZilla是跨平台的软件,所以实际上我在Windows上也会用。


当然,还有其他一些东西可选,例如FinalShell。
第三部分:权限管理
这部分知识,在我们Linux实战课虽然提到过,但实际上大家都没有什么特别的感悟,因此这里,我给了一个非常复杂的例子
需求:
创建三个用户,xzg1, xzg2,xzg3, 位于/home/xzg下, 属于xzg组 创建三个用户,gsp1, gsp2, gsp3,位于/home/gsp下,属于gsp组 创建1个用户,visitor,位于/home/visitor下,属于visitor组 创建一个组,叫做gzdlab, xzg1, xzg2,xzg3, gsp1,gsp2,gsp3都属于gzdlab xzg组之间可以相互访问,gsp组之间可以相互访问,xzg和gsp之间不能相互访问 创建一个私人目录,/data/private_data,  gzdlab组的人可以访问,并编辑里面的内容,其他用户可以访问,但是不能编辑内容 创建一个公共目录,/data/public_data, 所有人都可以访问,都可以编辑内容
这个例子在直播课有了非常好的演示。只不过在操作同时,还演示了一些内容外的东西,这要是我就觉得直播课相对于我写文字教程,有趣的地方。
我在用xzg1使用sudo时候,遇到了权限的问题,于是我带了大家学习用户让一个普通用户能够使用sudo。在Ubuntu和CentOS中,添加sudo用户是不太一样的操作。Ubuntu用的是usermod把用户加到sudo组中,而CentOS则是用visudo在配置文件中加上用户。
遇到之前的需求,我们解决方法如下
第一步,创建用户和用户组:
sudo groupadd xzg
sudo groupadd gsp

sudo mkdir /home/xzg
sudo mkdir /home/gsp

sudo useradd -m -d /home/xzg/xzg1 -g xzg xzg1
passwd xzg1

sudo useradd -m -d /home/xzg/xzg2 -g xzg xzg2
sudo useradd -m -d /home/xzg/xzg3 -g xzg xzg3

sudo useradd -m -d /home/gsp/gsp1 -g gsp gsp1
sudo useradd -m -d /home/gsp/gsp2 -g gsp gsp2
sudo useradd -m -d /home/gsp/gsp3 -g gsp gsp3

创建合作组,gzdlab,用于加上xzg和gsp的成员。
# 创建组
sudo  groupadd gzdlab

# 将用户添加到组
for user in xzg1 xzg2 xzg3 gsp1 gsp2 gsp3; do
    sudo  usermod -a -G gzdlab ${user}
done

之后,设置xzg和gsp用户组的访问权限:
# 更改所有者
# 前面的冒号表示只更改所属组,而不更改所有者。
sudo chown -R :xzg /home/xzg
sudo chown -R :gsp /home/gsp

sudo chmod -R 770 /home/xzg
sudo chmod -R 770 /home/gsp

为了方便数据的管理,我们创建了两个文件夹:
sudo mkdir -p /data/private_data
sudo mkdir -p /data/public_data

设置文件夹权限:
sudo chown -R :gzdlab /data/private_data
sudo chmod -R 770 /data/private_data
sudo chmod -R 777 /data/public_data

当然上述一般来说,可能都是管理非常复杂的情况,更多的是帮助我们理解什么叫做用户权限。但是在真实世界中,我们可能就只会做两步,
第一步,创建用户,给他分配一些资源。
useradd -m -d /home/用户名 用户名
passwd 用户名

第二步,创建一个公共的目录,放数据,让他去复制
mkdir /data/public_data
chmod -R 777 /data/public_data

简单的说,就是把数据分成自己的和公共的两类。
这一部分交给大家的作业就是,回顾整理下用户管理、用户组管理和权限管理的几个Linux命令。
第四部分:软件安装
我们先强调了环境变量,PATH的重要性,可执行文件都是通过这个PATH来找到执行路径的。
但是PATH是如何加载的呢?我们介绍了配置文件的加载过程,特别的,我们强调了 为什么有些时候,你已经把PATH添加到~/.bashrc  中,但是依旧不起作用的原因。
这里我找到了一张更好的图(来源:https://youngstone89.medium.com/unix-introduction-bash-startup-files-loading-order-562543ac12e9),来说明这个加载过程。


通常来说,如果我们用的是终端登录,我们就是以 /ect/profile→~/.bash_profile 来启动配置文件,而~/.bashrc通常是由~/.bash_profile调用。
接着,为了介绍如何全局安装软件,我们讲了两个例子
CellRanger seqkit
大家可以自己回去练习下
当然,软件安装的重头戏还是R语言和RStudio的配置。
在R语言的安装上,我推荐的是用编译的方式安装,这样子,你可以保证,你自己安装多个版本的R,并保持他们共存。
直播课中,我介绍4.1.3和4.3.1的编译安装
# 4.3.1
wget https://mirrors.tuna.tsinghua.edu.cn/CRAN/src/base/R-4/R-4.3.1.tar.gz
tar xf R-4.3.1.tar.gz
./configure --prefix=/opt/R-4.3.1 --enable-R-shlib --with-blas --with-lapack
make -j
sudo make install

#4.1.3
wget https://mirrors.tuna.tsinghua.edu.cn/CRAN/src/base/R-4/R-4.1.3.tar.gz
tar xf R-4.1.3.tar.gz
./configure --prefix=/opt/R-4.1.3 --enable-R-shlib --with-blas --with-lapack 
make -j 
sudo make install



不过在安装过程中,我们出现了几个意外(放心,都在我的掌控之中)
首先,依赖环境不全,因此在configure的过程中,反复报错,我这里总结了CentOS和Ubuntu的一些必装的内容 CentOS
yum group install "Development tools"
yum install libX11-devel 
yum install libXt-devel 
yum install readline-devel
yum install xz xz-devel 
yum install pcre pcre-devel
yum install libcurl-devel
yum install texlive
yum install java-1.8.0-openjdk
yum install *gfortran*
yum install zlib*
yum install bzip2-*

Ubuntu
sudo apt-get update
sudo apt-get install build-essential
sudo apt-get install zlib1g-dev libreadline-dev libcurl4-openssl-dev \
    libpcre2-dev libbz2-dev liblzma-dev \
    libxml2-dev libcairo2-dev
sudo apt-get install xorg-dev
sudo apt-get install texlive-base texlive-latex-extra texlive-fonts-recommended

# java支持, 可以不用
sudo apt-get install default-jdk


还有一个意外的就是,centOS7因为太老了,安装4.3.1的时候,还得加上 --with-pcre1参数,不能用最新的pcre2
./configure --prefix=/opt/R-4.3.1 --enable-R-shlib --with-blas --with-lapack  --with-pcre1
make -j
sudo make install 


另外要强调的一点事,因为后续要RStudio调用R,所以--enable-R-shlib参数必须有。
之后我们用CentOS演示了RStudio安装
wget https://download2.rstudio.org/server/centos7/x86_64/rstudio-server-rhel-2023.06.1-524-x86_64.rpm
sudo yum install rstudio-server-rhel-2023.06.1-524-x86_64.rpm


实际上Ubuntu也类似,到https://posit.co/download/rstudio-server/ 选择合适版本就好
需要注意的是,此时安装的Rstudio是不会成功启动的,因为我们没有安装在它默认搜索的位置,因此我们需要没指定R的位置
我们需要编辑 /etc/rstudio/rserver.conf ,添加如下的内容
rsession-which-r=/opt/R-4.3.1/bin/R

然后用sudo rstudio-server restart重启,使用rstudio-server status确认运行状态。
默认端口是8787,你需要通过 IP地址:端口来访问。
但是,如果你用的云服务器,或者你服务器有防火墙的设置,你还需要允许这个端口的放行。这部分内容参考直播课的演示。
接下来,我们介绍了R包的编译,需要强调的是,R默认是单线程编译。我们需要先运行这两个配置,让R执行编译时能够快一点。
options(Ncpus=20L)
Sys.setenv(MAKEFLAGS="-j 20")

在R包的安装过程中,充满了意外,例如,学员让我们演示CytoTRACE_0.3.3的安装,经过不断的排查,发现可能需要gcc7才能编译,而我的centos7只有gcc4.8。虽然我能给大家展现一下,如何在旧系统上编译新的GCC,但是考虑直播时长,我们还是冷静下,暂时在这里结束了,不然我们真的要决战到天明了。


香港云服务器租用推荐
服务器租用资讯
·广东云服务有限公司怎么样
·广东云服务器怎么样
·广东锐讯网络有限公司怎么样
·广东佛山的蜗牛怎么那么大
·广东单位电话主机号怎么填写
·管家婆 花生壳怎么用
·官网域名过期要怎么办
·官网邮箱一般怎么命名
·官网网站被篡改怎么办
服务器租用推荐
·美国服务器租用
·台湾服务器租用
·香港云服务器租用
·香港裸金属服务器
·香港高防服务器租用
·香港服务器租用特价