安装过程
   选择安装过程中使用的语言,这里应使用英语,不要使用汉语。若安装界面使用汉语,最终安装的系统中会出现两个比较麻烦的问题:
   home目录下的系统文件夹,比如Downloads、Desktop等会以中文表示,这使得在命令行cd变得很麻烦;
   终端中某些字符用英文字体,某些字符用中文字体,效果非常差,需要自己修改终端字体方可;
   选择区域和城市:Asia和Shanghai
   键盘使用English(US)而不是English(UK)
   Hostname可以改也可以不改。
   安装的目的地,选择要使用的硬盘,在“Other Storage Options”处选择“I will configure partioning”,即手动分区。
   分区
   CentOS 7的分区似乎比较特别,一种比较合适的分区方法,如下:
   点击“Click here to create them automatically”,即让安装程序帮忙分区
   默认的分区方案是使用LVM,其好处在于“当机器有多块硬盘时,在使用的时候看上去只有一块”
   默认的文件系统为XFS而不是以前常用的EXT4;
   自动分区完成后,再根据自己的需求,手动修改分区细节
   /boot:CentOS自动分配,一定不要乱改;
   /:根目录,合理使用并及时清理的话15G就够了,不过建议30G以上;
   swap:与物理内存大小一致即可
   /opt:个人习惯是将第三方软件都安装在/opt下,所以分了70G
   /home:余下的全部空间
   点击“Begin to Install”开始安装

   真正的安装
   设置root密码
   创建一般用户
   等待安装完成
   安装完成,重启
   重启后,同意License即可

   给一般账号root权限
   默认情况下,一般账号是没有root权限的。为什么不直接用root账号,而是要给一般账号root权限呢?
   日常工作中使用root账号,是非常糟糕且危险的习惯!无论是服务器还是个人电脑都是如此。
   安装软件时需要root权限,只能su切换到root账户再安装。对于习惯使用sudo的人来说,还是有些麻烦。
   假设账户名为soft,要授予他root权限,则要修改配置文件/etc/sudoers
   $ su echo 'soft ALL=(ALL) ALL' >> /etc/sudoers
   # 向配置文件中加入语句
   # tail -1 /etc/sudoers  # 检查一下是否正确
   soft ALL=(ALL) ALL
   其中soft为当前用户名。

   添加第三方源
   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等简单协议的文件时非常好用。

   删除多余的kernel
   在前面的yum update执行之后,可能会将kernel也一起更新,则在启动CentOS时启动项中会有很多项。
   确认当前使用的kernel版本号:
   $ uname -r
   3.10.0-123.9.3.el7.x86_64
   查找当前系统安装的所有kernel:
   $ rpm -qa | grep kernel
   kernel-3.10.0-123.8.1.el7.x86_64
   kernel-3.10.0-123.9.3.el7.x86_64
   删除123.8.1版本的kernel:
   sudo yum remove kernel-3.10.0-123.8.1.el7.x86_64
   ElRepo库中有别人编译好的最新版本的kernel,我们可以通过ElRepo库来安装最新版本的kernel。
   先切换到 root 账户,添加 Key:
   su root rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
   为你的系统添加库:
   yum install http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
   安装 kernel-ml 包:
   yum --enablerepo=elrepo-kernel install kernel-ml kernel-ml-devel
   重启:
   reboot即可:
   可以通过下面的方法进行卸载:
    卸载 kernel 4.0命令:
    yum remove kernel-ml kernel-ml-devel

   GCC系列
   sudo yum install gcc                     # C编译器
   sudo yum install gcc-c++                 # C++编译器
   sudo yum install gcc-gfortran            # Fortran编译器
   sudo yum install compat-gcc-44           # 兼容gcc 4.4
   sudo yum install compat-gcc-44-c++       # 兼容gcc-c++ 4.4
   sudo yum install compat-gcc-44-gfortran  # 兼容gcc-fortran 4.4
   sudo yum install compat-libf2c-34        # g77 3.4.x兼容库

   软件开发辅助工具
   sudo yum install make
   sudo yum install gdb     # 代码调试器
   sudo yum install cmake   # Cmake
   sudo yum install git     # 版本控制
   sudo yum install git-svn # git的svn插件

   显卡驱动
   Linux默认只使用开源的显卡驱动,就目前的情况来看,开源驱动的效果还是不错的,但跟官方的闭源驱动相比还是有一定差距。最明显的区别是,在使用SAC的ppk功能放大波形时,使用开源驱动会出现延迟,而使用官方闭源则整个过程非常顺畅。
   安装显卡检测程序:
   sudo yum install nvidia-detect
   检测显卡型号以及对应的驱动:
   $ nvidia-detect -v
   Probing for supported NVIDIA devices...
   [10de:13ba] NVIDIA Corporation GM107GL [Quadro K2200]
   This device requires the current 367.27 NVIDIA driver kmod-nvidia

   根据 nvidia-detect 的输出信息,可以知道显卡的型号,以及要使用的驱动版本,此处提示需要安装367.27版的显卡驱动。

   也可以通过如下命令检测显卡信息
   lspci | grep VGA
   81:00.0 VGA compatible controller: NVIDIA Corporation GM107GL [Quadro K2200] (rev a2)

   安装显卡驱动
   1.如果驱动版本是304.XX,则安装304XX版本。
   sudo yum install nvidia-x11-drv-304xx nvidia-x11-drv-304xx-32bit

   2.如果是340.XX,则安装340XX版本。
   sudo yum install nvidia-x11-drv-340xx nvidia-x11-drv-340xx-32bit

   3.如果是360.XX,则安装360XX版本。
   sudo yum install nvidia-x11-drv-360xx nvidia-x11-drv-360xx-32bit

   4.对于大多数比较新的显卡来说,直接安装最新版的驱动即可:
   sudo yum install nvidia-x11-drv nvidia-x11-drv-32bit

   安装过程中可能会给出软件冲突的警告,需要卸载与官方驱动冲突的软件包及其依赖:
   sudo yum remove xorg-x11-glamor
   安装完显卡驱动后可以重启一下。

   也可以手动编译显卡驱动进行安装,不过不推荐这么做。

   NTFS驱动
   CentOS下默认无法挂载NTFS格式的硬盘。需安装nfts-3g即可实现即插即用:
   sudo yum install ntfs-3g

   Clang系列
   Clang可以认为是GCC的替代品,可以用于编译C、C++、Objective-C和Objective-C++。其提供了更友好的报错信息,在有些方面比GCC更友好,同时其提供了一个代码静态分析器,可以用于分析代码中可能出现的bug和内存溢出问题。
   sudo yum install clang             # clang编译器
   sudo yum install clang-analyzer    # clang静态分析器

   Intel系列
   Intel的大部分软件都是非开源且收费的,但同时部分软件也提供了Linux下的非商业免费版。比如icc、mkl数学库以及代码性能分析工具等。
   Intel软件的申请以及安装参考《Intel非商业免费开发工具》。
   还有一点需要注意的是,Intel也提供了并行相关的几个命令,比如mpicc、mpirun。所以openmpi、mpich和intel三者,在并行时只能用其中一个。
   并行计算
   并行可以用openmpi,也可以用mpich,二者应该是并列的。但是由于二者提供了几乎一样的命令,所以二者可以同时安装,但是不可以同时处于使用状态。
   openmpi
   安装openmpi:
   sudo yum install openmpi openmpi-devel
   安装后,二进制文件位于/usr/lib64/openmpi/bin下,动态库文件位于/usr/lib64/openmpi/lib下,因而实际使用的话还需要额外的配置,在.bashrc中加入如下语句:
   export PATH=/usr/lib64/openmpi/bin/:${PATH}
   module load mpi/openmpi-x86_64
   PS:要使用module命令需要先安装environment-modules包。

   mpich
   安装mpich:
   sudo yum install mpich mpich-devel
   安装后,二进制文件位于/usr/lib64/mpich/bin下,动态库文件位于/usr/lib64/mpich/lib下,因而实际使用的话还需要额外的配置,在.bashrc中加入如下语句:
   export PATH=/usr/lib64/mpich/bin/:${PATH}
   module load mpi/mpich-x86_64

   PS/PDF阅读器
   系统自带的evince阅读器,可以打开PS和PDF文件,基本足够日常的使用了。

   zathura
   zathura可以查看PS、PDF、djvu格式的文件,可以作为evince的替代品:
   sudo yum install zathura zathura-plugins-all

   ghostscript
   sudo yum install ghostscript

   master-pdf-editor
   官方网站: https://code-industry.net/free-pdf-editor/
   sudo yum localinstall http://get.code-industry.net/public/master-pdf-editor3-3.2.62-1.x86_64.rpm

   TeXLive 2015
   系统是自带了TeXLive,版本较老,还是安装最新版比较好。
   根据Linux下安装TeXLive一文,从ISO文件中安装TeXLive。
   安装完成后,更新所有模块:
   tlmgr update --all
   Mendeley
   Mendeley是一个跨平台的文献管理软件,其内部自带了一个可以添加注释的PDF阅读器。
   下载Generic Linux (64 bits) :http://www.mendeley.com/download-mendeley-desktop
   安装:
   tar -xvf mendeleydesktop-1.12.3-linux-x86_64.tar.bz2  # 解压
   sudo mv mendeleydesktop /opt  # 复制到/opt下
   cd /opt/mendeleydesktop/bin   # cd进去
   ./install-mendeley-link-handler.sh /opt/mendeleydesktop/bin/mendeleydesktop
   sudo yum install qtwebkit  # 安装依赖包
   注销重新登陆,在Application->Education下即可看到mendeley的相关项目。不过是没有软件的图标的,强迫症不能忍,用下面的命令解决:
   cp /opt/mendeleydesktop/share/icons/hicolor/128x128/apps/mendeleydesktop.png ~/.local/share/icons/

   解压软件
   解压7z或zip格式需要p7zip,由EPEL提供:
   sudo yum install p7zip
   解压rar格式需要unrar,该软件由Nux Dextop提供:
   sudo yum install unrar
   FTP客户端
   FTP客户端,还是有界面的filezilla比较方便些。
   sudo yum install filezilla

   终端模拟器
   Gnome自带的终端模拟器是gnome-terminal。经常会需要开十几个终端,切换和管理起来比较麻烦

   terminator
   terminator有很多功能,我只用到了终端分割的功能。Ctrl+Shift+O对终端水平分隔,Ctrl+Shift+E对终端垂直分隔,Alt+上下左右可以在各子终端中切换。terminator由Nux Dextop提供:
   sudo yum install terminator
   guake
   有些时候需要临时执行一两个命令,但是又不想额外启动一个终端的情况下,guake是个不错的选择。
   sudo yum install guake
   安装完成后,在Application->System Tools里找到guake Terminal即可启动。按下F12即可呼出guake,再次按下F12即可隐藏。也可在终端执行guake-prefs对gauke进行配置。
   zsh与oh my zsh
   Linux下有很多shell,比如最常见的bash,除此之外还有csh、ksh。zsh也是一个shell。
   zsh的特点在于:
   语法基本完全兼容于bash,一般用户完全体会不到其区别,zsh提供命令补全特性,比bash的补全要更好用
   可配置性强
   完全不经配置的zsh已经很好用了,一般用户也没必要花时间研究配置。oh my zsh是一群人一起维护的一套zsh配置文件。直接用这个配置文件,稍稍了解一点会有更好的体验。
   安装zsh:
   sudo yum install zsh
   安装oh my zsh:
   curl -L http://install.ohmyz.sh | sh
   上面的命令,做了如下几件事情:
   下载oh my zsh到~/.oh-my-zsh
   备份已有的zsh配置文件~/.zshrc,并复制新的.zshrc文件
   将当前用户的默认shell由bash改成zsh
   第三步中,会报错如下:chsh: "/usr/bin/zsh" is not listed in /etc/shells.,需要手动修改默认shell:
   chsh -s /bin/zsh
   chsh命令修改的是login shell,因而需要退出当前用户并重新登陆,以后用户的默认shell就从bash变成了zsh,所有的配置都不用写到.bashrc而要写到.zshrc中。