用CentOS 7打造合适的科研环境

这篇博文记录了我用CentOS 7搭建地震学科研环境的过程,供我个人在未来重装系统时参考。对于其他地震学科研人员,也许有借鉴意义。

阅读须知:

  1. 本文适用于个人电脑,不适用于服务器;

  2. 不推荐刚接触Linux的人使用CentOS发行版

  3. 本文尽量写的浅显易懂,但要求读者掌握Linux基础知识;

  4. 本文所有操作均在CentOS 7下完成,其他发行版或多或少与CentOS 7不同,因而仅供参考;

  5. 本文所安装的软件纯粹出于个人习惯及喜好,读者应自己判断,按需安装;

安装CentOS

CentOS 7的安装与其他Linux发行版的安装差不多,个别地方稍有不同。

准备工作

  1. 准备材料

    • U盘:容量700M以上,用于制作U盘启动盘,因为在制作启动盘时会格式化U盘,所以U盘内不要包含重要资料

    • CentOS 7.1 LiveCD 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. 选择安装过程中使用的语言,这里应使用英语,不要使用汉语。若安装界面使用汉语,最终安装的系统中会出现两个比较麻烦的问题:

    1. 家目录下的系统文件夹,比如Downloads、Desktop等会以中文表示,这使得在命令行cd变得很麻烦;

    2. 终端中某些字符用英文字体,某些字符用中文字体,效果非常差,需要自己修改终端字体方可;

  2. 选择区域和城市:Asia和Shanghai

  3. 键盘使用English(US)而不是English(UK)

  4. Hostname可以改也可以不改,我用saturn.geolab

  5. 安装的目的地,选择要使用的硬盘,在“Other Storage Options”处选择“I will configure partioning”,即手动分区

分区

CentOS 7的分区似乎比较特别,自认为经验很丰富的我在第一次安装CentOS7时还是在分区上耽误了很多时间。后来找到比较合适的分区方法,如下:

  • 点击“Click here to create them automatically”,即让安装程序帮忙分区

  • 默认的分区方案是使用LVM,其好处在于“当机器有多块硬盘时,在使用的时候看上去只有一块”

  • 默认的文件系统为XFS而不是以前常用的EXT4;

  • 自动分区完成后,再根据自己的需求,手动修改分区细节

    • /boot:CentOS自动分配,一定不要乱改;

    • /:根目录,合理使用并及时清理的话15G就够了,不过建议30G以上;

    • swap:与物理内存大小一致即可

    • /opt:个人习惯是将第三方软件都安装在/opt下,所以分了70G

    • /home:余下的全部空间

  • 点击“Begin to Install”开始安装

真正的安装

  1. 设置root密码

  2. 创建一般用户

  3. 等待安装完成

  4. 安装完成,重启

  5. 重启后,同意License即可

对系统的若干修改

若干原则

为了搭建一个稳定的系统,尽量避免因为各种瞎折腾而导致的系统问题,特订立了一些软件安装的原则。具体参见《CentOS 7下的软件安装方法与策略》。

给一般账号root权限

默认情况下,一般账号是没有root权限的。为什么不直接用root账号,而是要给一般账号root权限呢?

  • 日常工作中使用root账号,是非常糟糕且危险的习惯!无论是服务器还是个人电脑都是如此。

  • 安装软件时需要root权限,只能su切换到root账户再安装。对于习惯使用sudo的人来说,还是有些麻烦。

假设账户名为seisman,要授予他root权限,则要修改配置文件/etc/sudoers

$ su
# echo 'seisman ALL=(ALL) ALL' >> /etc/sudoers # 向配置文件中加入语句
# tail -1 /etc/sudoers  # 检查一下是否正确
seisman ALL=(ALL) ALL

其中seisman为当前用户名。

添加第三方源

CentOS由于很追求稳定性,所以官方源中自带的软件不多,因而需要一些第三方源,比如EPEL、ATrpms、ELRepo、Nux Dextop、RepoForge等。根据上面提到的软件安装原则,为了尽可能保证系统的稳定性,此处大型第三方源只添加EPEL源、Nux Dextop和ELRepo源。

EPEL

EPEL即Extra Packages for Enterprise Linux,为CentOS提供了额外的10000多个软件包,而且在不替换系统组件方面下了很多功夫,因而可以放心使用。

sudo yum install epel-release

执行完该命令后,在/etc/yum.repos.d目录下会多一个epel.repo文件。

Nux Dextop

Nux Dextop中包含了一些与多媒体相关的软件包,作者尽量保证不覆盖base源。官方说明中说该源与EPEL兼容,实际上个别软件包存在冲突,但基本不会造成影响:

sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm

完成该命令后,在/etc/yum/repos.d目录下会多一个nux-dextop.repo文件。

ELRepo

ELRepo包含了一些硬件相关的驱动程序,比如显卡、声卡驱动:

sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
sudo rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

完成该命令后,在/etc/yum.repos.d目录下会多一个elrepo.repo文件。

安装yum-axelget

yum-axelget是EPEL提供的一个yum插件。使用该插件后用yum安装软件时可以并行下载,大大提高了软件的下载速度,减少了下载的等待时间:

sudo yum install yum-axelget

安装该插件的同时会安装另一个软件axel。axel是一个并行下载工具,在下载http、ftp等简单协议的文件时非常好用。

第一次全面更新

在进一步操作之前,先把已经安装的软件包都升级到最新版:

sudo yum update

要更新的软件包有些多,可能需要一段时间。不过有了yum-axelget插件,速度已经快了很多啦。

重启

此处建议重启。

删除多余的kernel

在前面的yum update执行之后,可能会将kernel也一起更新,则在启动CentOS时启动项中会有很多项。

确认当前使用的kernel版本号:

$ uname -r
3.10.0-123.9.3.el7.x86_64

查找当前系统安装的所有kernel:

$ rpm -qa | grep kernel | sort
kernel-3.10.0-123.8.1.el7.x86_64
kernel-3.10.0-123.9.2.el7.x86_64
kernel-3.10.0-123.9.3.el7.x86_64
kernel-devel-3.10.0-123.8.1.el7.x86_64
kernel-devel-3.10.0-123.9.2.el7.x86_64
kernel-devel-3.10.0-123.9.3.el7.x86_64
kernel-headers-3.10.0-123.9.3.el7.x86_64
kernel-tools-3.10.0-123.9.3.el7.x86_64
kernel-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:

sudo yum remove kernel-3.10.0-123.8.1.el7.x86_64
sudo yum remove kernel-devel-3.10.0-123.8.1.el7.x86_64


你可能感兴趣的:(用CentOS 7打造合适的科研环境)