CentOS安装
CentOS具体安装步奏
接下来将使用CentOs的DVD安装光盘展示Linux操作系统的基本安装过程。
- 插入CentOs光盘并引导安装程序(系统可以到www.centos.org下载)
(在实际操作中按Delete键,在虚拟机按F2,实际第一次在虚拟机安装CentOs并不用按F2)
新建虚拟机--选这Linux操作系统,然后选择具体的版本--然后下一步(没有说的一律默认)
B.名称改不改无所谓,默认的安装位置一定要改一下
C.由于刚开始没有指定系统的位置所以现在要浏览一下系统的位置
- 开启虚拟机
- 第一次安装选择第一个(其它几个按钮在后续的课程中会讲到)
- 选这语言,往下拉中文在下面(如果你能看懂别的就随意)
- 在这里注意这个软件选择,一定要改一下。我们这里选的是GNOME桌面和开发安装,当然这个也可以根据实际情况来定。然后完成即可。
- 在这里设置一下ROOT密码它的密码复杂性为数字、英文、符号必须全有。
然后等待安装完成即可
注意:
在刚开始学习Linux系统建议关闭它的防火墙和SELinux
关闭防火墙:打开终端输入以下命令
systemctl stop firwalld.service --停止防火墙
systemctl disable firwalld.service --禁用防火墙
关闭SELinux:
进入/etc/sysconfig/selinux文件,修改SELINUX=disabled保存退出
完毕之后重启操作系统。
LInux操作系统的引导过程
- 开机质检
服务器主机开机以后,将根据主板BIOS中的设置对CPU、内存、显卡、键盘等设备进行初步检测。
2.MBR引导
当从本机硬盘中启动系统时,首先根据硬盘的第一个扇区中MBR(Master Boot Record,主引导记录)的设置,将系统控制权传递给包含操作系统引导的文件的分区。
3.GRUB菜单
对于Linux操作系统来说,GRUB(GRand Unified Bootloader,统一启动加载器)是使用最为广泛的多系统引导器程序。系统控制权传递给GRUB以后,将会显示菜单给用户选择,并根据选项加载Linux内核文件,需要注意。CentOs7采用的是GRUB2启动引导器。
4.加载Linux内核
Linux内核是一个预先编译好的特殊二进制文件,介于各种硬件和操作系统之间,负责资源的分配与调度。内核接过系统控制权以后,将完全掌握整个Linux操作系统的运行过程。在CentOS系统中,默认内核文件位于“/boot/vmlinuz-3.10.0-514.el7.x86_64”。
5.init 进程初始化
为了完成进一步的系统引导过程,Linux内核首先将系统中的“sbin/init”程序加载到内存中运行(运行中的程序称为进程),init进程负责完成一系列的系统初始化过程,最后等待用户进行登录。
系统初始化进程及文件
- init进程
Linux操作系统中的进程使用数字进行标记,每个进程的身份标记号称为PID。在引导系统的过程中“sbin/init”是内核第一个加载的程序,因此init进程对应的PID号总是1。
init下的进程称为它的子进程,而init称为它们的父进程这些子进程还会不断地生成新的进程,依次不断繁衍下去,最终构成一颗枝叶繁茂的进程树,为用户提供服务。
init进程为这棵树的树根,所以init进程不允许轻易终止。需要切换不同的运行状态时可以向init进程发送正确的执行参数,由init自身来完成相关操作。
2.systemd概述
systemd是Linux操作系统的一种init软件,CentOs7系统中采用全新的systemd启动方式,取代了传统的sysvinit。systemd启动方式使系统初始化时诸多服务并行启动,提高了开机效率。
CentOS 7系统中“/sbin/init”是“/lib/systemd/systemd”的链接文件。换言之CentOS 7系统中运行的第一个init进程是“/lib/systemd/systemd”。systemd守护进程负责Linux的系统和服务,systyemctl用于控制systemd管理的系统和服务状态。
systemd将其管理的资源组织成各种类型的单元(Unit)
systemd的单元类型:
service unit:文件扩展名为.service,用于定义系统服务
target unit:文件扩展名为.target,用于模拟实现“运行级别”
device unit:文件扩展名为.device,用于定义内核识别的设备
mount unit:文件扩展名为.mount,定义文件系统的挂载点
socket unit:扩展名为.socket,用于表示进程间通信用到的socket文件
snapshot unit:文件扩展名为.snapshot,用于管理系统快照
swap unit:文件扩展名为.swap,用于表示swap设备
automount unit:扩展名为.automount,文件系统自动挂载点设备
path unit:文件扩展名为.path,用于定义文件系统中的文件或者目录
CentOS运行级别:
runlevel查看运行级别
0关机,1单用户模式无需输入密码,2、3、4多用户文字模式,5完整的图形模式,6重启。
切换运行级别:
方法1:使用 init 加数字
方法2:使用 systemctl isolate 和init7个级别对应的英文单词
0=target
1=rescue.target
2/3/4=multi-user.target
5=graphical.target
6=reboot.target
修改默认级别:systemctl get-default 返回默认级别
ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
服务控制及优化启动过程
A.服务的控制:
手工操作服务:
systemctl 指令 服务名称
指令: status查看状态
stop停止服务
start启动服务
restart重启服务(慎用)
reload(修改了服务的配置文件后,可以用reload重读配置文件即可,无需重启)
例:systemctl start postfix.service --启动postfix服务
systemctl status postfix.service --查看postfix状态(如下图)
systemctl stop postfix.service --关闭postfix服务
systemctl restart postfix.service --重启postfix服务
- 优化启动过程
Linux操作系统中包含了大量的服务程序,这些服务程序根据切换运行级别启动或停止。其中有不少系统服务程序可能不是用户需要的,但默认也运行了。那么如何控制开机自动运行的服务,以减少系统资源的占用,提高系统运行效率呢?
常见的系统服务:
服务名称
|
用途简介 |
备注 |
atd |
延期、定时执行任务 |
建议关闭 |
bluetooth |
发现、认证蓝牙相关设备 |
建议关闭 |
crond |
按预定周期执行计划任务 |
建议开启 |
irgbalance |
多核心CPU处理器的调度支持 |
建议开启 |
kdump |
记录内核崩溃时的内存信息 |
建议关闭 |
lvm2-monitor |
LVM管理及监控 |
建议开启 |
netfs |
访问共享文件夹等网络文件系统 |
建议开启 |
network |
配置及使用网卡、网络地址 |
建议开启 |
restorecond |
SELinux安全机制的文件监控和恢复功能 |
建议关闭 |
rhnsd |
访问Red Hat Network,获取通知、提交订阅等 |
建议关闭 |
rpcgssd |
管理NFS (Network File System,网络文件系统)访问中的客户程序语境 |
建议关闭 |
saslauthd |
基于文本的身份认证 |
建议关闭 |
smartd |
监控本地硬盘的状态并发送故障报告 |
建议开启 |
smb |
文件共享服务 |
建议关闭 |
sshd |
提供远程登录和管理Linux主机的功能 |
建议开启 |
rsyslog |
记录内核、系统的日志消息 |
建议开启 |
vsfipd |
通过FTP (File Transfer Protocol,文件传输协议)提供文件上传、下载功能 |
建议关闭 |
调整自启动模式:
ntsysv命令:图形界面配置所有服务(需要跟随启动级别)
ntsysv --level 35
在命令行输入ntsysv进入图形化界面,前面带有*为自动启动,可以↑↓移动位置按Space(空格)就改为了关闭了自动启动。按F1可以查看选中服务的说明信息。按TAB键移动到确定退出
systemctl命令:非图形界面
systemctl 指令 服务名称
指令:enable启用,disable禁用,is-enabled 查询是否自动启动
例如 systemctl is-enabled atd.service(所有服务信息 /lib/systemd/system目录扩展名service)
systemctl enable atd.service 设为自动启动
systemctl disable atd.service 禁用自动启动
systemctl list-units --type=service --查看所有已经激活的系统服务