C语言的优缺点
特点
- 底层语言:速度快,权限高,如果编写嵌入式底层,这个是必须的
- 小型语言:看看关键字,看看圣经,然后再看看众多的Libraries
- 开放性语言:给了程序员最大的自由,比如指针完全有程序员自己决定时候释放,而其他语言可能自由回收
优点
- 高效
- 可移植
- 灵活
缺点
- 错误不易发觉
- 可以编写混乱代码
- 代码到达一定量级,可能比较难维护
C语言是由Bell实验室的Ken Thompson、Dennis Ritchie等人开发的,刚开始Thompson开发了一个小型的B语言,后来Dennis加入进来,开始着手完善升级B语言,并称为NB语言(果然够N-B),其实是New-B的意思,不过Dennis写着写着,犹如神助,功能越发完善,已经不是NB可以承载的了,所以更名为C语言。
C语言的学习有一本圣经,就是C语言的创建者合写的《The C Programming Language》,虽然现在看起来在C语言标准化以后有些章节有些过时,但是由此引发了一系列的跟随者,比如The C++/C#/XXX Programming Language。
如果评判一件事物是否够千秋万业,只要看看是否可以”前无古人后无来者”即可,或者”前无古人后有继承者”亦可。
C语言是后一种,作为一种超级现在的编程语言,C语言影响了后来的很多编程语言,比如C++、Java、C#、Perl等。
对于Linux新手来说,在各发行版之间困惑得进行选择和不断增加的数量实在令人头晕。
不过随着大浪淘沙和各种变化,曾经的发行版也在悄然发生着变化。
而相对而言最为人所知且应用广泛的,无外乎:
Ubuntu 于2004年9月首次宣布发行。尽管是 Linux 舞台上的后起之秀,但在接下来的几年里, Ubuntu 成长为最流行的 Linux 桌面发行版而且对既“简单易用”又自由还能够与其它任何在市场上的私有版本有力竞争的操作系统的发展有巨大贡献。
Ubuntu 取得如此震惊成功的原因,可能还是离不开这个项目的发起人 Mark Shuttleworth。
一个极有魅力的南非富翁、一个前 Debian 开发员和世界第二个太空游客 – 他注册在马恩岛的 Canonical 公司目前正在资助这个项目;
其次, Ubuntu 从其它类似发行版的错误中汲取教训并且从一开始就避免重蹈覆辙 – 它用 wiki 风格的文档、有创意的错误报告机制和面向终端用户的专业方法创建了一个完美的基于网络的基础结构;
最后,感谢它富有的创始人使得 Ubuntu 有能力向全世界的爱好者免费发送 CD ,这对版本的快速传播很有帮助【我曾经获得过2块系统CD】。
在技术方面, Ubuntu 基于 Debian 的“Sid” (不稳定分支),但是随着一些杰出的软件包比如 GNOME 、 Firefox 和 OpenOffice.org 升级到它们的最新版本, Ubuntu 有固定6个月的发布周期,偶尔还会出现提供3~5年安全升级的长期支持版(LTS),这取决于版本号(非 LTS 版本提供18个月的支持)。 Ubuntu 的其它特点包括一张可安装的 live CD 、有创意的艺术作品和桌面主题、针对 windows 用户的移民手册、对最新技术的支持比如3D桌面特效、 ATI 和 NVIDIA 显卡以及无线网络的私有设备的驱动的简易安装还有非免费或专利担保的媒体解码器的有求必应的支持。
openSUSE 的起源可以追溯到1992年,当时4个德国 Linux 爱好者 – Roland Dyroff , Thomas Fehr , Hubert Mantel 和 Burchard Steinbild – 以 SuSE (软件和系统开发) Linux 的名字发起了这个项目。在最初的几年里,这个年轻的公司主要出售德文版 Slackware Linux 的套装软盘,但是不久后在 SuSE Linux 于1996年5月随着4.2版本的发布而成为一个独立的发行版之后就停止了。接下来的年份里,开发者采用了 RPM 软件包管理形式而且也推荐了一个简单易用的图形化的系统管理员工具 – Yast 。频繁的发行,卓越的打印文档,还有遍及欧洲和北美的随店可买导致此版本普及率的不断增长。
SuSE Linux 在2003年末被 Novell 公司购买,随之很快就在开发、许可证和使用方面产生重大变化 – YaST 在 GPL 许可证下发行, ISO 镜像可以在公共下载服务器上自由下载,还有,最意义重大的,发行版的开发首次向公众开放。从 openSuSE 项目的设立和2005年10月10.0版本的发布以来,这个版本在两种感官世界变的完全自由。 openSuSE 的代码构成了 Novell 的商业产品的底层系统,一开始叫作 Novell Linux ,后来改名为 SUSE Linux 企业桌面版和 SUSE Linux 企业服务器版。
今天, openSUSE 有着庞大的满意用户群。它在用户中取得如此高分的最主要原因包括友好而绚丽的桌面环境( KDE 和 GNOME ),出色的系统管理工具 (YaST),以及,对那些购买盒装版本的用户来说,对任何版本都可用的最棒的打印文档。然而, Novell 与微软最近签订的协议明显的承认了微软的有关对 Linux 拥有知识产权的条款,这导致了广大 Linux 人士一系列的谴责并且促使部分用户转向其它发行版。尽管 Novell 低调处理这份协议而且微软也尚未行使任何权利,这件事成为其它非常“社区友好”型 Linux 公司的眼中钉。
尽管 Fedora 在2004年9月才正式发布,但它的起源可以追溯到1995年被两个 Linux 空想者 – Bob Young 和 Marc Ewing – 以 Red Hat 之名发起的 Linux 。公司的第一个产品, Red Hat Linux 1.0 “母亲节”,在同年发布并且很快跟着推出一些错误修复的升级。1997年, Red Hat 推出了它的革命性的带有依赖协议的 RPM 软件包管理系统和其它高级功能极大的促进了该发行版在大众中的迅速崛起,并且超过了 Slackware Linux 成为世界上最被广泛使用的 Linux 发行版。接下来的几年里, Red Hat 制定了一个有规律的、6月周期的发行标准。
2003年,在 Red Hat Linux 9 的发布之后,公司对其产品线进行了激进的改革。公司对其商业产品– 著名的 Red Hat 企业版– 保留了 Red Hat 商标,并且推出了 Fedora Core – 一个 Red Hat 发起但是面向社区的为“ Linux 爱好者”而设计的版本。在对这一改变刚开始的批评之后, Linux 社区便开始接受了这一“新”的版本作为 Red Hat 逻辑上的续版,一些有质量的发行版是为了 Fedora 夺回之前作为市场上最受喜爱的发行版的地位。在同一时间, Red Hat 很快成为了世界上最大最赚钱的 Linux 公司,以它新颖的产品线和其它有趣的提议,比如它的 Red Hat 认证工程师( RHCE )认证。
尽管 Fedora 的方向在很大程度上被 Red Hat 公司所把持,而且其产品有时似乎– 无论对错– 是作为 Red Hat 企业版的试验田,但是无可否认的是 Fedora 是当前可用的最有新意的发行版之一。它对 Linux 内核、 glibc 和 GCC 的贡献广为人知,而且它对 SELinux 功能、 Xen 虚拟技术和其它企业级的功能的综合在企业用户中非常受欢迎。在令一方面, Fedora 仍然缺乏一个清晰的面向桌面的策略来使产品成为对除了“ Linux 爱好者”的用户目标来说更易用的产品。
Debian GNU/Linux 于1993年首次发布。它的发起人, Ian Murdock ,设想通过数百个志愿者开发人员在空余时间创造一个完全的非商业项目。那时的反对者过于乐观的认为,这个项目注定会分裂然后失败;但是事实恰恰相反, Debian 不仅活了下来发展的欣欣向荣而且在不到10年的时间里,它变成了最大的 Linux 发行版甚至可能会成为有史以来最大的软件合作项目。
Debian GNU/Linux 的成功可以归结为如下几条。它的开发者超过1000名志愿者,它的软件包有超过20000种软件(对11种处理器构架做了编译),并且令人振奋的是它为超过120种基于 Debian 的发行版和 live CD 提供支持,这些数字是其它任何基于 Linux 的发行版所无法比拟的。 Debian 实际的发展根据递增的稳定性有3个分支(或者4个如果再包括一个尖端“体验”分支的话):“不稳定版”(或者叫“sid”),“测试版”和“稳定版”,这种先进的集成和软件包的稳定性及其功能,再加上这个项目完善的质量控制机制,为 Debian 赢得了当前最佳体验和最少错误的发行版之一的名誉。
然而,这种冗长而复杂的发展风格也有其不利的一面:稳定版的发布不是特别及时并且会迅速落伍,特别是自从新稳定版每1~3年才发布一次之后。那些喜欢最新软件和技术的用户不得不使用潜在很多错误的测试版或者不稳定版。 Debian 高度民主的组织结构也导致了备受争议的决策并且引起内部人员的对抗,这种状况使其停滞不前并且很难通过激进但可以推动项目发展的决议。
Mandriva Linux 由 Gaël Duval 在1998年7月以 Mandrake Linux 之名首次发布。开始,它只是一个 Red Hat Linux 加上更为用户友好型的 KDE 桌面的改进版,但随后的发行版又增加了各种用户友好型的应用,比如新的安装软件,高级硬件检测和直观的硬盘分区工具。由于这些改进措施, Mandrake Linux 发展壮大了起来。在吸引到风险投资并且转型为商业项目之后,新成立的 MandrakeSoft 的命运在从2003年初的几近破产到2005年的几项收购中起伏很大。后来,与巴西的 Conectiva 合并之后,公司将名字改为 Mandriva 。
Mandriva Linux 首先是个桌面发行版,它最受喜爱的特点是尖端的软件,高质量的系统管理套件(Drakconf),64位版本中杰出的执行能力,还有广阔的国际化支持。 Mandriva 在其它许多流行的发行版之前很久就通过广泛的 beta 测试版和频繁的稳定版有了开放的开发模式。最近的几年里, Mandriva 也开发了一系列可安装的 live CD 并且推出了 Mandriva Flash – 存在于可引导的 USB 设备中的一个完整的 Mandriva Linux 系统。同时它也是第一个为上网本比如 ASUS Eee PC 提供开箱即用支持的主流发行版.
除去出色的技术, Mandriva Linux 在近几年像做过山车一样。这在一定程度上导致了其它超过 Mandriva 的用户友好型的发行版的出现,但是同样也与把公司的一个有关发行版的用户群的部门分离出去的一些有争议的决议相关。 Mandriva 的网络展示只不过是一些不同的网址杂乱的集合,而它的“ Mandriva 俱乐部”,最初为付费用户提供增值服务,变得越来越褒贬不一。尽管公司一直在对一些批评进行改进,它仍然面对着说服新的 Linux 用户或者其他 Linux 用户尝试(或购买)它们的产品的越来越艰难的问题。
Linux Mint,一个基于 Ubuntu 的发行版,于2006年被 Clement Lefebvre – 一个法国出生爱尔兰工作和生活的 IT 专家首次发布。开始时维护着一个网站致力于提供帮助、建议和给 Linux 用户使用的文档,作者看到了开发一个解决掉通用的主流产品的诸多使用缺陷的 Linux 发行版的潜在价值。在向他网站上的用户求得反馈意见之后,他着手建立当今人们更愿意称作的“ Ubuntu 改进版”。
但 Linux Mint 不仅仅是一个增加了一系列应用程序和改进的桌面主题的 Ubuntu 。自从它诞生以来,开发者一直在添加各种图形化的“ Mint ”工具来增强使用性。这包括 mint桌面 – 一个设置桌面环境的套件;mint菜单 – 为了更方便的导航而做的新的优美的菜单; mint安装 – 一个易用的软件安装工具,还有 mint更新 – 一个软件更新工具,仅从一些其它工具和数百个附加改进中挑出若干杰出者。这个项目同样设计了它自己的艺术作品,而它易用性的名声通过添加其它大的发行版因为担心潜在的法律制裁而空缺的私有的和专利保护的多媒体解码器而大振。然而, Linux Mint 最大的优点之一的开发者听从于用户并且总是很快采纳好的建议。
在 Linux Mint 可以免费下载的同时,项目组从捐助、广告和专业服务支持中获得收益。Linux Mint 没有固定的发布周期或者一张计划好的功能单,但是在每个 Ubuntu 的稳定发行版发布出来之后的几个星期之后就可以期待着新的 Linux Mint 。除了提供 GNOME 桌面的“主”版本之外,项目组也出品了使用其它桌面环境比如 KDE , Xfce 和 Fluxbox 的半正规的“社区”版。然而,这些通常要在使用 GNOME 的“主”版本发布几个月之后才推出而且很多时候缺少“ minty ”工具和其它旗舰版产品拥有的功能。 Linux Mint 不依附自由软件的条款而且不发布安全劝告。
PCLinuxOS 于2003年由被称为“ Texstar ” 的 Bill Reynolds 首次发布,。在创造自己的发行版之前, Texstar 就因给流行版本建立及时更新的 RPM 软件包并且提供免费下载而在 Mandrake 的用户社区中成为广为人知的开发员。在2003年他决定创建一个新的发行版,最初基于 Mnadrake Linux ,但随着一些意义重大的可用性改进,目标?应该是新手友好型,为私有的内核模块、浏览器补丁和媒体解码器提供开箱即用支持,并且应该有个简单直观的图形化安装界面就像 live CD 一样。
多年的发展之后, PCLinuxOS 迅速的接近它预期状态。在可用性方面,项目组提供了 windows 到 Linux 的移民用户希望从他们新操作系统得到的开箱即用的支持。在软件方面, PCLinuxOS 是一个面向 KDE 的发行版,有一个可定制的而且总是及时更新的流行桌面环境。它不断增长的软件库也包含其它桌面,甚至,也为其它许多通用任务提供大量的桌面软件。关于系统配置, PCLinuxOS 保留了 Mandrake 的优秀控制中心的许多东西,但用 APT 和 Synaptic (一个图形化的软件包管理工具前端)替换了它的软件包管理系统。
另一方面, PCLinuxOS 没有任何形式的路线图或发展目标。除去项目中不断增长的社区参与,大部分的开发和决定仍归 Texstar 所有,在权衡发行版的稳定性时他总趋于保守。结果, PCLinuxOS 的开发进程很漫长甚至直到所有已知的错误都解决了之后才发布一个新版本。 PCLinuxOS 至今没有发布64位版本的计划。
Slackware Linux,由 Patrick Volkerding 于1992年首次发布,是现今存在的最古老的 Linux 发行版。在最顶级的 Linux 内核版本 0.99pl11-alpha 之上建立并被载以24张软盘的 Slackware 由现以破产的 SLS 项目分离出来。它迅速发展为最流行的 Linux 版本,一些评估认为它的的市场占有率高达1995年安装的 Linux 的80%。它的普及率随着 Red Hat 和其它更用户友好型的发行版的出现而戏剧性的下降,但 Slackware 仍然是个在更面向技术的系统管理员和桌面用户中备受赞赏的操作系统。
Slackware 是个高端干净的发行版,只有极少数量的自定义工具。它使用一个简单的文本模式的系统安装软件和一个相对原始的无法解决软件依赖问题的软件包管理系统。结果, Slackware 被认为是当今最干净且错误最少的发行版之一 – 没有为 Slackware 进行特定的改进减少了将新的错误带入系统的可能性。所有的配置通过编写文件来实现。在 Linux 社区中有一个说法是如果你学 Red Hat ,你将只会 Red Hat ;但如果你学 Slackware ,你将会 Linux 。在当今许多 Linux 发行版坚持为缺乏技术的用户开发高定制性的产品时这句话尤为正确。
尽管这个简单的哲学有其拥护者,但事实是今天的世界, Slackware 越来越变得像一个为其它新的有定制方案的系统做基础的“核系统”,而不是一个完整的有广泛的支持软件的发行版。唯一的例外是在服务器市场,那里 Slackware 仍然很流行,但尽管是这样,这个版本复杂的升级步骤以及缺乏官方支持的自动安全升级工具让它越来越没有竞争力。 Slackware 对系统基础组件的保守态度意味着在它成为一个现代的桌面系统前还需大量手工的安装后工作。
Gentoo Linux 的理念是被一个前 Stampede Linux 和 FreeBSD 开发员 Daniel Robbins 于2000年前后提出的。这是作者对 FreeBSD 和它的被叫做“ ports ”的“自建”功能的展露,这东西激励着他把一些 FreeBSD 的软件管理原则以“ portage ”之名带入 Gentoo 。这个主意是开发一个 Linux 发行版允许用户直接在他们自己的电脑上从源代码编译 Linux 内核和应用软件,这将保证一个高度优化和及时更新的系统。在这个项目于2002年三月发布了它的1.0版本的时候, Gentoo 的包管理工具被认为会是一些二进制包管理系统的高级替代品,尤其是后来被广泛使用的 RPM 。
Gentoo Linux 是为超级用户设计。一开始,其安装是笨重和单调的,需要在命令行模式进行数小时甚至数天的编译来建造一个完整的 Linux 发行版;然而,2006年项目组通过一个可安装的 live CD 和鼠标安装工具简化了安装步骤。除了为单命令模式安装提供一个总是及时更新的软件包,发行版的其它重要功能有杰出的安全性、广泛的配置选项、对许多构架的支持和不用重新安装就可保持系统及时更新。 Gentoo 的文档也被作为所有发行版中最棒的在线文档而多次标记。
Gentoo Linux 在最近几年里失去了许多原有的赞誉。一些用户已经证实了这种费时的软件包编译只能带来微小的速度和优化效益。自从 Gentoo 的创立者和仁慈的独裁者的辞职以来,新成立的 Gentoo 基金一直困顿于缺乏清晰的指引和频繁的开发者之间的冲突,这导致了数位著名的 Gentoo 人员的高调离职。目前仍有待观察是否 Gentoo 可以重夺其原来创新性的品质抑或慢慢得分裂为缺乏清晰目标的若干私人性的子项目的集合。
FreeBSD ,一个 AT&T UNIX 通过伯克利软件分发( BSD )的间接继承版,有一个漫长而动荡的可以追溯到1993年的历史。与包含 Linux 内核与数千种应用软件被定义为完整软件方案的 Linux 发行版不同, FreeBSD 是一个建立在 BSD 内核和所谓的“ userland ”(因此在没有额外软件时也可用)的基础上的紧凑整合起来的操作系统。可一旦安装在普通的计算机系统上这种差别基本上就消失了 – 像许多 Linux 发行版,一大批易于安装的、(绝大多数)开源的应用软件可用来拓展 FreeBSD 内核,但这些通常由第三方开发者提供而且不是严格意义上的 FreeBSD 的一部分。
FreeBSD 赢得了一个迅速、高性能和极为稳定的操作系统的赞誉,特别适合于网络服务器和类似任务。许多大型搜索引擎和配有关键任务的计算基础设备的组织已经在他们的计算机系统上部署和使用 FreeBSD 好几年了。与 Linux 相比, FreeBSD 是在一个限制性更少的许可证下建立的,这个许可证允许几乎毫无限制的对源代码进行任何目的的使用和修改。甚至苹果的 Mac OS X 都被得知是由 BSD 衍生出来的。除了操作系统内核,项目组也提供了超过15000种软件应用的二进制格式和源代码来在 FreeBSD 核上进行简易安装。
尽管 FreeBSD 毫无疑问的可用用作桌面操作系统,但它在这部分与流行的 Linux 发行版相比并不出色。不算安装后对用户来说大量繁重的工作,命令行模式的系统安装软件就提供了太少的硬件识别和系统配置项目。在支持现代硬件方面, FreeBSD 通常落后于 Linux ,特别是对流行台式机或笔记本的小配件的支持,比如无线网卡或者数码相机。那些在桌面环境或工作站寻求开拓 FreeBSD 的速度和稳定性的使用者应该考虑一个可用的桌面 FreeBSD 项目,而不是 FreeBSD 本身。
支持论点:迅速、稳定;超过15000种软件应用(或者叫作“ ports ”)可用来安装;出色的文档
反对论点:在对外来硬件的支持方面落后于 Linux ,可用的商业软件很少;缺乏图形化的配置工具
软件包管理工具:完全命令行模式的包管理工具 – 使用二进制包或者基于源代码的“ ports ”( TBZ )的底层结构
可用版本:可用于 Alpha, AMD64, i386, IA64, PC98 and SPARC64 处理器的安装 CD
基于 FreeBSD 的推荐替代版:PC-BSD (桌面版), DesktopBSD (桌面版), FreeSBIE (live CD)
其它可选 BSD :OpenBSD, NetBSD, DragonFly BSD, MidnightBSD
最后一个也是我最常用的一个。
发布于2003年的 CentOS 是一个社区项目,目标是将 Red Hat Enterprise Linux (RHEL)的源代码重建为可安装的 Linux 发行版并且为所有包含在软件包中的软件提供及时的安全更新。直言不讳的说, CentOS 只不过是 RHEL 的一个克隆版。两者间唯一技术上的差别是商标 – CentOS 把所有 Red Hat 的标志标记都换成了自己的。但是 CentOS 的网站上并没有明显标示 CentOS 和 Red Hat 之间的链接,因为商标法的缘故。 Red Hat 被叫做“北美杰出的企业 Linux 商”来代替它本来的名字。不过, Red Hat 和 CentOS 的关系很和睦而且许多 CentOS 的开发员与 Red Hat 的工程师联系密切。
CentOS 常被看做是可靠的服务器版本。它有着和 Red Hat 企业版 Linux 同样的一套经过完善测试而且稳定的 Linux 内核以及来自其出处的基本组件的软件包。尽管是由志愿者维护的社区项目, CentOS 还是获得了良好的赞誉作为市场上许多付费服务器产品一个可靠而又免费的替代品,特别是在有经验的 Linux 系统管理员之中。 CentOS 也是合适的企业桌面方案,尤其在更需要稳定、可靠和长期支持而不是最新软件和功能的地方。和 RHEL 一样, CentOS 也提供最少5年的安全更新支持。
尽管有诸多优势, CentOS 并不是所有部署方案的最佳选择。那些更喜欢带最新 Linux 技术和软件包的发行版的用户就应该到别处去寻找。 CentOS 跟随 RHEL 版本发行的主版本,每2 – 3年才发布一次,而“子”版本(比如5.1)则尽量保证6 – 9个月的发行间隔。子发行版不总是包含所有的主流功能(尽管有时会为更多的新硬件提供支持)而且只有少数的软件包会更新到新的版本; Linux 内核、底层系统和大多数的应用软件版本保持不变,但偶尔在试验基础上会有一些重要软件(比如 OpenOffice 或者 Firefox)的新版本提供。作为一个辅助项目,CentOS 也为其用户建立更新包,但是软件库默认不包含这些因为它们会破坏向上的兼容性。
Redhat应该说是在国内使用人群最多的Linux版本,甚至有人将Redhat等同于Linux,而有些老鸟更是只用这一个版本的Linux。所以这个版本的特点就是使用人群数量大,资料非常多,言下之意就是如果你有什么不明白的地方,很容易找到人来问,而且网上的一般Linux教程都是以Redhat为例来讲解的。Redhat系列的包管理方式采用的是基于RPM包的YUM包管理方式,包分发方式是编译好的二进制文件。稳定性方面RHEL和CentOS的稳定性非常好,适合于服务器使用,但是Fedora Core的稳定性较差,最好只用于桌面应用。。
Debian系列,包括Debian和Ubuntu等。Debian是社区类Linux的典范,是迄今为止最遵循GNU规范的Linux系统。Debian最早由Ian Murdock于1993年创建,分为三个版本分支(branch): stable, testing 和 unstable。其中,unstable为最新的测试版本,其中包括最新的软件包,但是也有相对较多的bug,适合桌面用户。testing的版本都经过unstable中的测试,相对较为稳定,也支持了不少新技术(比如SMP等)。而stable一般只用于服务器,上面的软件包大部分都比较过时,但是稳定和安全性都非常的高。Debian最具特色的是apt-get / dpkg包管理方式,其实Redhat的YUM也是在模仿Debian的APT方式,但在二进制文件发行方式中,APT应该是最好的了。Debian的资料也很丰富,有很多支持的社区,有问题求教也有地方可去🙂。
最华丽的Linux发行版,很多人都这样说,X windows和程序应用方面做的确实不错。尤其与Microsoft的合作关系,应该是在所有的Linux发行版本中最亲密的。
Ubuntu
Ubuntu严格来说不能算一个独立的发行版本,Ubuntu是基于Debian的unstable版本加强而来,可以这么说,Ubuntu就是一个拥有Debian所有的优点,以及自己所加强的优点的近乎完美的 Linux桌面系统。根据选择的桌面系统不同,有三个版本可供选择,基于Gnome的Ubuntu,基于KDE的Kubuntu以及基于Xfc的Xubuntu。特点是界面非常友好,容易上手,对硬件的支持非常全面,是最适合做桌面系统的Linux发行版本。。
版本5.4和6.0最新;这个发行版主要是Redhat企业版的社区版,基本上跟redhat是兼容的,相对来说局限性教少。很多人都喜欢使用。
至少gentoo、mandriva、Slackware、redflag等可以暂时不考虑。虽然各自均有特点,但市场占有率和应用相对较少。
伟大的Gentoo是Linux世界最年轻的发行版本,正因为年轻,所以能吸取在她之前的所有发行版本的优点,这也是Gentoo被称为最完美的Linux发行版本的原因之一。Gentoo最初由Daniel Robbins(FreeBSD的开发者之一)创建,首个稳定版本发布于2002年。由于开发者对FreeBSD的熟识,所以Gentoo拥有媲美FreeBSD的广受美誉的ports系统 ——Portage包管理系统。不同于APT和YUM等二进制文件分发的包管理系统,Portage是基于源代码分发的,必须编译后才能运行,对于大型软件而言比较慢,不过正因为所有软件都是在本地机器编译的,在经过各种定制的编译参数优化后,能将机器的硬件性能发挥到极致。Gentoo是所有Linux发行版本里安装最复杂的,但是又是安装完成后最便于管理的版本,也是在相同硬件环境下运行最快的版本。
并不是一个Linux系统!但FreeBSD与Linux的用户群有相当一部分是重合的,二者支持的硬件环境也比较一致,所采用的软件也比较类似,所以可以将FreeBSD视为一个Linux版本来比较。FreeBSD拥有两个分支:stable和current。顾名思义,stable是稳定版,而 current则是添加了新技术的测试版。FreeBSD采用Ports包管理系统,与Gentoo类似,基于源代码分发,必须在本地机器编后后才能运行,但是Ports系统没有Portage系统使用简便,使用起来稍微复杂一些。FreeBSD的最大特点就是稳定和高效,是作为服务器操作系统的最佳选择,但对硬件的支持没有Linux完备,所以并不适合作为桌面系统。
如果作为php、jsp等开发平台使用,最好选择Redhat或Centos,原因主要是硬件和软件兼容性方面应该是所有Linux发行版本中较好的。最主要的原因是国内的多数游戏运营商和大型网站,使用这两个版本的较多。
如果是作为asp.net等开发平台使用,最好使用suse,原因是与Microsoft的合作关系。同时也说明下,移动运营商好像很多使用suse的操作系统平台。
如果是作为c或c++等开发平台使用,而且对应用程序开发要求较高,建议使用debian版本的Linux,毕竟这个版本的Linux限制性是最小的。自由度较大
如果你需要一个桌面系统,而且还想非常灵活的定制自己的Linux系统,想让自己的机器跑得更欢,不介意在Linux系统安装方面浪费一点时间,那么你的唯一选择就是Gentoo,尽情享受Gentoo带来的自由快感吧!
如果你需要的是一个服务器系统,而且你已经非常厌烦各种Linux的配置,只是想要一个比较稳定的服务器系统而已,那么你最好的选择就是CentOS了,安装完成后,经过简单的配置就能提供非常稳定的服务了。
如果你需要的是一个坚如磐石的非常稳定的服务器系统,那么你的唯一选择就是FreeBSD。
如果你需要一个稳定的服务器系统,而且想深入摸索一下Linux的各个方面的知识,想自己定制许多内容,那么我推荐你使用Gentoo。
服务器选择:Redhat、CentOS、Debian
桌面环境:Ubuntu、Fedora、
各种Linux发行版一般可以分为3种类型:
核心Linux发行版包括内核、一个或多个图形桌面环境,以及几乎所有的Linux应用程序,它针对内核进行了预编译。只需要该发行版即可安装完整的Linux。
该版本通常以一个主要的发行版为基础,但是只包含对特定领域有用的应用程序子集。
除了提供专门的软件,定制的Linux发行版还试图为Linux初级用户提供帮助–自动检测和自动配置常用的硬件设备,这使得安装Linux的过程变得更加轻松。
许多特定Linux发行版以Debian Linux发行版为基础,它们使用的安装文件与Debian相同,但是软件包只是完整Debian系统的一小部分。
LiveCD是最近才出现的东东,无需安装即可了解Linux系统的全貌。除了标准的硬盘启动之外,现在的大部分PC都可以从CD启动,利用这一点,很多Linux发行版创建了可引导的CD,其中包含一个示例Linux系统即为LiveCD。
这是测试各种Linux发行版的很好方法,它丝毫不会弄乱你的PC。只需要放入CD然后启动就可以体验该系统,当然有个缺点,因为是在CD上,所以你做的任何更改在重启后都会丢失。另外由于在CD运行,速度可能会运行的较慢,但是现在也加入了一些新的技术来改进,比如:
Very Long Baseline Interferometry (VLBI) is a variant of the radio interferometry technique currently used in astronomy, but combining the signals of extremely distant telescopes.
VLBI provides observations of an object with an exquisite angular resolution, equivalent to that of a telescope whose size is the separation between the distant telescopes. This distance can reach thousands of km (transcontinental VLBI), thus allowing measurement of details as small as 10 milli-arcsec (mas), i.e., one hundred times finer than with a conventional telescope in visible light. To achieve VLBI observations, the radio signal is locally recorded together with time stamps of an atomic clock and later the different data from all antennas are correlated using digital electronics and computers to produce the resulting image.
甚长基线干涉测量技术
简单来说,VLBI就是把几个小望远镜联合起来,达到一架大望远镜的观测效果。这是因为,虽然射电望远镜能“看到”光学望远镜无法看到的电磁辐射,从而进行远距离和异常天体的观测,但如果要达到足够清晰的分辨率,就得把望远镜的天线做成几百公里,甚至地球那么大。上世纪50年代,剑桥大学的天文学家马丁·赖尔建成了第一台射电干涉仪,使不同望远镜接收到的电磁波可以叠加成像,在此基础上,VLBI得以发展。1974年,赖尔以此获得了诺贝尔奖。
工作原理
天线输出的信号﹐进行低噪声高频放大后﹐经变频相继转换为中频信号和视频信号。在要求较高的工作中﹐使用频率稳定度达10 的氢原子钟﹐控制本振系统﹐并提供精密的时间信号,由处理机对两个“数据流”作相关处理﹐用寻找最大相关幅度的方法﹐求出两路信号的相对时间延迟和干涉条纹率。如果进行多源多次观测﹐则从求出的延迟和延迟率可得到射电源位置和基线的距离﹐以及根据基线的变化推算出的极移和世界时等参数。参数的精度主要取决于延迟时间的测量精度。因为﹐理想的干涉条纹仅与两路信号几何程差产生的延迟有关﹐而实际测得的延迟还包含有传播介质(大气对流层﹑电离层等)﹑接收机﹑处理机以及钟的同步误差产生的随机延迟﹐这就要作大气延迟和仪器延迟等项改正﹐改正的精度则关系到延迟的测量精度。目前延迟测量精度约为0.1毫微秒。
射电源辐射出的电磁波﹐通过地球大气到达地面﹐由基线两端的天线接收。由于地球自转﹐电磁波的波前到达两个天线的几何程差(除以光速就是时间延迟差)是不断改变的。两路信号相关的结果就得到干涉条纹。
由相关的概念可知:
$$
R(\tau) \propto \frac{1}{2} E^2 e^{j\omega \tau}
$$
干涉条纹的产生取决于具体观测的带宽、频率,以CVN为例,当前的时延精度为μs量级,时延率精度为ps量级。
如果条纹过多,修正时延的计算方法为:
$$
\tau = \frac{d\phi}{dt} \cdot \frac{\pi}{180}\cdot \frac{F}{x\times B} \cdot \frac{1}{360}
$$
其中$F$为FFTSize,$B$为bandwidth带宽。
用途
由于甚长基线干涉测量法具有很高的测量精度﹐所以用这种方法进行射电源的精确定位﹐测量数千公里范围内基线距离和方向的变化﹐对于建立以河外射电源为基准的惯性参考系﹐研究地球板块运动和地壳的形变﹐以及揭示极移和世界时的短周期变化规律等都具有重大意义。此外﹐在天体物理学方面﹐由于采用了独立本振和事后处理系统﹐基线加长不再受到限制﹐这就可以跨洲越洋﹐充分利用地球所提供的上万公里的基线距离﹐使干涉仪获得万分之几角秒的超高分辨率。而且﹐随着地球的自转﹐基线向量在波前平面上的投影﹐通常会扫描出一个椭圆来。这样﹐在一天内对某个射电源进行跟踪观测的干涉仪﹐就可以获得各个不同方向的超高分辨率测量数据。依据多副长基线干涉仪跟踪观测得到的相关幅度﹐应用模型拟合方法﹐便可得到关于射电源亮度分布的结构图。地球大气对天体射电信号产生的随机相位起伏﹐带来了干涉条纹相位的测量误差。这和其他一些的误差来源一道﹐限制了甚长基线干涉测量法的应用。若在三条基线上对射电源进行跟踪观测﹐则由三个条纹相位之和所形成的闭合相位﹐基本上可以消去大气和时钟误差的随机效应。用这种闭合相位参与运算﹐可以达到较好的模型拟合﹐从而减小结构图的误差。随着投入观测的站数不断增多﹐闭合相位也在增多﹐而且各基线扫描的椭圆覆盖情况也会逐渐改善﹐从而可以得到更精确的结构图。用甚长基线干涉仪测到的射电结构图表明﹕许多射电源呈扁长形﹐中心致密区的角径往往只有毫角秒量级﹐但却对应着类星体或星系这样的光学母体﹔有些致密源本身还呈现小尺度的双源结构甚至更复杂的结构﹔从射电结构随时间变化的情况看来﹐有的小双源好像以几倍于光速的视速度相分离。这些新发现给天体物理学和天体演化学提出了重大的研究课题。我国首次引入VLBI天文测量手段为嫦娥一号定轨 VLBI是英文的甚长基线干涉测量的一个缩写。它的主要特点是用分布在不同地点的两台或者是更多的望远镜在同一时刻观察同一个设定点,然后把数据录入到磁带或者硬盘上,送到VLBI的数据处理中心,用专门的相关处理机进行处理,以获得VLBI的观测量,也就是延迟率和卫星的角位置。
这种干涉测量的方法和特点,使观测的分辨率不再局限于单个望远镜的口径,而是望远镜的距离,我们把它称之为由基线的长度所决定的。中国科学院的VLBI网是测轨系统的一个分系统,它目前由北京、上海、昆明和乌鲁木齐的四个望远镜以及位于上海的天文台的数据处理中心组成。这样一个网所构成的望远镜分辨率相当于口径为3000多公里的巨大的综合望远镜,测角精度可以达到百分之几角秒,甚至更高。 VLBI测轨分系统的具体任务是获得卫星的VLBI测量数据,包括时延、延迟率和卫星的角位置,并参与轨道的确定和预报。具体的任务,比如说完成卫星在24小时、48小时周期的调相轨道段的测轨任务。完成卫星在地月转移轨道段、月球捕获轨道段以及环月轨道段的测轨任务。并且还要参加调相轨道、地月转移轨道、月球捕获轨道段的准实时轨道的确定和预报。的VLBI测量系统通常由两个或两个以上的VLBI观测站和一个数据处理中心组成。VLBI观测站的主要设备包括:高效射电天线、低噪声高灵敏度的接收机系统、VLBI高速数据采集系统、高稳定度的氢原子钟以及高精度时间比对系统等。应用于天文学研究和深空探测的VLBI测量系统的观测站通常需要装备口径数十米的大型射电天线。VLBI数据处理中心主要设备有专用的VLBI相关处理机和高速的通用计算机群。
中科院VLBI天文测量系统由上海(25米天线)、北京(50米天线)、昆明(40米天线)、乌鲁木齐(25米天线)四个VLBI观测站和上海VLBI数据处理中心组成。VLBI的基本原理为:VLBI观测站同时跟踪观测同一目标(天然的射电天体或有无线电信标的人造天体),各观测站将观测数据实时传送或记录在磁盘上运送到VLBI数据处理中心,然后进行数据回放和互相关计算,再利用得到的互相关谱数据,计算得到信号到达各观测站的时间差(时延观测值)及其变化率(时延率观测值),最后利用这些VLBI观测值计算目标的角位置(赤经和赤纬)。测量精度可以达到百分之几角秒、千分之几角秒甚至更高。对于人造天体,如人造地球卫星、绕月卫星和深空探测器等的VLBI测轨,则利用VLBI观测值,综合测距、测速数据,进行精确的轨道测定。
VLBI | NAOJ: National Astronomical Observatory of Japan - English
Linux ifconfig
命令用于显示或设置网络设备,在调试或调优的时间经常使用。
官方定义为:
ifconfig - configure a network interface
对于这个命令,一般只要掌握如何查看,如何设置IP地址基本就可以了,对于网络钻的比较深的,还需要更多一些参数。
使用方法为:
1 | # 显示 |
一些参数的含义为:
-a
:显示所有网卡的状态,即使是down的状态-s
:显示一个短列表interface mtu N
设置最大传输单元【需要管理员权限】netmask addr
:设置掩码地址【需要管理员权限】interface up
激活网卡【需要管理员权限】interface down
关闭网卡【需要管理员权限】interface hw ether xx.xx.xx.xx.xx.xx
设置MAC地址【需要管理员权限】如果不指定任何参数,直接显示当前活动的接口,如下:
1 | $ ifconfig |
其中一般希望看到的信息包括:
不加任何参数只会显示已经配置并且活跃的网卡信息,如果使用ifconfig -a
就可以显示全部的网卡状态了,即使有些网卡是down的状态。
亦或者指定一个interface,比如上面的eth1,则只输出这个网卡的信息,如下:
1 | $ ifconfig eth1 |
如果只想看到MTU以及数据包的状态,可以用该参数,如下:
1 | $ ifconfig -s |
输出信息主要包含了MTU值,发送及接收的数据情况。
如下对eth0网卡配置IP地址、掩码以及广播地址,当然可以分布操作
1 | # 给eth0配置IP地址 |
在某些情况下可能需要修改MTU值,比如增到到MTU为9000,如下:
1 | $ ifconfig eth1 |
已经看到输出的信息已经把mtu更新为了9000.
这个值对网络传输影响很大。
启动关闭主要的应用场景为重新设置了IP地址,或者暂时对某个网卡进行操作。
1 | # 关闭eth0 |
不过需要注意的是
ip
来搞定。等明天~。Linux ifconfig
命令用于显示或设置网络设备,在调试或调优的时间经常使用。
官方定义为:
ifconfig - configure a network interface
对于这个命令,一般只要掌握如何查看,如何设置IP地址基本就可以了,对于网络钻的比较深的,还需要更多一些参数。
使用方法为:
1 | # 显示 |
一些参数的含义为:
-a
:显示所有网卡的状态,即使是down的状态-s
:显示一个短列表interface mtu N
设置最大传输单元【需要管理员权限】netmask addr
:设置掩码地址【需要管理员权限】interface up
激活网卡【需要管理员权限】interface down
关闭网卡【需要管理员权限】interface hw ether xx.xx.xx.xx.xx.xx
设置MAC地址【需要管理员权限】如果不指定任何参数,直接显示当前活动的接口,如下:
1 | $ ifconfig |
其中一般希望看到的信息包括:
不加任何参数只会显示已经配置并且活跃的网卡信息,如果使用ifconfig -a
就可以显示全部的网卡状态了,即使有些网卡是down的状态。
亦或者指定一个interface,比如上面的eth1,则只输出这个网卡的信息,如下:
1 | $ ifconfig eth1 |
如果只想看到MTU以及数据包的状态,可以用该参数,如下:
1 | $ ifconfig -s |
输出信息主要包含了MTU值,发送及接收的数据情况。
如下对eth0网卡配置IP地址、掩码以及广播地址,当然可以分布操作
1 | # 给eth0配置IP地址 |
在某些情况下可能需要修改MTU值,比如增到到MTU为9000,如下:
1 | $ ifconfig eth1 |
已经看到输出的信息已经把mtu更新为了9000.
这个值对网络传输影响很大。
启动关闭主要的应用场景为重新设置了IP地址,或者暂时对某个网卡进行操作。
1 | # 关闭eth0 |
1 | #关闭网卡 |
一般什么情况下来修改MAC地址呢,大多数是在做网络测试还有就LICENSE的时候。
1 | # 开启ARP |
不过需要注意的是
ip
来搞定。等明天~。