Linux关于硬件的杂项

【1】rc.local:服务执行的最后一个脚本,它不定义任何服务,用于某些必须要求,但又方便将其定义为一个服务。则可以将执行命令写入rc.local文件中。
例如:编译安装的ftp,不会在/etc/init.d下生成脚本文件

内核组成部分:
Kernel:本身
initrd
/lib/modules/:模块

内核功能:
    文件系统
    进程管理
    内存管理
    驱动程序   
    网络子系统
    安全管理
    虚拟化(selinux)


内核对内存发支持:
Kernel:Redhat 5系列
    kernel-PAE的,最大支持16G
    64bit
    kernel:512G
    kernel-xen:512G



【2】/etc/sysctl.conf :内核参数文件
sysctl -p:使用内核重读,内核参数
       -a:显示当前所有处于生效状态的参数及其使用的值
       -w:临时修改其使用值必须使用sysctl.conf中的格式


#sysctl -w net.ipv4.ip_forward=0  

/proc:用于查看进程和内核参数的接口;系统启动之后才会生成
    /proc/partitions:磁盘分区情况
    /proc/meminfo:内存信息
    /proc/cpuinfo:CPU相关信息
    /proc/filesystems:当前系统所支持的文件系统种类
    /proc/meminfo:内存使用的相关信息
    /proc/modules:当前系统已经加载了所有的模块信息
    /proc/swaps:交换分区信息
    /proc/uptime:系统启动时间,时长
    /proc/sys:
        /net/ipv4/ip_forward:设定IP转发,从一个网卡接收的信息从另一个网卡转发出去。
        /vm/drop_cache:释放缓存

/sys:用于查看硬件驱动程序相关参数


【3】查看硬件信息:
lspci:显示出所有的PCI相关设备的信息
lsusb:显示出所有的USB相关设备的信息
x86/x64---x86info -a:显示CPU的使用详细信息
hal-device:硬件信息
hal-device-manager:
图形界面的硬件信息
lsmod:查看内核已经装载的模块

手动装载/卸载模块:
modprobe MODULE:装载模块
modprobe -r MODULE:卸载模块
insmod PATH:明确给出模块的路径
rmmod MODULE:
移除/卸载模块

查看模块的信息:
modinfo MODULE


【4】生成随机数
/dev/random:如果熵池耗尽,则使用软件生成随机数
/dev/urandom:所有的随机数来自于熵池,如果熵池耗尽则停止

熵池:收集一些随机,从而进行生成随机数(敲击键盘的时间间隔,磁盘的中断次数)
#dd if=/dev/urandom bs=256 count=1 | md5sum
#dd if=/dev/urandom bs=256 count=1 | md5sum | cut -d' ' -f1 | tr -d 'a-zA-Z'
#echo $RANDOM




【5】udev:在开机时,将内核对硬件的探测信息在用户空间创建设备文件,可以让用户定义udev的规则,从而实现在创建设备文件使用不同的设备文件名
手动创建设备文件:mknod
主设备号:标识设备的类型;次设备号:标识相同设备的不同编号
格式:mknod [option](选项) NAME TYPE [主设备号 次设备号]
参数:
-m MODE:指明权限
#mknod /dev/mydev b 15 1
#mknod /dev/mydev2 -m 640 b 15 2



【6】mkinitrd:生成initrd文件
格式:mkinitrd /boot/initrd-`uname -r`.img `uname -r`
--with=scsi_mod:创建时明确的带上一个额外类型的驱动
配置文件:
/etc/modprobe.conf


 

你可能感兴趣的:(随机数,模块,硬件,udev,内核参数,initrd)