空白云服务器的一些生物信息学设置

我这里拿腾讯云服务器举例,首先查看自己购买的云主机:https://console.cloud.tencent.com/cvm/index

查看服务器配置

df -h free -g

挂载云硬盘

首先购买:

/dev/vda1  *     2048 104857566 104855519  50G 83 Linux /dev/vdb1        2048 2097151999 2097149952 1000G 83 Linux/dev/vdc1        2048 1048575999 1048573952  500G 83 Linux

挂载购置的云硬盘

sudo fdisk -lsudo fdisk /dev/vdb# 按照界面的提示,依次输入“n”(新建分区)、“p”(新建扩展分区)、“1”(使用第1个主分区),两次回车(使用默认配置),输入“w”(保存分区表),开始分区。sudo fdisk /dev/vdc
sudo fdisk -ldf -hsudo mkfs.ext4 /dev/vdc1 sudo mkfs.ext4 /dev/vdb1
sudo mkdir /datasudo mkdir /project
sudo mount  /dev/vdb1 /data/sudo mount  /dev/vdc1 /project/

还需要修改**/etc/fstab**文件

sudo vim /etc/fstab

然后在文件末尾添加下面内容,要注意盘号对应

/dev/vdb1 /data	ext4	defaults	0	1 /dev/vdc1 /project	ext4	defaults	0	1

设置硬盘用户配额

  1. 安装quota
sudo apt install quota
  1. 文件系统启用quota
sudo fdisk -lsudo mount -o remount,usrquota,grpquota  /data sudo mount -o remount,usrquota,grpquota  /project  mount | grep /dev ##/dev/vdd1 on /trainee2 type ext4 (rw,relatime,quota,usrquota,grpquota,data=ordered)## 可以看到现在已经启用了quota

如果是自己的服务器,修改**/etc/fstab**文件

/dev/vdb1       /data          ext4    defaults,usrquota,grpquota  0 0/dev/vdc1       /project          ext4    defaults,usrquota,grpquota  0 0

然后运行

sudo mount -o remount /data sudo mount -o remount /project
  1. 生成磁盘配额数据库
sudo quotacheck -mugf /datasudo quotacheck -mugf /project ## 在 trainee2 目录下会多出“aquota.group”,“aquota.user”两个文件
  1. 启用磁盘配额
sudo quotaon /dev/vdb1sudo quotaon /dev/vdc1
## 关闭磁盘配额的命令## sudo quotaoff -avgu## 猜测之前错误就是因为运行了这个命令后没有重新开启
  1. 编辑磁盘配额文件
sudo adduser jmzengsudo edquota -u jmzeng## 针对用户user1修改配置文件

对soft和hard列进行修改,超过soft设定数值,用户会收到提醒,最多使用的空间大小由hard设置,这里设置为50G~60G(NANO编辑器的退出和保存)

Disk quotas for user user1 (uid 500):Filesystem   blocks   soft    hard         inodes      soft     hard/dev/sdb1    0        50000000  60000000       0           0        0
  1. 复制磁盘配额配置文件给多个用户
sudo edquota -p jmzeng  user2
  1. 查看配额文件报告
sudo repquota -aug## 显示用户配额:sudo quota -uvs jmzeng
  1. 测试是否有效

切换用户:sudo su quotauser1

创建一个大文件:dd if=/dev/zero of=bigfile bs=1M count=5000

切换回主用户查看该用户的空间使用情况:sudo repquota -auvs

安装必备系统库及软件

管理员的特权

首先是库

sudo apt updatesudo apt install --fix-missing libcurl4-openssl-dev libxml2-dev libgdal-dev libssl-dev libglu1-mesa-dev libmagick++-dev libudunits2-dev

然后是软件

sudo apt updatesudo apt install  -y net-toolssudo apt install  -y openssh-serversudo apt install  -y subversion scons libfuse-dev gcc git make sudo apt install  -y samtools bcftools bwa ncbi-blast+ sra-toolkit

配置网络服务(博客或者论坛)

接着参考:https://www.digitalocean.com/community/tutorials/how-to-install-nginx-on-ubuntu-16-04 设置好ngix的网站服务

sudo apt-get updatesudo apt install  -y   vim tree nginx htop cmake sudo apt install  -y nginx curlcurl -4 icanhazip.com

接着参考:https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-in-ubuntu-16-04 设置好mysql和php服务

sudo ufw allow 'Nginx HTTP'sudo ufw statussudo apt-get -f install mysql-server## 保证密码统一性mysql_secure_installationsudo apt-get -f install php-fpm php-mysqlsudo vi /etc/php/7.0/fpm/php.ini ## change cgi.fix_pathinfo=0sudo systemctl restart php7.0-fpmsudo vi /etc/nginx/sites-available/default

需要设置好 /var/www/html 文件夹权限,就是需要增加一个 www-data 的用户组,里面包含的用户都是可以访问的。

sudo chgrp -R www-data /var/www#sudo usermod -a -G www-data  jmzengsudo usermod -a -G www-data  ubuntusudo chmod -R 2770 /var/www/html sudo usermod -a -G www-data   jmzeng

配置R环境

使用root权限(系统管理员)安装最新版的R,我们的ubuntu是20,所以选择focal这个代号,然后是cran40,全部的代码如下:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9sudo add-apt-repository 'deb https://mirrors.ustc.edu.cn/CRAN/bin/linux/ubuntu focal-cran40/'sudo apt updatesudo apt install r-base

实际上还需要使用root权限(系统管理员)安装一些R包。

