Centos Linux系统优化一
一、磁盘分区
(一)分区概况
磁盘在使用前需要进行分区,磁盘分区有:
- 主分区
- 扩展分区
- 逻辑分区
一块磁盘最多有4个主分区(数字编号1-4),不过有时可能根据需要会有逻辑分区,这时可以将一个主分区的位置用一个扩展分区来替换,然后再扩展分区中进行逻辑分区的划分。注意的是一块磁盘最多有一个扩展分区。
扩展分区是抽象的,它不能使用,必须要将其划分为一个或者多个逻辑分区(数字编号从5开始),然后格式化,创建文件系统。
在windows系统中,我们可以将磁盘最后划分为C盘、D盘...等来进行访问,而在linux中划分后的分区通过设备名来进行访问,这些设备存放在/dev/下:
[root@localhost ~]# ll /dev/ total 0 ... brw-rw----. 1 root disk 8, 0 Oct 8 17:45 sda brw-rw----. 1 root disk 8, 1 Oct 8 17:45 sda1 #第一块磁盘的第1个分区 brw-rw----. 1 root disk 8, 2 Oct 8 17:45 sda2 #第一块磁盘的第2个分区 brw-rw----. 1 root disk 8, 3 Oct 8 17:45 sda3 #第一块磁盘的第3个分区 ...
因为我们使用的是SCSI接口,所以我们使用的设备是以sd开头的,第一块磁盘就是sda,第二块磁盘就是sdb,...以此类推。
(二)服务器分区选择
1、常规分区方案
- /boot(100-200M)
- swap(内存的1.5倍)
- /(剩余所有的硬盘空间)
2、大量存储
对于有大量数据存储的场景,此时可以多一个分区专门用于存储数据,这样重装系统数据不会丢失,相当于windows系统重装系统C盘丢失,D盘等数据不会丢失。
- /boot(100-200M)
- swap(内存的1.5倍)
- /(50-200G)
- /data(剩余所有的硬盘空间)
3、门户网站
- /boot(100-200M)
- swap(内存的1.5倍)
- /(50-200G)
对于剩余的硬盘空间不在进行划分,后续根据需求再进行划分,这样做的目的是较为灵活。
一般情况选择第一种就可以了,其中/boot分区是Linux引导分区,存放系统引导文件,如Linux内核等。swap(交换分区)的作用是用作虚拟内存。
二、系统优化
(一)yum源更换
Linux下安装软件的工具用yum,它可以解决软件依赖关系,通过yum安装软件,默认是获取rpm包的配置(官方镜像),位于/etc/yum.repos.d:
# CentOS-Base.repo # # The mirror system uses the connecting IP address of the client and the # update status of each mirror to pick mirrors that are updated to and # geographically close to the client. You should use this for CentOS updates # unless you are manually picking other mirrors. # # If the mirrorlist= does not work for you, as a fall back you can try the # remarked out baseurl= line instead. # # [base] name=CentOS-$releasever - Base mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #released updates [updates] name=CentOS-$releasever - Updates mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #additional packages that may be useful [extras] name=CentOS-$releasever - Extras mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #additional packages that extend functionality of existing packages [centosplus] name=CentOS-$releasever - Plus mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/ gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
所以yum安装软件的速度会较慢,为了提高下载速度可以将默认下载rmp包的配置从国外官方yum源改为国内的yum源,下面是一些可选的国内yum源。
具体yum源更换可按照下面的步骤:
- 备份原始yum源
- 下载需要更换的yum源文件
- 修改文件名称
# 备份 [root@localhost yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.ori # 下载yum源配置文件 使用https://mirrors.cnnic.cn/help/centos/中的内容覆盖掉 /etc/yum.repos.d/CentOS-Base.repo 文件 vim CentOS-Base.repo # CentOS-Base.repo # # The mirror system uses the connecting IP address of the client and the # update status of each mirror to pick mirrors that are updated to and # geographically close to the client. You should use this for CentOS updates # unless you are manually picking other mirrors. # # If the mirrorlist= does not work for you, as a fall back you can try the # remarked out baseurl= line instead. # # [base] name=CentOS-$releasever - Base baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/os/$basearch/ #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-7 #released updates [updates] name=CentOS-$releasever - Updates baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/updates/$basearch/ #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-7 #additional packages that may be useful [extras] name=CentOS-$releasever - Extras baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/extras/$basearch/ #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-7 #additional packages that extend functionality of existing packages [centosplus] name=CentOS-$releasever - Plus baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/centosplus/$basearch/ #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-7 # 更新更新软件包缓存 [root@localhost yum.repos.d]# yum makecache
在上面更新yum源后可以安装一些必要的软件包:
# sysstat 它的主要用途是观察服务负载,比如CPU和内存的占用率、网络的使用率以及磁盘写入和读取速度等。 [root@localhost yum.repos.d]# yum install tree telnet sysstat lrzsz -y
(二)用户管理
一般情况下应该尽量避免用root用户来进行操作,所以需要新建用户:
[root@localhost ~]# useradd test #新建用户test [root@localhost ~]# passwd test #给新建用户设置密码,后面如果不给用户名,改变的就是当前登录的用户密码 Changing password for user test. New password: BAD PASSWORD: The password fails the dictionary check - it is too simplistic/systematic Retype new password: passwd: all authentication tokens updated successfully. [root@localhost ~]# su - test #切换用户,带-切换,保证用户变量全部带过来 Last login: Sun Oct 11 22:30:13 CST 2020 on pts/1 [test@localhost ~]$ [test@localhost ~]$ who am i #查看当前登录用户 root pts/1 2020-10-11 21:45 (192.168.159.1) [test@localhost ~]$ su #su不加参数直接切换到root用户 Password:
注意:
- $是普通用户提示符,#是root用户提示符,普通用户只能在自己的家目录下进行操作
- 切换用户使用su进行切换,其中su和su -的区别是su - 会将用户的变量一起带过来,所以确保自己使用su -进行切换
- 超级用户root切换到普通用户不需要密码,普通用户切换到root或者普通用户需要密码
(三)安全管理
Linux中的Selinux是保证Linux的安全,但是这个东西会阻碍其它很多东西,对于Linux的安全有防火墙,所以一般是关闭Selinux。
Selinux有以下几种状态,可以通过以下的方式查看:
[root@localhost ~]# cat /etc/selinux/config # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=enforcing # SELINUXTYPE= can take one of three two values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted
可以看到它有enforcing、permissive、disabled三种状态。enforcing处于启动状态,permissive是警告状态但非启动状态,disabled是关闭状态。SELINUX=enforcing表明处于启动状态,当然你也可以通过:
[root@localhost ~]# getenforce Enforcing
查看目前状态。那么如何关闭呢?
[root@localhost ~]# sed -i s#SELINUX=enforcing#SELINUX=disabled#g /etc/selinux/config [root@localhost ~]# grep "disabled" /etc/selinux/config # disabled - No SELinux policy is loaded. SELINUX=disabled
上面虽然已经关闭了Selinux但是需要重启服务器,但是在生产场景下,一般是不会重启的,此时可以进行临时生效方案:
[root@localhost ~]# getenforce Enforcing # 临时生效方案,不需要重启服务器 [root@localhost ~]# setenforce 0 [root@localhost ~]# getenforce Permissive
所以,对于Selinux需要进行永久关闭和临时生效方案。