分享

生信主管应该了解的十个Linux知识点

 健明 2021-07-14

linux的发行版非常多,其实本质上差别不大,哪怕是mac的OS应该是也是同样的管理操作模式。以下针对于ubuntu适用,当然ubuntu本身也有版本的区别,目前是16,我下面的操作是在12上进行的。

  • java1.7.0_03的安装

1、JDK官网上 http://www.oracle.com/technetwork/java/javase/downloads/index.html选择

2、将打开终端,建立目录:

  1. Sudo mkdir /usr/lib/java

3、将下载的jdk-7u3-linux-i586.tar.gz移到这个文件夹下面并进行解压,改名字:

  1. sudo mv jdk-7u3-linux-i586.tar.gz /usr/lib/java

  2. sudo tar xvf jdk-7u3-linux-i586.tar.gz

  3. mv jdk1.7.0_03java-7-sun

4、修改环境变量:

在终端输入: vim /etc/profile

然后添加以下代码:

  1. export JAVA_HOME=/usr/lib/java/jdk1.8.0_45

  2. export JRE_HOME=${JAVA_HOME}/jre

  3. export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

  4. export PATH=${JAVA_HOME}/bin:$PATH

保存之后,再运行下面命令更新电脑的配置文件

  1. source /etc/profile

5、在终端中输入java –version,显示:

  1. jeydragon@jeydragon-VirtualBox:~$ java -version

  2. java version "1.7.0_03"

  3. Java(TM) SE Runtime Environment (build 1.7.0_03-b04)

  4. Java HotSpot(TM) Client VM (build 22.1-b02, mixed mode)

表示安装成功!

如果java本身更新了,那么更换上面的下载地址即可。

  • R的最新版本安装

首先,删除Linux Ubuntu系统中原有的R软件包(如果有旧版本的R),代码如下:

  1.    sudo apt-get autoremove r-base-core  # 删除系统中原有的R软件包

