《Fedora Core 4 正式版 ISO镜像》(Fedora Core 4)Fedora Core 4 官方正式版[ISO]使用这样的命令来准备内核源代码: cd /usr/src/redhat/SPECS rpmbuild -bp --target $(arch)kernel.spec 内核源代码将位于 /usr/src/redhat/BUILD/kernel-<版本> 目录。通常的做法,是将这个 linux-<版本> 目录移到 /usr/src 目录中,尽管不是必须这样做。这样做只是为了遵循通常使用的文档。 cd /usr/src/redhat/BUILD/kernel-<版本>/usr/src/ mv linux-<版本>/usr/src/ cd /usr/src ln -s./linux-<版本>linux cd /usr/src/linux 4. Fedora Core 4 默认的内核的配置文件在 configs/ 目录。例如,i686 SMP 配置文件被命名为 configs/kernel-<版本>-i686-smp.config。使用下列命令来将需要的配置文件复制到合适的位置,用来编译: cp configs/<desired-config-file>.config 5. 执行这个命令: make oldconfig 接下来就没什么差别了。 6.2.2.4. 只构建内核模块 要为当前使用的内核构建内核模块,例如你自己的设备驱动,不需要 完整的内核源码树。 例如,要构建 foo.ko 模块,在包含 foo.c 文件的目录中创建这样的 Makefile: obj-m := foo.o KDIR := /lib/modules/$(shell uname -r)/build PWD := $(shell pwd) default: $(MAKE) -C $(KDIR) M=$(PWD) modules 执行 make 命令来编译 foo.ko 模块就可以了。 6.2.2.5. 用户空间对内核的依赖 Fedora Core 添加了对集群系统的支持。这需要将特殊的内核与一些用户空间的使用工具联合使用,包括管理守护进程等。因此,如果在更新升级之后,要删除这样的内核,不能 像在过去的发行版中一样,简单地使用 rpm -e kernel-<版本> 命令,因为这些用户空间的软件包依赖于内核软件包。你可以在 rpm -e 命令中同时列出内核软件包和依赖于它的用户空间软件包,也可以用命令 yum remove kernel-<version>,这样 yum 会自动删除有依赖关系的软件包。 6.2.3. 安全 这一章重点描述 Fedora Core 的安全措施。 6.2.3.1. 统一的数字认证 数字认证现在被集中到 /etc/pki/ 目录。执行升级的用户必须重新定位他们的数字证书。 OpenSSL: /usr/share/ssl 内容被移动到了 /etc/pki/tls 和 /etc/pki/CA。 Dovecot: dovecot-openssl.cnf 文件被自动安装到 /etc/pki/dovecot/。 关于 SELinux 的信息,参见 第 4 节 “本次发布概况” 6.3. 开发工具 6.3.1. GCC 编译器集合 Fedora Core 4 使用 GCC 4.0 构建,同时将其包含在发行版中。 警告 * 需要 GDB 6.1 或更新的版本来调试可执行文件,除非编译时指定了 -fno-var-tracking 编译选项。 * 选项 -fwritable-strings 不再可用。 * 英语的诊断信息以 Unicode 编码,如果无法阅读,请将环境变量 LC_CTYPE 设置为 "C" 或者换用其他终端模拟程序。 * 在大多数系统中不再安装 specs 文件。普通用户不会注意它,需要调整这个文件的开发者可以使用 -dumpspecs 选项来生成并用于编辑。 代码生成 * 包含了 SSA 代码优化程序。它提供了更好的 constant propagaion, partial redundancy elimination, load and store code motion, strength reduction, dead storage elimination, better detection of unreachable code 以及累计的尾递归。 * 自动向量化得到支持。这一技术在某些情况下,对于重复的循环可以获得更高性能。 语言扩展 * 加入了 sentinel 属性,编译器在遇到 execl(char *path, const char *arg, ...) 这样,需要一个 NULL 参数列终结符的函数中,缺失了 NULL 的情况下会发出警告。 * cast-as-lvalue, conditional-expression-as-lvalue, 和 compund-expression-as-lvalue 扩展都被删除了。 * #pragma pack() 的语义被修正为更接近其他编译器。 * 对声明时带有 register 修饰符的变量取地址时,产生错误而不是警告。 * 不完整的类型的数组会引发错误。这意味着不能对结构体的定义进行前向引用。 * 基础的编译器,不使用任何优化时 (-O0),经过测试在实际代码中速度提高了 25%。 * 在多线程程序中可以包含函数作用域的静态变量了。嵌入式程序员可?************∠? -fno-threadsafe-statics 关掉这一特性,但普通用户永远不要这样做。 Java * 为避免名字冲突: rmic 现在成为 grmic; rmiregistry 现在是 grmiregistry; 最后 jar 现在是 fastjar。 * GCJ 编译器可以用作 just-in-time (JIT) 工具,只要使用 gnu.jit 来执行。 * 加入了更多对 AWT 和 SWING 的支持。 FORTRAN * GNUFORTRAN 77 前端被新的 FORTRAN 90/95 分析器所替代。 Eclipse 开发环境 * Eclipse 3.1M6 被编译为一个本地的应用程序。 * 包含了 C 开发工具 (CDT)。 6.4. 多语种支持 这一章包含与 Fedora Core 中多语种支持有关的信息。 6.4.1. IIIMF 输入系统 IIIMF 即 Internet/Intranet Input Method Framework。在 Fedora Core 4 中,iiimf 软件包被更新到 12.2 版。 文件路径的更改 iiimf 软件包中的一些文件的名称和路径发生了变化。 IIIMF 服务器被重命名,从 /usr/sbin/htt 变为 /usr/bin/iiimd。XIM 客户端被重命名,从 httx 变为 iiimx。init.d 中的启动脚本名称没有变化,仍然叫做 iiim。所有全局配置文件现在都位于 /etc/iiim/。 上一篇:《Fedora Core 5》(Fedora Core 5)Released[ISO] 下一篇:《Fedora Core 3 多国语言版》(Fedora Core 3)Linux 个人版操作系统[ISO] 更多相关文章
|
推荐文章
精彩文章
|