Category: 白菜的Linux

转:Linux为什么会比BSD更受到人们的欢迎?

原文:http://www.cnbeta.com/articles/100436.htm

说到 Free Software 的 OS,当属 Linux,BSD 相对来讲是冷门多了.但BSD的风评可不会比Linux 差呀?那么是什么原因造成 Linux 比 BSD 更受欢迎呢?
Linux 是出现约在 BSD 官司缠身、以及 Internet 开始风行之际.Linux 的开发者及爱好者正好能透过 Internet 实时得发布新闻、发表新点子、提问讨论、递送程序代码及进行错误回报,这种藉由 Internet 的分布式合作方式带给Linux 惊人的活力和无限的生命力,而经由 Internet 所带来的这种活力和生命力正是 Linux 长久以来能和 BSD 分庭抗礼的主要原因之一.

Linus Torvalds的管理哲学:
也许 Linus Torvalds 并不是像 Bill Joy(BSD 的开创者)那样是个天纵英才的程序设计师,但他无疑的是超一流的领导者.要知道,能参与 Linux Kernel 开发的往往都不是什么泛泛之辈,Linus 如何在这些天资聪颖的计算机怪才之间折冲樽俎是非常耐人寻味的.

硬件支持:
在Linux 现身之时,刚好是人们开始买得起个人计算机时.但糟糕的是,当时的BSD 对于当时的个人计算机所使用的 80386 硬件的支持度并不好,而一般老百姓应该不太会为了玩 BSD 而特地购买高价的服务器设备,因此人们,尤其是穷苦的大学生,若要玩 Unix 时只有 Linux 可供选择,相对来说BSD的吸引力当然就大不如Linux 了.不过说起硬件支持,其实 Linux 和 BSD 也只是难兄难弟,Linux 是较佳,但有些太新太特殊及特定制造商的硬件 Linux 还是无法支持!

GNU 的大力支援
GNU 提供了一个操作系统所需的各式各样必要组件,但最重要的组件 – Kernel 却迟迟没有着落.原本计划好要成为 GNU 官方 Kernel 的 HURD 的发展一直很不顺利,而 Linux 的出现就刚好出现填补了 GNU 这个拼图上最重要的一个大洞.另外,虽然 GNU 的软件质量是毋庸置疑,但 BSD 却希望他们的开发团队所维护的核心工具都能以 BSDL 发行,所以因为授权兼容性的关系,很多GNU 软件就被 BSD 的人们摒除在外了.因此喜爱 GNU 软件的人们除了Linux 之外就似乎别无选择了.Linux 和 GNU 是分不开的:没有 GNU,那么没有任何工具程序的 Linux 根本无用武之地;而没了 Linux,GNU 软件就少了一个可以尽情发挥的舞台了.因此,个人可以接受人们说 Linux 的全名应该是 GNU/Linux.若我们仔细想想 Linux 的发展成长过程,个人认为如此称呼并不为过.

而 Linus 也说过其实他并不是很反对 GNU/Linux 这个名字,饮水思源,毕竟 Linux 的确是藉助了 GNU 太多的核心工具才有今天的成就.若当时没有 GNU 计划,那么 Linux 根本不会出现在这个世界上:当初 Linux 0.0.1 发表时,Linus 就只完成了以下功能:可用 GCC 编译,然后它能做的也只有执行 BASH 这个 Shell 而已,而这2个工具恰巧都是 GNU 的作品.我们可以看到,Linux刚开始就和 GNU 结下不解之缘了.

教堂与市集:
BSD走的是教堂式的学院派路线,而Linux则是代表了市集式的骇客精神;

多样的版本:
Linux 的松散结构也反应在Linux 的发行版上.因为 Linux 并没有什么官方发行版,所以任何人只要有兴趣有能力,都可以自行发行 Linux,这使得我们能轻易得在 Internet 上找到超过 200 种以上的 Linux 发行版,而实际数字恐怕远不止如此.

商业公司的支持:
若 说 Linux 为什么能快速得进入商用市场,我想 Red Hat 的成立应该是一个关键性的因素.对于大型企业而言,或许授权费用的多寡并不是重点,他们要的是能够说服上司及股东的解决方案.透过 Red Hat 所提供的技术支持,信息部门也比较敢将 Linux 列入解决方案之中.这项优势是没什么商业支持的 BSD 所难以匹敌的.

