1.chkconfig:管理开机服务

该命令为linux系统中的系统服务管理工具,可以查询和更新不同的运行等级下系统服务的启动状态。

选项 说明
--list(常用) 显示不同运行级别下服务的启动状态
--add(常用) 添加一个系统服务
--del(常用) 删除一个系统服务
--level(常用) 指定运行级别

示例:

1)查看系统的服务状态

[root@boxiaoyuan ~]# chkconfig --list
NetworkManager :关闭 :关闭 :启用 :启用 :启用 :启用 :关闭
abrt-ccpp :关闭 :关闭 :关闭 :启用 :关闭 :启用 :关闭
abrtd :关闭 :关闭 :关闭 :启用 :关闭 :启用 :关闭

关于运行级别的说明:0表示关机;1表示单用户模式;2表示没有网络的多用户模式;3表示完全的多用户模式;4表示没有使用的级别;5表示图形界面多用户模式;6表示重启。

2)管理系统服务

[root@boxiaoyuan ~]# chkconfig --list sshd  # 显示sshd不同运行级别下服务的启动状态
sshd :关闭 :关闭 :启用 :启用 :启用 :启用 :关闭
[root@boxiaoyuan ~]# chkconfig sshd off # 关闭2 5级别下开机自启动
[root@boxiaoyuan ~]# chkconfig --list sshd
sshd :关闭 :关闭 :关闭 :关闭 :关闭 :关闭 :关闭
[root@boxiaoyuan ~]# chkconfig sshd on # 打开2 5级别下开机自启动
[root@boxiaoyuan ~]# chkconfig --list sshd
sshd :关闭 :关闭 :启用 :启用 :启用 :启用 :关闭
[root@boxiaoyuan ~]# chkconfig sshd --level off # 关闭sshd服务5级别开机自启动
[root@boxiaoyuan ~]# chkconfig --list sshd
sshd :关闭 :关闭 :启用 :启用 :启用 :关闭 :关闭
[root@boxiaoyuan ~]# chkconfig sshd --level on # 打开sshd服务5级别开机自启动
[root@boxiaoyuan ~]# chkconfig --list sshd
sshd :关闭 :关闭 :启用 :启用 :启用 :启用 :关闭

3)了解chkconfig的原理

chkconfig是在runlevel级别的/etc/rc.d/rc*.d目录中将对应服务做一个以S或K开头的软链接。

[root@boxiaoyuan ~]# ls -l /etc/rc.d/rc3.d/ | grep sysstat  # 运行级别3的目录rc3.d查看sysstat
lrwxrwxrwx. root root 10月 : S01sysstat -> ../init.d/sysstat # S是开启
[root@boxiaoyuan ~]# chkconfig --list sysstat
sysstat :关闭 :启用 :启用 :启用 :启用 :启用 :关闭
[root@boxiaoyuan ~]# chkconfig sysstat off
[root@boxiaoyuan ~]# chkconfig --list sysstat
sysstat :关闭 :启用 :关闭 :关闭 :关闭 :关闭 :关闭
[root@boxiaoyuan ~]# ls -l /etc/rc.d/rc3.d/ | grep sysstat
lrwxrwxrwx. root root 4月 : K99sysstat -> ../init.d/sysstat # K是关闭

下面对rc3.d目录进行试验,chkconfig的--level 2345是同时对rc2.d、rc3.d、rc4.d、rc5.d这四个目录进行操作。

