1. 程式人生 > 其它 >生信主管應該瞭解的十個Linux知識點

生信主管應該瞭解的十個Linux知識點

linux的發行版非常多,其實本質上差別不大,哪怕是mac的OS應該是也是同樣的管理操作模式。以下針對於ubuntu適用,當然ubuntu本身也有版本的區別,目前是16,我下面的操作是在12上進行的。

  • java1.7.0_03的安裝

1、JDK官網上 http://www.oracle.com/technetwork/java/javase/downloads/index.html選擇

2、將開啟終端,建立目錄:

Sudo mkdir /usr/lib/java

3、將下載的jdk-7u3-linux-i586.tar.gz移到這個資料夾下面並進行解壓,改名字:

sudo mv jdk-7u3-linux-i586.tar.gz /usr/lib/javasudo tar –xvf jdk-7u3-linux-i586.tar.gzmv jdk1.7.0_03java-7-sun

4、修改環境變數:

在終端輸入: vim /etc/profile

然後新增以下程式碼:

export JAVA_HOME=/usr/lib/java/jdk1.8.0_45export JRE_HOME=${JAVA_HOME}/jreexport CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/libexport PATH=${JAVA_HOME}/bin:$PATH

儲存之後,再執行下面命令更新電腦的配置檔案

source /etc/profile

5、在終端中輸入java –version,顯示:

jeydragon@jeydragon-VirtualBox:~$ java -versionjava version "1.7.0_03"Java(TM) SE Runtime Environment (build 1.7.0_03-b04)Java HotSpot(TM) Client VM (build 22.1-b02, mixed mode)

表示安裝成功!

如果java本身更新了,那麼更換上面的下載地址即可。

  • R的最新版本安裝

首先,刪除Linux Ubuntu系統中原有的R軟體包(如果有舊版本的R),程式碼如下:

    sudo apt-get autoremove r-base-core  # 刪除系統中原有的R軟體包

