Linux服务管理-服务分类(RPM包和源码包安装的服务)

前言

  • 在Linux中的服务可分为两类,一类是 RPM包默认安装的服务(包含独立的服务和xinetd的服务),一类是 源码包安装的服务。服务的管理也就是服务的启动和自启动。所以会学习这两类的启动和自启动的方法
    -什么是服务那??? 在windows当中看到的.exe程序就是二进制经过编译的包。安装的方法一样但是装完的程序有一些只是系统的常用的应用软件,但是有一些可以安装成为系统的服务。比如:qq这样的就是应用软件,虚拟机这样的装完就是服务。
    在这里插入图片描述
    自动: 随着开机或者重启,服务自动开启。
    手动: 这个服务随着开机并不启动,但是当由其他的服务需要它的时候,调用它,这个服务不需要经过管理员的允许,会自己被这个服务直接调用起来。

1. 服务的分类

在这里插入图片描述
图中说明:

  • (1) RPM包默认安装的服务,为什么是默认那??? Linux整个系统都是用rpm安装的,用rmp包安装的服务,就跟系统的默认值一样,所以是默认服务。
  • (2) 什么是独立的服务:??? Linux中绝大的服务都是独立的。直接服务就在内存里,当有用户访问,这个服务直接响应用户。好处是: 服务的访问响应的更快,坏处: 这种独立的服务越多,耗费的内存资源就越多。
  • (3) 什么是基于xinetd的服务??? Xinetd本身是独立的,就在内存当中。跟apache服务不一样,有人访问,就是拿apache响应他就行了。然后就能打开我的网页了。但是Xinetd服务不一样,你访问xinetd,xinetd本身没有任何功能,他唯一的功能,就是在他后面有一系列被他管理的服务。
    举个栗子: 如果你要访问他后面的服务比如rsync这个服务,这是一个Linux当中网络备份的这个服务,加入访问它,客户是不能直接找到它的,因为这个服务没有在内存里,先找xinetd通过xinetd访问rsync, 因为这个服务是被xinetd服务管理的, 然后srync响应xinetd,由xinetd再去响应客户端。 Xinetd服务本身是独立的,但是后台它管理的这些服务称作基于xinetd的服务。
    好处是: 后面的这些基于xinetd服务本身不占用内存,坏处: 响应的速度相比独立的服务较慢。

2. 启动与自启动

  • 服务启动: 就是在当前系统中让服务运行,并提供功能。
  • 服务自启动: 自启动是指让服务在系统开机或重启之后,随着系统的启动而自动启动,随着系统的启动而自动启动服务。

小提示: 服务的管理,其中之一就是服务的启动和自启动。这就是我接下来学习的这三类服务的启动和自启动的方法

3. 查询已安装的服务

3.1 RPM包安装的服务

  • 命令: chkconfig --list
    作用:查看服务自启动状态,可以看到所有RPM包安装的服务
    在这里插入图片描述

小提示:

  • (1) 这个命令只能查看rpm包安装的服务。但是这条命令它附带的可以看到系统当中,所有已经安装完的rpm包。
    (2) 上图中的0-6的数字代表的什么??? 代表的是运行级别: 0~6代表Linux的七个默认运行级别,0代表关机 、1代表单用户、 2代表不完全多用户 、3代表字符界面 、4代表未分配 、5代表图形界面、6代表重启动
    (3) 如果服务2345写的都是启用,指的是: 当我的计算机进行重启,Linux中如果进入的是2345,这个四个运行级别当中的任意一个,这个服务会随系统的启动自动运行。如果服务2345写的启动,这个服务会在进入2345这个级别之后,开机进行启动。

大提示:

  • 这里写的启用并不代表这个服务在当前的系统当中已经运行,而代表这个服务会随着系统的启动下次运行。
  • 但是如何查看在当前系统当中,已经运行了那??? 一个是用ps aux:查看系统当中所有运行的进程 可以用管道符ps aux | grep crond ,另一个可以用netstat –tlun查看,但是有一个问题,像crond是守护进程,没有启动这个服务,没有端口。所以还是用ps命令查看更准确。

3.2 源码包安装的服务

  • 查看服务安装位置,一般是/usr/local下
  • 就是开始安装之前看一下INSTALL文件,这个文件不仅有安装的过程,也有服务的启动方法。

小提示:
(1) 并不能用命令来查看,因为安装位置不同
(2) rpm会安装在写这个rpm包的人觉得安装哪合适就会安装在哪。都是系统默认位置。配置文件会安装在/etc/ 目录下,启动脚本会装在/etc/rc.d/initd/ 这个是约定俗成的。

3.3 RPM安装服务和源码包安装服务的区别就是安装位置的不同

  • RPM包安装在默认位置中
  • 源码包安装在指定位置,一般是/usr/local/

小提示:

  • 这是安装之后的区别就是安装位置的不同,所带来的就是管理方法不同service httpd start可以启动apache这样的服务。chkcongfig --list可以查看rpm包安装的自启动状态。
    但是这些命令不能管理源码包的服务,原因是: 这些命令搜索的是指定位置,service httpd start之所以能把apache安装的rpm包启动,是因为搜所得就是/etc/rc.d/init.d在这个目录找到了apache的启动脚本httpd。所以在默认情况下,源码包安装的服务是用绝对路径进行启动的。

有没有办法源码包安装的服务使用命令开启那???

  • 答: 如果把源码包的安装的服务,把它的启动脚本拷贝到这个/etc/rc.d/init.d路径中,或者做个连接,这个时候service就可以识别源码包安装的服务。但是不推荐把源码包服务变成跟rpm一样的管理方法。 原因是: 区分源码包和rpm包服务的一个标志,如果把管理方法变成一样的,会给初学者带来困惑。因为安装的位置不同导致了服务的启动和自启动方法不同。

源码包和rpm包在删除软件上的区别:

  • (1) rpm包想要删除必须使用-e选项来删除软件包,因为把这个文件包安装的到处都是。
    (2) 源码包:直接把安装软件的目录删掉就行了,比如/usr/local/apache 所有的文件都安装到了指定的目录当中,所以只需要删除目录就行了。

4. 总结

  • 把服务分为以下三种,每一种有不同的管理方法,归根到底,是因为这三种服务安装位置不同,导致服务的管理方法不同(服务的启动和自启动,开启方式不同)。
    在这里插入图片描述
©️2020 CSDN 皮肤主题: 我行我“速” 设计师:Amelia_0503 返回首页