一文解决 | Linux(Ubuntn)系统安装 | 硬盘挂载 | 用户创建 | 生信分析配置

news2024/11/16 13:00:42

原文链接:一文解决 | Linux(Ubuntn)系统安装 | 硬盘挂载 | 用户创建 | 生信分析配置

本期教程

获得本期教程文本文档,在后台回复:20240724。请大家看清楚回复关键词,每天都有很多人回复错误关键词,我这边没时间和精力一一回复。

往期教程部分内容













写在前面

昨天(2024年7月23日)我们分享了学生及科研人员电脑配置推荐 | 笔记本+外置显卡配置,性能足够支持完成你博士论文文本内容,那么今天我们就分享一文解决 | Linux(Ubuntn)系统安装 | 硬盘挂载 | 用户创建 | 生信分析配置的教程,我们使用一文来解决大家在做生信时遇到安装系统、配置环境的问题。

在此文中,我们尽快可能给出一套全网最全的教程。目标是解决新手小白同学查资源的困惑和难题。

但是,每个童鞋遇到的问题不一样,此教程也不可能把你遇到的每个问题都归纳在其中。

我们也希望,大家可以在留言区进行补充,最终形成一个完整的教程文档。


1. 制作启动盘

对于制作启动盘的工具更多,我们这里只是进行介绍我们本次安装时所使用到的工具,其余的工具,大家可以结合自己实际情况而定。

1.1 使用rufus制作启动盘

软件下载网址:https://github.com/pbatard/rufus/releases/download/v4.5/rufus-4.5.exe(点击下载)

http://rufus.ie/downloads

1.2. 点击打开rufus-4.5.exe

1.3. Ubuntu系统的下载

下载网址:

https://cn.ubuntu.com

1.3.1 Ubuntu桌面版下载

下载链接:https://releases.ubuntu.com/24.04/ubuntu-24.04-desktop-amd64.iso

1.3.2 Ubuntu服务器版本下载

https://cn.ubuntu.com/download/server/thank-you?version=24.04&architecture=amd64

下载对应的版本即可


ubuntu官方也给对应的安装教程,科研进行参考。

https://ubuntu.com/tutorials/install-ubuntu-server#3-boot-from-install-medi

直接点击链接:https://ubuntu.com/tutorials/install-ubuntu-server#3-boot-from-install-media

1.3.3 Ubuntu系统下载

若是在官网下载速度很慢,可以在清华源下载,下载https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/14.04/ubuntu-14.04.6-desktop-amd64.iso

# 网址:
https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/14.04/

1.4. 使用rufus制作启动盘

需要使用8G的U盘进行制作。

1.4.1 插上U盘,打开软件

1.4.2 选择系统镜像

1.4.3 进行制作

以上操作完成后,软件中其他设置默认即可。

点击“开始”

1.4.4 完成后,文件夹中获得一下信息

2. 开始安装

进入系统BIOS进行安装,结合自己的电脑进入BIOS的快捷键,进入。我们这里不在介绍。

进入BIOS,使用直接点击使用U盘安装即可,后面等在安装结束。以及设置相关的信息,结束后,直接重启即可。

2.1 安装

过一会儿,您应该会看到如下显示在屏幕上内容。

2.2 设置语言

after the boot messages appear, a ‘Language’ menu will be displayed.

2.3 选择正确的键盘布局

默认即可

2.4 选择安装

在这里,小杜建议选择“直接安装”

2.5 网络设置

安装程序将自动检测并尝试通过DHCP配置任何网络连接。

2.6 磁盘设置

我们建议使用一个空的磁盘作为系统盘,因此,直接默认相关参数即可。(以下图片不是我们安装过程中看到的图片,直接默认参数即可)

2.7 分区设置

默认参数。

2.8 确认

2.9 建立服务器信息

软件现在正在磁盘上安装,但是安装程序需要更多的信息。Ubuntu Server 需要至少有一个已知的系统用户和一个主机名。用户还需要一个密码。

2.10 安装软件或更新

在安装过程中,可能会设置安装软件,或更新。

我们建议在安装过程中,不选择更新选项,可能会无法下载或更新,导致安装失败。


安装完成后,重启即可。到这里,Linux系统的安装就完成了,与正常的Windows系统安装一样。


3. 使用Xshell连接

3.1 安装后,我们可以直接只用局域网进行连接操作。


网址:

https://www.xshell.com/zh/xshell/

Xshell可以下载免费授权版

https://www.xshell.com/zh/xshell-download/


点击下载:

3.2 使用局域网

我们在安装时,会出现自动配置网络,此网段即时局域网IP。或使用ifconfig进行查看。

ifconfig

连接时,就使用我们设置的账户和密码登录即可。


端口若是没有改变,一般默认是22。