[root@boxiaoyuan rc3.d]# ls -al /etc/rc.d/rc3.d/ | grep sysstat
lrwxrwxrwx. root root 4月 : K99sysstat -> ../init.d/sysstat
[root@boxiaoyuan rc3.d]# rm -rf K99sysstat
[root@boxiaoyuan rc3.d]# chkconfig --list sysstat
sysstat :关闭 :启用 :关闭 :关闭 :关闭 :关闭 :关闭
[root@boxiaoyuan rc3.d]# ln -s ../init.d/sysstat S01sysstat
[root@boxiaoyuan rc3.d]# chkconfig --list sysstat
sysstat :关闭 :启用 :关闭 :启用 :关闭 :关闭 :关闭
[root@boxiaoyuan rc3.d]# rm -rf S01sysstat
[root@boxiaoyuan rc3.d]# ln -s ../init.d/sysstat K99sysstat
[root@boxiaoyuan rc3.d]# chkconfig --list sysstat
sysstat :关闭 :启用 :关闭 :关闭 :关闭 :关闭 :关闭
[root@boxiaoyuan rc3.d]# cat /etc/rc.d/rc3.d/K99sysstat
#!/bin/sh
#
# chkconfig: 99 # 01和99的来源出自这里。

2.rpm:RPM包管理器

几乎所有的linux发行版本都是使用rpm命令进行管理,安装,卸载和更新软件。rpm命令包含了安装,卸载,升级,查询和验证等功能。

选项 说明
-q(常用) 查询软件包
-p(常用) 后接以".rpm"为后缀的软件包
-i(常用) 如果配合-qp,则表示显示软件包的概要信息;如果是安装包,则表示安装
-l(常用) 显示软件包中的所有文件列表
-R(常用) 显示软件包的依赖环境
-v(常用) 显示详细信息
-h(常用) 用“#”显示安装进度条
-a(常用) 与-q参数搭配使用,用于查询所有的软件包
-e(常用) 卸载软件包
-f(常用) 查询文件或命令属于哪个软件包

实例:

首先下载rpm包作为测试文件:https://mirrors.aliyun.com/centos/6.10/os/x86_64/Packages/lrzsz-0.12.20-27.1.el6.x86_64.rpm

1)查看rpm包信息

[root@boxiaoyuan ~]# rpm -qpi lrzsz-0.12.-27.1.el6.x86_64.rpm
Name : lrzsz Relocations: (not relocatable)
Version : 0.12. Vendor: CentOS
Release : 27.1.el6 Build Date: 2010年08月19日 星期四 14时20分40秒
Install Date: (not installed) Build Host: c6b3.bsys.dev.centos.org
Group : Applications/Communications Source RPM: lrzsz-0.12.-27.1.el6.src.rpm
Size : License: GPLv2+
Signature : RSA/, 2011年07月03日 星期日 12时43分30秒, Key ID 0946fca2c105b9de
Packager : CentOS BuildSystem <http://bugs.centos.org>
URL : http://www.ohse.de/uwe/software/lrzsz.html
Summary : The lrz and lsz modem communications programs
Description :
Lrzsz (consisting of lrz and lsz) is a cosmetically modified
zmodem/ymodem/xmodem package built from the public-domain version of
the rzsz package. Lrzsz was created to provide a working GNU
copylefted Zmodem solution for Linux systems.

2)查看rpm包的内容

[root@boxiaoyuan ~]# rpm -qpl lrzsz-0.12.-27.1.el6.x86_64.rpm
/usr/bin/rb
/usr/bin/rx
/usr/bin/rz
/usr/bin/sb
/usr/bin/sx
/usr/bin/sz
/usr/share/locale/de/LC_MESSAGES/lrzsz.mo
/usr/share/man/man1/rz..gz
/usr/share/man/man1/sz..gz

3)查询rpm包的依赖

[root@boxiaoyuan ~]# rpm -qpR lrzsz-0.12.-27.1.el6.x86_64.rpm
libc.so.()(64bit)
libc.so.(GLIBC_2.)(64bit)
libc.so.(GLIBC_2.2.5)(64bit)
libc.so.(GLIBC_2.)(64bit)
libc.so.(GLIBC_2.3.4)(64bit)
libc.so.(GLIBC_2.)(64bit)
libc.so.(GLIBC_2.)(64bit)
libnsl.so.()(64bit)
rpmlib(CompressedFileNames) <= 3.0.-
rpmlib(FileDigests) <= 4.6.-
rpmlib(PartialHardlinkSets) <= 4.0.-
rpmlib(PayloadFilesHavePrefix) <= 4.0-
rtld(GNU_HASH)
rpmlib(PayloadIsXz) <= 5.2-

