文件系统之/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模式之分。目前的xorgx-window的官方实现。有选x386xfree86两种版本。前者是商业服务软件,功能服务比较多,后者是开源软件,相对功能较少。
系统日志:
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  告警,当前必须立即纠正的状态
emergpanicl类似 通知所有用户的错误。
 
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-need192.168.0.222:/var/ftp/public目录下的你需要的文件。
这样就可以自动挂载了。