4. 查看CUP信息和内存大小

4.1 查看CUP信息

lscpu

cat /proc/cpuinfo

4.2 查看内存信息

cat /proc/meminfo

free -h

4.3 查看硬盘

lsblk


其中,sdb1是我挂载的硬盘。

lsblk -f									# 查看是否挂载

lsblk -p -o NAME,SIZE,TYPE,MOUNTPOINT		# 查看有几个分区

4.4 查看硬盘大小

fdisk -l | grep Disk

5. 磁盘挂载

我们的数据盘和系统盘是分开的,因此,需要进行磁盘的挂载。以及,我们需要将挂载磁盘设置为开机自动挂载

以下命令,需要使用sudo进行操作,也可以直接在root用户下进行。

5.1 查看分区

sudo fdisk -l 

5.2 创建挂载目录文件夹

我一般是挂载/home/目录下,有的教程也挂载在/mnt/目录下。(在root用户下进行操作)

mkdir /home/Data

新的硬盘需要进行分区和格式化,若是已经做过分区,或是硬盘中已有数据,可以直接进行挂载,挂载后,数据依旧存在。

5.3 分区

fdisk /dev/sdb

输入n表示建立新的分区。

默认是p,表示主分区。e为扩展分区

Partition number(1-4)时,1表示只分一个区。


在Command (m for help)提示符后面输入p,显示分区表。

5.4 格式化

将分区/dev/sdb1格式化为ext4文件系统:

mkfs -t ext4 /dev/sdb1

5.5 将分区挂载到/home/Data

mount -t ext4 /dev/sdb1 /home/Data

6. 开机自动挂载

我们上一步已经将硬盘挂载/home/Data目录下,现在进行自动挂载操作。

6.1 查询挂载硬盘UUID

sudo blkid /dev/sda2

输出结果:

$ sudo blkid /dev/sdb
/dev/sda2: UUID="add1d12b-feb0-4243-9540-87d1c109f553" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="7c0dc869-2a6a-4594-b2c2-4d132c6afb15"

UUID="add1d12b-feb0-4243-9540-87d1c109f553"即是我们需要的信息。

6.2 修改/etc/fstab文件

vim /etc/fstab

在文档末尾添加裹在磁盘的信息。

格式为:
[UUID=************] [挂载磁盘分区]  [挂载磁盘格式]  0  2
#-------
UUID=a090b7e2-a47d-443f-a063-671d83a03473 /home/Data ext4 defaults 0 2

第一个数字:0表示开机不检查磁盘,1表示开机检查磁盘;

第二个数字:0表示交换分区,1代表启动分区(Linux),2表示普通分区

挂载的分区是磁盘格式为ext4


ok!到这里,磁盘自动挂载就完成了!我们的磁盘会随着的系统启动,自动挂载。


6.3 磁盘的卸载

使用umount命令用于卸载磁盘。

umount /home/Data

相关参数:

参数:

-a 卸除/etc/mtab中记录的所有文件系统。

-h 显示帮助。 -n 卸除时不要将信息存入/etc/mtab文件中。

-r 若无法成功卸除,则尝试以只读的方式重新挂入文件系统。

-t<文件系统类型> 仅卸除选项中所指定的文件系统。

-v 执行时显示详细的信息。

-V显示版本信息。

7. Ubuntu在指定路径下创建用户

这一步目的是减少储存不够用的情况,我直接将用户挂载到磁盘中,此用户可以随意使用磁盘,直至这块磁盘满盘为止。

以下操作,在root用户中进行。

7.1 新建用户

useradd -d /home/Data/Bioinfo -m -s /bin/bash Bioinfo
/home/Data/:路径
Bioinfo:用户名
shell指定:/bin/bash

7.2 修改用户密码

passwd Bioinfo

7.3 将用户设置成管理权限(此设置慎重)

#将新用户添加到sudo组:如果你想让新用户具有管理员权限,可以将其添加到sudo组
sudo usermod -aG sudo newuser

7.4 检查用户权限

sudo -l -U newuser

7.5 修改用户权限

可以使用chmod命令来修改用户对文件或目录的权限。例如,要将/var/www/html目录的所有权转移给新用户,可以运行以下命令:

sudo chown -R newuser:newuser /var/www/html

7.6 修改文件权限

可以使用chmod命令来修改文件或目录的权限。例如,要将/var/www/html/index.html文件的所有者赋予新用户,可以运行以下命令:

sudo chown newuser /var/www/html/index.html

以上操作基本将我们的用户设置完成了。


8. 用户权限设置

我们这里单独使用一小节,介绍设置用户和权限。原文链接:https://blog.csdn.net/qq_43116031/article/details/133858239,作者已经在原文中介绍很详细了,我们这里直接引用过来。

8.1 sudo