4)安装rpm包

[root@boxiaoyuan ~]# rpm -ivh lrzsz-0.12.-27.1.el6.x86_64.rpm
Preparing... ########################################### [%]
package lrzsz-0.12.-27.1.el6.x86_64 is already installed

5)查看系统中是否安装指定的rpm包

[root@boxiaoyuan ~]# rpm -qa lrzsz
lrzsz-0.12.-27.1.el6.x86_64

6)卸载rpm包

[root@boxiaoyuan ~]# rpm -e lrzsz
[root@boxiaoyuan ~]# rpm -qa lrzsz

7)查看文件属于哪个包

[root@boxiaoyuan ~]# rpm -qf $(which ifconfig)
net-tools-1.60-.el6_2.x86_64

3.yum:自动化RPM包管理工具

yum主要用于自动安装,升级rpm软件包,它能自动查找并解决rpm包质检的依赖关系。

yum命令的常用参数为-y,表示确认操作,下面以安装httpd软件包为例,给出常用的yum命令。

命令 说明
yum install httpd 安装httpd软件包
yum update httpd 更新httpd软件包
yum list httpd 列出软件包
yum search httpd 如果不记得软件包的确切名称,可以使用该命令搜索
yum info httpd 获取软件包的信息,需要在安装软件包之前知道它的信息
yum deplist httpd 查看软件包的依赖
yum clean all 清理所有YUM的缓存内容
yum history 查看yum的历史记录
yum check-update 检查是否有可用的更新rpm软件包
yum list installed 列出所有已安装的软件
yum list 列出所有可用软件

示例:

1)安装httpd软件包

[root@boxiaoyuan ~]# yum install httpd
已加载插件:fastestmirror, refresh-packagekit, security
设置安装进程
Loading mirror speeds from cached hostfile
* base: mirror.jdcloud.com
* epel: mirrors.yun-idc.com
* extras: mirror.jdcloud.com
* updates: mirror.jdcloud.com
解决依赖关系
--> 执行事务检查
---> Package httpd.x86_64 :2.2.-.el6.centos will be 升级
---> Package httpd.x86_64 :2.2.-.el6.centos will be an update
--> 处理依赖关系 httpd-tools = 2.2.-.el6.centos,它被软件包 httpd-2.2.-.el6.centos.x86_64 需要
--> 执行事务检查
---> Package httpd-tools.x86_64 :2.2.-.el6.centos will be 升级
---> Package httpd-tools.x86_64 :2.2.-.el6.centos will be an update
--> 完成依赖关系计算 依赖关系解决 =================================================================================================
软件包 架构 版本 仓库 大小
=================================================================================================
正在升级:
httpd x86_64 2.2.-.el6.centos base k
为依赖而更新:
httpd-tools x86_64 2.2.-.el6.centos base k 事务概要
=================================================================================================
Upgrade Package(s) 总下载量: k
确定吗?[y/N]:y
下载软件包:
(/): httpd-2.2.-.el6.centos.x86_64.rpm | kB :
(/): httpd-tools-2.2.-.el6.centos.x86_64.rpm | kB :
-------------------------------------------------------------------------------------------------
总计 kB/s | kB :
运行 rpm_check_debug
执行事务测试
事务测试成功
执行事务
Warning: RPMDB altered outside of yum.
正在升级 : httpd-tools-2.2.-.el6.centos.x86_64 /
正在升级 : httpd-2.2.-.el6.centos.x86_64 /
清理 : httpd-2.2.-.el6.centos.x86_64 /
清理 : httpd-tools-2.2.-.el6.centos.x86_64 /
Verifying : httpd-tools-2.2.-.el6.centos.x86_64 /
Verifying : httpd-2.2.-.el6.centos.x86_64 /
Verifying : httpd-tools-2.2.-.el6.centos.x86_64 /
Verifying : httpd-2.2.-.el6.centos.x86_64 / 更新完毕:
httpd.x86_64 :2.2.-.el6.centos 作为依赖被升级:
httpd-tools.x86_64 :2.2.-.el6.centos 完毕!

