文件系统之/proc及系统服务
原创
©著作权归作者所有:来自51CTO博客作者huakaihuaxie的原创作品,请联系作者获取转载授权,否则将追究法律责任
文件系统之/proc
linux系统中,/proc目录用来存放进程的状态信息的。除此之外,内核产生的所有状态信息和统计数据也在这个录下,因此,用户可以通过修改/proc下适当的文件地方法来改变系统的运行。但由于内核随时都在创建/proc下文件的内容,所以大多数文件ls查看时都为空。
在/proc目录下有大量的子目录和文件。我们需要了解一些常用的
文件如:
/apm 电源管理相关信息
/buddyinfo 内存分段信息
/cmdline 进程的完整命令(以null分隔)
/cpuinfo 探测cpu信息。
/crypto 功能/加密模块等信息,使用(sha1加密)
/devices 块、字符设备信息
/fb 控制显示功能的方式
/filesystems 文件系统信息(内核支持的所有文件系统)
其中nodev的是没有使用的文件系统类型
/interrupts 中断信息
/iomen 物理设备映射的内存信息,包过内存范围,内存位置等。
/kcore 以核心文件系统存储的文件系统格式
/meminfo 内存信息
/modules 模块信息,ls mode命令就是调用此文件来显示模块信息的
/mount 挂载信息
/partitions 分区信息
/pci 设备pci信息
在/proc目录子目录:
/sys 存放与系统运行相关的信息的。
/sys/kernel/ 显然与内核有关
/sys/net 与网络有关的信息
一般情况下,使用strings命令查看/proc目录下的文件要比使用cat命令好一些。因为这些文档一般没有经过排版,使用cat非常难以看懂。下面说一下怎样通过修改/proc/sys目录下的文件来改变系统信息。
先看一个修改主机名的实例:
echo “station11.example.com” > /proc/sys/kernel/hostname
其中station11.example.com是主机名,通过修改/proc/sys/kernel/目录下的hostname文件,把当前主机名修改为station11.example.com,
再比如要关闭路由功能:
echo “1” > /proc/sys/net/ipv4/ip_forward 1表示关闭0 表示开放。
这样修改的文件只对当前有效,重启后会失效的,如果想要重启服务后仍然有效,可以修改/etc/sysctl.conf 文件来配置所需的服务。但需要重启才能生效,可见这两种修改方法是相辅相成的。
系统服务
访问控制台:
访问控制台分为:
物理控制台physical console
虚拟控制台virtual console
串行控制台serial console
系统控制台 system console
伪控制台 pseudoterminal
在linux系统中这五种控制台的表示方式分别为
物理控制台 /dev/tty0 或者 /dev/fb0
虚拟控制台 /dev/tty[1-6]
串行控制台 /dev/ttyS[1-2-3 …]
系统控制台 /dev/ console
伪控制台 /dev/pts/[0-1-2 -3…]
除了这些还有图形界面的控制台如x-window。x仅仅是一种协议,只规定了如何显示的规范,并没有具体的说显示内容。而x-window则是一个软件,有c/s模式之分。目前的xorg是x-window的官方实现。有选x386和xfree86两种版本。前者是商业服务软件,功能服务比较多,后者是开源软件,相对功能较少。
系统日志:
syslogd,当前系统之上的系统级别的常规日志信息。
klogd , 记录内核活动信息。
auditd, 审核日志进程。
日志进程syslogd的配置文件是/etc/syslog.conf。在这个日志配置文件中定义了系统日志记录那些内容、采用什么动作等。
日志文件类型:
Regular File 记入普通文件,加 “-” 可以异步写入。
Named Pipes 记入命名管道
Terminal and Console 记录到终端和系统控制台
Remote machine 记录到其它主机上(中心日志服务器)
例:mail.=err @192.168.0.23 记录到192.168.0.23主机上。注意这只是一厢情愿,要真存入192.168.0.23主机上还需要到对应主机上执行syslogd –h命令
list of user 传递给用户列表
everyone logged on 每一个登陆的用户。
在/etc/syslog.conf配置文件中有个需要注意的内容:facility log_level(9个)
facility 定义由谁产生日志信息。后边跟日志级别。
日志级别有9种:
debug 调试程序时的信息
info 通报信息。
notice 注意
warning 警告级别
warn 与warning类似
err 其它错误
error 与err类似错误
crit 紧急
alert 告警,当前必须立即纠正的状态
emerg与panicl类似 通知所有用户的错误。
mail.=err 只记录某一个级别的信息精确匹配。
mail.!=err 记录所有不等于err级别的信息。
mail.err 所有大于等于err级别的信息
日常corn作业的几个命令:
tmpwatch 清除特定目录中的老文件。
logrotate 用于日志滚动
weekly 每周日志滚动一次
rotate 4 每次滚动4个段。
include 指定范围
logwatch 根据条件查看日志信息。
Mounting NFS Filesystems
#shoumount -e 192.168.0.222 查看主机上的所有共享NFS文件
如果你想要挂载服务器192.168.0.222上的/var/ftp/public目录到你自己的/net目录下可以使用命令:
#mount –t nfs 192.168.0.222 :/var/ftp/public /net
这时在你的/net目录下就会有public目录的所有文件。你可以把它们当做本地文件一样使用,很放便。但是如果你重启了服务就需要重新执行上边的命令。为了避免这种情况,可以使用修改文件的方式。
1》
编辑/etc/auto.master文件
#vim /etc/auto.master
添加如下内容:
/mnt /etc/auto.server
上边的文件auto.server是需要自己创建的文件,必须放在/etc下且以auto. 开头
保存退出
2》
打开auto.server文件并添加如下内容:
#vim /etc/auto.server
ftp -ro,init,hard 192.168.0.222:/var/ftp/public
保存退出即可
ftp 是你想要挂载到的那个目录,可以不存在,在你重启autofs服务后会自动生成,位置在你上个文件中配置的/mnt目录下。
-ro 只读挂载
init,hard 这两个是允许中断,在你被挂载的目录不存在时自动中断,不至于死机。
192.168.0.222:/var/ftp/public 被挂载的目录
3》
重启服务
#service autofs restart
这样你就可以在你的/mnt/ftp目录下看到192.168.0.222:/var/ftp/public的内容了。
如果你嫌这样看到的内容过多,只想看到所需的内容,方法和上边基本一样,只需要在第二步把/etc/auto.server文件内容ftp -ro,init,hard 192.168.0.222:/var/ftp/public
修改为
* -ro,init,hard 192.168.0.254:/var/ftp/public & 即可
这样你只需输入/mnt/file-you-need 即可
注意file-you-need是192.168.0.222:/var/ftp/public目录下的你需要的文件。
这样就可以自动挂载了。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
PROC文件系统 swap分区及系统服务
/PROC文件系统 目录/proc/sys可通过改变其下面
职场 休闲 Redhat_rh131 -
理解 Proc 文件系统
理解 Proc 文件系统
职场 文件系统 休闲 Proc -
proc、sys文件系统
文章目录proc、sys、debug文件系统/proc目录/sys目录可加载内核模块(
linux 运维 服务器 文件系统 加载 -
/proc 文件系统查看
$ man proc可以查看 /proc 下一些
ci Common -
操作系统 | proc文件系统
史上最全的操作系统创建proc文件系统教学汇总,对于那些渴望深入理解操作系统内部工作原理的人来说,这是学
linux 运维 服务器 proc文件系统 for循环 -
/proc下文件系统初识
proc文件系统是一个伪文件系统;最初的设计目的是提供内核和用户交互的平台,使用户可以动态的管理系统,同时获取系统的运行时的信息。在proc中主要的信息便是系统进程信息
proc create_proc_entry proc_dir_entry -
/proc 虚拟文件系统
Linux下有一个神奇的目录/proc,经常会运行 cat /proc/cpuinfo 命令查看cpu信息,/p
/proc read write #include linux