[ 上一页 ] [ 目录 ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ 下一页 ]


The Debian GNU/Linux FAQ
第 3 章 - 兼容性问题


3.1 可以在什么样的硬件系统上运行?

Debian GNU/Linux 包含所有程序的完整源代码, 因此可以在所有Linux内核支持的硬件系统上运行; 详见 Linux FAQ.

Debian GNU/Linux 现在的版本是 3.1, 包括在以下硬件系统上运行的完整的源代码和二进制程序:

i386: 指基于 Intel 和兼容处理器的 PC 机,包括Intel的 386, 486, Pentium, Pentium Pro, Pentium II (Klamath 和 Celeron), 和 Pentium III, 以及 AMD, Cyrix 等制造的兼容处理器.

m68k: 指基于Motorola 680x0 的Amiga 和 ATARI系列.

alpha: 指 Compaq/Digital 的 Alpha 系统.

sparc: 指Sun的 SPARC 和大部分的 UltraSPARC 系统.

powerpc: 指 IBM/Motorola PowerPC, 包括 CHRP, PowerMac 和 PReP.

arm: 指ARM 和 StrongARM.

mips: 指 SGI 的 big-endian MIPS 系统, Indy 和 Indigo2; mipsel: 指 little-endian MIPS, Digital DECstations.

hppa: 指 Hewlett-Packard 的 PA-RISC(712, C3000, L2000, A500).

ia64: 指Intel 的 IA-64 ("Itanium") 计算机.

s390: IBM 的 S/390 系统.

基于 Sparc64(UltraSPARC native) 的 Debian 的二进制版本正在开发阶段.

更多的具体硬件支持详见用户安装手册 http://www.debian.org/releases/stable/installmanual.


3.2 与其他的linux发行版兼容行如何?

Debian 发者努力与其他 Linux 发行版沟通, 以保持软件的兼容性. 大多数的软件都可以象在他们的开发环境下一样运行的很好.

Debian GNU/Linux 遵循 Linux 文件系统层次标准)Linux Filesystem Hierarchy Standard). 但是, 在规则解释上存在一定的回旋余地因此某些细节上可能与其它发行版有所不同.


3.3 Debian 源码与其他 Unix 兼容性如何?

大多数Linux程序的源码是和其他 Unix 系统相兼容的. 它几乎支持 System V Unix 系统和自由的和商业的 BSD 系统中的所有程序的源码. 但是说法无法证明, 因此对于 UNIX 没有什么价值. 在软件开发中需要的是完全兼容, 而不是大部分兼容. 因此出现了今天的 POSIX.1 (IEEE Standard 1003.1-1990), 类 UNIX 系统源码兼容性的主要标准之一.

Linux 原本要基于 POSIX.1 的, 但是 POSIX 不是免费的, 而且 POSIX.1 证书相当昂贵. 这使得 Linux 基于 POSIX 开发相当困难. 证书费用使得 Debian 获得官方兼容性证明相当困难, 即使已经完全通过确认条款(为了让更多的人在 POSIX 标准上工作, 这些确认条款可以免费获得).

Unifix 股份有限公司(Braunschweig, 德国) 开发了一个获得了 FIPS 151-2 证书的 Linux 系统. 这种技术用于 Unifix 的发行版 Unifix Linux 2.0 和 Lasermoon 的 Linux-FT.


3.4 我可以在 RedHat/Slackware/... 上使用 Debian 的包(".deb"文件)吗? 我可以在 Debian 上使用 RedHat 的 rpm 包吗?

不同的发行版使用不同的软件包格式和软件包管理程序.

你或许能:

通过一个程序可以把一个 Debian 包安装基于'其它'发行版的 Linux 系统中, 通常可以正常运行, 也可以把一个RedHat 或 Slackware 格式的包转换成 Debian GNU/Linux 格式的包. 这得益于 Linux 文件系统的层次标准. Alien 程序用于不同格式的包的转换.

你或许不想:

有些人在安装文件时, 自己来写安装控制文件, 通常这些文件是不标准的. 因此在 '其它' 系统上安装一个 Debian 包, 对于包管理系统可能产生不可预知的影响. 同样一个其它系统上的程序也许可以成功的安装到 Debian 系统中, 但是, 可能会导致 Debian 包管理系统不能完成一些包升级或删除, 甚至不能报告系统上安装了哪些包.

一个比较好的方法:

Linux文件系统标准建议 /usr/local/ 下的目录完全由用户使用, 因此可以将‘foreign' 软件安装到这个目录下,进行配置,升级,或删除.


3.5 IDebian 可以运行 libc5 程序吗?

是的,只需要从 oldlibs 区域(与老程序兼容所需包)安装 libc5 库.


3.6 Debian 可以编译 libc5 程序吗?

是的. 从 oldlibs 目录安装 libc5-altdevaltgcc 软件包. 你会在 /usr/i486-linuxlibc1/bin 目录下发现所需的 gccg++, 把它放入你的 $PATH 变量, 使得make 和其他程序首先执行它.

注意我们的其他软件包对 libc5 环境不是支持的太好.


3.7 如何安装非 Debian 格式程序?

/usr/local/ 目录下的文件不在 Debian 包管理系统控制范围之内. 因此把你的程序的源代码放到 /usr/local/src/ 目录下是个不错的习惯. 例如你可以把一个名为 "foo.tar" 的包解压到 /usr/local/src/foo 目录, 编译后,可执行程序放到 /usr/local/bin/, 库文件放到 /usr/local/lib/, 配置文件放到/usr/local/etc/.

如果你的程序必须放到其它目录, 你仍可以把它们放到这个目录, 在需要的目录建立一个符号连接指向 /usr/local/ 目录下它的位置. 如

     ln -s /usr/local/bin/foo /usr/bin/foo

如果你获得一个可再分发的软件, 可以把它做成 Debian 格式的包, 然后把它加载到 Debian 系统中, 在用户手册中有关于Debian 格式包制作的介绍(详见Debian 系统的其他文档?, 第 11.1 节).


3.8 为什么我不能编译需要 libtermcap 的程序?

Debian 使用 terminfo 数据库和 ncurses 库文件而不是 termcap 数据库和termcap 库文件. 编译这些软件时应该用 libncurses 替换 libtermcap, 并且用户应该有一定的关于终端接口的知识.

为了运行已经和 termcap 库相连并且你没有源代码的程序, Debian 提供了一个称作 termcap-compat 的包, 它提供了 libtermcap.so.2/etc/termcap, 安装这个包可以解决程序运行提示无法加载'libtermcap.so.2'库或缺少 /etc/termcap 文件的问题.


3.9 什么无法安装 AccelX?

AccelX 安装时会用到 termcap 库, 详见为什么我不能编译需要 libtermcap 的程序?, 第 3.8 节.


3.10 为什么我的 XFree2.1Motif 崩溃了?

你需要安装 motifnls 包, 他提供了在 XFree-3.1下运行基于 XFree-2.1 编译的 Motif 程序的XFree-2.1 配置文件.

没有这些文件, 一些 Motif 程序在做拷贝和粘贴操作时有可能会崩溃, 也可能会出现其他的问题.


[ 上一页 ] [ 目录 ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ 下一页 ]


The Debian GNU/Linux FAQ

version CVS, 25 November 2005

translator: etony C.F.AN etony@tom.com
Debian FAQ Authors