CentOS 7 环境初始化

centos修改系统语言为英语


vim /etc/sysconfig/i18n

centos7 为: vim /etc/locale.conf

改为:LANG="en_US.UTF-8"

关闭防火墙:

CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙。
firewall:
systemctl start firewalld.service#启动firewall
systemctl stop firewalld.service#停止firewall
systemctl disable firewalld.service#禁止firewall开机启动
追答:
改成iptables
firewall:
systemctl start iptables.service

设置日期和时间

在CentOS 6版本,时间设置有date、hwclock命令,从CentOS 7开始,使用了一个新的命令timedatectl。

一、基本概念

1.1 GMT、UTC、CST、DST 时间

(1) UTC

整个地球分为二十四时区,每个时区都有自己的本地时间。在国际无线电通信场合,为了统一起见,使用一个统一的时间,称为通用协调时(UTC, Universal Time Coordinated)。

(2) GMT

格林威治标准时间 (Greenwich Mean Time)指位于英国伦敦郊区的皇家格林尼治天文台的标准时间,因为本初子午线被定义在通过那里的经线。(UTC与GMT时间基本相同,本文中不做区分)

(3) CST

中国标准时间 (China Standard Time) 

GMT + 8 = UTC + 8 = CST

(4) DST

夏令时(Daylight Saving Time) 指在夏天太阳升起的比较早时,将时钟拨快一小时,以提早日光的使用。(中国不使用)

1.2 硬件时钟和系统时钟

(1) 硬件时钟

RTC(Real-Time Clock)或CMOS时钟,一般在主板上靠电池供电,服务器断电后也会继续运行。仅保存日期时间数值,无法保存时区和夏令时设置。

(2) 系统时钟

一般在服务器启动时复制RTC时间,之后独立运行,保存了时间、时区和夏令时设置。

二、timedatectl 命令

2.1 读取时间

CentOS 7 环境初始化

1. timedatectl //等同于 timedatectl status

2.2 设置时间

1. timedatectlset-time"YYYY-MM-DD HH:MM:SS"

2.3 列出所有时区

1. timedatectl list-timezones

2.4 设置时区

1. timedatectlset-timezone Asia/Shanghai

2.5 是否NTP服务器同步

1. timedatectlset-ntpyes//yes或者no

2.6 将硬件时钟调整为与本地时钟一致

1. timedatectlset-local-rtc 1
1. hwclock --systohc --localtime //与上面命令效果一致

注意 硬件时钟默认使用UTC时间,因为硬件时钟不能保存时区和夏令时调整,修改后就无法从硬件时钟中读取出准确标准时间,因此不建议修改。修改后系统会出现下面的警告。

CentOS 7 环境初始化

2.6 硬件时间设置成 UTC:

1. timedatectlset-local-rtc 1
2. hwclock --systohc --utc  //与上面命令效果一致

安装过程

  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”开始安装

对系统的若干修改

若干原则

为了搭建一个稳定的系统,尽量避免因为各种瞎折腾而导致的系统问题,特订立了一些软件安装的原则。具体参见《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多个软件包,而且在不替换系统组件方面下了很多功夫,因而可以放心使用。

1
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

基础开发环境

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功能放大波形时,使用开源驱动会出现延迟,而使用官方闭源则整个过程非常顺畅。

关于显卡驱动的安装,请参考Linux下安装nvidia显卡驱动 一文中的“从ELRepo源中安装驱动”部分。

注意:目前的显卡驱动似乎有问题,安装后终端有时会出现屏幕闪烁、一屏文字上下重复跳动的情况,稍微有些影响用vim写代码。是否要安装显卡驱动自己决定。

NTFS驱动

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

sudo yum install ntfs-3g



你可能感兴趣的:(CentOS 7 环境初始化)