媒体的推波助澜:
若 说到自由软件界的代表人物,我想人们脑海中会浮现的名单应该少不了 Richard M. Stallman、Eric S. Raymond 及 Linus Torvalds 这几位指标性人物.Richard M. Stallman 是公认的自由软件界的精神领袖,他的意见对于 GNU 还是具有一定的影响力.Eric Steven Raymond 则是黑客文化的传道士,他发表了不少像是《教堂与市集》、《提问的智慧》之类对黑客文化影响深远的文章.而 Linus Torvalds 则是 Linux Kernel 项目领导人.这几位指标人物彼此之间似乎总是意见不合,但他们却有一个共通点 - 他们都是 Linux 的拥护者.

也就是说,当几位自由软件界的代表人物都在努力为 Linux 宣传的同时,BSD 自然从人们的雷达范围中消失了.不管 BSD 再怎么棒,但人们不晓得的话也是罔然.

GPL vs. BSDL:
Richard M. Stallman 之所以是自由软件界的精神领袖,除了他发起了 GNU 计划之外,个人认为他为了 GNU 而撰写的 GPL 更是决定性的因素.GPL 是一种偏向于开发者的回馈条款:使用者可以自由运用 GPL 程序代码,但所有修改必须也以 GPL 开放,让所有人(包括原始程序设计者)都能受益.这是能确保程序代码永远能让所有人自由使用的终极手段.相较之下,BSDL 应该是偏于使用者的一种无偿授权:使用者如何自由运用这些程序代码,程序设计师无权置喙,只要宣告这个软件是 BSDL 授权即可.因此,BSDL 的软件可能有一天会变成封闭软件,像 Microsoft 在 Windows 2000 核心里就采用了一些来自 BSD 的网络组件,但 BSD 的人们却没有因而受惠.Microsoft 并没有必要回馈那些修改后的程序代码.

软件的支持:
也许这是互为因果关系,因为 BSD 家族的市占率比 Linux 低多了,BSD 的开发者也相对较少,因此有不少缺乏资源的开放原始码软件就没有多余的心力能放在 BSD 上,这导致很多软件对 BSD 的支持度就没 Linux 那么好了.以 FreeBSD为例好了.FreeBSD 是针对 i386 硬件而开发的 BSD 分支,长久以来 FreeBSD 在功能、稳定、安全、效能等各方面的表现颇受好评,您可以在Google 上找到一篇 “Yahoo! and FreeBSD” 以为佐证.

Fedora下把Ubuntu从移动硬盘移动到本地硬盘上

本来今天是打算装QIMO玩的,但是误删了下载好的QIMO的ISO文件,又懒得重新下载,所以决定还是把移动硬盘上那个已经配置得几乎完美的Ubuntu转移到本地硬盘上。
看见三大件同学在线,直接请教“怎么把Ubuntu挪过来?“ 答曰:“全部拷贝到一个分区下,修改 grub ,修改 /etc/fstab“

OK, 既然有人在线指导,那么,开始干活。
1、格式化我的D盘:
fdisk /dev/sda
进去 p 命令看看分区的编号 --结果是5
t 命令把那个分区改为类型 83
w 保存
保存的时候说:The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.
需要重启,OK,重启。
重启之后,又执行了下上边的P,确认了sda5的分区类型是83,然后
mkfs.ext3 /dev/sda5 -- 把sda5格式化成ext3
(其实,ext4也行,因为我往移动硬盘里装Ubuntu的时候,就是把移动硬盘格式化成ext4了。不过,据说Ubuntu 9.04才可以格式化成ext4)

此时,发现在图形界面下,那个磁盘的右键菜单里有format的菜单项,嘿嘿,以后可以试试这个。