sudo(Super User Do)是在Linux和Unix系统中用于执行具有超级用户(root)权限的命令的命令。它允许普通用户以特权身份运行特定命令,通常需要输入密码以确认其身份。

sudo 是一种安全的方式,用于限制哪些用户可以执行特权操作,以减少潜在的系统损害。通常,只有系统管理员或有需要的用户才能使用 sudo。

以下是一些 sudo 命令的常见用法:

  1. 以超级用户(root)身份运行单个命令:

例如,要以超级用户权限安装软件,你可以运行:

sudo apt-get install package_name
  1. 切换到超级用户(root)模式:
sudo -i

这将打开一个新的Shell会话,将以超级用户身份运行所有命令。要退出超级用户模式,只需输入exit。
3. 编辑系统文件:

sudo nano /etc/file_to_edit

这将以超级用户权限使用文本编辑器打开文件以进行编辑。你可以使用 vim、nano 或其他文本编辑器。
4. 管理系统服务

sudo systemctl start|stop|restart service_name

这将启动、停止或重启特定系统服务。
5. 管理用户和组:

sudo useradd new_username
sudo userdel existing_username
sudo usermod -aG group_name username

8.2 useradd

useradd命令来创建新用户,但它不会自动为用户分配home目录或设置密码。以下是使用 useradd 命令创建用户的基本语法:

sudo useradd [options] username

以下是一些常用的useradd选项:

-m:自动为用户创建家目录。
-s:指定用户的默认Shell。例如,-s /bin/bash 会将用户的默认Shell设置为Bash。
-G:指定用户要加入的附加组。多个组可以用逗号分隔。
-d:指定用户的家目录路径。
-p:指定用户的加密密码。密码通常使用 passwd 命令设置,而不是直接在 useradd 命令中指定密码。

8.3 passwd

passwd是一个用于更改用户密码的命令,或者具有管理员权限的用户可以更改其他用户的密码。以下是 passwd 命令的一些常见用法:

  1. 更改当前用户的密码:
    用户可以使用 passwd 命令来更改自己的密码。在终端中,只需键入:
passwd

然后按照提示输入当前密码,然后输入新密码两次。
2. 更改其他用户的密码:
如果有管理员权限,可以使用passwd命令来更改其他用户的密码。在终端中,使用以下命令:

sudo passwd username

其中 username 是要更改密码的用户的用户名。然后按照提示输入新密码两次。
3. 强制用户更改密码
如果需要强制用户在下次登录时更改密码,使用以下命令:

sudo passwd -e username

这将使用户的密码在下次登录时过期,用户将被要求立即更改密码。
4. 查看用户密码策略:
使用以下命令来查看密码策略的详细信息:

sudo chage -l username

这将显示密码过期日期、最小和最大密码年龄等信息。

5. 锁定用户账户
使用以下命令来锁定用户账户,使用户无法登录:

sudo passwd -l username

要解锁用户账户,使用以下命令:

sudo passwd -u username

8.4 chmod

chmod用于更改文件或目录权限的命令。用来分配或更改文件的访问权限,以确定哪些用户或用户组可以读取、写入或执行文件。

chmod命令可以通过符号模式或八进制模式进行操作。以下是一些常见的chmod命令用法:

符号模式:

  1. 添加权限:
chmod +[权限] [文件名]

例如,要添加执行权限给文件 file.txt,可以使用:

chmod +x file.txt
  1. 删除权限:
chmod -[权限] [文件名]

例如,要删除写入权限从文件 file.txt,可以使用:

chmod -w file.txt
  1. 设置权限:
chmod [权限] [文件名]

例如,要将文件 file.txt 的权限设置为读取和写入,可以使用:

chmod rw file.txt
  1. 同时设置多个权限:
chmod [权限1][权限2] [文件名]

例如,要为文件 file.txt 设置读取和执行权限,可以使用:

chmod rx file.txt

八进制模式:

  1. 分配权限:
chmod [八进制权限] [文件名]

在八进制模式中,每个权限都用数字表示,如下所示:

4:读权限
2:写权限
1:执行权限

例如,为了将文件 file.txt 的权限设置为读取和写入权限,可以使用:

chmod 600 file.txt

8.5 chown

chown用于更改文件或目录的所有者和组的命令。分配文件的所有者(user)和组(group)权限。以下是一些常见的 chown 命令用法:

  1. 更改所有者:
sudo chown [新用户] [文件名/目录名]

新用户 是要将文件或目录的所有权分配给的用户名。
例如,要将文件 file.txt 的所有权更改为用户 newuser,可以使用:

sudo chown newuser file.txt
  1. 更改组:
sudo chown :[新组] [文件名/目录名]

新组 是要将文件或目录的组权限分配给的组名。
例如,要将文件 file.txt 的组权限更改为组 newgroup,可以使用:

