Linux软件安装

##From 生物技能树

一.Conda的安装与使用

1.介绍与安装conda

1.1.Anaconda 

所有语言的包、依赖和环境管理器,适用平台:windows、macOS和Linux

官网:Unleash AI Innovation and Value | Anacondaicon-default.png?t=N7T8https://www.anaconda.com/

1.2.Conda的安装与使用

下载安装包 -- bash 安装 -- 接受协议 -- 选择默认安装路径(回车) -- 重新激活环境 -- 调用帮助文档

1.2.1.condaminiconda anaconda 之间的关系

1.2.2.Anaconda navigator 
1.2.3.下载: 通常服务器在国内的选 清华或者北外如果服务器在国外选择官网
1.清华镜像下载

搜索conda清华

2.北外镜像下载

搜索conda北外,找到如下链接:

《Miniconda 安装包可以到 Index of /anaconda/miniconda/ | 北京外国语大学开源软件镜像站 | BFSU Open Source Mirror下载》。点进去ctrl+F查找miniconda3-latest,找到所需的版本,复制链接。

https://mirrors.bfsu.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh

wget -c https://mirrors.bfsu.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh   ##wget -c 下载,也可使用axel下载,axel是多线程工具,wget -c单线程工具,即每次只有一个工人(一个CPU/thread)干活儿


国内镜像地址:
wget -c https://mirrors.bfsu.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh
wget -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh
官网地址:
wget -c https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

1.2.4.安装miniconda3
1. 运行 bash Miniconda3-latest-Linux-x86_64.sh
2. 查看并同意软件 license
3. 选择安装位置
4. 同意 conda 初始化
5. 重新加载 ~/.bashrc 文件或者重新开 shell 窗口
6. 设置是否要默认启动 base 环境(可选)
a.安装操作:
1.wget -c https://mirrors.bfsu.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh    ##下载
2.bash  Miniconda3-latest-Linux-x86_64.sh   ##安装
3. ##重新加载~/.bashrc文件或者重新开shell窗口
a.开个新的窗口。每次重新开个窗口,.bashrc这个文件都会重新加载一次
b.source  ~/.bashrc 或 .   ~/.bashrc    ##用source 命令手动加载,后边的 . 相当于 source
b.Tips:
~/.bashrc 当成一个整体不容易出错
也可以 直接退出 当前窗口 重新登录
相当于在 Windows 上安装软件后有
的会提示需要重新启动
能够用 conda -h 输出 conda 的帮助文档就说明安装成功啦!
c.设置是否默认激活base:

d.conda频道
  1. 配置conda的频道
    打个比方。。
    要收得到对应的 频道 的信号才能看到该频道的 节目
  2. 配置镜像

    我们使用 conda 安装软件时,conda 会去 channel 中搜索软件,如果使用的服务器是在国内,channel 就选择国内的,推荐清华,如果清华镜像出问题,再选择其他。

    如何添加频道呢?
    conda config --add channels <URL>     ##添加镜像里的
       a. 找到需要添加的频道
       b. 鼠标移动到文字上, 当光标变成手指形状时,点击 右键
       c. 在右键菜单栏里选择“ 复制链接地址
       d. 用上述命令添加 conda 的频道
    conda config --add channels bioconda    ##添加官方的
    ( 但是不建议运行这一条,仅作为例子 )
    tips1: 不要重复添加相同的频道,
    冗余的频道会让安装软件的过程变慢
    顺序是有意义的
    tips2: 添加镜像要看服务器所在的位置,
    不是使用者所在的位置
    ## 配置镜像
    
    # 下面四行配置北京外国语大学的conda的channel地址(首选)
    conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/main/ 
    conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/conda-forge/ 
    conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/bioconda/ 
    conda config --set show_channel_urls yes 
    
    # 下面这四行配置清华大学的conda的channel地址(首选北外,如果体验不好再换成清华)
    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
    conda config --set show_channel_urls yes
    
    # 如果需要官方频道,可以添加下面这两行配置官网的channel地址(不推荐)
    conda config --add channels conda-forge 
    conda config --add channels bioconda
    
    # 删除defaults频道
    sed -i '/defaults/d' ~/.condarc
    
    ## 配置镜像成功
    # 查看配置结果
    cat ~/.condarc
    
    ## 每次更换完频道之后记得要清除一下index。
    # -i 是指清除掉构建好的index,清除掉之后才会从新的频道下载软件包
    conda clean -i 
    # 也可以把所有的缓存都清除掉
    conda clean -a  
    操作:
    # 下面四行配置北京外国语大学的conda的channel地址(首选)
    conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/main/ 
    conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/conda-forge/ 
    conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/bioconda/ 
    conda config --set show_channel_urls yes     ##配置镜像
    cat .condarc                                                  ## 查看配置镜像结果

    sed -i '/defaults/d' ~/.condarc                       ##删除defaults频道,因为它是官方频道, 有的时候连接起来会很慢

    cat .condarc              ##查看是否删除defaults

