今天,在win10上安裝了Ubuntu系統(tǒng),
1. 如何安裝WSL
在Microsoft Store 搜索 WSL,選擇Ubuntu 20.04 LTS 進行安裝
安裝之后在開始菜單欄點擊Ubuntu的圖標進行運行
2. 系統(tǒng)配置:
2.1 設置密碼
自己設置,記住就好。
2.2 軟件安裝
不得不說linux的軟件安裝是最大的坑,之前大多數新手都死在軟件安裝這里,畢竟太難了,安裝一個軟件需要先安裝十個八個其他軟件,讓人崩潰。
現在就簡單多了,CentOS 用yum
,Ubuntu 用apt
進行軟件安裝與管理,自動安裝必要的依賴軟件。此外還有Conda、Docker 等軟件也可以更加方便的進行軟件管理,這個在之后再提。
如果你看過一些比較舊的教程會看到使用apt-get
進行軟件安裝與升級,你可以直接將apt-get
的命令替換為apt
的命令。簡單來說apt
是apt-get
的升級版,apt
集合了apt-get
、apt-cache
和apt-config
中最常用命令選項的集合,對于新手來說更加友好了。
為了提高apt的訪問速度,將apt的軟件源更換為國內鏡像
打開上面的鏈接會看到如下介紹:
Ubuntu 的軟件源配置文件是 /etc/apt/sources.list。將系統(tǒng)自帶的該文件做個備份,將該文件替換為下面內容,即可使用 TUNA 的軟件源鏡像。
本鏡像僅包含 32/64 位 x86 架構處理器的軟件包,在 ARM(arm64, armhf)、PowerPC(ppc64el)、RISC-V(riscv64) 和 S390x 等架構的設備上(對應官方源為ports.ubuntu.com)請使用 ubuntu-ports 鏡像。
選擇你的ubuntu版本: 例如20.04 LTS
,會出來相應的軟件庫的網址,只需要將他們設置為你的軟件源鏡像,就可以使用了。
代碼如下:
cd /etc/apt/
sudo cp sources.list apt.sources.list.bak #備份系統(tǒng)自帶`sources.list`
vi sources.list # 打開`sources.list`文件進行編輯
按i
鍵進入書寫模式,將如下內容替換原文件的內容。然后點擊Esc
鍵推出書寫模式,輸入:wq
退出vim
編輯器。
# 默認注釋了源碼鏡像以提高 apt update 速度,如有需要可自行取消注釋
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
# 預發(fā)布軟件源,不建議啟用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
運行sudo apt update
#更新可用軟件列表
之后可以直接用apt install [軟件名]
安裝軟件,非常方便
2.3 設置.bashrc文件,進行個性化設置
每次修改 .bashrc后,使用 source ~/.bashrc(或者 . ~/.bashrc)就可以立刻加載修改后的設置,使之生效。
一般會在.bash_profile文件中顯式調用.bashrc。登陸 linux 啟動 bash時首先會去讀取 ~/.bash_profile文件,這樣 ~/.bashrc也就得到執(zhí)行了,你的個性化設置也就生效了。
vi .bashrc
# 打開.bashrc 文件進行修改
按i
鍵進入書寫模式,
2.3 配置vim
vim是Linux下的文本編輯器,功能非常強大,但需要自己進行配置。這個也是非常難的,對于新手來說,本來沒必要了解太多,但在之前使用vim
的過程中發(fā)現,vim
默認配置中注釋是藍色的,在黑色背景中,注釋根本看不清,這對于新手來說非常不友好,代碼看不懂,注釋看不見。沒法玩了。
vim
的配置保存在個人主目錄的.vimrc
文件中。新手沒有配置過vim,應該是沒有.vimrc
的,需要新建一個。
cd ~ #跳到個人主目錄
touch .vimrc #創(chuàng)建.vimrc文件
vi .vimrc
按i
鍵進入書寫模式,將如下內容復制到.vimrc
文件中,然后點擊Esc
鍵推出書寫模式,輸入:wq
退出vim
編輯器。
"一般設定
"""""""""""""
" 設定默認解碼
set fenc=utf-8
set fencs=utf-8,usc-bom,euc-jp,gb18030,gbk,gb2312,cp936
" 不要使用vi的鍵盤模式,而是vim自己的
set nocompatible
" history文件中需要記錄的行數
set history=500
" 在處理未保存或只讀文件的時候,彈出確認
set confirm
" 與windows共享剪貼板
set clipboard+=unnamed
" 可以在buffer的任何地方使用鼠標(類似office中在工作區(qū)雙擊鼠標定位)
set mouse=a
set selection=exclusive
set selectmode=mouse,key
" 偵測文件類型
filetype on
"顯示風格
"""""""""""
"語法高亮顯示
syntax on
"修改注釋顏色
highlight Comment ctermfg=Cyan
"高亮顯示當前
set cursorline
"啟用行號
set number
"Tab鍵的寬度
set tabstop=4
"自動縮進
set autoindent
"使用C語言的縮進方式,根據特殊字符如“{”、“}”、“:”和語句是否結束等信息自動調整縮進;在編輯C/C++等類型文件時會自動設定;使用 nocindent 取消設置;
set cindent
set smartindent
"統(tǒng)一縮進為4
set softtabstop=4
set shiftwidth=4
"不要用空格代替制表符
set noexpandtab
" 帶有如下符號的單詞不要被換行分割
set iskeyword+=_,$,@,%,#,-
" 高亮字符,讓其不受100列限制
:highlight OverLength ctermbg=red ctermfg=white guibg=red guifg=white
:match OverLength '\%101v.*'
" 狀態(tài)行顏色
highlight StatusLine guifg=SlateBlue guibg=Yellow
highlight StatusLineNC guifg=Gray guibg=White
" 文件設置
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 不要備份文件(根據自己需要取舍)
set nobackup
" 不要生成swap文件,當buffer被丟棄的時候隱藏它
setlocal noswapfile
set bufhidden=hide
" 字符間插入的像素行數目
set linespace=0
" 增強模式中的命令行自動完成操作
set wildmenu
" 在狀態(tài)行上顯示光標所在位置的行號和列號
set ruler
set rulerformat=%20(%2*%<%f%=\ %m%r\ %3l\ %c\ %p%%%)
" 命令行(在狀態(tài)行下)的高度,默認為1,這里是2
set cmdheight=2
" 使回格鍵(backspace)正常處理indent, eol, start等
set backspace=2
" 允許backspace和光標鍵跨越行邊界
set whichwrap+=<,>,h,l
" 啟動的時候不顯示那個援助索馬里兒童的提示
set shortmess=atI
" 通過使用: commands命令,告訴我們文件的哪一行被改變過
set report=0
" 在被分割的窗口間顯示空白,便于閱讀
set fillchars=vert:\ ,stl:\ ,stlnc:\
" 搜索和匹配
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 高亮顯示匹配的括號
set showmatch
" 匹配括號高亮的時間(單位是十分之一秒)
set matchtime=5
" 在搜索的時候忽略大小寫
set ignorecase
" 不要高亮被搜索的句子(phrases)
set nohlsearch
" 在搜索時,輸入的詞句的逐字符高亮(類似firefox的搜索)
set incsearch
" 輸入:set list命令是應該顯示些啥?
set listchars=tab:\|\ ,trail:.,extends:>,precedes:<,eol:$
" 光標移動到buffer的頂部和底部時保持3行距離
set scrolloff=3
" 不要閃爍
set novisualbell
在命令行輸入 source .vimrc
進行加載腳本,之后的配置就更改了。
2.5 安裝R
Ubuntu 下添加CRAN鏡像安裝r
R語言軟件并不在剛才添加的apt
的軟件源中,打開 /etc/apt/sources.list
將 CRAN 鏡像添加到軟件源文件末尾并保存
將如下內容復制粘貼到文件末尾
deb https://mirrors.tuna.tsinghua.edu.cn/CRAN/bin/linux/ubuntu bionic-cran40/
注意根據你的Ubuntu發(fā)行版替換bionic,根據需要的版本號替換cran40。具體幫助參考:https://mirrors.tuna.tsinghua.edu.cn/CRAN/
Xenial Xerus (16.04; LTS)
Bionic Beaver, Focal Fossa (20.04; LTS and amd64 only)
Groovy Gorilla (20.10, amd64 only).
Note, to install R 4.0 packages, a different sources.list entry is needed. See below for details.
然后運行以下代碼:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9
# 更新CRAN 需要,其他source 不需要
sudo apt update #更新可用軟件列表
sudo apt upgrade
sudo apt install r-base-dev #安裝R語言
然后發(fā)現報錯:
第一個錯誤提示:r-base-core 安裝失敗
我直接安裝r-base-core 還是報錯,發(fā)現是libicu60
和libreadline7
無法安裝。
用apt search 查看了一下
libicu60
,沒有搜到libicu60
,應該是庫的問題。之后搜索了一下,應該是需要
bionic
庫再次打開
/etc/apt/sources.list
,將如下內容寫入添加到軟件源文件并保存
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
#安裝libicu60
之后
sudo apt upgrade
sudo apt install r-base-dev #安裝R語言
在命令行輸入R
,回車。
可以看到R已經安裝成功。在命令行輸入
q()
,回車,退出R。
2.6 使用conda進行環(huán)境管理
Conda 是一個開源的軟件包管理系統(tǒng)和環(huán)境管理系統(tǒng),用于安裝多個版本的軟件包及其依賴關系,并在它們之間輕松切換。
例如,配置不同版本python 的使用環(huán)境
之前安裝R語言遇到的缺少依賴包的問題,也可以用Conda輕松解決,但安裝的版本是3.6 不是4.0的。
2.6.1.下載安裝conda
在[清華鏡像]找到conda包的下載地址[https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/]
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh
##下載conda
2.6.2. 安裝conda
sh Miniconda3-latest-Linux-x86_64.sh
2.6.3.導入重要channel
各系統(tǒng)都可以通過修改用戶目錄下的 .condarc 文件。Windows 用戶無法直接創(chuàng)建名為 .condarc 的文件,可先執(zhí)行 conda config --set show_channel_urls yes 生成該文件之后再修改。
注:由于更新過快難以同步,我們不同步pytorch-nightly, pytorch-nightly-cpu, ignite-nightly這三個包。
vi .condarc
在.condarc文件中添加如下信息,
如果經常使用python,可以將menpo 及pytorch添加到channels 下面
channels:
- defaults
- biocnda
- conda-forge
show_channel_urls: true
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
conda list
# 列出當前 conda 環(huán)境所鏈接的軟件包
2.6.4. 創(chuàng)建環(huán)境
conda create -n 環(huán)境名 -c 鏡像源
# 創(chuàng)建一個 conda 環(huán)境
conda create -n py2
# 創(chuàng)建一個名為py2的環(huán)境,用于使用python2
conda activate py2
#進入py2的環(huán)境
conda deactivate
退出當前conda環(huán)境
2.6.5. 安裝軟件
conda install python
#安裝python
conda search python
#搜索python
conda install 軟件名=版本號
#可以用=指定軟件版本
2.7 安裝生信軟件
sudo apt install ncbi-blast+ # 安裝blast+
sudo apt install ncbi-epcr