摘要:安装imap服务器
几乎所有的发行包都带有imap服务器软件(一般是华盛顿大学版本),最好的办法是用你的发行包安装imap服务器。事实上,我个人觉得imap服务
器很少被使用。下载最常规的imap服务器源码地址是:ftp://ftp.cac.washington.edu/imap/imap.tar.z
tar zxvf imap.tar.z
cd ima......
摘要:内核升级如果你不愿意冒险,可以跳过这个部分。不过根据我实际使用的经验,2.4.x版本的内核性能比2.2.x
的性能至少提高40%,还是很值得一试的。现在最新的发行包几乎都带有新的2.4内核,但是版本号想对保守。这里,我的建议是在决定升级任何部分的时候,
一定要首先看一下所谓的“currect version release
note”信息,里面告诉你本次版本升级都有些什么改动。如果改动的内容......
Makefile 初探上一页 ...makefiles是make自已识别的一个变量,在执行新的makefile之前,make会首先加载
makefiles所指的文件.在主makefile中它即指向.config.
【程序编程相关:
Unix操作系统的发展及时间表】 【推荐阅读:
关于Neighbour table ov】
【扩展信息:
关于linux图形界面的基本知识[转]】
==========================================
makefile解读之三: 模块的版本化处理
==========================================
模块的版本化是内核与模块接口之间进行严格类型匹配的一种方法.当内核配置了config_modversions之后,make
dep操作会在include/linux/modules/目录下为各级makefile中export-objs变量所对应的源文件生成扩展名为.
ver的文件.
例如对于kernel/ksyms.c,make用以下命令生成对应的ksyms.ver:
gcc -e -d__kernel__ -d__genksyms__ ksyms.c | /sbin/genksyms -k 2.4.1 > ksyms.ver
-d__genksyms__的作用是使ksyms.c中的export_symbol宏不进行扩展.genksyms命令识别export_symbol()中的函数名与对应的原型,再根据其原型计算出该函数的版本号.
例如ksyms.c中有一行:
export_symbol(kmalloc);
kmalloc原型是:
void *kmalloc(size_t, int);
genksyms程序对应的输出为:
#define __ver_kmalloc 93d4cfe6
#define kmalloc _set_ver(kmalloc)
在内核符号表与模块中,kmalloc将变成kmalloc_r93d4cfe6.
在生成完所有的.ver文件后,make将重建include/linux/modversions.h文件,它包含一系列#include指令
行嵌入各个.ver文件.在编绎内核本身export-objs中的文件时,make会增加一个"-dexport_symtab"编绎标志,它使源文件
嵌入modversions.h文件,将export_symbol宏展开中的函数名字符串进行版本名扩展;同时,它也定义_set_ver()宏为一空
操作,使代码中的函数名不受其影响.
在编绎模块时,make会增加"-include=linux/modversion.h -dmodversions"编绎标志,使模块中代码的函数名得到相应版本扩展.
由于生成.ver文件比较费时,make还为每个.ver创建了一个后缀为.stamp时戳文件.在make
dep时,如果其.stamp文件比源文件旧才重新生成.ver文件,否则只是更新.stamp文件时戳.另外,在生成.ver与
modversions.h文件时,make都会比较新文件与旧文件的内容,保持它们修改时间为最旧.
==========================================
makefile解读之四: rules.make的注释
==========================================
代码:
#
# this file contains rules which are shared between multiple makefiles.
#
#
# false targets.
#
#
.phony: dummy
#
# special variables which should not be exported
#
# 取消这些变量通过环境向make子进程传递.
unexport extra_aflags # as 的开关
unexport extra_cflags # cc 的开关
unexport extra_ldflags # ld 的开关
unexport extra_arflags # ar 的开关
unexport subdirs #
unexport sub_dirs # 编绎内核需进入的子目录,等于subdir-y
unexport all_sub_dirs # 所有的子目录
unexport mod_sub_dirs # 编绎模块需进入的子目录
...
下一页 摘要:使用xmanager访问linux图形界面1. 修改/etc/inittab,改变runlevel为5,例如 [root@qredhat etc]# cat /etc/inittab ...... id:5:initdefault: ...... 改为5级别方式运行linux2. 修改gdm的配置文件,/etc/x11/gdm/gdm.conf,将[xdmcp]中的enable选项设置为1,例如 ......