假如你的ubuntu是其它版本,自己修改:

  • # 18.04,deb https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/
  • # 16.04, deb https://cloud.r-project.org/bin/linux/ubuntu xenial-cran35/
  • # 14.04,deb https://cloud.r-project.org/bin/linux/ubuntu trusty-cran35/

这里我们使用root权限(系统管理员):sudo  R

options()$repos options()$BioC_mirror#options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/")options(BioC_mirror="http://mirrors.tuna.tsinghua.edu.cn/bioconductor/")options("repos" = c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/"))options()$repos options()$BioC_mirror
# https://bioconductor.org/packages/release/bioc/html/GEOquery.htmlif (!requireNamespace("BiocManager", quietly = TRUE)) install.packages("BiocManager")BiocManager::install("KEGG.db",ask = F,update = F)

一般来说不会报错,然后继续安装更多的包:

BiocManager::install(c("GSEABase","GSVA","clusterProfiler" ),ask = F,update = F)BiocManager::install(c("GEOquery","limma","impute" ),ask = F,update = F)BiocManager::install(c("org.Hs.eg.db","hgu133plus2.db" ),ask = F,update = F) options()$reposinstall.packages('WGCNA')install.packages(c("FactoMineR", "factoextra"))install.packages(c("ggplot2", "pheatmap","ggpubr"))library("FactoMineR")library("factoextra")
library(GSEABase)library(GSVA)library(clusterProfiler)library(ggplot2)library(ggpubr)library(hgu133plus2.db)library(limma)library(org.Hs.eg.db)library(pheatmap)
BiocManager::install("ChAMP")

不得不说,有一些R包真的很难安装,搞了一个下午,比如ChAMP这个甲基化芯片数据处理包。

配置shiny权限和rsutdio的服务器

安装shiny和rsutdio的服务器,官网找到最新版咯

  • https://www.rstudio.com/products/rstudio/download-server/
  • https://www.rstudio.com/products/shiny/shiny-server/

因为网络问题,直接从其它腾讯云服务器拷贝两个deb文件过来。

sudo apt-get install gdebi-corewget https://download2.rstudio.org/server/bionic/amd64/rstudio-server-1.3.1056-amd64.debsudo gdebi rstudio-server-1.3.1056-amd64.deb

如果要安装 shiny服务,首先需要相应的R包

library(shiny)library(devtools)library(ggplot2)library(pheatmap)library(ggpubr)library(ggstatsplot)library(airway)library(DESeq2)library(edgeR)library(limma)library(clusterProfiler)# library之后均没有报错

library之后均没有报错

sudo systemctl restart shiny-server

可能需要经常重启,安装成功之后查看端口开放情况:netstat -tln

批量新建用户

在Ubuntu中,adduser更适合初级使用者,因为不用去记那些繁琐的参数选项,只要跟着系统的提示一步一步进行下去就行,缺点就是整 个创建过程比较复杂而漫长;

useradd比较适合有些高阶经验的使用者,往往一行命令加参数就能解决很多问题,所以创建起来十分方便。

https://www.cnblogs.com/xudong-bupt/archive/2013/03/13/2958043.html

http://blog.csdn.net/nyist327/article/details/50729743

首先需要新建一个组别来管理他们:sudo groupadd student

然后新建一个文本存放用户信息,比如:huaxi_users.txt

内容如下:

kzheng:kzheng6453qyzhang:qyzhang53535qhe:qhe2526

代码是:

# bash create_user.sh user.vip.batch2  /project/home   batch2cut -d":" -f 1 $1  |while read id;doh=$2g=$3echo $idsudo mkdir -p $h/$idsudo useradd $id -d $h/$idsudo chown -R $id $h/$idsudo usermod -aG $g $idsudo chgrp -R $g $h/$idsudo usermod -s /bin/bash $idsudo cp readme.txt $h/$idsudo cp /home/ubuntu/.profile  $h/$idsudo cp /home/ubuntu/.bashrc $h/$idsudo chown -R $id  $h/$idsudo edquota -p jmzeng $iddone# sudo chpasswd <  passwd.txt:'Welcome to Biotrainee() !This is your personal account in our Cloud. Have a fun with it.Please feel free to contact with me( email to [email protected] )(http://www.biotrainee.com/thread-1376-1-1.html)'

批量新建用户可以批量修改密码:sudo chpasswd < huaxi_users.txt

后来我把这个代码又包装了一下:

for i in  Aug{001..600};do sudo userdel -r $i;donefor i in  Aug{001..600};do sudo groupdel  $i;done
echo vip{001..600}|tr ' ' 'n'|while read id;do echo ${id}:pd$(($RANDOM%50000+1)) ;done > user.vip.batch1sudo groupadd   batch1 bash create_user.sh user.vip.batch1  /data/home   batch1sudo chpasswd < user.vip.batch1
echo vip{601..999}|tr ' ' 'n'|while read id;do echo ${id}:pd$(($RANDOM%50000+1)) ;done > user.vip.batch2sudo groupadd   batch2bash create_user.sh user.vip.batch2  /project/home   batch2sudo chpasswd < user.vip.batch2
## 显示用户配额:sudo quota -uvs jmzeng

我多么希望可以给10万粉丝人手一个服务器账号,但是哪怕是我可以在代码层面做到,这个服务器的性能也支撑不住!现在建立了1000个账号,就已经很勉强了。

生物信息学

人、大鼠、猪等常见物种英文全程及简写

2020-8-29 23:48:21

生物信息学

GEO2R分析结果是否可靠呢?

2020-9-1 15:58:21

加入Q群
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新私信 私信列表
搜索