sudo chown :newgroup file.txt
  1. 更改所有者和组:
sudo chown [新用户]:[新组] [文件名/目录名]
新用户:是新的文件或目录所有者的用户名。
新组:是新的文件或目录组的组名。

例如,要将文件file.txt的所有者更改为newuser并将组更改为newgroup,可以使用:

sudo chown newuser:newgroup file.txt
  1. 递归更改权限:
    递归地更改目录及其子目录中的文件的所有者和组,可以使用-R--recursive选项:
sudo chown -R [新用户]:[新组] [目录名]

例如,要递归地将目录mydir及其所有子目录中的文件的所有者和组设置为newuser和 newgroup,可以使用:

sudo chown -R newuser:newgroup mydir

请小心使用chown命令,确保有足够的权限来更改文件或目录的所有者和组。通常,只有系统管理员或文件的所有者应具有更改所有者和组的权利。


9. 配置生信分析环境

生信环境的配置,是我们进入生信分析门槛前的最后一步,若是没有这边,前面做的工作白做,后续的想做的工作无法进行。

我们这里使用的是Bioinfo Note社群中,@九筒同学的教程,这个教程他在23日刚做了更新,比较全面,我们就直接引用他的教程即可。若是这个教程,无法满足您的需求,那么你也可以继续查找其他的教程,在网上一搜索,会有很多个教程。

教程网址:https://www.yuque.com/jiutong-3byul/jiutong/imcg0lxd6zg5s39a?singleDoc#

教程作者:@九筒

9.1 升级组件

# 解决90%问题
sudo apt update
sudo apt upgrade

9.2 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 -rf ~/miniconda3/miniconda.sh

为 bash 和 zsh shell 初始化

~/miniconda3/bin/conda init bash
~/miniconda3/bin/conda init zsh

在这里我们更推荐大家下载mambaconda下载确实慢。以及你也可以使用Pixi,速度是conda的10倍以上,mamba的4倍,Pixi是何方神圣呢?真有这么快吗?

mamaba下载网址:

https://github.com/conda-forge/miniforge/releases/


后面的操作基本一致,若是你使用conda直接copy即可,若是你使用mamba,那么需要更换一下相关命令即可。

9.3 conda 常用命令

  1. 增加生信分析常用的镜像
conda config --add channels defaults
conda config --add channels bioconda
conda config --add channels conda-forge
  1. 关闭base环境自动启动
conda config --set auto_activate_base false
  1. 创建虚拟环境
# 创建环境
conda create -n my_env_name

# 也可以在创建时指定要安装的包及版本
conda create -n my_env_name python=3.12 pytorch
  1. 克隆环境
conda create -n new_env --clone old_env
  1. 连接和退出环境
conda activate env_name
conda deactivate
  1. 安装包的命令, 通常有三种安装方式:
## 安装一般的软件
conda install 软件名字
conda install -c conda-forge 软件名字
 
## 安装CRAN中的R包
conda install r-包的名字
 
## 安装bioconductor中的R包
conda install bioconductor-包的名字

  1. mamba代替conda

作者在教程中也提供mamba操作

软件安装:

## 安装mamba
conda install mamba

## 安装一般的软件
mamba install 软件名字
mamba install -c conda-forge 软件名字
 
## 安装CRAN中的R包
mamba install r-包的名字
 
## 安装bioconductor中的R包
mamba install bioconductor-包的名字
  1. 其他 conda 命令
# 显示conda 版本
conda --version

# 查看当前已创建环境的名称及位置
conda info --envs
conda env list

#查看当前安装的软件
conda list

# 删除虚拟环境
conda remove -n your_env_name --all

# 当前的 cofig
conda config --set show_channel_urls yes

# 查看添加的镜像:    
conda config --show

# 当前channels文件
conda config --get channels

# 或者直接系统层面看conda的源
sudo nano ~/.condarc

# 删除源     
conda config --remove-key channels

9.4 安装 Jupyter Notebook

9.4.1 安装 Jupyter
  1. 方法一:每个环境安装一个jupyter
# 进入要安装jupyter的虚拟环境
conda activate omicverse

# 检查pip的版本
pip3 --version

# 检测pip是不是位于 omicverse 的虚拟环境下
which pip3
# 显示:/home/bio/miniconda3/envs/omicverse/bin/pip3

# 使用pip安装jupyter
pip3 install -U jupyter
  1. 方法二:只在 base 环境中安装 jupyter

首先,需要在已经安装了 python 的环境中,安装 ipykernel

# 新建一个目标环境,指定python版本3.12
conda create -n pytest python=3.12

# 进入该环境
conda activate pytest

# 检查是否已经安装了ipykernel(如果该环境安装过jupyter,就会有ipkernel,不用再次安装)
conda list