2.使用conda管理小环境

2.1. 为什么要创建独立的环境? 全装在base里不好吗?

 给新人的建议:不要往base环境里安装任何软件包   “蛇”(anaconda)就应该关在“笼子”(小环境)里

2.2.创建独立小环境

2.2.1.创建独立小环境

conda creat -n rna -y     ##加个-y提前回答yes,就会直接执行,直到完成

# 创建名为rna的软件环境来安装转录组学分析的生物信息学软件
conda create -y -n  rna  python=3.7
# 创建小环境成功,并成功安装python3版本
# 每建立一个小环境,安装一个python=3的软件作为依赖

# 查看当前conda环境
conda info -e
conda env list

# 每次运行前,激活创建的小环境rna
conda activate rna

# 退出小环境
conda deactivate
2.2.2.小环境的创、删


comnda creat -n py2 python=2.7    ##创建环境的时候就把软件装上

创建小环境-n 指定小环境的名字 py2,并指定环境的python版本为python=2.7

创建小环境: 创建成功最后会出现 3 done

3.使用conda管理软件

3.1.安装软件

3.1.1.我要用哪些软件呢?
1. 看你们实验室的祖传经验
2. 看文章里用什么
转录组
质量控制 :
fastqc multiqc fastp trimmomatic cutadapt trim_galore……
比对 & 定量 :
hisat2 STAR
salmon subread featureCount ……
无参组装:
Trinity

3.1.2.哪些软件可以用conda安装呢?

三种查询方法:

a.方法1: 网站查询

https://anaconda.org/search
https://bioconda.github.io/
b. 方法 2 conda search xxx
c. 方法 3 : 关键词搜索

3.1.3.安装软件
conda install <SOFTWARE>
conda install fastqc

在小环境中安装生信软件:

下载安装软件conda可以一次安装多个软件,但是容易遇到报错

下载安装软件 :下载过程可能受网络影响没下载成功,如果出现
下面的 3 done ,即表示下载完成。
检查 :通过调用软件的帮助文档来检查是否下载成功。如果失败,
重新下载即可
注:软件都要安装在小环境中,不要安装在 base
conda env list   ##先把环境列出来
conda activate rna   ##激活rna 环境
conda  install  fastqc   ##安装 fastqc 软件

3.1.4.如何指定安装的软件的版本?
在不指定版本的情况下, conda 默认安装该软件的最新版。
如果要安装旧版本:
1. 先看看有哪些可以安装的版本
conda search fastqc
2. 安装指定版本的软件
conda install fastqc=0.11.7
添加 -y 参数跳过确认步骤
conda install -y fastqc=0.11.7
操作:

# 激活环境
conda activate rna
# 安装 fastqc 软件
conda  install  fastqc

# 调出帮助文档
fastqc --help

# 可以指定软件版本
conda install -y samtools=1.14 

