dpkg-statoverride
在 Debian Linux 中覆盖文件的所有权和模式。
补充说明
dpkg-statoverride
命令用于在 Debian Linux 中覆盖文件的所有权和模式,使得在安装软件包时文件的所有权和模式失效。
语法
代码语言:javascript复制dpkg-statoverride [选项]
选项
-add
:为文件添加一个覆盖设置。--remove
:删除文件的覆盖设置。--list
:显示所有覆盖设置。--update
:立即执行覆盖操作(如果文件存在)。
实例
修改文件夹的权限属性:
代码语言:javascript复制sudo dpkg-statoverride --update --add nagios nagios 751 /var/lib/nagios3
强制修改文件夹的权限属性:
代码语言:javascript复制sudo dpkg-statoverride --force --update --add root sasl 755 /var/spool/postfix/var/run/saslauthd
从数据库中删除文件:
代码语言:javascript复制sudo dpkg-statoverride --remove /usr/bin/wall
dstat
通用的系统资源统计工具
补充说明
dstat
命令是一个全能系统信息统计工具,用于替代 vmstat
、iostat
、netstat
、nfsstat
和 ifstat
等命令。与 sysstat
相比,dstat
拥有彩色界面,以便更直观地观察性能状况。同时,dstat
支持实时刷新,通过输入 dstat 3
,每三秒收集一次数据并以每秒刷新显示最新数据。与 sysstat
相同,dstat
也可以收集指定的性能资源,例如 dstat -c
可以显示 CPU 的使用情况。
下载安装
方法一
代码语言:javascript复制yum install -y dstat
方法二
官网下载地址:http://dag.wieers.com/rpm/packages/dstat
代码语言:javascript复制wget http://dag.wieers.com/rpm/packages/dstat/dstat-0.6.7-1.rh7.rf.noarch.rpm
rpm -ivh dstat-0.6.7-1.rh7.rf.noarch.rpm
使用说明
安装完成后,就可以使用 dstat
进行系统资源监控,它可以实时监控 CPU、磁盘、网络、IO、内存等的使用情况。
直接使用 dstat
,默认使用 -cdngy
参数,分别显示 CPU、磁盘、网络、内存、系统信息,默认每秒显示一次。也可以在最后指定显示信息的时间间隔,如 dstat 5
表示每五秒显示一次。
[root@iZ23uulau1tZ ~]# dstat
----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system--
usr sys idl wai hiq siq| read writ| recv send| in out | int csw
0 0 99 0 0 0|7706B 164k| 0 0 | 0 0 | 189 225
0 0 100 0 0 0| 0 0 |4436B 826B| 0 0 | 195 248
1 0 99 0 0 0| 0 0 |4744B 346B| 0 0 | 203 242
0 0 100 0 0 0| 0 0 |5080B 346B| 0 0 | 206 242
0 1 99 0 0 0| 0 0 |5458B 444B| 0 0 | 214 244
1 0 99 0 0 0| 0 0 |5080B 346B| 0 0 | 208 242
下面对显示的部分信息进行说明:
- CPU:hiq、siq 分别为硬中断和软中断次数。
- system:int、csw 分别为系统的中断次数(interrupt)和上下文切换(context switch)。
- 其他的都很好理解。
语法
代码语言:javascript复制dstat [-afv] [options..] [delay [count]]
常用选项
-c
:显示 CPU 系统占用、用户占用、空闲、等待、中断、软件中断等信息。-C
:当有多个 CPU 时,此参数可按需分别显示每个 CPU 的状态,例如-C 0,1
是显示 CPU0 和 CPU1 的信息。-d
:显示磁盘读写数据大小。-D hda,total
:包括指定的磁盘和总计。-n
:显示网络状态。-N eth1,total
:有多块网卡时,指定要显示的网卡。-l
:显示系统负载情况。-m
:显示内存使用情况。-g
:显示页面使用情况。-p
:显示进程状态。-s
:显示交换分区使用情况。-S
:类似-D
和-N
。-r
:I/O 请求情况。-y
:系统状态。--ipc
:显示 IPC 消息队列、信号等信息。--socket
:显示 TCP/UDP 端口状态。-a
:默认选项,等同于-cdngy
。-v
:等同于-pmgdsc -D total
。--output 文件
:将状态信息以 CSV 格式重定向到指定的文件中,以便日后查看。
实例
例如,想要监控 swap、process、sockets、filesystem 并显示监控的时间:
代码语言:javascript复制[root@iZ23uulau1tZ ~]# dstat -tsp --socket --fs
----system---- ----swap--- ---procs--- ------sockets------ --filesystem-
date/time | used free|run blk new|tot tcp udp raw frg|files inodes
26-07 09:23:48| 0 0 | 0 0 0.0|104 8 5 0 0| 704 6488
26-07 09:23:49| 0 0 | 0 0 0|104 8 5 0 0| 704 6488
26-07 09:23:50| 0 0 | 0 0 0|104 8 5 0 0| 704 6489
26-07 09:23:51| 0 0 | 0 0 0|104 8 5 0 0| 704 6489
26-07 09:23:52| 0 0 | 0 0 0|104 8 5 0 0| 704 6489
26-07 09:23:53| 0 0 | 0 0 0|104 8 5 0 0| 704 6489
如果想要将结果输出到文件,可以使用 --output
选项加上文件名:
[root@iZ23uulau1tZ ~]# dstat -tsp --socket --fs --output /tmp/ds.csv
----system---- ----swap--- ---procs--- ------sockets------ --filesystem-
date/time | used free|run blk new|tot tcp udp raw frg|files inodes
26-07 09:25:31| 0 0 | 0 0 0.0|104 8 5 0 0| 736 6493
26-07 09:25:32| 0 0 | 0 0 0|104 8 5 0 0| 736 6493
26-07 09:25:33| 0 0 | 0 0 0|104 8 5 0 0| 736 6493
26-07 09:25:34| 0 0 | 0 0 0|104 8 5 0 0| 736 6493
26-07 09:25:35| 0 0 | 0 0 0|104 8 5 0 0| 736 6494
26-07 09:25:36| 0 0 | 0 0 0|104 8 5 0 0| 736 6494
这样生成的 CSV 文件可以用 Excel 打开,并生成图表。
通过 dstat --list
可以查看 dstat
能够使用的所有参数。其中,上面的 internal
是 dstat
自带的一些监控参数,而 /usr/share/dstat
中的插件可以扩展 dstat
的功能,例如监控电源(battery)和 MySQL 等。
请注意,并不是所有插件都可以直接使用,有些插件还依赖其他软件包。例如,如果要监控 MySQL,必须安装与 MySQL 连接的 Python 包。
代码语言:javascript复制[root@iZ23uulau1tZ ~]# dstat --list
internal:
aio, cpu, cpu24, disk, disk24, disk24old, epoch, fs, int, int24, io, ipc, load, lock, mem, net, page, page24, proc, raw, socket, swap, swapold, sys, tcp, time, udp, unix, vm
/usr/share/dstat:
battery, battery-remain, cpufreq, dbus, disk-util, fan, freespace, gpfs, gpfs-ops, helloworld, innodb-buffer, innodb-io, innodb-ops, lustre, memcache-hits, mysql-io, mysql-keys, mysql5-cmds, mysql5-conn, mysql5-io, mysql5-keys,
net-packets, nfs3, nfs3-ops, nfsd3, nfsd3-ops, ntp, postfix, power, proc-count, rpc, rpcd, sendmail, snooze, thermal, top-bio, top-cpu, top-cputime, top-cputime-avg, top-io, top-latency, top-latency-avg, top-mem, top-oom, utmp,
vm-memctl, vmk-hba, vmk-int, vmk-nic, vz-cpu, vz-io, vz-ubc, wifi
以上就是 dstat
命令的基本用法。更多高级用法可以参考 man
手册。