菜鸟笔记
提升您的技术认知

菜鸟教程

rapidjson 构造数组将函数实现放在头文件中RapidJSON解析和生成Json绝对路径和相对路径gcc 优化选项 -O1 -O2 -O3 -Os 优先级Python求一个整数位数的方法python中判断数字位数的几种方法python计算分位数查看hive的版本如何查看hadoop的版本elasticsearch查看所有indexsublime 列模式 列编辑shell遍历目录下所有文件http-parser解析http报文详解supervisor守护工具配置lnmp为已有站点手动更新ssl证书记录java 最长回文、最长回文子串ssh免密码登录为Linux内核开启BBR加速frp服务开机自启x86架构下,页面大小为什么是4K?如何限制对象只能建立在堆上或者栈上进程间通信的方式SyntaxError: Non-ASCII character '\xe5'TCP 连接半关闭问题ucontext 协程库代码分析python中yield的用法详解为PHP7.0安装redis扩展ucontext 简单协程库ImportError: No module named cv2的完美解决方法HashMap扩容全过程关于HashMap常见面试考点(底层原理+扩容机制)DOS批处理中的字符串处理详解(字符串截取)Linux下如何查找.sh后缀的文件core文件出现“is not a core dump: File format not recognized”的原因和解决方法(看/proc/pid/limits)记一次docker问题定位(perf,iostat等性能分析)Protocol Buffers 2.5.0 安装python 使用thrift序列化与反序列化对象PHP的base64_decode乱码linux中后台运行 java -jarLinux常用命令--文件搜索Linux常用命令--文件基础操作与文件权限变更Linux常用命令--软件包管理之(RPM包管理)Linux常用命令--文件编辑与查看Linux常用命令--文件压缩与挂载Linux常用命令--系统管理Linux常用命令--系统管理之(用户管理、用户组管理)Linux常用命令--系统管理之(进程管理、定时任务、系统监控)Linux常用命令--软件包管理之(服务管理)Linux常用命令--软件包管理之(yum与源码包安装)Linux初窥:Linux下SSH免密码登录配置如何查看CentOS7的版本信息Linux环境变量文件介绍Linux下Tomcat的安装与配置CentOS解决-bash: vim: command not found10 个提高效率的 Linux 命令别名shell比较浮点数和整数crontab 30秒执行一次Python中字典合并的四种方法shell查看CPU 硬盘 内存使用率Python 四大主流 Web 编程框架python:web后台框架简单实现如何使用 BRPC Dummy Serverlist、vector使用erase()时需要注意的地方——迭代器失效容器删除元素后迭代器失效_STL源码剖析——vector容器STL的erase()陷阱-迭代器失效总结.bashrc中定义实用的别名和函数

Linux常用命令--软件包管理之(服务管理)

阅读 : 148

目录

服务分类

独立服务管理

独立服务的启动

 独立服务的自启动

基于xinetd管理的服务

安装xinetd服务

基于xinetd管理服务的启动和自启动

源码包服务管理

源码包服务启动

源码包服务的自启动

让源码包服务能被service管理

让源码包服务能被chkconfig与ntsysv管理

服务分类

根据软件安装方式的不同,我们将Linux服务分为了两类:RPM包安装的服务和源码包安装的服务,其中RPM包安装的服务按照管理方式的不同又可以分为:独立的服务和基于xinetd管理的服务。 

独立服务管理

我们使用RPM包安装的大多数软件所提供都是独立服务,例如Apache服务,在默认的情况下,这些软件在安装时都会按照约定去存放文件,例如:启动脚本统一存放在/etc/init.d目录下。

独立服务的启动

独立服务软件的启动脚本都存放在/etc/init.d目录下,所以我们可以通过下面的方式来启动或者停止服务。

/etc/init.d/[独立服务名] [start|stop|status|restart]

在RETHAT系列的Linux还提供了一个service命令,用来简化独立服务的启动管理。

service [独立服务名] [start|stop|status|restart]

 独立服务的自启动

设置独立服务是否开机启动有以下三种方法:

1)使用chkconfig命令,命令语法:chkconfig [--level 运行级别] [服务名] [on|off]

