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. shell编程——sed用法之参数详解

    sed格式: sed 参数 '正则表达式' 文件名 sed的常见参数有以下几种: 1.-n, --quiet, --silent 取消自动打印模式 不加n默认打印整个文件: [root@localho ...

  2. Linux下的service命令和chkconfig命令的原理

    CentOS下的service命令和chkconfig命令的原理 1.service命令的原理 service命令用来对服务进行启动和关闭,比如service mysqld start可以启动mysq ...

  3. Hash表算法详解

    Hash表定义 散列表(Hash table,也叫哈希表),是根据关键字值(Key value)直接进行访问的数据结构.也就是说,它通过把关键字(关键字通过Hash算法生成)映射到表中一个位置来访问记 ...

  4. 利用fetch进行POST传参

    fetch(config.host+"url",{      method:"POST",      mode: 'cors',跨域请求 headers: { ...

  5. 【LA3415 训练指南】保守的老师 【二分图最大独立集,最小割】

    题意 Frank是一个思想有些保守的高中老师.有一次,他需要带一些学生出去旅行,但又怕其中一些学生在旅行中萌生爱意.为了降低这种事情发生的概率,他决定确保带出去的任意两个学生至少要满足下面四条中的一条 ...

  6. 解决svn Key usage violation in certificate has been detected

    ubuntu系统 #!/bin/shecho "This script will reconfigure subversion to work with certs correctly.&q ...

  7. cocos2dx 屏幕分辨率问题

    做手机上的软件首先要考虑的就是屏幕分辨率怎么解决.coco2dx已经有了很好的解决方法. 用cocos2dx的python脚本创建工程时默认生成一个Helloworld的demo.我们就以这个demo ...

  8. 28-Truck History(poj1789最小生成树)

    http://poj.org/problem?id=1789 Truck History Time Limit: 2000MS   Memory Limit: 65536K Total Submiss ...

  9. [C++] c Struct VS c++ Struct

    c Struct c语言生命变量要加上struct c语言结构体内部不能有函数 C语言结构体没有共有,私有和继承

  10. 快速求出n!的质因数的个数

    一般做组合数的题目都要进行质因数的分解,我们一般是for循环对每个数进行质因数分解,大多数情况都不会超时,但极少数的情况下,题目会不允许这样的做法,所以我们需要学会一种更快的方法来求质因数. 我们一般 ...