BBS水木清华站∶精华区
发信人: zhouquan (haha), 信区: Linux
标 题: Debian 2.0
发信站: BBS 水木清华站 (Tue Oct 13 11:11:36 1998)
介绍
Ian Murdock在1993年创造了Debian Linux系统,一开始它是由自由软件基金会的
GNU项目监管的. 尽管现在和FSF(自由软件基金会)/GNU的联系已经是过去的事了,
Debian仍然是仅有的和商业组织无关的Linux系统,它是由松散的组织起来的志愿者维护的.
这种和Linux本身相近的"性格"使得它大受那些信仰自由软件世界的理想的Linux用户的青睐,
包括那些并不完全赞同FSF的极端观点的人也很喜欢它.
公正的说,Debian还没能给Linux世界带来一场风暴. 过去,安装过程需要好几张软盘,
并且由于软盘这种媒介所独有的特点,(根据我的经验)安装过程中至少有一张软盘会坏掉,
可怜的用户不得不重新做一遍这张软盘,然后再从头开始安装.
而Debian2.0就不同了,如果(比方说)第五张盘坏了,它在你恢复安装的时候可以从上次中断的地方开始.
有幸在BIOS中支持光驱启动的机子越来越普通和便宜了,
Debian现在也可以从光驱直接启动.
一旦基础部分安装好,dselect这个安装软件----一个功能非常强,
但是用起来极不方便的程序----会让新用户更加泄气.
等到这些障碍都被跨越,用户会发现Debian系统设计的十分精致.
举例来说,sendmail的配置对许多Linux用户来说,都是一件头疼的事情,
在我玩Slackware的时候,我有一个经历了许多痛苦才完成的sendmail的配置,
仅仅走到这一步,就让我花了许多时间阅读FAQ以及在新闻组中做大量的搜索.
我第一次安装Debian的sendmail包的时候,
Debian问了我一些和我的系统以及我的邮件服务器有关的问题.
这之后,sendmail根据一些我从来没听说过的一些晦涩的选项就能顺利的工作了.
在安装magicfilter包的最后一步是打印机的配置, 这也工作的非常好.
这些安装过程也许没有你在其他Linux系统中看到过的漂亮的图形界面,
但是它们工作的很好,不需要X窗口,当然也不需要X的工具库.
Debian之所以如此强大的核心是它的特别详尽的*.deb打包格式.
这个格式,在许多方面可以和 Red Hat的RPM格式相比较,
它做了所有可能的工作,以避免新安装的软件包和现有的软件发生冲突,
并且避免使系统变得不稳定.
依赖性检验(一个新安装的包需要哪些支持才能正常工作)被进一步强化了,
而且更加流畅,用户也可以取消这个检验.
软件包安装的时候,将自动执行预安装及安装扫尾脚本.
这些脚本会更新缺省的配置文件,从较早的版本中删除过时的文件,
在需要的时候,可以提示用户做出选择.
dpkg这个命令行程序可以用来安装,更新或者删除各个软件包.
Dselect----dpkg的全屏幕前端程序----能够找到并安装整个的依赖性继承关系;
也就是说,假如你用dselect选择了一个包,它可以决定还需要哪些其他的包,
然后把他们一起安装起来. 我承认,只要可能,我总是避免使用dselect,
我通常在得到所需要的包以后,手工用dpkg进行安装.
问题在于dselect经常被用来进行那种从头开始的安装;
到了系统需要进行一次大的升级的时候,大多数用户早已忘记应该按哪一个键了.
它并不是一个经常被使用的工具,所以也没有做什么工作来帮助有效的使用它,
在主菜单和帮助页面之间切换显得非常的累赘.
我十七岁大的儿子第一次安装Linux是因为喜欢上了Gimp这个图形程序.
我为他装了Debian1.3,但是他是一个硬件迷, 总是不断的换硬盘,换显卡.
在他第二次重新安装Linux的时候,我想让他自己运行dselect, 但是他恨这个程序.
后来,他说服了他的一些朋友也来试一试Linux,
于是我不得不在电话线上花上大量的时间指导他们如何使用dselect
进行安装,最后我不得不放弃,去买了一张Red Hat 5.0的光盘给他们.
他们现在玩的就是这个. 在一个新手能够在不需要任何帮助的情况下安装Debian之前,
Debian还有一段路要走.
Debian 2.0
Debian2.0已经被拖延了好几个月了,因为在好几个包里都有未解决的虫子.
对于志愿者来说,这是无法避免的,还有就是如何转到大多数程序所依赖的 glibc库上面来.
Redhat 5.0是第一个基于glibc的系统,去年就发行了.
5.0有几个问题,它们的大多数但不是全部,已经在今年的5.1版中得到了修正.
我猜Debian的开发人员之所以不紧不慢,就是为了要在Debian2.0中避免同样的问题.
Debian的社团在今年早些时候Bruce
Perens----Debian的领导以及发言人----宣布辞职的时候, 大概都感到有些伤心.
似乎Perens认为Debian在对用户更加友好方面走得太慢了.
这个观点有些道理,Debian似乎只对Linux老手有吸引力,
它们并不在乎没有图形化的配置工具.
这也在一个较小的尺度上反映了Linux本身所遇到的问题:
如果要争取更大的用户群,安装和配置就应该更加简化,
但是那些有能力开发这些必须的工具的人看来并不需要这些工具.
Linuxconf和COAS,试图填补这个空缺,它们有可能获得成功.
Libc5和Libc6
这个版本值得注意的是它漂亮的处理了libc5/libc6的问题.
两个版本的库可以同时安装同时使用,而且对用户是透明的.
这很重要,因为大多数只提供二进制文件的商业程序都是用libc5编译的.
这也使得从Debian1.3进行升级成为可能;
从1.3升级到2.0所必需的基础文件,可以在几个小时内下载下来,
其他的包只要时间允许,也可以陆续安装起来(或者等光盘邮寄过来).
老的libc5包仍旧可以工作,直到进行升级.
仅仅有libc5是不够的,这只能运行基本的程序.
还需要一些其他的共享库;在Debian中,它们被安装在/usr/lib/libc5-compat .
Ldd----共享库装载程序----可以在运行libc5的可执行文件的时候使用这些库.
你很可能需要libc5 XFree86的库文件,以及libxpm以便运行比较老的二进制文件.
可以很方便的根据libc5可执行程序决定需要那些库. 只要看看ldd的输出即可(比如运行ldd
netscape), 如果libc5和libc6同时出现,千万不要试图运行这个程序,
它会立即死掉.假如只显示了libc.so.5,并且其它的库都位于/usr/lib/libc5-compat,
那么这个程序就可以运行. 下面是在运行libc5版的Netscape上的ldd的输出:
libXt.so.6 => /usr/lib/libc5-compat/libXt.so.6 (0x4000c000)
libSM.so.6 => /usr/lib/libc5-compat/libSM.so.6 (0x4004e000)
libICE.so.6 => /usr/lib/libc5-compat/libICE.so.6 (0x40057000)
libXmu.so.6 => /usr/lib/libc5-compat/libXmu.so.6 (0x4006c000)
libXpm.so.4 => /usr/lib/libc5-compat/libXpm.so.4 (0x4007e000)
libXext.so.6 => /usr/lib/libc5-compat/libXext.so.6 (0x4008c000)
libX11.so.6 => /usr/lib/libc5-compat/libX11.so.6 (0x40097000)
libdl.so.1 => /lib/libdl.so.1 (0x40135000)
libc.so.5 => /lib/libc.so.5 (0x40138000)
这里是在运行libc5版的Netscape上的ldd的输出:
libXt.so.6 => /usr/X11R6/lib/libXt.so.6 (0x40010000)
libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x40052000)
libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x4005b000)
libXmu.so.6 => /usr/X11R6/lib/libXmu.so.6 (0x40070000)
libXpm.so.4 => /usr/X11R6/lib/libXpm.so.4 (0x40084000)
libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x40092000)
libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x4009d000)
libdl.so.2 => /lib/libdl.so.2 (0x4013b000)
libc.so.6 => /lib/libc.so.6 (0x4013e000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
libg++.so.2.7.2 => /usr/lib/libg++.so.2.7.2 (0x401e3000)
libstdc++.so.2.7.2 => /usr/lib/libstdc++.so.2.7.2 (0x4021b000)
libm.so.6 => /lib/libm.so.6 (0x40258000)
当然如果你进行的是完全重新开始的安装(并且不需要运行老的程序),
那么所有的东西都应该是基于libc6的,上面的过程也不是必要的了.
安装
在这期的《Linux公报》出版的时候,Debian2.0的光盘应该可以买到了,
对于大多数人----除了很少的网络连线非常快或可以无限制上网的人----来说,
一张光盘可能是最简便的安装办法了.
因为我自己进行的是一次从Debian1.3的升级(持续了好几个星期),
所以我没有机会了解安装过程是否有了改善,直到有一天,
我碰巧注意到我妻子的笔记本上有几百兆的空闲空间. 不幸的是这台机子(486
Thinkpad)没有配备光驱, 并且它的猫也很慢. 在用Partition
Magic把单个硬盘分区分割开之后,我得到了两百兆的空间.
回到我自己的机子上,我从ftp.debian.org的一个镜像上下载了 7张软盘的镜像,一共九兆半.
看上去很多,但是这七张软盘提供了一个最简单的Linux系统,并且带有互联网访问.
等到把软盘镜像拷贝到软盘上这个艰难的任务完成后,
我用第一张盘启动了Thinkpad,开始了安装.
就像RedHat,Debian的安装过程也是全屏幕菜单驱动的,
只不过看上去不是特别的精彩.一个主要的不同是,
当RedHat的安装过程继续到软件包的安装和X的配置的时候,
Debian看上去更像是一个分俩步进行的过程. 在基本的安装完成以后,用户要重新启动机器;
等到新的Debian系统启动(从启动盘或直接从硬盘)以后,
用户被提示输入root的密码并建立用户账号.
接着dselect这个软件包安装及管理程序开始运行,
但选择并安装软件包可以退后执行,这正是我需要的.
Debian的分俩步走的安装过程对我来说比较有意思.
为什么要在不知道系统是否能够启动以及是否error-free之前,
就匆匆忙忙的安装应用软件呢? 等着运行dselect的另一个理由是这牵扯到网络连接.
尽管RedHat和Debian都带有PPP配置工具, 但对我来说,它们工作的都不好.
我总是得自己调整/etc/ppp的文件, 尽管Debian的pppconfig做的工作和我所要求的最为接近.
我的ISP是对Linux极不友好的ISP之一; 我知道对大多数的互联网提供商来说,
这些网络配置工具可以工作的很好.
等到建好PPP,dselect就能通过ftp获取这个系统的数不清的软件包了.
dselect也可以从NFS文件系统,本地硬盘或光驱进行安装.
不久以后,dselect和dpkg会有某种形式的图形界面,但是这个任务比较艰巨.
作为开始,一个叫做apt的程序正在开发当中;
当前,它可以使用户在一步操作中就能同时从远端系统及本地进行安装.
如果远端服务器上的包比本地的要新,它会自动的安装远端的包.
也就是说,apt允许用户主要从光驱进行安装,并且同时能够从远端服务器上下载最新的包.
Debian的开发人员非常仔细的避免在主要的包中让人感到GNU的影响.
权限证书甚至在源文件是公开的情况下,都要求这些包被放在独立的目录/nonfree中.
这些包实际上也是免费的,但是证书限制了它们被包含在光盘当中.
结论
我预计虽然Debian2.0的安装过程有了改善,它仍旧是一个技术人员的Linux版本.
这可能会在dselect被取代之后有所改观.
不管怎么样Debian社团仍在持续的发展,有大约四百个开发人员在维护.
可选择的软件包数量庞大,*.deb格式的包至少和*.rpm 格式的包数量一样多.
对于那些在其它的Linux版本中磨练过的用户,我向他们推荐Debian,
但是对于新手,我还是推荐Redhat.记住, 如果你能通过dselect这道关,剩下的只是小菜一碟!
Last modified: Mon 27 Jul 1998
Copyright � 1998, Larry Ayers
Published in Issue 31 of Linux Gazette, August 1998
--
※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 162.105.15.15]
BBS水木清华站∶精华区