摘要 内核模块 文件系统管理
内核模块
减少内存使用;灵活性;最大化运行时间
位于/lib/modules/$(uname -r)/目录下
内核模块工具
lsmod 列出已装载的模块
modprobe 可装载和卸载模块
modinfo 显示任意可用模块的信息
/etc/modprobe.conf 可用来配置模块
用udev管理/dev
udev可管理保存在/dev/目录下的文件
文件只有在接入相应的设备后才会生成
文件在设备被拔出后自动删除
在/dev/中添加/udev条目的正确方法
在/etc/udev/rules.d中创建新文件
插入如下说明:
KERNEL=="sda",NAME="usbkey",SYMLINK="usbstorage"
用mknod可手动添加文件
mknod /dev/usbdevice b 8 0
mknod 不持久
用/proc进行内核配置
/proc 虚拟文件系统,用来显示进程信息、内存资源、硬件设备、内核内存等
可用来修改网络和内存子系统或者修改内核属性
修改立即生效
/proc示例
只读文件
/proc/cpuinfo
/proc/1/*
/proc/partitions
/proc/meminfo
在/proc/sys/下的读写条目
/proc/sys/kernel/hostname
/proc/sys/net/ipv4/ip_forward
/proc/sys/vm/drop_caches
/proc/sys/vm/swappiness
sysctl:可保持的内核配置
列出所有当前设置:sysctl -a
从sysctl.conf 中重新装载 :sysctl -p
设定一个动态/proc值 :sysctl -w net.ipv4.ip_forward=1
检测硬件设备
所有接入设备的快照都有HAL(Hardware Abstraction Layer)管理
hal-device 以文本模式列出所有设备
hal-device-manger 在图形窗口中显示所有设备
lspci和lsusb分别列出与pci和usb总线连接的设备
文件系统管理
在文件系统树中添加新的文件系统
识别设备
分区设备(fdisk sfdisk)
创建文件系统
在/etc/fstab文件中创建条目
挂载新的文件系统
创建分区使用
fdisk
sfdisk
partprobe 重新设置内存中的内核分区表版本
fdisk使用
# fdisk /dev/sda
Command (m for help): 在这里按m ,就会输出帮助;
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition 注:这是删除一个分区的动作;
l list known partition types 注:l是列出分区类型,以供我们设置相应分区的类型;
m print this menu 注:m 是列出帮助信息;
n add a new partition 注:添加一个分区;
o create a new empty DOS partition table
p print the partition table 注:p列出分区表;
q quit without saving changes 注:不保存退出;
s create a new empty Sun disklabel
t change a partition's system id 注:t 改变分区类型;
u change display/entry units
v verify the partition table
w write table to disk and exit 注:把分区表写入硬盘并退出;
x extra functionality (experts only) 注:扩展应用,专家功能;
创建文件系统
mkfs
mkfs.ext2 mkfs.ext3 mkfs.vfat
可直接调用特定的文件系统工具
mke2fs [options] device
一些有用选项,包括
-b :以字节为单位指定数据块的大小 (1024 2048 4096)
-c :在创建文件系统前检查设备的坏块(扇区)
-i:指定字节/节点比例
-N:覆盖了默认的对保留文件系统的节点数计算
-m:指定保留给超级用户的块比例,默认值是%5
-L:为文件系统设定卷标
-j:可生成ext3日志节点和文件系统
文件系统标签
指向设备的另一种方法
与设备无关
e2label special_dev_file[]fslabel
mount [options] LABEL=fslabelmount_point
用blkid命令可看到所有设备的标签和文件系统类型
tune2fs
调整文件系统参数
格式一:tune2fs -l <设备名>
格式二:tune2fs [<选项>] <设备名>
-j 将ext2文件系统添加为ext3文件系统所需的日志
-l 列出指定设备的超级块信息
-L 未指定设备这只卷标
-m 指定管理员保留区块比例
-r 指定管理员保留区块的数量
挂载点和/etc/fstab
配置文件系统体系
被mount 、fsck和其他程序使用
系统重启时保留文件系统体系
可以在设备栏使用文件系统卷标
使用mount -a 命令挂载/etc/fstab中所有文件系统
/etc/fatab文件格式
#device mount_point FS_type options dump_freq fsck_order
LABEL=/mnt/data /mnt/data ext3 defaults 0 0
device:特殊设备文件名或要挂载的文件系统标签
mount_point :用来访问文件系统的路径
FS_type : 文件系统类型
options: 用逗号分开一组选项,(rw,suid,dev,exec,async,acl,uid=,gid=,loop,owner)
dump_freq:零级别转储频率,1:每天;2:每隔一天;0:从不转储
fsck_order:0:忽略;1,第一 (根文件系统使用该值);2-9.第二、三等等
用mount命令挂载文件系统
mount [options] devicemount_point
-t vfstype
-o 选项
默认选项:rw suid dev exec acl async
卸载文件系统
umount [options] device | mount_point
不能卸载正在使用的文件系统
使用fuser检查和/终止进程
fuser -v mount_point | fuser -km mount_point
使用remount选项自动更改挂载的文件系统的选项
mount -o remount,ro /data
mount 示例
mount -t ext3 -o noexec /dev/hda7 /home
mount -t iso9660 -o loop /iso/documents.iso /mnt/cdp_w_picpath
mount -t vfat -o uid=515,gid=520 /dev/hdc2 /mnt/projX
mount -t ext3 -o noatime /dev/hda2 /data
处理交换文件和分区
基本设置包括:
创建交换分区或者文件
使用mkswap 写入特殊文件签名
在/etc/fatab文件中添加适当条目
使用swapon -a 激活交换空间
设定交换分区
mkswap /dev/sda6
swapon -a
swapon -s 检查交换分区的状态
设定交换文件’
dd if=/dev/zero of=/swapfile bs=1024 count=X
mkswap /swapfile
swapon -a
或者写进/etc/fatab