//查看所有服务的自启动状态
chkconfig --list
//将Apache服务的2345运行级别设置为开机自启动
chkconfig --level 2345 httpd on

2)修改/etc/rc.d/rc.local文件(Linux系统在启动后会自动执行rc.local文件中的命令)。

以Apache服务开机自启动为例,可在rc.local文件中增加如下命令:  

/etc/init.d/httpd start

3)如果是在RETHAT系列的Linux中,还可以使用ntsysv命令管理自启动服务。

ntsysv图形化界面如下图所示,使用空格键进行切换,“*”代表开机自启动。 

基于xinetd管理的服务

在Linux中有些软件服务是通过xinetd服务进行管理的,例如telnet服务和rsync服务,这类软件在存放文件时也会遵循一定的规则,如下表所示。 

目录 用途
/etc/xinetd.conf xinetd配置文件安装目录
/etc/xinetd.d xinetd服务的启动脚本安装目录

安装xinetd服务

现在,基于xinetd管理的服务已经变得越来越少了,这就导致了在新版本的Linux中已默认不再安装xinetd服务,如果需要使用该服务需进行安装。

//使用yum安装xinetd服务
yum -y install xinetd

基于xinetd管理服务的启动和自启动

基于xinetd管理的服务并不会像独立服务那样区分启动和自启动,这两个状态在xinetd中其实共用的是同一个状态,即:一个服务如果启动了,那它就是自启动状态的;如果服务未启动,那么它就不是自启动状态。

使用xinetd对某一个服务的启动或自启动进行管理,有以下三种方式:

1)修改/etc/xinetd.d目录下服务所对应的配置文件

以telnet服务为例,需修改/etc/xinetd.d/telnet配置文件,若将配置文件中的disable属性设置为no,则表示在xinetd服务启动的时候将自动启动telnet服务。

配置文件修改完成之后,需重启xinetd服务。

//重启xinetd服务
service xinetd restart

2)使用chkconfig命令,命令语法:chkconfig [--level 运行级别] [服务名] [on|off]

//将Telnet服务的2345运行级别设置为启动或开机自启动
chkconfig --level 2345 telnet on

3)在RETHAT系列的Linux中,基于xinetd管理的服务也可以使用ntsysv命令来进行管理。

源码包服务管理

源码包服务启动

使用源码包安装的服务需调用服务对应的启动脚本来进行启动,不同软件的启动脚本不同,可以通过查看源码包中的安装说明INSTALL文件来获得。

以下是Apache服务的安装说明,从中我们可以了解到服务的启动脚本为:[服务安装目录]/bin/apachectl start 

源码包服务的自启动

源码包服务的自启动状态也可以通过修改/etc/rc.d/rc.local文件来进行配置,配置方式与独立服务相同。

让源码包服务能被service管理

在/etc/init.d目录下创建一个源码包服务的启动脚本的软链接文件,可以让service命令在调用该软链接文件启动或停止服务的时候自动调用源码包服务的启动脚本去执行,这样就能够用service命令来管理源码包服务了。

//为Apache源码包服务的启动脚本在/etc/init.d目录下创建软链接文件apache
ln -s /usr/local/apache/bin/apachectl /etc/init.d/apache
//软链接创建完成之后,通过service管理Apache源码包服务
//启动Apache服务
service apache start
//停止Apache服务
service apache stop

让源码包服务能被chkconfig与ntsysv管理

在源码包服务能被service管理了以后,通过修改在/etc/init.d目录下创建的软链接文件可以让源码包服务能被chkconfig与ntsysv管理,具体步骤如下。

首先修改软链接文件,增加如下注释:

#chkconfig:35 81 81 
#description:source package apache

各字段含义如下图所示:

其中启动顺序和关闭顺序不能与系统中已经存在的服务的顺序号重复,在/etc/rc.d/rc[运行级别0-6].d目录下可以查看该运行级别下已存在的服务的启动和关闭顺序。其中S[启动顺序号][服务名]表示的是服务的启动顺序号,K[关闭顺序号][服务名]表示的是服务的关闭顺序号。

软链接修改完成之后,执行以下命令将服务加入到chkconfig命令的管理序列。

//将apache服务加入到chkconfig命令的管理序列
chkconfig --add apache