# 可以一次安装多个软件
conda install -y python=3.7 libstdcxx-ng=9.1.0 trim-galore cutadapt=4 hisat2  subread  multiqc  samtools=1.16.1  salmon=1.4.0 fastp fastqc
# mamba install -y python=3.7 libstdcxx-ng=9.1.0 trim-galore  hisat2  subread  multiqc  samtools=1.14  salmon=1.4.0 fastp fastqc

## 不是通过软件名来调用帮助文档,而是软件的命令
# sra-tools
prefetch --help
prefetch --help
which prefetch

#  trim-galore
trim_galore --help
cutadapt --help

# hisat2
hisat2 --help

# subread
featureCounts --help

# multiqc
multiqc --help

# samtools
samtools --help

# salmon
salmon --help

# fastp
fastp --help

3.1.5.调用程序
在实战中经常被问到:
学员 : 萌老师 ! 安装了 这个软件包但是 调用不了 是怎么回事?
萌老师 : 因为安装的 软件包的名称 实际调用的程序 不一定 是同名的!
三个特殊情况 :
调用程序                     软件包名称
trim_galore ->            trim-galore
vep               ->            ensembl-vep
sratoolkit     ->            sra-tools
3.1.6.查看conda环境中已安装的软件
基本用法:
conda list
查看当前环境所安装的软件
扩展用法:
1. 查看符合正则表达式的软件
conda list fast*
2. 查看指定的环境的软件
conda list -n rna   ##不用切换到该环境,直接查看里边的内容
3.1.7.删除软件
##不建议删软件,因为装软件的时候会把依赖也装上,最简单的方法,可以删除整个环境,创建新的环境,然后再去重新装下。
想要删除特定环境下的特定软件,如何指定?
conda remove -n rna fastqc
不指定 -n 参数就得进入该环境之后才能进行删除操作
同样, -y 能够跳过确认执行的步骤
3.1.8.练习
每个软件要能打印得出帮助文档
(例如fastqc --help)才算安装成功!
3.1.9.如何确定软件是否安装上?
R 语言里用 library() 进行验证,能加载上的就安装好了;
Linux 里用 -h (或 -help / --help )进行验证即可
注意:安装的软件不一定和调用的软件是同名的!

操作:

conda search packaging   ##缺啥补啥

conda install packaging   ##安装一个

conda install python=3.8   ##把问题贴给GTP,GTP提示要升级python版本

multiqc --help    ##问题解决

4.conda的常用命令

5.安装软件的另一种方式:用yml文件安装

导出当前环境:
conda env export envname > env.yml ( 跨平台均适用 )
conda list --explicit > env.txt ( 仅限相同平台 )
导入环境 :
conda env create --name <envname> --file env.yml
conda create --name <env> --file <this file>

6.常见报错及解决方法

6.1.CondaHTTPerror

