• [Linux]服务管理:RPM包, 源码包


                                   |--- 1. 独立的服务

             |---- RPM包(二进制包)默认安装的服务 |--- 2. 基于xinetd服务

    linux服务分类: |

             |---- 源码包安装的服务

    查询已安装的服务:

      

      RPM包安装的服务:chkconfig --list( 查看服务自启动状态,可以看到所有RPM包安装的服务 )

      ( 7个运行级别,0代表关机,1代表单用户,2代表不完全多用户,3代表字符界面,4未分配,5图形界面,6重新启动 ,如果2 3 4 5 任意一个启用,代表服务会随系统下次启动进入2 3 4 5级别时而启动 )

      

      源码包安装的服务:查看服务安装位置,一般是 /usr/local 下

    RPM安装服务 和 源码包 安装服务的区别就是安装位置的不同(导致管理方式的不同):

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

    1. RPM服务的管理 - 独立服务管理

      RPM包安装的默认位置:

        /etc/init.d  -> /etc/rc.d/init.d           #启动脚本位置

        /etc/sysconfig/               # 初始化环境配置文件位置

        /etc/                  # 配置文件位置

        /etc/xinetd.conf              # xinetd配置文件

        /etc/xinetd.d/                  # 基于xinetd服务的启动脚本

        /var/lib/                   # 服务产生的数据放在这里

        /var/log/                 # 日志

      安装:rpm -ivh [--nodeps] 包全名

      升级:rpm -Uvh [--nodeps] 包全名

      卸载:rpm -e [--nodeps] 包名  (查找完整包名:rpm -qa | grep 包名)

      校验:rpm -V 包名  (验证RPM软件包安装后是否有修改)

      文件提取:rpm -qf /bin/ls (查询 ls 属于哪个软件包);

           mv /bin/ls /tmp  (模拟 ls 命令误删除);

           rpm2cpio /mnt/cdrom/Packages/coreutils-8.22-18.el7.x86_64.rpm | cpio -idv ./bin/ls  (提取RPM包中的 ls 命令到当前目录的 bin/ls 下)

           cp ./bin/ls /bin  (把 ls 命令复制回 /bin 目录,修复文件丢失)

      

      注意 --nodeps 应该只在实验环境用,否则安装的软件包可能缺少功能或者直接不能用。

      校验信息的含义

      

      命令丢失的情况也可以重装软件包解决。 

      独立服务的 启动:

      ① /etc/init.d/独立服务名 start|stop|status|restart     # 绝对路径方式启动。(推荐方式)

      ② service 独立服务名 start|stop|restart|status        # redheat专有命令,自动在启动脚本内寻找;(等同Centos7中的 systemctl start 服务名.service

      独立服务的 自启动:

      ① chkconfig [--level 2345] 独立服务名 on|off  # 等同Centos7中的 systemctl enable 服务名.service

      ② 修改 /etc/rc.d/rc.local 文件,只要标准命令写入文件,保证开机自启动。(推荐方式)

      ③ 使用ntsysv命令管理自启动    # redheat专有命令

        

    #!/bin/bash
    
    # 一份常用的自启动脚本(/etc/rc.d/rc.local)
    /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf & service mysql start & /usr/local/php/sbin/php-fpm & /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf & /usr/local/xunsearch/bin/xs-ctl.sh restart &

    2. RPM服务的管理 - 基于xinetd服务管理

      安装xinetd:yum -y install xinetd (安装完后,chkconfig --list 可以看到基于xinetd的服务)

      基于xinetd服务的 启动:chkconfig telnet on / chkconfig telnet off (如果装了telnet服务的话)

      基于xinetd服务的 自启动:编辑/etc/xinetd.d/下的基于xinetd服务的配置文件

      重启xinetd服务:service xinetd restart

      缺点:基于xinetd的服务启动与自启动是关联的,启动后同样自启动,关闭自启动同样关闭了基于xinetd的服务。

    3. 源码包服务管理

      源码包安装服务的 启动:使用绝对路径,调用启动脚本来启动,不同的源码包的启动脚本不同。

      (可以通过查看 源码包的安装说明,查看启动脚本的方法)

      源码包服务的自启动:脚本 /etc/rc.d/rc.local 加入启动命令

      让源码包服务被服务管理命令识别:ln -s /usr/local/nginx/sbin/nginx /etc/init.d/nginx (不建议使用,不利于后面的人识别服务的安装方式)

    - 总结 -

    Link:http://www.cnblogs.com/farwish/p/4856631.html

    @黑眼诗人 <www.farwish.com>

  • 相关阅读:
    [Android Studio] Android studio 多渠道打包(超简洁版)
    AlarmManager、PendingIntent的使用附件Home监听十分钟后再度启动应用取消服务
    share Windows下AndroidStudio 中使用Git(AndroidStudio项目于GitHub关联)
    Flex 调用webService
    mac下安装应用及常用快捷键
    mac下设置maven环境
    0302关于软件工程的思考
    文法评论
    C语言文法
    44-小组词法分析
  • 原文地址:https://www.cnblogs.com/farwish/p/4856631.html
Copyright © 2020-2023  润新知