主题:【原创】我的Gentoo经历 -- 瓦斯
一年前在河里看到有人推荐免费派送Ubuntu光盘,就也去申请了5份(最少数量)。由此开始了自己第一次安装Linux的经历。Ubuntu在易用性方面已经很接近微软的视窗软件了,安装过程也都是图形界面的,当然,后来我还是学了命令行安装。
对于Gentoo的好奇心,源于spin在他的大作老爷笔记本的第二春中的那句话“装什么系统?当然是linux了,还要是gentoo,你要是用redhat都不好意思和人打招呼。”
安装Gentoo的过程比起Ubuntu来说,Gentoo简直就是万里长征了。按照Gentoo圈里人的话说,初次安装Gentoo的人,一般要在一周之后才能看到图形界面。俺就是那一周之后看到图形界面的人之一。
Gentoo使用起来,又比Ubuntu灵巧多了,在同样的硬件条件之下,Gentoo给人的感觉就是飞快的兔子,所以有人称Gentoo为心爱的兔兔。
人生很多事情有共通的地方,越是花很大气力才琢磨出来的东西才越好。自己根据需要配置编译出来的内核,跑起来当然更加惬意了。Gentoo的内核一般在2M左右,而Ubuntu得内核一般要翻一倍大小。Gentoo更像一个microsoft,尽量把所有的硬件都给驱动了,所以它的内核大,跑起来也要慢一点。所以Ubuntu适合初学者。使用Ubuntu的时候,你的usb盘已插上去,它自动就给你配置好了,在桌面上出现一个移动盘的图标,而这些功能在gentoo中一般要自己去安装才会有,同时,用久了之后的人,也不一定需要这样的功能,自己挂载就可以了。
去年(2006年)我自己编译了一套gentoo,当时把kde、gnome、xfce4等图形界面都安装了一遍,自己自己觉得什么都会安装了。后来觉得这个大杂烩不实用,只要安装一种图形界面就足够了。今年gentoo出了2007版,趁这个机会重装一个简单实用的吧。只要一个kde就行了,于是就开始安装kde,结果满不是那么一回事,去年的经验似乎不管用了,装了几天没有装好,有大量的包互相冲突。
搞不下去才去看了一下说明,原来kde分装了,出了个kde-meta,属于自由组合搭配型的。于是从头再来,又花了几天时间,终于把kde/firefox/openoffice等等装好了。经过这次大的折腾,对于Gentoo又有了新的认识,打算把下面几个内容写一写,既为后来者提供参考,也给自己留个备忘录:
5、让Gentoo像微软视窗的网上邻居那样实现文件共享。
虽然我还是用的Ubuntu,而且近期也不打算转到Gentoo。
主要是见过几次在Gentoo下安装和更新软件包,太耗时间了。如果我有一台闲置的机器,估计会拿来试一试。
但是,据说实测结果表明gentoo的编译设置对大部分软件性能提高很有限,有时甚至还不如其他binary distros。再加上安装和升级耗时不菲,随着硬件的不断进步,好像现在gentoo不那么有吸引力了。
老鸟级的用户自己定制软件时,要修改的地方就多了,不是简单改几个编译参数的问题了。要说终极挑战,还得是做自己的专用distro(比方说用于嵌入式设备),从交叉编译toolchain开始。
老兄是一年前才开始接触 Linux 的吗?然后就从 Gentoo 开始?我虽然有时候也用 Linux, 但一直没有什么全面的了解,到现在还不敢脱离 Windows 呢。
我购买了一款多功能读卡器,可以读写常见的几种内存卡,形状大致像这个样子:
一般是6 in 1或8 in 1的,实际上我们平时可能主要用的是最流行的SD卡,现在相机和PDA手机中也多采用这种SD卡。有一个读卡器可以方便地搬运文件。
多功能读卡器在微软视窗中可以直接使用,在Ubuntu中也差不多,即插即用。在微软视窗中它通常表现为4个移动硬盘的盘符,SD卡和MMC卡同用一个插槽,通常插在第三个槽中,因此就显示为第三个盘。其他而没有插上内存卡的盘就像一个没有放入光盘的光驱或没有插入软盘的软驱一样,如果点击那个驱动器就会显示没有找到盘。
Gentoo的问题就出在它默认只把这一个usb设备当作一个驱动器,也就是只显示出有一个盘,就是第一个叫做Copact falsh card的槽,而其余的槽都看不见了。即使你想自己mount它们,在/dev下面只有一个/dev/sda可以供你mount,而里面恰好没有卡。按照预想,多功能读卡器插上 usb之后,在/dev下面应该有至少4个scsi设备,即sda、sdb、sdc和sdd,可是我的gentoo就偏偏只有一个/dev/sda。
这个问题困扰了我很久,它是Gentoo独有的问题,在Ubuntu中不存在这样的问题。搜索了国内外众多gentoo网站,也看到不少人提出这个问题,也有人提出很多解决方案,可是对我的多功能读卡器一直无效。
直到最近偶然在一个国外网站看到一个介绍,试了一下,一举成功。这个解决方法其实很简单,可是我在国内外中文网站都没有找到过,所以特别用中文写出来,也许其他只看中文的网友会有点帮助。
在Gentoo的内核中,默认没有选择支持probe all LUNs on each SCSI devices这一项,要把这个项目编译到内核中去:
cd /usr/src/linux
make menuconfig
make && make modules_install
或者
cd /usr/src/linux
genkernel --menuconfig all
都会呼叫menuconfig这个程序让用户自己选定内核支持哪些设备。我们除了一般usb设备必须的之外,还要选定这些内容:
SCSI Support
<*> SCSI disk support
<*> SCSI generic support
<*> probe all LUNs on each SCSI devices
选完了这些选项之后推出存盘,make menuconfig或genkernel --menuconfig all都会继续编译内核和模块。后者会把编译好的内核直接复制到/boot中去下次启动就直接可用了,用前者编译出来的模块保存在默认的特定的目录中,需要根据说明书自己复制到/boot去才能使用。
用新的内核启动之后,/dev下面就会出现sda、sdb、sdc和sdd四个设备了,我们就可以用
mount /dev/sdc /mnt/usb
来挂载第三个插槽中的sd卡了。
本帖一共被 1 帖 引用 (帖内工具实现)
说得太对了。偶就是一个喜欢琢磨折腾的
谢谢:作者意外获得【西西河通宝】一枚
鲜花已经成功送出。
此次送花为【有效送花赞扬,涨乐善、声望】
始终认为这种行为得不偿失,没有需求的带动,这种行为没有多大意义。
俺们都是这类型滴……
咋说呢,这个事也不全是好事,有人嫌烦呢……嗬嗬
在于它的可裁剪性,而性能方面没有多大突出。对于一般用户,完全没有必要原因换成gentoo。当然可以做吹牛资本是很多人硬要用gentoo的一大原因,不过这个就与技术无关了。
各种linux distro本质上没有任何区别,他们的软件都用同样的代码,区别就在打包管理上。其他distro一般都以提供二进制码包为主,好处就是省事,下了装了就可用。二进制码的包成分都是预编译好的,这样在编译时option的选择一般就是默认,或者把尽可能多的options编进去以适应更多应用平台。gentoo则以源码为主,下载源码在目标平台上编译,这样编译时选的option就可以更加贴身。它的portage特别是USE flag很好用。有人说gentoo更高效其实主要指着一点。
我个人使用gentoo主要是为了给嵌入式系统用,可以搞出很紧凑的系统来。至于平时自己桌上机或笔记本,ubunto好不知多少倍。
已经变得特不爱折腾了。老了老了。