# 如果没有,则安装ipykernel
conda install ipkernel -c conda-forge

然后,我们到 把 jupyter 安装到 base,用同一个 jupyter 来使用所有环境中的 python

# 回到base环境
conda deactivate

# 检查pip的版本
pip3 --version

# 检测pip是不是位于 miniconda 的 base 虚拟环境下
which pip3
# 显示:/home/bio/miniconda3/bin/pip3

# 使用pip安装jupyer
pip3 install -U jupyter

最后,将 conda 中的所有 python 环境添加到 Jupyter Notebook 中

# 安装这个工具
conda install nb_conda_kernels

# 这个只需要安装一次,以后新建的环境,安装了ipykernel后会自动添加

9.4.2 配置 jupyter

● 这里配置 jupyter 是为了方便我们进行远程访问
● 注意,配置文件是全局的,即同一个用户,各个虚拟环境中的 jupyer 默认都使用同一个配置文件
● 因此,即使在不同的虚拟环境中安装了多个 jupyter,只需要配置一次

  1. 检查jupyter配置文件
# 生成配置文件,记住返回的文件地址
jupyter notebook --generate-config
# 默认是:/home/bio/.jupyter/jupyter_notebook_config.py

# 进入python解释器
python3
  1. 计算密码的hash值
from jupyter_server.auth import passwd
passwd ()

# 设置密码
# Enter password:
# Verify password:

# 输入密码,返回该密码的hash值
# 如[1]:'argon2:$argon2id$v=19$m=10240,t=10,p=8$NljykjG3OllNHs9cEnhHmw$4Yvv/CCHEir9PzzdSBFUJMHSa3OucpG+XgH3Fr0UMys'

# 退出python
quit()
  1. 修改Jupyter配置文件

用 nano 编辑器打开配置文件

nano /home/bio/.jupyter/jupyter_notebook_config.py