a. 确认一下当前服务器网络正常 (可尝试 ping www.baidu.com
b. conda clean -a 清空环境中所有的缓存
c. ~/.condarc 中的 https 改成 http
d. 换个时间再尝试

6.2.一直在 Solving environment

a. 网络较差,换个时间试试
b. conda clean -a 清空环境中的缓存

6.3.频道404

添加的频道不存在,从 .condarc 文件中删除错误频道后重新添加
condaconfig --add channels https://xxxxx

6.4.依赖库文件缺失。

解决办法: 缺啥补啥
解决方案1:
解决方案2:
解决方案3:
解决方案4:

7.补充内容:axel

lscpu      ##查看cpu线程,核,用axel可以更改线程

二.环境变量

$PATH 环境变量
命令执行的三要素

1.1.环境变量

1.1.1.echo

①打印字符串 ②打印变量的值,变量调用要加 $

常见的环境变量

$HOME 记录了用户的家目录所在的路径

PS1 命令行配色

 ①打印字符串

②打印变量的值

$ echo  $HOME
/trainee2/vip28

$ echo  $PS1
\[\033]2;\h:\u \w\007\033[33;1m\]\u \033[35;1m\t\033[0m \[\033[36;1m\]\w\[\033[0m\]\n\[\e[32;1m\]$ \[\e[0m\]

$ echo  $PATH
/trainee2/vip28/miniconda3/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

想了解更多命令提示符的配色相关的内容: https://wangdoc.com/bash/prompt.html

1.1.2.  ~/.bashrc

~/.bashrc :系统配置文件,包含专用于你的 bash shell bash 信息、设置,每次登录或打开新的 shell 时,该文件会 自动读取和执行 。如果正确修改了 ~/ .bashrc ,需要 source

1.1.3.   $PATH

$PATH 输入命令时 Linux 会去查找 PATH 里面记录的路径,如果命令存在某一个路径中,就可以成功调用。

<PATH1>:<PATH2>:<PATH3>:------:<PATHN>

打个比方,PATH 是一个工具箱,有很多层(对应很多个路径),每一层放着各式各样的工具(对应各种命令)。

$ echo $PATH
/trainee2/vip28/miniconda3/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

# 可以把 : 替换成换行符 \n 
$ echo $PATH | tr ':'  '\n'
/trainee2/vip28/miniconda3/condabin
/usr/local/sbin
/usr/local/bin
/usr/sbin
/usr/bin
/sbin
/bin
/usr/games
/usr/local/games
/snap/bin

# 比如 ls 命令存在
$ ls    
$ which ls   ##which可查看ls命令所在的位置
/bin/ls
 ls /bin     ##查看根目录下的bin

1.1.4.如何管理 $PATH

如何管理 $PATH 理解环境变量 $PATH 是非常重要的,对后续的环境和软件管理都非常重要。
推荐方法 在自己家目录下创建一个 ~/bin/ 文件夹并将其添加到环境变量,后续手动安装的软件就可以将软件的 可执行文件 拷贝或软链接(绝对路径)到这个 bin 文件夹:
mkdir ~/bin
echo 'export "PATH=~/bin:$PATH" ' >> ~/.bashrc
source ~/.bashrc

自己加一个变量:

 ##在家目录下创建一个bin文件夹

mkdir bin   

##把bin文件夹放到PATH里边去

echo 'export "PATH=~/bin:$PATH" ' >> ~/.bashrc

##还可以打开bashrc这个文件,直接往里边写

 ##编辑bashrc

vim ~/ .bashrc    

##对照export PATH="/trainee/Apr4311/miniconda3/bin:$PATH",写入命令

export PATH="/trainee/Apr4311/bin:$PATH"    

##保存退出       

:wq   

  ## conda的特性,source完之后,都会回到base环境                      

  source ~/.bashrc. ~/ .bashrc    

1.2.一个命令能被执行的三个要素

当我们输入一个命令,之所以能全局地调用,有三个条件要满足:
1. 这个命令的本体文件真实存在在服务器里 
2. 这个命令的本体文件有可执行的权限
3. 这个命令能被系统查找到(命令所在的路径在 $PATH 里有记录)
##在Linux里,一切皆文件,例如查看ls命令

尝试自己创建一个命令

##新建一个文件夹,写入一些东西

vim sayhi

##查看

cat sayhi

##查看文件存在服务器里

ll

##当作文件可正常运行

bash sayhi

##给它加上可执行权限
chmod u+x sayhi
##家目录不在path里边
./sayhi*      ##有可执行权限,可放在最前边当作命令来执行,所在的位置,家目录,不在path所在的位置,所以系统不能补全位置
为满足第三个条件,希望它能被系统找到,所以需要把它放到路径在path里边有记录的:
##移到已经在path里的bin里
mv sayhi bin   
##查看
ls bin/
##系统已经自动补齐,从头创建命令成功
sa

1.3.chmod

chmod +x bin/sayhi      ##加上可执行权限
chmod o+w bin/sayhi    ##给其他人加上可写的权限
chmod 777  bin/sayhi    ##任何人都可打开修改文献
  • 42
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值