接下來,找到一個Ubuntu的軟體源映象(http://mirror.bjtu.edu.cn/cran/bin/linux/ubuntu/ ),Linux Ubuntu 12.04對應的名字是precise,進入到precise/目錄,找到r-base-core相關的檔案,發現有多個R的版本。把這個軟體源,增加到apt的sources.list檔案中,程式碼如下:

deb http://mirror.bjtu.edu.cn/cran/bin/linux/ubuntu precise/ (PS:precise代表著ubuntu本身的版本,請注意修改合適你的) 在sources.list檔案最下面,新加一行     ~ sudo apt-get update  # 更新源     ~ sudo apt-get install r-base-core  # 再次安裝R語言軟體包     ~ R –version  # 檢查R的版本 

這時我們就安裝了最新的R語言版本—3.0.3版。

require(ggplot2)Loading required package: ggplot2Failed with error: ‘package ‘ggplot2’ was built before R 3.0.0: please re-install it’

這個失敗原因是怎麼回事?R 3.0.0 的問題嗎?怎麼解決?

R 2.x 升級3.x 需要重新(編譯)安裝所有包:

update.packages(checkBuilt = TRUE, ask = FALSE)
  • linux 安裝perl模組

Linux/Unix下安裝Perl模組有兩種方法:手工安裝和自動安裝。

第一種方法是從CPAN網站上下載您需要的模組,手工編譯、安裝。

第二種方法是使用CPAN命令自動完成下載、編譯、安裝的全過程。

手工安裝的步驟:

從CPAN(http://search.cpan.org/)下載了Net-Server模組0.97版的壓縮檔案Net-Server-0.97.tar.gz,假設放在/usr/local/src/下。

cd /usr/local/srctar xvzf Net-Server-0.97.tar.gzcd Net-Server-0.97perl Makefile.PLmake test

如果測試結果報告“all test ok”,您就可以放心地安裝編譯好的模組了。

安裝模組前,先要確保您對perl5 安裝目錄有可寫許可權(通常以su 命令獲得),執行:

make install

現在,試試DBI 模組吧。如果下面的命令沒有給出任何輸出,那就沒問題。

$>perl -MNet::Server -e1

上述步驟適合於Linux/Unix下絕大多數的Perl模組。可能還有少數模組的安裝方法略有差別,所以最好先看看安裝目錄裡的README 或INSTALL。

有的時候如果是build.pl的需要以下安裝步驟:(需要Module::Build模組支援)

  perl Build.PL ./Build ./Build test ./Build install

使用CPAN模組自動安裝方法一

安裝前需要先聯上網,如果不是root就會在你的本地home目錄新建一個perl5資料夾來存放自動下載的包。

perl -MCPAN -e shell

初次執行CPAN時需要做一些設定,如果您的機器是直接與因特網相聯(撥號上網、專線,etc.),那麼一路回車就行了,只需要在最後一步選一個離您最近的CPAN 映象站點。例如我選的是位於國內的http://www.cnblogs.com/itech/admin/ftp://www.perl87.cn/CPAN/ 。否則,如果您的機器位於防火牆之後,還需要設定ftp代理或http代理。

下面是常用cpan 命令。

cpan>helpcpan>mcpan>install Net::Servercpan>quit

使用CPAN模組自動安裝方法二

cpan -i 模組名

例如: cpan -i 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.cpan.org/src/perl-5.10.0.tar.gz" .現在最新是5.20

下載完以後解壓安裝

#tar zxvf perl-5.10.0.tar.gz#cd perl-5.10.0#./Configure -des -Dprefix=/usr/local/perl

引數-Dprefix指定安裝目錄為/usr/local/perl

#make#make test#make install

如果這個過程沒有錯誤的話,那麼恭喜你安裝完成了.是不是很簡單?

接下來替換系統原有的perl,有最新的了咱就用嘛.

#mv /usr/bin/perl/ usr/bin/perl.bak#ln -s /usr/local/perl/bin/perl/ usr/bin/perl#perl –v

然後就可以了用它來安裝一些其它你需要的perl模組了

#perl -MCPAN-e shell

第一次執行的話,會提示安裝cpan並要求連線網路下載最新的模組列表.然後就可以安裝東西了

cpan[1]> install DBI
  • linux新增環境變數

新增PATH環境變數,第1種方法

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

再次檢視:

[root@lx_web_s1 ~]# echo $PATH       /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種方法:

# vim /etc/profile

在最後,新增:

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

儲存,退出,然後執行:

#source /etc/profile,不報錯則成功。
  • Linux增加中文(ubuntu)

Ubuntu上的輸入法主要有小小輸入平臺(支援拼音/二筆/五筆等),Fcitx,Ibus,Scim等。其中Scim和Ibus是輸入法框架。

在Ubuntu的中文系統中自帶了中文輸入法,通過Ctrl+Space可切換中英文輸入法。這裡我們主要說下Ubuntu英文系統中,中文輸入法的安裝。

安裝輸入法的第一步是安裝語言包

我們選擇System Settings-->Language Support-->Install/Remove Languages,這裡面可以選擇簡體中文,輸入密碼後,系統會安裝簡體中文語言包。

第二步,安裝完畢後切換到終端,安裝IBus框架,在終端輸入以下命令:

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

啟動IBus框架,在終端輸入:

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圖示:

ibus-daemon –drx
  • ubuntu上安裝mysql

非常簡單隻需要幾條命令就可以完成。

sudo apt-get install mysql-serversudo apt-get install mysql-clientsudo apt-get install libmysqlclient-dev

安裝過程中會提示設定密碼什麼的,注意設定了不要忘了,安裝完成之後可以使用如下命令來檢查是否安裝成功:

sudo netstat -tap | grep mysql

通過上述命令檢查之後,如果看到有mysql 的socket處於listen 狀態則表示安裝成功。

登陸mysql資料庫可以通過如下命令:

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 的那句話的意義:

- A:指定鏈名- p:指定協議型別- d:指定目標地址- dport:指定目標埠(destination port 目的埠)- sport:指定源埠(source port 源埠)- j:指定動作型別

還有幾個,懶得寫了,其實這是我部落格早期內容:

  • ubuntu伺服器解決方案第五講-配置ssh供遠端登入
  • ubuntu伺服器解決方案第八講–網路伺服器配置lamp
  • ubuntu伺服器解決方案第十講–虛擬機器螢幕及聯網設定
  • ubuntu伺服器配置shiny,shiny-server,R-studio