
08月 27th, 2008 by

Skylin
crontab命令的功能是在一定的时间间隔调度一些命令的执行。在/etc目录下有一个crontab文件,这里存放有系统运行的一些调度程序。每个用户可以建立自己的调度crontab。
crontab命令有三种形式的命令行结构:
crontab [-u user] [file]
crontab [-u user] [-e|-l|-r]
crontab -l -u [-e|-l|-r] 第一个命令行中,file是命令文件的名字。如果在命令行中指定了这个文件,那么执行 crontab命令,则将这个文件拷贝到crontabs目录下;如果在命令行中没有制定这个文件,crontab命令将接受标准输入(键盘)上键入的命 令,并将他们也存放在crontab目录下。
命令行中-r选项的作用是从/usr/spool/cron/crontabs目录下删除用户定义的文件crontab;
命令行中-l选项的作用是显示用户crontab文件的内容。
使用命令crontab -u user -e命令编辑用户user的cron(c)作业。用户通过编辑文件来增加或修改任何作业请求。
执行命令crontab -u user -r即可删除当前用户的所有的cron作业。
作业与它们预定的时间储存在文件/usr/spool/cron/crontabs/username里。username使用户名,在相应的文 件中存放着该用户所要运行的命令。命令执行的结果,无论是标准输出还是错误输出,都将以邮件形式发给用户。文件里的每一个请求必须包含以spaces和 tabs分割的六个域。前五个字段可以取整数值,指定何时开始工作,第六个域是字符串,称为命令字段,其中包括了crontab调度执行的命令。
第一道第五个字段的整数取值范围及意义是:
0~59 表示分
1~23 表示小时
1~31 表示日
1~12 表示月份
0~6 表示星期(其中0表示星期日)
/usr/lib/cron/cron.allow表示谁能使用crontab命令。如果它是一个空文件表明没有一个用户能安排作业。如果这个文 件不存在,而有另外一个文件/usr/lib/cron/cron.deny,则只有不包括在这个文件中的用户才可以使用crontab命令。如果它是一 个空文件表明任何用户都可安排作业。两个文件同时存在时cron.allow优先,如果都不存在,只有超级用户可以安排作业。
Posted in linux |
No Comments »

08月 27th, 2008 by

