CentOS 7 安装与优化

CentOS(Community Enterprise Operating System)是Linux发行版之一,它是来自于Red Hat Enterprise Linux(RHEL)依照开放源代码规定发布的源代码所编译而成,由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用,两者的不同,在于CentOS并不包含封闭源

博客作者:联系请点击,搬运不易,希望请作者喝咖啡,可以点击联系博客作者

前言

CentOS 7与CentOS 6之间最大的差别就是初始化技术不同,CentOS 7采用的初始化技术是Systemd,并行的运行方式,除了这一点之外,服务启动、开机启动文件、网络命令方面等等,我们一起通过这篇文章来了解一下系统初始化技术的演变过程。

Sysvinit技术

特点:

1.系统第1个进程为init; 2.init进程是所有进程的父进程,不可kill; 3.大多数Linux发行版的init系统是和SystemV相兼容的,被称为sysvinti 4.代表系统:CentOS5 CentOS6

优点:

sysvinit运行非常良好,概念简单清晰,它主要依赖于shell脚本。

缺点:

1.按照一定顺序执行---->启动太慢。 2.很容易hang住,fstab与nfs挂载问题

Upstart技术

CentOS6采用了upstart技术代替sysVinit进行引导,Upstart对rc.sysinit脚本做了大量的优化,缩短了系统初始化的启动时间,但是CentOS6为了简便管理员的操作,upstart的很多特性并没有凸显或直接不支持。

代表系统:CentOS6, Ubuntu14, 从CentOS7, Ubuntu15开始使用systemd

Systemd技术

新系统都会采用的技术(RedHat7,CentOS7,Ubuntu15等); 设计目标是克服sysvinit固有的缺点,提高系统的启动速度; 和Sysvinit兼容,降低迁移成本; 最主要优点:并行启动 pid为1的进程

三种启动技术对比:

并行启动三大原理:

1、解决socket 依赖/端口依赖 socket 网络套接字文件

2、解决D-Bus 依赖:采用了D-Bus 为程序之间的通讯工具,类似消息队列,可以缓存信息

3、解决文件系统依赖、类似autofs机制 先加载boot、swap、/ 分区,后直接启动系统,延迟启动其他guaz

下载CentOS

开始安装CentOS之前,必须下载安装ISO映像,可从CentOS网站https://www.centos.org/download/获得镜像。

安装CentOS 7系统

修改网卡名为eth

  1. 开机进入安装

  2. 把光标移动到Install CentOS7,按下TAB键

  3. 添加内核参数 让网卡名称变为eth

  4. 空格 输入 net.ifnames=0 biosdevname=0 然后回车

选择语言

  1. 滑动鼠标,点击中文,选择简体中文

  2. 点击继续

设置网络连接和主机名

  1. 勾选开机自启动

  2. 设置IP地址

  3. 修改主机名,点击应用

  4. 点击完成

选择安装的环境,选择最小化安装。

  1. 注意勾选依赖包

  2. 点击完成

选择磁盘分区。

  1. 选择磁盘分区

  2. 点击完成

开始安装,安装的过程中设置root的密码。

优化CentOS 7系统

nmtui

nmtui 可提供一个文本界面配置由 NetworkManager 控制的网络, 该工具包含在 NetworkManager-tui 子软件包中,写入时,不会默认随 NetworkManager 安装该子软件包。要安装 NetworkManager-tui,请作为 root 运行以下命令:

root 用户运行下面的命令在当前会话中启动该服务:

运行 systemctl enable 命令确定每次系统引导时都启动 NetworkManager

启动 nmtui,请按如下方式运行命令:

编写时,nmtui 不支持所有连接类型,特别是无法编辑使用 WPA Enterprise 的 VPN、Wi-Fi 连接,或无法编辑使用 802.1X 的以太网连接。

修改主机名

临时 hostname 永久vim /etc/hostname 修改主机名永久和临时一步到位:hostnamectl set-hostname hezhiqiang

查看系统版本

Yum源上的优化

在CentOS6的时候,默认是从官方源下载rpm包的,由于是国外的yum源很慢不能用,CentOS7在这里做了优化,当我们使用yum安装软件的时候,默认不会再从官方下载,而是自动寻找离自己地理位置最近的yum源开始下载。

配置Yum源

安装常用命令

如果在安装系统的时候选择minimal,会比之前CentOS 6的时候以更小的包来安装,比如:vim、ifconfig、route、setup、netstat等等很多命令都没有了。。在安装系统后可加入以下软件包:

字符集修改

开机启动管理

优化Linux运行级别

Linux系统7个运行级别(0:关机,停机模式、1:单用户模式、2:多用户模式、3:完整的多用户文本模式、4:系统未使用,保留一般不用、5:图形化模式、6:重启模式),运行级就是操作系统当前正在运行的功能级别。这个级别从0到6 ,具有不同的功能。

启动原理说明:

  1. 在目录/etc/rc.d/init.d下有许多服务器脚本程序,一般称为服务(service)。

  2. 在/etc/rc.d下有7个名为rcN.d的目录,对应系统的7个运行级别即(0-6)。

