一块积木

系统是积木堆起来的,软件是积木堆起来的,世界也是积木堆起来的

用户操作
[即时聊天] [发私信] [加为好友]
积木ID:goodboy1881
177583次访问,排名448,好友4人,关注者15人。
goodboy1881的文章
原创 40 篇
翻译 4 篇
转载 40 篇
评论 93 篇
积木的公告

知其然,不知其所以然,不如不知。

最近动向

开始研究tomcat服务器。开始自己的J2EE历程

个人简介

学习口味甚杂, linux, solaris FreeBSD都有涉猎。 C++玩儿了4年,Java玩儿了一年。 其他网页脚本语言玩儿了两个月。 欢迎交流。

我的联系方式

邮件:goodboy1881(at)gmail.com

rss订阅

最近评论
obkof:这个系列的读书笔记写得太好了,我看书结合你的笔记,很好的理解tcp/ip的原理和重点,胜过上课老师的讲解,希望你以后还可以多写一些经典书籍的笔记^_^
chen231133:在这里我有一个问题一直不明白: 寻找默认路由之前会发送ARP请求不?它们二者之间是怎样一个过程?
------------------------------------------------
先回答后一个问题:源主机会搜索路由表来查找目标主机或者网络的表目,如果没有,就使用默认的表目,把数据报传给下一站路由器。只要确认目的地,才会发送ARP请求。
sky3010:我最近也开始学习TCP/IP详解这本书,借鉴一下你的笔记,不介意吧
linda003:(*^_^*)
inchling:做应用软件开发最好不要忽略数据库的学习,特别是大型数据库产品的知识,但数据库绝不仅仅是SQL语言。应用做到最后,数据和业务流程才是根本。
文章分类
收藏
    相册
    漂流日本
    其他
    文章插图
    一鸡回忆录
    给我留言
    给我留言
    推荐阅读
    Boost Getting Started 安装文档(翻译1.33版本)
    饼子堂
    一起在道上混的
    不亦快斋(RSS)
    废人废语(RSS)
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 关于linux的选择收藏

    新一篇: 利用Eclipse CDT建立 windows下面C++开发环境 | 旧一篇: [转载]GCC编译器选项及优化提示

    首先声明一点,本人决无意挑起发行版本优劣的争端,每一个linux发行版都是很优秀的。我写这篇介绍性的文章只是不想看到新手在面对各种各样的版本无所适从,不得不发出什么样的linux版本适合我,我应该安装什么样子的linux之类的帖子求救。

    我谨结合自己的使用体验,说说应该如何选择一个适合自己的linux版本。

    linux发展到今天,发行版本早已达到百余。可以说百花齐放,但是究其本质,大多数的发行版本都可以从以下两个特点进行简单的区分。

    1. 基于二进制或是基于源代码

    总所周知,linux上运行的大部分软件都是开放源代码的,很多都需要手动编译,安装,这种安装方式非常麻烦,但是有些linux发行版,预先把软件安的 源码包编译成了立即可执行的二进制软件包供用户下载,用户可以使用这些预先编译好的软件包来方便的构建自己的系统。那么这样的系统就叫做基于二进制软件安 包的发行版,这样的linux发行版本的优点是很明显的。

    Ⅰ可以快速的构建一个操作系统
    因为可以使用预编译的软件包,用户就省去了编译的麻烦,而且很多二进制软件包里面都带有已经做好的配置文件,用户也因此省去了繁琐的配置时间。
    Ⅱ 有效的降低了运行出错的几率

    几乎每一个软件包都会经过严格的测试才会给用户使用,用户可以放心的使用这样的软件包,而不用担心运行问题。

    Ⅲ 容易使用

    因为不用操心软件的编译和软件安装后的配置,可以说这做到了即安即用,用户就算是不太了解软件的配置一样可以正常使用。

    当然,缺点也是有的
    Ⅰ 可定制性的降低

    这是必然的,为了让二进制软件包可以运行在尽可能多的PC机器上,软件包制作团队用了很多保守的和通用的编译参数,也就是说,一个二进制软件包里面可能包含了你不想要的特性,也可能你想要的特性没有包含进去。解决这个问题的方法当然是自己编译软件包了。

    Ⅱ 运行速度的降低

    linux是用 gcc来编译的,而gcc这个编译器可以针对不同的cpu进行不同的优化,但是为了软件的通用性,二进制软件包就不会包含针对个别系统的优化,但是,这种性能的降低一般是感觉不到的。

    反过来就是基于源代码的操作系统了,你可以把上面的优缺点反过来就知道一个基于源代码的发行版本的优缺点了。这种发行版本把源代码编译的工作放到用户的机 器上面进行,用户就有更大的定制,优化的空间,用户也可以通过这样的个性化的设置来得到最适合自己的linux,

    基于二进制软件包的发行版本有很多,著名的有 Fecora Debian ubuntu suse Mandrakelinux slackware等等等等。这些发行版本都会让你快速的构建一个可用的操作系统

    相对而言,基于源代码的linux发行舨就不太多了,著名的就是gentoo和LFS。

    2。软件包管理机制的有无
    linux里面软件丰富,且相互依赖,关系复杂,很不容易处理,所以,很多linux发行版本都自己带了一个软件包管理工具,比如说著名的 apt/dpkg yum/rpm emerge/ebuild 等等,这些包管理机制虽然各有千秋,但是本质基本相似,都可以很好的解决软件包的安装,卸载问题。这样的软件包管理机制优点也是明显的。

    优点
    Ⅰ 可以很好的解决软件包的依赖问题

    用过redhat发行版本的人都会为这个问题头痛不已,每每被软件包的依赖问题搞的焦头烂额。有了软件包管理机制,这种问题可以说基本解决。

    Ⅱ 很容易的更新系统

    很多软件包管理器都可以上网去download一些软件的最新版本来给用户使用,使得用户总是能用上最新的软件,这是再好不过的事情了。

    缺点
    Ⅰ 多余软件包的安装

    为了安装一个软件包,软件包管理器通常会我为你的系统添加很多软件包,有些是必须的,有些则是附加(Option)这占用了宝贵的磁盘空间。

    Ⅱ 系统对软件包管理器的依赖

    一旦软件包管理器挂掉,系统将可能不能被更新,笔者就遇到了几次这样的错误,最后的结果就是重新安装系统。但是,无论如何,软件包管理机制都是linux 发行版本的一个重要组成部分。比较好用的软件包管理机制有 apt yum等,而基于二进制软件包系统的除了redhat和slackware以外,基本都带有一个软件包管理系统,所以用户可以放心拿来使用。

    以上两点是评价一个linux版本是不是适于“我”的两大重要特质。根据这样的特质,我们可以大致分出来三种操作系统

    1 基于二进制带软件包管理机制的操作系统

    大多数的发行版本都属于这一类,著名的有 Debian ,Fedora core , Mandrake , suse, 等等。这一类的linux发行版本也是最适合新手使用的。

    2 基于源代码带软件包管理机制的操作系统

    我用过的只有一个。 gentoo ,这个操作系统可以帮助你建立起一个适合你机器的linux发行版

    3 基于源代码不带软件包的操作系统

    这个比较变态,但是可定制空间最大,最著名的就是LFS。

    当然,我们还有很多考察一个linux发行版本是不是适合自己的点。
    比如说

    1 该操作系统是不是有丰富的配置工具
    2 该操作系统对硬件支持怎么样
    3 该操作系统运行速度怎么样
    4 该操作系统的稳定性怎么样
    5 该操作系统很容易安装么
    6 对于中文用户,当然还关心这个发行版本的中文化怎么样

    对于这几点,大致上来说,商业上发行版本要比民间志愿者作的发行版本要好(运行速度除外),一个新手要打算使用linux,最好的选择就是选择类似于 Mandrake Suse(据说运行速度比较慢)这样的版本,还有虽然不是商业发行版本但是中文化也作的很不错的Magic linux 以及 hiweed debian 0.6(注意,我说的是0.6)

    但是,其他的linux发行版本也是很有特点的,稍微有一点基础的人群可以选用 ubuntu debian 这两个发行版本易用性和中文化并非不好,但是初学者可能会因为这两个操作系统相对简陋的配置工具而受到打击(实际上没那么严重了,用上两三天就好了)

    最后是我结合我自己的了解对各大发行版本的总结

    CentOS 如果你喜欢RH的产品,而你又讨厌FC4的臃肿,那么尝试一下CentOS吧,当你打开这个发行版的时候,相信你会大叫一声:“这不就是Redhat么”,是的,这个版本完全使用RH的srpm生成系统,而且性能也很不错。

    Debian 这个发行版本在所有发行版本里面堪称最严谨的,apt软件包管理机制可以让用户快速建立起来高效的操作系统。稳定性也是出名的,这个发行版很多软件默认就 有很好的设置,可以作为日常的工作使用。对硬件支持也不错,笔者的笔记本上外设特别多,几乎没有做什么特别的设置那些外设就完全正常的工作了,当然中文化 可能需要花你一点点的时间,也就是添加几句话而已。

    Fedora Core /Redhat 全拜中国盗版商的功劳,这个系列的发行版能够在中国生存下来,原来的redhat已其最烂的rpm软件包管理机制闻名于世,而现在的FC 则以臃肿的外表和缓慢的运行速度明满天下,笔者不推荐这个版本作为首选,是因为这个版本是作为Redhat的一个实验版本发行,把用户作为小白鼠的行为实 在是让人无法忍受。
    但是,作为服务器发卖的RH还是很有竞争力的,可惜我手里没有银子,买不起。

    gentoo 这个发行版本是基于源代码包的发行版本,特点当然就是运行快速,以及可定制性,当然,相对的代价就是漫长的编译时间,编译一个套件花费一个晚上那是正常 的。但是,因为有了 ebuild 这个有效的软件管理器,gentoo已经成为了很多既想要速度有不想自己解决软件包依赖关系的用户的首选

    LFS 我之所以反复的提到这个发行版本是因为,它太灵活了,它是你的linux发行版本,虽然代价就是你要自己管理软件包,自己编译,自己给自己的操作系统打补丁,但是,这些是你的,实实在在的,你知道你在你的系统上都作了什么。你可以在这里学到很多东西。

    Mandrake 这个版本就是给新手或者给打算用linux工作的人作的,它有一个软件包很丰富的软件仓库,用户可以方便的安装这些软件并使用它们,而且现在这个发行版本 的运行速度也是很快的,曾经有人在linuxsir上写过 《 打破Debian神话 》之类的文章来为这个版本作宣传,可见这个版本在总多网友中已经得到肯定,给我一个不用这个发行版的理由,有吗?

    Slackware 这个发行版本最大的特点就是,没有配置工具,什么都通过修改配置文件来进行,如果想学习linux背后的东西,那就用这个发行版本吧。

    Suse 不能不说这个家伙两句,就是华丽的外表,容易上手的配置工具,和缓慢的运行速度,当然,高配置电脑的用户可以尝试一下这个产品。

    Ubuntu 这是最近在国内相当火热的版本,在全世界也是这样,这是一个从debian衍生出来的发行版,软件更新极快,gnome2.12刚出来第二天就被它放在了 自己的软件服务器上供用户下载了,而且这个发行版对各种硬件的支持也特别好。用户几乎不用什么特别的配置就可以使用自己机器上面所有的硬件了。如果你用笔 记本,可以尝试一下它。不过这个版本因为比较年轻,所以软件服务器很少,速度也比较慢,如果家里不是宽带,那还是不要用这个版本了。

    写在后面:这是原来我写在linuxfans上面的一篇文章,放在这里是为了让更多的用户能对linux版本有一个大致的了解,如果能对你快速上手linux有帮助,那时再好不过的事情了。

    发表于 @ 2006年03月20日 10:22:00|评论(loading...)|编辑

    新一篇: 利用Eclipse CDT建立 windows下面C++开发环境 | 旧一篇: [转载]GCC编译器选项及优化提示

    评论

    #chinacang 发表于2006-03-24 12:47:00  IP: 58.241.134.*
    已阅读,谢谢
    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © 积木