2)检查httpd安装列表

[root@boxiaoyuan ~]# yum list httpd  # 检查httpd安装列表
已加载插件:fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: mirrors.zju.edu.cn
* epel: ftp.riken.jp
* extras: mirrors.zju.edu.cn
* updates: ftp.sjtu.edu.cn
已安装的软件包
httpd.x86_64 2.2.-.el6.centos @base
[root@boxiaoyuan ~]# yum search httpd
已加载插件:fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: mirror.jdcloud.com
* epel: mirror.pregi.net
* extras: mirror.jdcloud.com
* updates: mirror.jdcloud.com
====================================== N/S Matched: httpd =======================================
iipsrv-httpd-fcgi.noarch : Apache HTTPD files for iipsrv
libmicrohttpd-devel.i686 : Development files for libmicrohttpd
libmicrohttpd-devel.x86_64 : Development files for libmicrohttpd
libmicrohttpd-doc.noarch : Documentation for libmicrohttpd
lighttpd-fastcgi.x86_64 : FastCGI module and spawning helper for lighttpd and PHP configuration
lighttpd-mod_authn_gssapi.x86_64 : Authentication module for lighttpd that uses GSSAPI
lighttpd-mod_authn_mysql.x86_64 : Authentication module for lighttpd that uses a MySQL database
lighttpd-mod_geoip.x86_64 : GeoIP module for lighttpd to use for location lookups
lighttpd-mod_mysql_vhost.x86_64 : Virtual host module for lighttpd that uses a MySQL database
httpd.x86_64 : Apache HTTP Server
httpd-devel.i686 : Development interfaces for the Apache HTTP server
httpd-devel.x86_64 : Development interfaces for the Apache HTTP server
httpd-itk.x86_64 : MPM Itk for Apache HTTP Server
httpd-manual.noarch : Documentation for the Apache HTTP server
httpd-tools.x86_64 : Tools for use with the Apache HTTP Server
libmicrohttpd.i686 : Lightweight library for embedding a webserver in applications
libmicrohttpd.x86_64 : Lightweight library for embedding a webserver in applications
lighttpd.x86_64 : Lightning fast webserver with light system requirements
mirmon-httpd.noarch : Apache configuration for mirmon
mod_auth_mellon.x86_64 : A SAML 2.0 authentication module for the Apache Httpd Server
mod_dav_svn.x86_64 : Apache httpd module for Subversion server
mod_dnssd.x86_64 : An Apache HTTPD module which adds Zeroconf support
python-mozhttpd.noarch : Basic Python webserver
python2-sphinxcontrib-httpdomain.noarch : Sphinx domain for documenting HTTP APIs
sysusage-httpd.noarch : Apache configuration for sysusage
viewvc-httpd.noarch : ViewVC configuration for Apache/mod_python
web-assets-httpd.noarch : Web Assets aliases for the Apache HTTP daemon Name and summary matches only, use "search all" for everything.

注:本文内容为《跟老男孩学linux运维 核心系统命令实践》的学习笔记。