Skylin
我们在linux上工作的时候有可能会使用到IE,特别是喜欢使用linux的WEB设计师,他们需要在各个浏览器上看效果,便于兼容,这时候WINE有可能会给予帮助,默认安装的 wine 是不大好用的,所以需要优化一下。
首先安装 0.9.36 或更新版本的 wine(在命令行下面输入 wine –version 查看版本号),这样可以避免和 scim 输入法冲突、以及 GBK 字体导致的运行缓慢问题。如果没有更新版本,那么可以自己编译一个,运行速度比默认编译的还快一点。
接下来用 ies4linux(ies4linux 官方网站) 自动安装 IE6。
之所以要使用 ies4linux 来配置 wine 环境,是因为 ies4linux 会附带安装一些基本组件和字体。这样在使用其他 Windows 程序时可以少不少麻烦。
不过 ies4linux 把 wine 配置文件放到 ~/.ies4linux 了,所以需要按照下列操作修改一下:
cd ~
rm -fr .wine
mv .ies4linux .wine
cd .wine
mv ie6/* .
rmdir ie6
这样修改后,ies4linux 在桌面上创建的 ie6 快捷方式就不能启动 ie 了,还需要修改一下 ~/bin/ie6 这个启动脚本:
cd ~/bin
rm ie6
ln -s ~/.wine/bin/ie6 ie6
gedit ie6
用搜索替换功能,将 [...]
Posted in linux |
No Comments »

08月 26th, 2008 by

Skylin
在csdn论坛里看到的
内核配置
内核配置的方法很多,make config、make xconfig、make menuconfig、make oldconfig等等,它们的功能都是一样的,区别应该从名字上就能看出来,只有make oldconfig是指用系统当前的设置(./.config)作为缺省值。这里用的是make menuconfig。
需要牢记:不必要的驱动越多,内核就越大,不仅运行速度慢、占用内存多,在少数情况下、还会引发其他问题。具体步骤如下:
首先确定shell是bash。
然后
$make menuconfig
有一些默认的符号其含义如下:
y:加载
n:不加载
m:作为模块加载
可以配置的选项有以下一些:
1)code maturity level option 代码成熟度
prompt for development and/or incomplete code/drivers [N/y/?]
如果有兴趣测试一下内核中尚未最终完成的某些模块,就选y,否则选N,想知道更详细的信息选?会看到联机帮助(以下?的含义相同),N大写表示缺省值。
2)processor type and features 处理器类型及特性
Processor family(386,486/Cx486,586/K5/5×86/6×86,Pentium/K6/TSC, PPro/6×86MX)[PPro/6x86MX]
[]内的是缺省值,我们可以根据前面介绍的uname 命令执行的结果选择。此项如果高于386,那么生成的内核在386机器上将不能启动。
Math emulation(CONFIG_MATH_EMULATION)[N/y/?]
需要进行协处理器模拟吗?一般的机器都回n。如果机器已经有硬件的协处理器,那么内核仍将使用硬件,而忽略软件的math-emulation,这将使内核变大变慢。
MTRR(Memory Type Range Register)support(CONFIG_MTRR)[N/y/?]
在Pentium、Pro/Pentium II类的系统中可以提高图像写入速度。
Symmetric multi-processing support(CONFIG_SMP)[Y/n/?]
如果您的机器有多个处理器,就选y。此时要选中下面的Enhanced Real Time Clock Support
3)loadable model support 可加载模块支持
Enable loadable module [...]
Posted in linux |
No Comments »

08月 26th, 2008 by

Skylin
二、根文件系统定制
1、 创建一个全新的根文件系统
你可以用mkinitrd来创建,这里介绍另外一种方式,用dd命令:
# mkdir -p /mnt/initrd 创建一个设备点,用于临时挂载根文件系统。
# cd /tmp 在tmp下创建根文件系统
# dd if=/dev/zero of=/tmp/initrd bs=512 count=40960 创建一个名为initrd的根文件
系统,系统每个块的大小为
512字节,共40960块。
# mke2fs -F -m 0 initrd 格式化根文件系统,其中-F表示强制执行;
-m 0表示不为系统预留空间。
# mount -o loop /tmp/initrd /mnt/initrd 挂载根文件系统,记住这里要使用
-o loop选项,否则挂载会失败。
# cd /mnt/initrd
2、 创建基本的目录结构
# mkdir dev proc etc etc/rc.d [...]
Posted in linux |
No Comments »

08月 26th, 2008 by

Skylin
目录:
一、内核编译
二、根文件系统定制
三、内核选项说明
一、内核编译
1、 准备工作
(1) 整理出系统需要支持的硬件、文件系统类型以及网络协议等内容。
(2) 建议用命令uname –r 查看一下系统的版本号,如果你的系统版本与将要编译的内核版本一致,建议将/lib/modules下的内容备份,否则将来的make modules_install 步骤产生的文件会覆盖这个路径下的内容。
(3) 下载并解压linux内核,建议从http://www.kernel.org/pub/linux/kernel/ 下载内核,因为安装系统时所安装的源代码默认情况下支持很多设备,这样给内核裁减增加了难度。以下假设你已经下载了内核的为linux-x-y-z.tar.gz。一般都将linux内核源代码放在/usr/src下,这里仍然遵守这个习惯,如果你的这个路径下已经存在这个版本的内核,建议将已有的改个名称。
2、 开始编译
(1) make mrproper
确保源代码目录下没有不正确的.o文件和文件依赖关系,执行该命令后,内核选项会回到默认的状态下。如果你是下载的内核源码,而且是第一次编译,就没有必要执行这一步操作
(2) make menuconfig
以文本菜单方式选择内核选项(与它功能相同的命令还有make config;make xconfig;make oldconfig),不同版本的内核,选项可能会有一些差异。
这一步是内核编译的关键,根据需要支持的硬件、文件系统和协议等内容,选择不同的选项。配置选项时,有三种选择方式,它们代表的含义如下:
Y-将该功能编译进内核
N-不添加功能
M-将该功能编译成模块,在需要时动态加载到内核
选择的原则是与内核关心紧密而且经常使用的部分功能代码直接编译到内核中;将与内核系较远且不经常使用的部分功能代码编译成为可加载模块,有利于减小内核的长度,减小内核消耗的内存,简化该功能相应的环境改变时对内核的影响;不需要的功能就不要选。
我们使用空格键进行选取。根据选项的不同,按下空格键的结果也有所不同:选项后有”―――>”符号的,进入下一级菜单;选项前有中括号的,则在空和“*”之间切换;选项前有尖括号的,在空、“*”和“M”之间切换;选项前有圆括号的,需要在所提供的几个选项中选择一项,或者需要输入数值等符号。
咦,什么?要我详细介绍具体该怎么选择这些选项?大汗!这可是个大问题,需要根据不同的需求进行选择,比如需要支持USB键盘、鼠标或/和存储器,支持多CPU,支持网卡,串口,支持TCP协议,ext2文件系统,nfs文件系统等等。后面我将就内核选项做详细的介绍。
(3) make dep
根据上一步所选择的选项,建立文件的依赖关系。
(4) make clean
清理一些不必要的文件,如果你在上次编译的基础上,删去了一些选项,建议你执行这一步操作,否则,就没有必要了。
(5) make bzImage
生成内核压缩文件。如果你确认你的内核在640K以下,你可以用make zImage来代替 make bzImage。这一步相当费时,你可以在命令后加上&,让其在后台执行,或者重定向到/dev/null中,这样你就什么也看不见屏幕上闪过不停的字符啦。编译出的内核在 ./arch/i386/boot/ 下,文件名为bzImage
(6) copy “/usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-x.y.z
(7) make modules
编译可加载模块(即内核选项中选择为M的选项),编译时间跟M选项的数量有关。
(8) make modules_inatall
将编译好的modules拷贝到/lib/modules下,这就是为什么在“准备工作”的第三步提醒你备份的原因了。
(9) cp /usr/src/linux/System.map /boot/ System-x.y.z.map
3、 修改启动配置文件
现在大多数使用的都是grub启动,需要修改/boot/grub/grub.conf,添加相应的启动信息,添加内容的最简单格式如下:
title 显示在启动菜单上的名称
root 根文件系统挂载分区
kernel [...]
Posted in linux |
No Comments »

08月 26th, 2008 by

Skylin
第一部分
01、Code maturity level options —> 代码成熟等级选项
01.01、 [ ] Prompt for development and/or incomplete code/drivers 默认情况下是选择的,这将会在设置界面中显示还在开发或者还没有完成的代码与驱动.你应该选择它,因为有许多设备可能必需选择这个选项才能进行配置,实际 上它是安全的。
01.02、[ ] Select only drivers expected to compile cleanly [...]
Posted in linux |
No Comments »