2018年购入的台式机,一直处于吃灰状态,决定安装Ubuntu方便学习和使用一些基于Linux系统的软件。本文记录相关软件的安装和配置。
>安装Ubuntu22.10<
到官网下载ISO文件。
将一个闲置U盘通过Rufus制作为安装盘。
重启按F11设置引导盘,选择U盘进入后,出现几个选项:
如果电脑带有英伟达的显卡,大概率第一选项是要卡在安装界面的。各种搜索后了解到大概的原因是:Ubuntu自带的显卡驱动nouveau和电脑中的N卡会有冲突,在此界面中按'e',然添加某个参数可以继续安装。具体可以百度。
这里有safe graphics的选项,用该选项可以安装成功。
4.后续选项不赘述。
如果要删除已有系统,要备份重要文件。在安装选项中有一个「其它选项」,选择后可以在其中创建分区表和逻辑驱动器。
>Ubuntu必备软件<
1.搜狗输入法
官网有安装步骤不赘述。有个地方要注意的是如果当前系统是英文的话,需要把对号取消才能搜索和添加搜狗输入法。添加将其后移至第一位即可使用。
2.安装NVIDIA显卡驱动
刚安装完的 Ubuntu 系统会使用默认的 nouveau 驱动来使用 Nvidia 显卡,要更换驱动。网上教程很多但是良莠不齐,还有可能只适用于特定版本的Ubuntu。有的教程要禁用nouveau,又要停用gnome非常麻烦,估计是针对较早版本的系统。
最简单的方式是通过界面安装,参考CSDN的博客:
https://blog.csdn.net/zataji/article/details/123104569
打开系统设App: Software & Updates
选择 Additional Drivers 标签,下面会列出当前显卡可用的驱动版本。点击Apply Changes即可安装。
使用命令 $ nvidia-smi 会显示显卡当前使用信息如果显示没有找到显卡,重新启动即可。若重新启动也无有效输出则为显卡驱动安装失败。
可以在这里顺便为Ubuntu选择一下较快的镜像。
3截图+设置快捷键
本文的截图工具。
由于使用的是最小化安装,连系统自带的截图软件都有没有。使用apt-get安装即可,软件名是gnome-screenshot
sudo apt-get install gnome-screenshot
装好后可以看见该APP,点击使用即可。另外它还允许使用命令
通过 -a 和 -c 可以对选区截图并保存到剪切板,因此可以在系统设置中自定义一个快捷键Alt+A作为截图工具。
4. VLC及解码库
没有解码的话mp4只有声音没有画面
sudo apt-get install h264enc
sudo apt-get install vlc
5. 梯子
花一个多小时尝试配置,随后客服告知这里的Linux他们不支持,没有梯子,fsl都可能需要下载几天。不过大部分软件的安装都可以使用国内镜像,速度还不错。
6. 剪切板管理xsel
使用apt-get安装,xsel -bc清除剪切板内容,适用于剪切板不好使的时候。
其他软件比如VScode等还暂未使用到,暂时略过。
>科研相关软件R<
方式一 推荐
通过Ubuntu的apt-get安装,由于设置了Ubuntu安装镜像,速度也是极快的,大概5分钟就下载和安装好了大概1.5G的内容,比方式二方便太多。
sudo apt-get install r-base-core
sudo apt-get install r-cran-devtools
sudo apt-get install r-cran-tidyverse
方式二
根据官网指示安装,一切顺利。装好后设置CRAN国内镜像(比如tsinghua的)。
options(repos=structure(c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/")))
之后就是基于R的install.packages()安装软件。过程中解决各种无法安装的问题,基本就是缺什么装什么(难道说的是缺钱装有钱?),比如缺少zlib报错:
sudo apt-get install zlib1g-dev
这里stringr报错非常tricky
stringr的一个依赖包stringi会尝试到raw.githubusercontent.com去下载所需数据icu4c,可惜是无法访问,解决方法可以使用国内镜像替代,或者可以尝试修改hosts文件访问到该地址(位于etc/目录下)。第二种方法似乎可以从根本上解决,但从实际效果看,仅有一次成功下载到了30多k的数据,随后宣告失败。
最后发现,最简单的解决方案是安装libicu-dev。
sudo apt-get install libicu-dev
一套流程走下来,需要提前安装以下内容,tidyverse和devtools能正常安装。
sudo apt-get install build-essential
sudo apt-get install libcurl4-gnutls-dev
sudo apt-get install libxml2-dev
sudo apt-get install libssl-dev
sudo apt-get install libfontconfig1-dev
sudo apt-get install libgit2-dev #gert->usethis
# 可能是安装了精简版的系统,下面的lib也要单独安装
sudo apt-get install libharfbuzz-dev libfribidi-dev libfreetype6-dev libpng-dev libtiff5-dev libjpeg-dev
devtools有教程推荐使用sudo安装
sudo -i R
install.packages("devtools")
Rtools是针对Windows的编译工具,Ubuntu无需安装。
方式三
还可以通过conda安装和配置R,在HPC上使用过conda,解决了我各种安装不上的问题。在conda界面找到所需安装的工具,使用conda安装即可,例如:
conda install -c conda-forge r-stringi
>科研相关软件FSL<
1.下载
官网目前给出的是通过python下载和安装。这里由于Ubuntu没有梯子,就选择了先到下载再配置的方式。
去到下载页
https://fsl.fmrib.ox.ac.uk/fsldownloads/
注册后得到的只是一个python文件,也很难看出fsl到底是从哪里下载的,也看不到到底有哪些版本的安装包可用。所有oldversions都可以在这里找到,就是不知到新版本的folder是什么。
https://fsl.fmrib.ox.ac.uk/fsldownloads/oldversions/
也许完整的目录藏在某个链接处,不过应该可以使用web目录扫描工具对fsldownloads目录进行扫描,暂时略过。
根据别人的分享,手动找到几个可用文件,但最新的fsl-6.0.6的文件名是什么不得而知。
https://fsl.fmrib.ox.ac.uk/fsldownloads/fsl-6.0.3-centos6_64.tar.gz
https://fsl.fmrib.ox.ac.uk/fsldownloads/fsl-6.0.4-centos6_64.tar.gz
https://fsl.fmrib.ox.ac.uk/fsldownloads/fsl-6.0.5-centos7_64.tar.gz
选用了第一个文件,文件居然是没有压缩过的整整11G,梯子+浏览器下载大概只花30分钟。某个CSDN博客上有fsl6.0.3百度云盘的共享(目前找不到链接了),那个文件大概有3-4G似乎是经过压缩的。另外一个CSDN博客说可以用百度云离线+会员可以快速下载,也是不错的方案。
2.解压
解压至/usr/local文件夹内
sudo tar xvf fsl-6.0.3-centos6_64.tar.gz -C /usr/local
这里有个小坑,我下载到的文件(11G)并没有压缩,所以tar不需要-z,否则会报错。
查看是否为压缩文件可以用file命令,如果显示tar archive说明没有压缩过,不带-z解压。
3.配置
参考官网指导,在.profile文件中添加FSL的设置信息,此版本为6.03(目前官网给的是6.06的设置,第二行bin的位置略有不同)。
# 效果类似
export FSLDIR=/usr/local/fsl
export PATH=$PATH:/usr/local/fsl/bin
source ${FSLDIR}/etc/fslconf/fsl.sh
重新登录系统后.profile的设置即可生效。
根据使用shell的类型不同该配置文件名略有不同,但都在home文件夹内。如果需要为所有用户添加fsl的设置,可前往etc文件夹文件进行修改。
4.安装fsleyes
该版本下,fsleyes需要单独安装,否则会出现fsleyes not found的情况。
同样参考官网
https://open.win.ox.ac.uk/pages/fsl/fsleyes/fsleyes/userdoc/install.html#linux-users
通过conda安装(官网推荐的方法),也可以通过pip安装。conda的好处是可以建立一个独立的环境,保证它不受各种软件升级的影响,python的版本想换就换。
下面是通过pip安装的方式:
4.1.安装必要的libs
sudo apt-get install build-essential
sudo apt-get install libgtk2.0-dev libgtk-3-dev libwebkitgtk-dev libwebkitgtk-3.0-dev
sudo apt-get install libjpeg-turbo8-dev libtiff5-dev libsdl1.2-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libnotify-dev
4.2.安装fsleyes
pip换国内源安装,之后安装fsleyes,其依赖包(例如Numpy)也会一并安装。
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip install fsleyes
因为Ubuntu22.04使用了python3.10,使用默认的方式(pip)安装一个依赖包wxPython会出问题,原因是某些工具升级导致语法改变,因此这里需要安装对应Python3.10的wxPython4。(那么问题来了,是否可以删除python3.10安装对应版本的python呢?)
把链接复制下来安装对应版本的软件即可
pip install https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-22.04/wxPython-4.2.0-cp310-cp310-linux_x86_64.whl
再次执行安装,应该不会报错了。
pip install fsleyes
4.3.配置fslyeyes
判断fsleyes和fsl一样使用./fsl的方式启动,因此该文件存在某个bin文件夹中。这里使用
pip show -f fsleyes
查看fsleyes软件的安装位置。
可以看到它安装到了此处,
/home/lms/.local/lib/python3.10/site-packages
所以可以去$HOME/.local/处寻找bin文件夹。
看到了fsleyes,在当前路径使用
./fsleyes
或者任何路径下使用
python3 ~/.local/bin/fsleyes
都可以点亮。
剩下就是建立软链接和加入环境变量。
首先删掉一些残留(如果有)
rm $FSLDIR/bin/fsleyes
rm -r $FSLDIR/bin/FSLeyes
然后建立软链接
sudo ln -s ~/.local/bin/fsleyes /usr/local/fsl/bin/fsleyes
就可以通过fsl界面或者命令行的方式进入fsleyes了。同时也可以考虑将$HOME/.local/bin加入PATH中,就目前看似乎并不是必要的。
科研相关软件Freesufer
1.下载
各种版本一目了然,旧版本(比如5.3)也可以通过某个链接下载到。同样需要有梯子,否则会很慢。
https://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/7.3.2/freesurfer-linux-ubuntu22_amd64-7.3.2.tar.gz
2.解压
先用file查看文件类型,看到是gzip压缩的文件,所以tar要带-z
tar xzvf freesurfer-linux-ubuntu22_amd64-7.3.2.tar.gz -C /usr/local
3.添加liscence
官网注册获取一个liscence文件
https://surfer.nmr.mgh.harvard.edu/registration.html
该页面有谷歌的真人识别,因此同样要有梯子。
下载后放入freesurfer的文件夹中即可。
4.配置
设置Freesurfer,每次使用Freesurfer都需要运行。
export FREESURFER_HOME=/usr/local/freesurfer
source $FREESURFER_HOME/SetUpFreeSurfer.sh
因此可以考虑将其加入个人的配置文件.profile中,或者.bashrc中。也可以加入/ect文件中为所有用户设置。这里为个人使用因此加入到了.profile中。
.profile每次登录时生效,因此重新登录后就可验证是否成功。
AFNI自己使用的频率其实并不高,需要再安装。目前FSL/Freesufer是装好了,和Ubuntu22.10的适配性如何,以及是否有什么后续问题有待进一步测试。兔年预祝大家钱兔无量,文章兔然接收。
2023/01/21