2、拷贝文件:
不知道为什么,ctrl+C, ctrl+V不能把移动硬盘上的文件拷贝到sda5上,估计是权限问题吧,只好还用命令行:
先把这两个盘挂在到临时目录下:
mkdir /tmp/1 -创建目录
mount -t ext3 /dev/sda5 /tmp/1 -- 挂载sda5到 /temp/1目录
mount -t ext3 /dev/sdb1 /tmp/2 -- 挂载sdb1到 /temp/2目录
然后cp -a /source /target
这个时候,三大件同学居然说“我要去吃饭,回头再整吧“
我的神哪,还没有实质性的配置的,这家伙居然跑了……
对于我这个Linux白菜来说,真是五雷轰顶阿……
没办法,总算开始是人家说啦:修改 grub ,修改 /etc/fstab。哼哼,自力更生,丰衣足食……
-------自我探索的分割线------------

无数次Google 和无数次重启之后,
正确的步骤是这样的:
1、修改Fedora的menu.lst文件,添加Ubuntu的启动:
title Ubuntu 9.04, kernel 2.6.28-11-generic
root (hd0,4)
kernel /boot/vmlinuz-2.6.28-11-generic root=UUID=dcb22400-df61-4688-8e66-e08028259072 ro quiet splash
initrd /boot/initrd.img-2.6.28-11-generic
quiet
(UUID是磁盘的UUID,(hd0,4)的这个4是怎么确定的参见:Linux 下安装Ubuntu时怎样确定hd0,x
2、修改Fedora的/etc/fstab文件,添加Ubuntu所在的磁盘
UUID=dcb22400-df61-4688-8e66-e08028259072 /media/dcb22400-df61-4688-8e66-e08028259072 ext3 defaults 1 0
至于为什么这样添加这个文件,详情见:学会理解并编辑fstab
3、修改Ubuntu的/etc/fstab文件,更改Ubuntu的磁盘
以前是装在移动硬盘上的,交换分区也在移动硬盘。现在弄到了本地硬盘上,交换分区就用装Fedora时格的交换分区就可以了。因此,以前的fstab里的内容需要重写了:
UUID=dcb22400-df61-4688-8e66-e08028259072 / ext3 defaults 1 1
UUID=4f570abb-9d7f-4cb4-9a55-634109d0bf87 swap swap defaults 0 0
这里我没有挂载Fedora的分区,如果需要的话,进Ubuntu后,看下这个分区在/media下的名字,然后添进去就可以了。

-------------任务完成的分割线--------
终于听到了Ubuntu的鼓声~

个人觉得:
目前无论是Fedora 还是Ubuntu,在通常用途下,是完全可以替代 Windows的,尤其是对于喜欢使用开源软件+Google APP的人来讲,连选择的软件都没有太大的分别。
二者的区别呢,Fedora更Linux,Ubuntu更Windows。他们两个的终端和用户权限处理很不一样。哈rz。

-------------其他的分割线---------
我装Ubuntu幸运的没有遇到包括notenking 在内的很多人遇到的不能上网的问题~不过建议以开发为目的的人,还是选择Fedora等更“纯粹”的Linux。

Linux 下安装Ubuntu时怎样确定hd0,x

使用fdisk查询本机硬盘分区状态

sudo fdisk -l

我的:

Disk /dev/sda: 40.0 GB, 40007761920 bytes
255 heads, 63 sectors/track, 4864 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x624aa2e0

Device Boot Start End Blocks Id System
/dev/sda1 1 2 10240 12 Compaq diagnostics
Partition 1 does not end on cylinder boundary.
/dev/sda2 * 2 2422 19439616 83 Linux
/dev/sda3 2553 4863 18563107+ f W95 Ext’d (LBA)
/dev/sda4 2422 2552 1048576 83 Linux
/dev/sda5 2553 4863 18563076 7 HPFS/NTFS

第一行显示了硬盘大小为80G,后4行说明了硬盘分区状态,带有*的是grub指定的内核位置,那么/dev/sda3在grub中是如何表示的呢? 在grub中表示为(hd0,2) ,也即分区号减一。也就是说sda5就是(hd0,4).

幸与不幸

自从装了Linux 之后,尤其是Fedora 后,总要用到命令行,发现了幸与不幸的两件事。
幸:会用Google ,不会的东西,在三大件不在的时候,可以Google 到会用。
不幸:不管是Google告诉我的,还是三大件告诉我的,我都记不住……指令和参数忘得比英语单词还快~

怎样把Ubuntu从移动硬盘移动到硬盘上呢? Google 没有告诉我,三大件也没有告诉我,所以,我打算把D盘装个QIMO 玩玩先~

怎样把Ubuntu从移动硬盘移动到硬盘上

在移动硬盘的Ubuntu下安装Fedora到本地硬盘之后,我的移动硬盘上留下了一个升级和配置得很完美的Ubuntu~我想把它放在我的D盘上,做成是Fedora和Ubuntu双系统~
该怎么弄呢?

在移动硬盘的Ubuntu下安装Fedora到本地硬盘

在移动硬盘的Ubuntu下安装Fedora到本地硬盘 – 这话挺绕的,不过真到有它的合理性。看不懂的可以看事情的起因:
————————起因的分割线———————————–
1. Shaka 的本地硬盘本来装的是XP;
2. Shaka的光驱坏了;
3. Shaka 在XP下用硬盘安装将一个Ubuntu 9.04 装到了移动硬盘上。
4. 出了问题:由于对Grub 不熟,因此导致了,如果移动硬盘不连接上,那么XP和Ubuntu 都启动不了,Grub 回报告Error 17. 还有一个论坛里大家都没提到到现象是,如果移动硬盘插在机器上,在开机的时候,需要先进BIOS,然后什么都不用改,退出来,再启动,才可以正确启动Grub ,如果没有去BIOS里溜达一圈,则还是会报告ERROR 17. – 这个问题,Shaka 到现在都没有弄明白是怎么回事。
5. 在必须链接了移动硬盘后才可以使用Ubuntu 和XP这种状态持续2个星期之后,Shaka 决定要改变。
6. Shaka 想要变成是不需要移动硬盘,默认启动XP;插上移动硬盘后,启动Ubuntu
7. 在搜索和实践了一段时间之后,Shaka 决定放弃。Shaka 决定重装XP,然后再找回移动硬盘上到Ubuntu 。
8. 因此,Shaka 找到了一个GHOST XP SP3,用传说中的硬盘安装方式安装XP。
9. XP安装之后,上边 4 所说到状态没任何改变。并且XP进不去了,说是HAL.DLL找不到。但是,进入Ubuntu 后发现HAL.DLL在XP的系统目录里。百度+谷歌之后,有人说,是因为分区表坏了,必须用光盘重装XP才可以。额滴神那,Shaka 要是有光驱还费这劲干嘛呀。于是。。。Shaka 决定:
10. 彻底干掉XP,装一个Fedora 到本地硬盘。
因此,就是登录移动硬盘上的Ubuntu ,安装一个Fedora到本地硬盘。
———————————–安装过程的分割线—————————-
首先,感谢中国移动,感谢GTalk ,是你们到技术支持,使得三大件同学到最高指示得以传达,使得Shaka的Fedora 顺利安装。
以下全部依照三大件的最高指示做的:
1、首先在Ubuntu的目录下建一个fedora目录mkdir /fedora
2、把Fedora 的ISO放进这个目录去
3、建立个文件夹mkdir /temp/xxx/
4、mount /fedora/fedora.iso /temp/xxx/ -t iso9660 -o loop 会发现xxx里解出很多文件。
5、恩。好像还有个命令。不过现在忘了。。。明天再问问三大件然后补上。。。反正是XXX目录里到文件分布到了fedora下的两个文件夹里。
cd /temp/xxx
cp -a isolinux images /fedora/
6、然后修改Menu.lst文件:
title INSTALL
root (hd1,0)
kernel /fedora/isolinux/vmlinuz
initrd /fedora/isolinux/initrd.img

7、然后开始装了……

Fedora 11下配置sudo

Fedora和Ubuntu还是很不一样的。Ubuntu下我没配置过sudo,但是在Fedora 11下使用sudo是需要用root用户的。否则要将当前的用户加入到sudo中才可以。
搜索了下,又综合了下,这样:
1. 在终端输入su –
2. 输入密码, 这样就切换到root了
3. 输入visudo
4. 找到 root ALL=(ALL) ALL 在这一行下边按a键进入编辑模式,然后输入:
yourname ALL=(ALL) ALL
然后按esc退出
5. 按 :wq 键保存退出
6. 输入exit退出root权限
7. 测试,在当前用户下,输入sudo whoami

如果一切正常,命令会返回 “root” 这个字。

Dansette