1. 服务 Service 管理
1.1 基本介绍
服务 service 本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其他程序的请求,比如(mysql,sshd,防火墙等),因此我们又称为守护进程,是Linux中非常重要的知识点。
1.2 service 管理指令
service 服务名 start | stop | restart | reload | status
【特别说明:在 CentOS7 中,不再使用 service 管理服务,而是 systemctl】
1.3 使用案例
- 查看当前防火墙的状况,关闭防火墙和重启防火墙
// 查看防火墙的状态
service iptables status
// 关闭防火墙
service iptables stop
// 启动防火墙
service iptables start
1.4 注意细节
- 关闭或者启用防火墙后,立即生效。【telnet 测试,某个端口即可】
【telnet 需要进入控制面版中 > 选择程序和功能 > 左边栏选择启动或关闭 Windows 功能,进入其中找到 telnet 打开即可测试】
telnet 192.168.253.128 22
- 这种方式只是临时生效,当重启系统后,还是回归以前对服务的设置。
- 如果希望设置某个服务自启动或关闭永久生效,要使用 chkconfig 指令
1.5 查看服务名
-
使用 setup > 系统服务 就可以看到
-
/etc/init.d/服务名称
ls -l /etc/init.d/
1.6 服务的运行级别(runlevel)
查看或者修改默认级别:vi/etc/inittab
Linux系统有7种运行级别(runlevel):常用的是级别3和5
- 运行级别 0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
- 运行级别 1:单用户工作状态,root 权限,用于系统维护,禁止远程登陆
- 运行级别 2:多用户状态(没有 NFS),不支持网络
- 运行级别 3:完全的多用户状态(有 NFS),登陆后进入控制台命令行模式
- 运行级别 4:系统未使用,保留
- 运行级别 5:X11 控制台,登陆后进入图形 GUI 模式
- 运行级别 6:系统正常关闭并重启,默认运行级别不能设为 6,否则不能正常启动
1.7 开机的流程说明
1.8 chkconfig 指令
1.8.1 基本介绍
通过 chkconfig 命令可以个每个服务的各个运行级别设置自启动/关闭
1.8.2 基本语法
- 查看服务 chkconfig --list | grep xxx
// 查看所有服务
chkconfig --list
// 查看特定的服务
chkconfig --list | grep sshd
- chkconfig 服务名 --list
chkconfig iptables --list
- chkconfig --level 5 服务名 on/off
1.8.3 应用实例
- 请显示当前系统所有服务的各个运行级别的运行状态
chkconfig --list
- 请查看 sshd 服务的运行状态
service sshd status
- 将 sshd 服务在运行级别 5 下设置为不自动启动,看看有什么效果?
chkconfig --level 5 sshd off
- 当运行级别为 5 时,关闭防火墙
chkconfig --level 5 iptables off
- 在所有运行级别下,关闭防火墙
chkconfig iptables off
- 在所有运行级别下,开启防火墙
chkconfig iptables on
【使用细节】
chkconfig 重新设置服务后自启动或关闭,需要重启机器 reboot 才能生效
2. 动态监控进程
2.1 基本介绍
top 与 ps 命令很相似,它们都是用来显示正在执行的进程,Top 与 ps 最大的不同之处,在于 top 在执行一段时间可以更新正在运行的进程。
2.2 基本语法
top 【选项】
2.3 选项说明
2.4 交互操作说明
2.5 应用实例
-
监视特定用户
top:输入此命令,按回车键,查看执行的进程。
u:然后输入 u 回车,在输入用户名,即可
-
终止指定的进程
top:输入此命令然后回车,查看执行的进程
k:然后输入 k 回车,在输入要结束的进程 ID 号 -
指定系统状态更新的时间(每隔10秒自动更新,默认是 3 秒刷新)
top -d 10
3. 查看系统网络情况 netstart
3.1 基本语法
netstart 【选项】
3.2 选项说明
-an 按一定顺序排列输出
-p 显示哪个进程在调用
3.3 应用案例
- 查看系统所有的网络服务
netstat -anp | more
- 请查看服务名为 sshd 的服务的信息
netstat -anp | grep sshd
4. RPM 和 YUM
4.1 基本介绍
一种用于互联网下载包的打包及安装工具,它包含在某些 Linux 分发版中,它生成具有 .RPM 扩展名的文件,RPM 是 RedHat Package Manager (RedHat 软件包管理工具)的缩写,类似于 windows 的 setup.exe ,这一文件格式名称虽然打上了 RedHat 的标志,但理念是通用的。
Linux 的分发版本都有采用 (suse,redhat,centos 等等),可以算是公认的行业标准了。
4.2 rpm 包的管理
4.2.1 rpm 包的简单查询指令
查询已安装的 rpm 列表 rpm -qa | grep xxx
4.2.2 rpm 包名基本格式
一个 rpm 包名:firefox-45.0.1-1.el6.centos.x86_64.rpm
名称:firefox
版本号:45.0.1-1
使用操作系统:el6.centos.x86_64
表示centos6.x的64位操作系统
如果是 i685、i386表示 32 位操作系统,noarch 表示通过
4.2.3 rpm 包的其他查询命令
4.3 卸载 rpm 包
4.3.1 基本语法
rpm -e RPM包的名称
4.3.2 应用案例
删除 firefox 软件包
rpm -e firefox
4.3.3 细节讨论
- 如果其它软件包依赖于您要卸载的软件包,卸载时则会产生错误信息。
如:$ rpm -e foo
removing these packages would break dependencies:foo is needed by bar-1.0-1 - 如果我们就是要删除 foo 这个 rpm 包,可以增加参数 --nodeps,就可以强制删除,但是一般不推荐这样做,因为依赖包该软件包的程序可能无法运行。
如:$ rpm -e --nodeps foo
4.4 安装 rpm 包
4.4.1 基本语法
rpm -ivh RPM包全路径名称
4.4.2 参数说明
- i:install 安装
- v:verbose 提示
- h:hash 进度条
4.4.3 应用实例
- 演示卸载和安装 firefox 浏览器
// 首先卸载
rpm -e firefix
// 然后安装,进入 /media/CentOS_6.8_Final/Packages/
cd /media/CentOS_6.8_Final/Packages/
// 找到 firefox 安装包
ls -l | grep firefox-45.0.1-1.el6.centos.x86_64.rpm
// 复制 firefox 安装包到 /opt 目录下
cp firefox-45.0.1-1.el6.centos.x86_64.rpm
// 最后进入 /opt 目录安装 firefox 即可
rpm -ivh firefox-45.0.1-1.el6.centos.x86_64.rpm
4.5 YUM 基本介绍
Yum 是一个 Shell 前端软件包管理器,基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包
4.5.1 yum 的基本指令
查询 yum 服务器是否有需要安装的软件
yum list | grep xx 软件列表
安装指定的 yum 包
yum install xxx 下载安装
4.5.2 yum 应用实例
请使用 yum 的方式来安装 firefox
-
首先查看一下 firefox rpm 在 yum 服务器有没有
-
安装
yum install firefox
默认会安装最新版本的
安装成功