linux命令之系统管理命令(下)的更多相关文章

  1. linux命令之系统管理命令(上)

    1.lsof:查看进程打开的文件 该命令可以列举系统中已经被打开的文件,可以根据文件找到对应的进程信息,同时也可以根据进程信息找到进程打开的文件. 参数 说明 -c 进程名 显示指定的进程名打开的文件 ...

  2. Linux学习笔记3——Linux中常用系统管理命令

    stat 显示指定文件的相关信息,比ls命令显示内容更多 who 显示在线登录用户 hostname 显示主机名称 uname显示系统信息 top 显示当前系统中耗费资源最多的进程 ps 显示瞬间的进 ...

  3. Linux必学的命令

    Linux必学的命令Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作.文件存取.目录操作.进程管理.文件权限设定等.所以,在Linux系统上工作离不开使用系统提供的命令.要想真正 ...

  4. linux常用60条命令 转

    Linux必学的60个命令   Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作.文件存取.目录操作.进程管理.文件权限设定等.所以,在Linux系统上工作离不开使用系统提供的命 ...

  5. 入门学习Linux常用必会命令实例详解

    Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作.文件存取.目录操作.进程管理.文件权限设定等.所以,在Linux系统上工作离不开使用系统提供的命令.要想真正理解Linux系统, ...

  6. 构建LINUX下的入侵检测系统——LIDS 系统管理命令--vlock

    构建LINUX下的入侵检测系统——LIDS   系统管理命令--vlock http://blog.chinaunix.net/uid-306663-id-2440200.html LIDS官方网站: ...

  7. Linux文件系统管理命令(第二版)

    Linux文件系统管理命令 常用命令 1.df命令 查看分区使用情况 常用选项 -h 比较人性化 -m 以兆字节显示分区使用情况 显示信息: Mounted on:挂载点 Filesystem:对应的 ...

  8. linux系统管理命令(五)

    [教程主题]:1.系统管理命令 [1.1]用户和组管理 在Linux操作系统中,任何文件都归属于某一特定的用户,而任何用户都隶属于至少一个用户组.用户是否有权限对某文件进行访问.读写以及执行,受到系统 ...

  9. Linux系统管理命令

    Linux系统管理命令 命令 说明 stat 显示指定文件的相关信息,比ls命令显示内容更多 who 显示在线登录用户 hostname 显示主机名称 uname 显示系统信息 top 显示当前系统中 ...

随机推荐

  1. javascript变量,作用域和内存问题

    1:ECMAScript所有函数的参数都是按值传递的 function setName(obj){ obj.name="finn"; obj=new Object(); obj.n ...

  2. html 资源

  3. linux下jdk/maven/tomcat

    debian安装的openjdk只包括jre,没有tools.jar,dt.jar,所以要安装openjdk完全版. sudo apt--jdk 若操作系统中安装多个版本的java,可以采用如下命令来 ...

  4. Invoke and BeginInvoke(转载:http://www.cnblogs.com/worldreason/archive/2008/06/09/1216127.html)

    一.为什么Control类提供了Invoke和BeginInvoke机制? 关于这个问题的最主要的原因已经是dotnet程序员众所周知的,我在此费点笔墨再次记录到自己的日志,以便日后提醒一下自己. 1 ...

  5. Opencv Convex Hull (凸包)

    #include <iostream>#include <opencv2/opencv.hpp> using namespace std;using namespace cv; ...

  6. 275. H-Index II 递增排序后的论文引用量

    [抄题]: Given an array of citations in ascending order (each citation is a non-negative integer) of a ...

  7. Python操作Excel删除一个Sheet

    在使用Python进行数据分析处理,操作Excel,有时需要删除某个Excel里的某个sheet,这里记录一个我测试成功的一个办法 软件环境: 1.OS:Win 10 64位 2.Python 3.7 ...

  8. SQL 数据库 学习 007 通过一个示例简单介绍什么是字段、属性、列、元组、记录、表、主键、外键 (上)

    SQL 数据库 学习 007 通过一个示例简单介绍什么是字段.属性.列.元组.记录.表.主键.外键 (上) 我们来介绍一下:数据库是如何存储数据的. 数据库是如何存储数据的 来看一个小例子 scott ...

  9. UML建模之类图

    UML类间关系的种类 从一个示例开始 请看以下这个类图,类之间的关系是我们需要关注的: 车的类图结构为<<abstract>>,表示车是一个抽象类: 它有两个继承类:小汽车和自 ...

  10. [Token] 从index.jsp中获取Token

    import com.eviware.soapui.support.GroovyUtils def groovyUtils = new GroovyUtils( context ) def holde ...