接下来,找到一个Ubuntu的软件源镜像(http://mirror./cran/bin/linux/ubuntu/ ),Linux Ubuntu 12.04对应的名字是precise,进入到precise/目录,找到r-base-core相关的文件,发现有多个R的版本。把这个软件源,增加到apt的sources.list文件中,代码如下:

  1. deb http://mirror./cran/bin/linux/ubuntu precise/

  2. (PSprecise代表着ubuntu本身的版本,请注意修改合适你的)

  3. sources.list文件最下面,新加一行

  4.    ~ sudo apt-get update  # 更新源

  5.    ~ sudo apt-get install r-base-core  # 再次安装R语言软件包

  6.    ~ R version  # 检查R的版本

这时我们就安装了最新的R语言版本—3.0.3版。

  1. require(ggplot2)

  2. Loading required package: ggplot2

  3. Failed with error: 'package 'ggplot2 was built before R 3.0.0: please re-install it

这个失败原因是怎么回事?R 3.0.0 的问题吗?怎么解决?

R 2.x 升级3.x 需要重新(编译)安装所有包:

  1. update.packages(checkBuilt = TRUE, ask = FALSE)

  • linux 安装perl模块

Linux/Unix下安装Perl模块有两种方法:手工安装和自动安装。

第一种方法是从CPAN网站上下载您需要的模块,手工编译、安装。

第二种方法是使用CPAN命令自动完成下载、编译、安装的全过程。

手工安装的步骤:

从CPAN(http://search./)下载了Net-Server模块0.97版的压缩文件Net-Server-0.97.tar.gz,假设放在/usr/local/src/下。

  1. cd /usr/local/src

  2. tar xvzf Net-Server-0.97.tar.gz

  3. cd Net-Server-0.97

  4. perl Makefile.PL

  5. make test

如果测试结果报告“all test ok”,您就可以放心地安装编译好的模块了。

安装模块前,先要确保您对perl5 安装目录有可写权限(通常以su 命令获得),执行:

  1. make install

现在,试试DBI 模块吧。如果下面的命令没有给出任何输出,那就没问题。

  1. $>perl -MNet::Server -e1

上述步骤适合于Linux/Unix下绝大多数的Perl模块。可能还有少数模块的安装方法略有差别,所以最好先看看安装目录里的README 或INSTALL。

有的时候如果是build.pl的需要以下安装步骤:(需要Module::Build模块支持)

  1.  perl Build.PL

  2. ./Build

  3. ./Build test

  4. ./Build install

使用CPAN模块自动安装方法一

安装前需要先联上网,如果不是root就会在你的本地home目录新建一个perl5文件夹来存放自动下载的包。

  1. perl -MCPAN -e shell

初次运行CPAN时需要做一些设置,如果您的机器是直接与因特网相联(拨号上网、专线,etc.),那么一路回车就行了,只需要在最后一步选一个离您最近的CPAN 镜像站点。例如我选的是位于国内的http://www.cnblogs.com/itech/admin/ftp://www.perl87.cn/CPAN/ 。否则,如果您的机器位于防火墙之后,还需要设置ftp代理或http代理。

下面是常用cpan 命令。

  1. cpan>help

  2. cpan>m

  3. cpan>install Net::Server

  4. cpan>quit

使用CPAN模块自动安装方法二

  1. cpan -i 模块名

例如: cpan -Net::Server

先下载tar.gz ...然後手动安装..default 安装到/usr/local/目录下..

然後修改/usr/bin/perl的symbolic link到/usr/local/bin/perl

  • Perl 安装最新版

linux下升级系统默认安装的perl版本,不建议先rm

先下载tar.gz ...然後手动安装..default 安装到/usr/local/目录下..

然後修改/usr/bin/perl的symbolic link到/usr/local/bin/perl

下载方式不用说了吧,各显神通,笔者习惯用wget.

所以wget "http://www./src/perl-5.10.0.tar.gz" .现在最新是5.20

下载完以后解压安装

  1. #tar zxvf perl-5.10.0.tar.gz

  2. #cd perl-5.10.0

  3. #./Configure -des -Dprefix=/usr/local/perl

参数-Dprefix指定安装目录为/usr/local/perl

  1. #make

  2. #make test

  3. #make install

如果这个过程没有错误的话,那么恭喜你安装完成了.是不是很简单?

接下来替换系统原有的perl,有最新的了咱就用嘛.

  1. #mv /usr/bin/perl/ usr/bin/perl.bak

  2. #ln -s /usr/local/perl/bin/perl/ usr/bin/perl

  3. #perl –v

然后就可以了用它来安装一些其它你需要的perl模块了

  1. #perl -MCPAN-e shell

第一次执行的话,会提示安装cpan并要求连接网络下载最新的模块列表.然后就可以安装东西了

  1. cpan[1]> install DBI

  • linux添加环境变量

添加PATH环境变量,第1种方法

  1. [root@lx_web_s1 ~]# export PATH=/usr/local/webserver/mysql/bin:$PATH

再次查看:

  1. [root@lx_web_s1 ~]# echo $PATH      

  2. /usr/local/webserver/mysql/bin:/usr/local/webserver/mysql/bin/:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

说明添加PATH成功。

上述方法的PATH 在终端关闭后就会消失。所以还是建议通过编辑/etc/profile来改PATH,也可以修改家目录下的.bashrc(即:~/.bashrc)。

第2种方法:

  1. # vim /etc/profile

在最后,添加:

  1. export PATH="/usr/local/webserver/mysql/bin:$PATH"

保存,退出,然后运行:

  1. #source /etc/profile,不报错则成功。

  • Linux增加中文(ubuntu)

Ubuntu上的输入法主要有小小输入平台(支持拼音/二笔/五笔等),Fcitx,Ibus,Scim等。其中Scim和Ibus是输入法框架。

在Ubuntu的中文系统中自带了中文输入法,通过Ctrl+Space可切换中英文输入法。这里我们主要说下Ubuntu英文系统中,中文输入法的安装。

安装输入法的第一步是安装语言包

我们选择System Settings-->Language Support-->Install/Remove Languages,这里面可以选择简体中文,输入密码后,系统会安装简体中文语言包。

第二步,安装完毕后切换到终端,安装IBus框架,在终端输入以下命令:

  1. sudo apt-get install ibus ibus-clutter ibus-gtk ibus-gtk3 ibus-qt4

启动IBus框架,在终端输入:

  1. im-switch -s ibus

安装完IBus框架后注销系统,保证更改立即生效。

第三步:安装拼音引擎

有下面几种常用选择:

  • IBus拼音:sudo apt-get install ibus-pinyin

  • IBUS五笔:sudo apt-get install ibus-table-wubi

  • 谷歌拼音输入法:sudo apt-get install ibus-googlepinyin

  • Sun拼音输入法:sudo apt-get install ibus-sunpinyin

第四步:设置IBus框架

终端输入ibus-setup 此时,IBus Preference设置被打开。我们在Input Method选项卡中,选择自己喜欢的输入方式,并配置自己喜欢的快捷键即可。

第五步:通常情况下,IBus图标(一个小键盘)会出现在桌面右上角的任务栏中。有时候这个图标会自行消失,可使用以下命令,找回消失的IBus图标:

  1. ibus-daemon drx

  • ubuntu上安装mysql

非常简单只需要几条命令就可以完成。

  1. sudo apt-get install mysql-server

  2. sudo apt-get install mysql-client

  3. sudo apt-get install libmysqlclient-dev

安装过程中会提示设置密码什么的,注意设置了不要忘了,安装完成之后可以使用如下命令来检查是否安装成功:

  1. sudo netstat -tap | grep mysql

通过上述命令检查之后,如果看到有mysql 的socket处于listen 状态则表示安装成功。

登陆mysql数据库可以通过如下命令:

  1. mysql -u root -p

-u 表示选择登陆的用户名,-p 表示登陆的用户密码,上面命令输入之后会提示输入密码,此时输入密码就可以登录到mysql。

  • 防火墙设置命令iptables

如果我们想新开一个端口给别人访问,我们就需要设置防火墙,比如我想开3838端口给shiny程序使用,下面我重点讲解这个实例,其余开放端口,关闭端口大家继续学习就好。

如果你使用的是ssh远程,而又不能直接操作本机,那么建议你慎重,慎重,再慎重!(一旦你把22端口给搞死了,你就无法登陆你的服务器了!

通过iptables我们可以为我们的Linux服务器配置有动态的防火墙,能够指定并记住为发送或接收信息包所建立的连接的状态,是一套用来设置、维护和检查Linux内核的IP包过滤规则的命令包。

首先配置好防火墙 sudo vim /etc/sysconfig/iptables 让该端口可以被访问

然后进去修改即可,上面红圈出来的那句话就是我添加的,意思是开放3838端口给用户使用。

修改之后并不是防火墙规则马上生效,还需要一个步骤,我搜索了一些资料,里面是这样讲的,我发现它的教程太旧了

这里很多人会想到 /etc/rc.d/init.d/iptables save指令

但是一旦你这么干了你刚才的修改内容就白做了。

只修改/etc/sysconfig/iptables 使其生效的办法是修改好后先 service iptables restart 然后才调用 /etc/rc.d/init.d/iptables save

因为 /etc/rc.d/init.d/iptables save会在iptables服务启动时重新加载,要是在重启之前直接先调用了 /etc/rc.d/init.d/iptables save那么你的/etc/sysconfig/iptables 配置就回滚到上次启动服务的配置了,这点必须注意!

因为我是新的系统(RedHat 7, Ubuntu 15.04+, SLES 12+) ,结合我对该教程的理解。所以我用的是 sudo systemctl restart iptables 命令。

果然,马上3838端口就可以被访问了,我的shiny程序也可以完整的使用啦。

再简单解释一下刚才修改的防火墙配置文件 /etc/sysconfig/iptables 的那句话的意义:

  1. - A:指定链名

  2. - p:指定协议类型

  3. - d:指定目标地址

  4. - dport:指定目标端口(destination port 目的端口)

  5. - sport:指定源端口(source port 源端口)

  6. - j:指定动作类型

还有几个,懒得写了,其实这是我博客早期内容:

  • ubuntu服务器解决方案第五讲-配置ssh供远程登录

  • ubuntu服务器解决方案第八讲–网络服务器配置lamp

  • ubuntu服务器解决方案第十讲–虚拟机屏幕及联网设置

  • ubuntu服务器配置shiny,shiny-server,R-studio


编辑 思考问题的熊


    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多