4. 增加如下内容
```R
# 增加如下内容

# hash= 填上刚才生成的hash
hash='argon2:$argon2id$v=19$m=10240,t=10,p=8$NljykjG3OllNHs9cEnhHmw$4Yvv/CCHEir9PzzdSBFUJMHSa3OucpG+XgH3Fr0UMys'

# 允许任意ip访问
c.ServerApp.ip = '0.0.0.0'

# 设置密码
c.ServerApp.password = hash

# 关闭自动打开浏览器
c.ServerApp.open_browser = False

# 设置端口号
c.ServerApp.port = 8888

# 允许远程连接
c.ServerApp.allow_remote_access = True

# nano编辑器的操作很简单,修改完成后按 ctrl + x 退出
  1. 安装中文语言包
# 安装中文语言包(推荐)
pip install jupyterlab-language-pack-zh-CN

# 或者用conda
conda install jupyterlab-language-pack-zh-CN

当然,如果你不修改配置文件,也可以通过 ssh 端口映射的方式远程访问,但不推荐

  1. 端口映射
# windows terminal 连接服务器时映射端口号
# 不建议使用
ssh -L8888:localhost:8888 root@服务器IP
9.4.3 启动并打开 Jupyter Notebook
  1. 启动Jupyter

激活 conda 环境

# 如果是在每个环境中都安装了jupyter,则进入对应的环境启动
conda activate omicverse

# 如果是在base中安装的jupyter
conda activate base

进入对应的工作目录

# 我这里使用的是bio用户,进入后默认是/home/bio目录

# 检查当前目录
pwd
# 返回:/home/bio

# 我平时的项目都存储在/home/bio/work目录

# 如果没有,新建一个工作目录
mkdir work

# 进入work目录
cd work

启动Jupyter

# 启动 notebook
jupyter notebook

# 或者使用 jupyter lab
jupyter-lab

# 如果你是root用户(不建议)
jupyter notebook --allow-root

# 如果你是root用户(不建议)
jupyter-lab --allow-root
  1. 浏览器访问
地址:服务器 IP:端口号
如:192.168.3.128:8888
第一次访问需要密码,就是你之前设置的密码(如 admin)

10. 安装R和Rstudio Server

关于安装R和Rstudio Server,我们的教程Ubuntu中安装R和Rstudio软件也介绍很详细,可以作为参考。

10.1 创建R的虚拟环境

# 创建名为R的环境
conda create -n R

10.2 安装R

# 进入到R这个环境
conda activate R

#安装R,指定r-base=4.3.2,那么就会安装R-4.3.2,你也可以不指定
conda install r-base=4.3.2

# 进入R解释器
R

# 退出R解释器
q()

# 查看当前的R解释器
which R

10.3 安装 Rstudio server

● 建议查看官网地址:https://posit.co/download/rstudio-server/
● 我这里安装的版本可能已经不是最新的

# 装gdebi-core
sudo apt-get install gdebi-core

# 下载Ubuntu 22对应的.deb文件
wget https://download2.rstudio.org/server/jammy/amd64/rstudio-server-2024.04.0-735-amd64.deb

# 安装
sudo gdebi rstudio-server-2024.04.0-735-amd64.deb

# 如果始终安装不上,试一下更新源
sudo apt update
sudo apt upgrade

# 验证是否安装
sudo rstudio-server verify-installation
sudo rstudio-server verify-installation
# 正常会提示:Server is running and must be stopped before running verify-installation
# 但这里极大可能是报错的,没关系,因为我们是在虚拟环境中安装的R,因此会提示找不到R,先不管它

10.4 配置 Rstudio server 中的R解释器

● 因为Rstudio server 是一个 linux 系统服务,你无法安装多个(除非你使用 docker,这个教程里不涉及)
● 如果你有多个不同的 R 环境,你就需要查看不同环境中的R解释器的位置
● 然后我们告诉rstudio-server 使用哪个R 解释器

# 进入到某个安装了R解释器的环境
# 如刚刚我们安装的

# 进入到R这个环境
conda activate R

# 查看当前环境的R解释器地址
which R
# 返回:/home/bio/miniconda3/envs/R/bin/R

# 打开/etc/rstudio/rserver.conf文件
sudo nano /etc/rstudio/rserver.conf

# =后的地址修改为目标R解释器地址
rsession-which-r=/home/bio/miniconda3/envs/R/bin/R

# nano编辑器的操作很简单,修改完成后按ctrl + o,覆盖原文件,然后 ctrl + x 退出

10.5 重启 Rstudio server 服务

# sudo rstudio-server status              #查看RStudio-server
# sudo rstudio-server stop                #关闭RStudio-server
# sudo rstudio-server restart             #重启RStudio-server

# 这里我们手动重启一下
sudo rstudio-server restart

# 验证是否在运行,在启动状态下输入
sudo rstudio-server verify-installation
# 会提示:Server is running and must be stopped before running verify-installation

# 我们关闭服务
sudo rstudio-server stop

# 再次输入
sudo rstudio-server verify-installation
# 会输出诊断报告

# 重启服务
sudo rstudio-server restart

10.6 浏览器访问

地址:服务器 IP:端口号
默认端口号:8787
如:192.168.3.128:8787
账号:linux 用户名(bio)
密码:对应的用户密码(admin)

10.6 其他 Rstudio server 配置

官方配置教程:https://support.posit.co/hc/en-us/articles/200552316-Configuring-RStudio-Workbench-RStudio-Server

1.Rstudio server设置文件

cat /etc/rstudio/rserver.conf
# Server Configuration File

# 查看rsession配置文件
cat /etc/rstudio/rsession.conf

/etc/rstudio/rserver.conf

## In /etc/rstudio/rserver.conf

# 更改端口为8787,默认就是8787
www-port=8787

# 默认情况下,RStudio绑定到地址0.0.0.0
www-address=0.0.0.0

# 添加系统的库路径作为外部库以供RStudio server调用
rsession-ld-library-path=/xxxxxx/lib

# 指定conda中的R
rsession-which-r=/home/bio/miniconda3/envs/R/bin/R

# 限制能够使用RStudio-server的用户组,例如
auth-required-user-group=rstudio_users

/etc/rstudio/rserver.conf

## In /etc/rstudio/rserver.conf

# 默认用户超过2个小时没有发出命令,RStudio会将该用户的R session挂起到磁盘
# 这样他们就不再消耗服务器资源(下次用户尝试访问服务器时,他们的会话将被还原)
# 当用户在运行代码时是不会因为超时被挂起
# 可以使用session-timeout-minutes设置更改超时(包括通过指定值为0来禁用它)
session-timeout-minutes=30


# 更改R包安装地址
# 通过修改r-libs-user可以更改用户的默认R包安装地址
# 这样的好处是确保最终用户安装的R包在路径中没有R版本号
# 这使管理员可以在服务器上升级R版本而不用重置用户安装的软件包
r-libs-user=~/R/packages

# 更改默认镜像
r-cran-repos=https://mirrors.nics.utk.edu/cran/

ok!到这里,我们就完成了Ubuntu系统的安装+用户设置+磁盘挂载+生信环境基础配置。注意:我们文章中只是总结了一部分内容,很多详细的内容,都需要自己有正对性的设置,大家可以尽情地“度娘”。


获得本期教程文本文档,在后台回复:20240724。请大家看清楚回复关键词,每天都有很多人回复错误关键词,我这边没时间和精力一一回复。

参考:

  1. https://blog.csdn.net/mayue_web/article/details/124750653
  2. https://blog.csdn.net/winycg/article/details/109517512
  3. https://blog.csdn.net/qq_35451572/article/details/79541106
  4. https://www.yisu.com/ask/88822632.html
  5. https://blog.csdn.net/Mcy7ycM/article/details/124347504
  6. https://blog.csdn.net/qq_43116031/article/details/133858239
  7. https://www.yuque.com/jiutong-3byul/jiutong/imcg0lxd6zg5s39a?singleDoc#

若我们的教程对你有所帮助,请点赞+收藏+转发,这是对我们最大的支持。

往期部分文章

1. 最全WGCNA教程(替换数据即可出全部结果与图形)

  • WGCNA分析 | 全流程分析代码 | 代码一

  • WGCNA分析 | 全流程分析代码 | 代码二

  • WGCNA分析 | 全流程代码分享 | 代码三

  • WGCNA分析 | 全流程分析代码 | 代码四

  • WGCNA分析 | 全流程分析代码 | 代码五(最新版本)


2. 精美图形绘制教程

  • 精美图形绘制教程

3. 转录组分析教程

  • 转录组上游分析教程[零基础]

  • 一个转录组上游分析流程 | Hisat2-Stringtie

4. 转录组下游分析

  • 批量做差异分析及图形绘制 | 基于DESeq2差异分析

  • GO和KEGG富集分析

  • 单基因GSEA富集分析

  • 全基因集GSEA富集分析

小杜的生信筆記 ,主要发表或收录生物信息学教程,以及基于R分析和可视化(包括数据分析,图形绘制等);分享感兴趣的文献和学习资料!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1949864.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ffmpeg ffplay.c 源码分析二:数据读取线程

本章主要是分析 数据读取线程read_thread 中的工作。如上图红色框框的部分 从ffplay框架分析我们可以看到&#xff0c;ffplay有专⻔的线程read_thread()读取数据&#xff0c; 且在调⽤av_read_frame 读取数据包之前需要做&#xff1a; 1.例如打开⽂件&#xff0c; 2.查找配置解…

Springboot集成Elasticsearch High Level REST Client实现增删改查实战

获取源码&#x1f6a9; 需要完整代码资料&#xff0c;请一键三连后评论区留下邮箱&#xff0c;安排发送&#xff01;&#xff01;&#xff01;&#x1f916; 什么是High Level REST Client&#xff1f; Elasticsearch 的 High Level REST Client 是一个用于与 Elasticsearch…

科技与占星的融合:AI 智能占星师

本文由 ChatMoney团队出品 在科技的前沿领域&#xff0c;诞生了一位独特的存在——AI占星师。它并非传统意义上的占星师&#xff0c;而是融合了先进的人工智能技术与神秘的占星学知识。 这能够凭借其强大的数据分析能力和精准的算法&#xff0c;对星辰的排列和宇宙的能量进行深…

在IDEA中切换分支没有反应

说明&#xff1a;记录一次在IDEA中切换分支没有反应的情况&#xff0c;新建一个分支后&#xff0c;准备暂存代码&#xff0c;切换到其他分支去&#xff0c;发现怎么切都没有反应&#xff0c;也没有切过去&#xff1b; 解决&#xff1a;首先&#xff0c;我想到是不是当前新分支…

18.jdk源码阅读之CopyOnWriteArrayList

1. 写在前面 CopyOnWriteArrayList 是 Java 中的一种线程安全的 List 实现&#xff0c;基于“写时复制”&#xff08;Copy-On-Write&#xff09;机制。下面几个问题大家可以先思考下&#xff0c;在阅读源码的过程中都会解答&#xff1a; CopyOnWriteArrayList 适用于哪些场景…

【微信小程序实战教程】之微信小程序 WXML 语法详解

WXML语法基础 从本章开始&#xff0c;我们就正式进入到了小程序项目开发学习的初级阶段&#xff0c;本章将介绍小程序的界面构成。有过网页开发学习经历的同学都知道&#xff0c;网页开发所使用的技术是HTML、CSS和JS&#xff0c;其中HTML用于描述整个网页的结构&#xff0c;也…

谷粒商城实战笔记-59-商品服务-API-品牌管理-使用逆向工程的前后端代码

文章目录 一&#xff0c; 使用逆向工程生成的代码二&#xff0c;生成品牌管理菜单三&#xff0c;几个小问题 在本次的技术实践中&#xff0c;我们利用逆向工程的方法成功地为后台管理系统增加了品牌管理功能。这种开发方式不仅能快速地构建起功能模块&#xff0c;还能在一定程度…

【前端学习】CSS三大特性

CSS三大特性 CSS的三大特性是为了化简代码、定位问题并且解决问题 继承性 继承性特点&#xff1a; 子级默认继承父级的文字控制属性。注意&#xff1a;如果标签自己有样式则生效自己的样式&#xff0c;不继承。 <!DOCTYPE html> <html lang"en"><…

京东科技集团将在香港发行与港元1:1挂钩的加密货币稳定币

据京东科技集团旗下公司京东币链科技(香港)官网信息&#xff0c;京东稳定币是一种基于公链并与港元(HKD) 1:1挂钩的稳定币&#xff0c;将在公共区块链上发行&#xff0c;其储备由高度流动且可信的资产组成&#xff0c;这些资产安全存放于持牌金融机构的独立账户中&#xff0c;通…

openFeign配置okhttp

原来的项目出现了性能问题&#xff0c;老大不知道怎么的&#xff0c;让我改openFeign线程池为okhttp&#xff0c;说原生的不支持线程池性能比较差。 原openFeign配置文章地址 一、pom文件 <dependency><groupId>org.springframework.cloud</groupId><arti…

OLLaMA搭建本地大模型

LLMChain是一个简单的链&#xff0c;接受一个提示模板&#xff0c;使用用户输入格式化它并从LLM返回响应。 其中&#xff0c;prompt_template是一个非常关键的组件&#xff0c;可以让你创建一个非常简单的链&#xff0c;它将接收用户输入&#xff0c;使用它格式化提示&#xff…

通信原理-思科实验四:静态路由项配置实验

实验四 静态路由项配置实验 一&#xff1a;实验内容 二&#xff1a;实验目的 三、实验原理 四、实验步骤 选择三个2811型号的路由器 R1、R2、R3 路由器默认只有两个快速以太网接口&#xff0c;为路由器R1和R3增加快速以太网接口模块NM-1FE-TX&#xff0c;安装后检查路由器的接…

C++入门基础:C++中的循环语句

循环语句是编程语言中用来重复执行一段代码直到满足特定条件的一种控制结构。它们对于处理需要重复任务的场景非常有用&#xff0c;比如遍历数组、累加数值、重复执行某项操作直到满足条件等。 但是在使用循环语句的时候需要注意下哈&#xff0c;有时候一不小心会构成死循环或者…

学习小型gpt源码(自用)

数据集构建_哔哩哔哩_bilibili &#xff08;b站上有一系列课&#xff0c;从数据处理到模型构建和训练使用&#xff09; 什么是batch&#xff1f; 为什么一个batch内的句子要一样长&#xff1f; 不同batch的长度可以不一样&#xff0c;但是同一个batch内长度一样&#xff01;…

IDEA缓存和索引

IDEA缓存和索引 —2020年06月10日 IntelliJ IDEA首次加载项目的时候。都会创建索引&#xff0c;而创建索引的时间根项目的文件多少成正比。 IntelliJ IDEA的缓存和索引主要是用来加快文件查询&#xff0c;从而加快各种查找、代码提示等操作的速度。 某些特殊情况下&#xf…

SpringBoot项目如何引进MyBatis ?如何使用及操作数据库

一、创建SpringBoot项目&#xff0c;导入依赖 首先需要创建一个SpringBoot项目&#xff0c;然后再pom.xml文件中&#xff0c;右击选择”Generate“,依次进行下述操作&#xff1a;&#xff08;同样也可以在项目创建的时候选择MyBatis Framework 和 MySQL Driver&#xff09; 然…

GitLab添加TortoiseGIT生成SSH Key

文章目录 前言一、PuTTYgen二、GitLab 前言 GitLab是一个用于托管代码仓库和项目管理的Web平台&#xff0c;公司搭建自己的gitlab来管理代码&#xff0c;我们在clone代码的时候可以选择http协议&#xff0c;也可以选择ssh协议来拉取代码。 SSH (Secure Shell)是一种通过网络进…

算法工程师第十九天(理论基础 组合 组合总和III 电话号码的字母组合)

参考文献 代码随想录 一、组合 给定两个整数 n 和 k&#xff0c;返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 示例 1&#xff1a; 输入&#xff1a;n 4, k 2 输出&#xff1a; [[2,4],[3,4],[2,3],[1,2],[1,3],[1,4], ] 示例 2&#xff…

Windows本地启动Redis

找到本地redis目录 输入cmd,然后输入redis-server.exe redis.windows.conf&#xff0c;默认端口为6379 再新打开一个cmd&#xff0c;输入redis-cli.exe -p 6379 -a &#xff08;你在redis.windows.conf中设置的密码&#xff09;

Kubeflow 模型管理和训练优化的新工具

Kubeflow 显著简化了安全机器学习模型和大语言模型&#xff08;LLMs&#xff09;的开发、调优和管理。亮点包括&#xff1a; 模型注册表&#xff1a;集中管理机器学习模型、版本和制品。 LLMs 微调 API&#xff1a;简化使用自定义数据集微调 LLMs 的过程。 流水线&#xff1a…