rcN.d目录下都是一些符号链接(即软链接)文件,这些链接文件都指向/etc/rc.d/init.d目录下的service脚本文件,命名规则为K+nn+服务名或S+nn+服务名,其中nn为两拉伯数字,系统启动时,会根据指定的运行级别进入对应的rcN.d目录,并按照文件名顺序检索目录下的链接文件:对于以K开头的文件,系统将终止对应的服务,对于以S开头的文件,系统将启动对应的服务。

级别具体说明:

  • 0: 系统停机(关机)模式,系统默认运行级别不能设置为0,否则不能正常启动,一开机就自动关机。

  • 1:单用户模式,root权限,用于系统维护,禁止远程登陆,就像Windows下的安全模式登录。

  • 2:多用户模式,没有NFS网络支持。

  • 3:完整的多用户文本模式,有NFS,登陆后进入控制台命令行模式。

  • 4:系统未使用,保留一般不用,在一些特殊情况下可以用它来做一些事情。例如在笔记本电脑的电池用尽时,可以切换到这个模式来做一些设置。

  • 5:图形化模式,登陆后进入图形GUI模式或GNOME、KDE图形化界面,如X Window系统。 6:重启模式,默认运行级别不能设为

  • 6,否则不能正常启动,就会一直开机重启开机重启。

查看当前Linux运行模式:

设置当前运行级别:

  • runlevel:查看当前系统运行级别。

  • init:切换运行级别,后面接对应级别的数字,例如init 6就是重启linux服务器。

临时生效,只有五种运行级别

Systemd 系统启动文件的目录

语法格式: http://www.jinbuguo.com/systemd/systemd.service.html

systemctl:融合service和chkconfig的功能于一体,兼容SysV和LSB的启动脚本,而且够在进程启动过程中更有效地引导加载服务。

Sysvinit命令与Systemd命令对比

设置默认运行级别:

CentOS 7 修改网卡名为eth0

解决更换网卡后名称变更的问题,更改名称的方法,修改CentOS7网卡名称为传统名称eth0格式

方法一:

在进入安装界面的时候把光标移动到Install CentOS7,按下tab键,在后面输入“net.ifnames=0 biosdevname=0”回车即可。

方法二:

进入网卡配置文件目录

重命名网卡

修改配置文件NAME、DEVICE

修改grub

GRUB是大多数Linux系统默认使用的引导程序, 可以通过启动菜单的方式选择进入不同的操作系统

生成启动菜单

重启系统生效

查看是否成功

centos7默认没有ifconfig命令,需yum install net-tools -y安装

SELinux 的工作模式

SELinux 提供了 3 种工作模式:Disabled、Permissive 和 Enforcing,而每种模式都为 Linux 系统安全提供了不同的好处。

Disable工作模式(关闭模式)

在 Disable 模式中,SELinux 被关闭,默认的 DAC 访问控制方式被使用。对于那些不需要增强安全性的环境来说,该模式是非常有用的。 例如,若从你的角度看正在运行的应用程序工作正常,但是却产生了大量的 SELinux AVC 拒绝消息,最终可能会填满日志文件,从而导致系统无法使用。在这种情况下,最直接的解决方法就是禁用 SELinux,当然,你也可以在应用程序所访问的文件上设置正确的安全上下文。 需要注意的是,在禁用 SELinux 之前,需要考虑一下是否可能会在系统上再次使用 SELinux,如果决定以后将其设置为 Enforcing 或 Permissive,那么当下次重启系统时,系统将会通过一个自动 SELinux 文件重新进程标记。 关闭 SELinux 的方式也很简单,只需编辑配置文件 /etc/selinux/config,并将文本中 SELINUX= 更改为 SELINUX=disabled 即可,重启系统后,SELinux 就被禁用了。

Permissive工作模式(宽容模式)

在 Permissive 模式中,SELinux 被启用,但安全策略规则并没有被强制执行。当安全策略规则应该拒绝访问时,访问仍然被允许。然而,此时会向日志文件发送一条消息,表示该访问应该被拒绝。 SELinux Permissive 模式主要用于以下几种情况: 审核当前的 SELinux 策略规则; 测试新应用程序,看看将 SELinux 策略规则应用到这些程序时会有什么效果; 解决某一特定服务或应用程序在 SELinux 下不再正常工作的故障。 某些情况下,可使用 audit2allow 命令来读取 SELinux 审核日志并生成新的 SELinux 规则,从而有选择性地允许被拒绝的行为,而这也是一种在不禁用 SELinux 的情况下,让应用程序在 Linux 系统上工作的快速方法。

Enforcing工作模式(强制模式)

Enforcing 模式, SELinux 被启动,并强制执行所有的安全策略规则。

禁用SELinux

查看SElinux状态

临时修改selinux模式为Permissive工作模式(宽容模式)

永久修改selinux模式为Disable工作模式(关闭模式)

关闭防火墙

CentOS 7默认使用的是firewall作为防火墙

开机时间优化

  • systemd-analyze time #查看系统的启动时间

  • systemd-analyze blame #查看系统每个服务的启动时间

  • systemd-analyze plot >bootime.avg #生成图形化效果,然后sz bootime.avg下载

开机启动时间

查看具体的使用时间

生产图表

开机启动项优化

最后更新于

这有帮助吗?