用CentOS7打造合适的科研环境
博文作者SeisMan
发布日期2014-07-15
更新日期2016-10-19
分类Linux
标签CentOS,Perl,Python
原文链接seisman.info/linux-environment-for-seismology-research.html 这篇博文记录了我用CentOS7搭建地震学科研环境的过程,供我个人在未来重装系统
时参考。对于其他地震学科研人员,也许有借鉴意义。
阅读须知:
1.本文适用于个人电脑,不适用于服务器;
2.不推荐刚接触Linux的人使用CentOS发行版;
3.本文尽量写的浅显易懂,但要求读者掌握Linux基础知识;
4.本文所有操作均在CentOS7下完成,其他发行版或多或少与CentOS7不同,因而仅
供参考;
5.本文所安装的软件纯粹出于个人习惯及喜好,读者应自己判断,按需安装;
1安装CentOS
CentOS7的安装与其他Linux发行版的安装差不多,个别地方稍有不同。
1.1准备工作
1.准备材料
•U盘:容量2GB以上,用于制作U盘启动盘,因为在制作启动盘时会格式化U盘,所以U盘内不要包含重要资料
•CentOS7.2LiveCD ISO镜像文件
•Universal USB installer:Windows下的U盘启动盘制作工具
•一个已安装Windows的电脑:用于制作U盘启动盘
2.运行Universal USB installer并制作U盘启动盘
3.将U盘插入计算机,重启,进入BIOS选择从U盘启动,即可进入CentOS的LiveCD
4.进入LiveCD后,点击桌面的“Install to Hard Drive”即可安装
注:Linux下可以通过dd命令制作启动盘,但由于对原理不够了解,偶尔会导致制作失败,或制作成功后U盘容量有问题,还是用Windows下的Universal USB installer比较靠谱。
1.2安装过程
1.选择安装过程中使用的语言,这里应使用英语,不要使用汉语。若安装界面使用汉语,
最终安装的系统中会出现两个比较麻烦的问题:
1.家目录下的系统文件夹如Downloads、Desktop等会以中文表示,这使得在命令行
cd变得很麻烦;
2.终端中某些字符用英文字体,某些字符用中文字体,效果非常差,需要自己修改终
端字体方可;
2.选择区域和城市:Asia和Shanghai
3.键盘使用English(US)而不是English(UK)
4.Hostname可以改也可以不改,我用lab
5.安装的目的地,选择要使用的硬盘,在“Other Storage Options”处选择“I will configure
partioning”,即手动分区
1.3分区
CentOS7的分区似乎比较特别,自认为经验很丰富的我在第一次安装CentOS7时还是在分区上耽误了很多时间。后来到比较合适的分区方法,如下:
•点击“Click here to create them automatically”,即让安装程序帮忙分区
•默认的分区方案是使用LVM,其好处在于“当机器有多块硬盘时,在使用的时候看上去只有一块”
•默认的文件系统为XFS而不是以前常用的EXT4;
•自动分区完成后,再根据自己的需求,手动修改分区细节
–/boot:CentOS自动分配,一定不要乱改;
–/:根目录,合理使用并及时清理的话15G就够了,不过建议30G以上;
–swap:与物理内存大小一致即可
–/opt:个人习惯是将第三方软件都安装在/opt下,所以分了70G
–/home:余下的全部空间
•点击“Begin to Install”开始安装
1.4真正的安装
1.设置root密码
2.创建一般用户
3.等待安装完成
4.安装完成,重启
5.重启后,同意License即可
2对系统的若干修改
2.1若干原则
为了搭建一个稳定的系统,尽量避免因为各种瞎折腾而导致的系统问题,特订立了一些软件安装的原则。具体参见《CentOS7下的软件安装方法与策略》。
2.2给一般账号root权限
默认情况下,一般账号是没有root权限的。为什么不直接用root账号,而是要给一般账号root权限呢?
•日常工作中使用root账号,是非常糟糕且危险的习惯!无论是服务器还是个人电脑都是如此。
•安装软件时需要root权限,只能su切换到root账户再安装。对于习惯使用sudo的人来说,还是有些麻烦。
假设账户名为seisman,要授予他root权限,则要修改配置文件/etc/sudoers:
1$su
2#echo'seisman ALL=(ALL)ALL'>>/etc/sudoers#向配置文件中加入语句
3#tail-1/etc/sudoers#检查一下是否正确
4seisman ALL=(ALL)ALL
其中seisman为当前用户名。
2.3添加第三方源
CentOS由于很追求稳定性,所以官方源中自带的软件不多,因而需要一些第三方源,比如EPEL、ATrpms、ELRepo、Nux Dextop、RepoForge等。根据上面提到的软件安装原则,为了尽可能保证系统的稳定性,此处大型第三方源只添加EPEL源、Nux Dextop和ELRepo 源。
2.3.1EPEL
EPEL即Extra Packages for Enterprise Linux,为CentOS提供了额外的10000多个软件包,而且在不替换系统组件方面下了很多功夫,因而可以放心使用。
1sudo yum install epel-release
执行完该命令后,在/pos.d目录下会多一个po文件。
2.3.2ELRepo
ELRepo包含了一些硬件相关的驱动程序,比如显卡、声卡驱动:
1sudo rpm--import /
2sudo rpm-Uvh /elrepo-release-7.0-2.arch.rpm
完成该命令后,在/pos.d目录下会多一个po文件。
2.4安装yum-axelget
yum-axelget是EPEL提供的一个yum插件。使用该插件后用yum安装软件时可以并行下载,大大提高了软件的下载速度,减少了下载的等待时间:
1sudo yum install yum-axelget
pycharm下载第三方库安装该插件的同时会安装另一个软件axel。axel是一个并行下载工具,在下载http、ftp 等简单协议的文件时非常好用。
2.5第一次全面更新
在进一步操作之前,先把已经安装的软件包都升级到最新版:
1sudo yum update
要更新的软件包有些多,可能需要一段时间。不过有了yum-axelget插件,速度已经快了很多啦。
2.6重启
第一次全面更新完之后建议重启。
2.7删除多余的kernel
在前面的yum update执行之后,可能会将kernel也一起更新,则在启动CentOS时启动项中会有很多项。
确认当前使用的kernel版本号:
1$uname-r
2  3.10.0-123.9.3.el7.x86_64
查当前系统安装的所有kernel:
1$rpm-qa|grep kernel|sort
2kernel-3.10.0-123.8.1.el7.x86_64
3kernel-3.10.0-123.9.2.el7.x86_64
4kernel-3.10.0-123.9.3.el7.x86_64
5kernel-devel-3.10.0-123.8.1.el7.x86_64
6kernel-devel-3.10.0-123.9.2.el7.x86_64
7kernel-devel-3.10.0-123.9.3.el7.x86_64
8kernel-headers-3.10.0-123.9.3.el7.x86_64
9kernel-tools-3.10.0-123.9.3.el7.x86_64
10kernel-tools-libs-3.10.0-123.9.3.el7.x86_64
可以看出有三个版本的kernel,123.8.1、123.9.2和123.9.3。除了最新的kernel外,建议多保留一个旧kernel,以免新kernel出现问题时可以通过旧kernel进入系统。因而此处删除123.8.1版本的kernel:
1sudo yum remove kernel-3.10.0-123.8.1.el7.x86_64
2sudo yum remove kernel-devel-3.10.0-123.8.1.el7.x86_64
3基础开发环境
3.1GCC系列
1sudo yum install gcc#C编译器
2sudo yum install gcc-c++#C++编译器
3sudo yum install gcc-gfortran#Fortran编译器
4sudo yum install compat-gcc-44#兼容gcc  4.4
5sudo yum install compat-gcc-44-c++#兼容gcc-c++  4.4
6sudo yum install compat-gcc-44-gfortran#兼容gcc-fortran  4.4
7sudo yum install compat-libf2c-34#g77  3.4.x兼容库
3.2软件开发辅助工具
1sudo yum install make
2sudo yum install gdb#代码调试器
3sudo yum install cmake#Cmake
4sudo yum install git#版本控制
4驱动程序
4.1显卡驱动
Linux默认只使用开源的显卡驱动,就目前的情况来看,开源驱动的效果还是不错的,但跟官方的闭源驱
动相比还是有一定差距。最明显的区别是,在使用SAC的ppk功能放大波形时,使用开源驱动会出现延迟,而使用官方闭源则整个过程非常顺畅。
关于显卡驱动的安装,请参考Linux下安装nvidia显卡驱动一文中的“从ELRepo源中安装驱动”部分。
注意:目前的显卡驱动似乎有问题,安装后终端有时会出现屏幕闪烁、一屏文字上下重复跳动的情况,稍微有些影响用vim写代码。是否要安装显卡驱动自己决定。
4.2NTFS驱动
CentOS下默认无法挂载NTFS格式的硬盘。需安装nfts-3g即可实现即插即用:
1sudo yum install ntfs-3g

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。