西西河

主题:【原创】我的Gentoo经历 -- 瓦斯

共:💬30 🌺69 新:
分页树展主题 · 全看 下页
  • 家园 【原创】我的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又有了新的认识,打算把下面几个内容写一写,既为后来者提供参考,也给自己留个备忘录:

    1、让gentoo能认多功能读卡器

    2、用软盘启动gentoo修理硬盘主引导分区

    3、创建一张linux启动软盘

    4、像微软视窗的网上邻居那样实现双机互联打游戏

    5、让Gentoo像微软视窗的网上邻居那样实现文件共享。

    关键词(Tags): #Gentoo元宝推荐:请尽量, 通宝推:杀猪杀屁股,
    • 家园 老帖不能修改了,更正一下

      Gentoo更像一个microsoft,尽量把所有的硬件都给驱动了,所以它的内核大,跑起来也要慢一点。所以Ubuntu适合初学者。使用 Ubuntu的时候,你的usb盘已插上去,它自动就给你配置好了,在桌面上出现一个移动盘的图标,而这些功能在gentoo中一般要自己去安装才会有,同时,用久了之后的人,也不一定需要这样的功能,自己挂载就可以了。

      其中的Gentoo应该是Ubuntu。

    • 家园 【原创】把gentoo安装在一个2G的移动存储卡中

      我曾经把gentoo安装在移动硬盘中,拿着移动硬盘就可以到别人的机器上启动上网,走的时候不会给别人的机器留下垃圾。

      我的机器中,通常是装有两三个操作系统的,我最多的时候曾经在一台机器上同时装有ubuntu、gentoo、windows xp、windows 2000和windows 7 beta。

      有时后系统乱了,不能正常启动了,就需要一个工具盘来启动,修复一些设置之后就可以了,不需要大面积的重装,那样费时费力。

      老的机器可以用软盘和光盘启动(硬盘启动出问题的时候),新的机器可以用usb设备启动。新的机器甚至已经没有软驱和光驱了,硬盘出问题的时候,还不得不用usb设备启动。

      usb设备,有移动硬盘和外置光驱之类的,还有一个简便的东西就是移动内存条。现在常见的都有8G的了。把gentoo安装在可以动的内存条中,已经可行了。

      这样做得好处,只是比笨重的移动硬盘和光驱方便一些。

      制作过程和把gentoo安装在移动硬盘上,完全一样,只是这个移动硬盘稍微小一些罢了。

      这是我的2G的可以动内存条的分区情况:

      Disk /dev/sdb: 2004 MB, 2004877312 bytes

      247 heads, 62 sectors/track, 255 cylinders

      Units = cylinders of 15314 * 512 = 7840768 bytes

      Disk identifier: 0xc3072e18

      Device Boot Start End Blocks Id System

      /dev/sdb1 1 4 30597 83 Linux

      /dev/sdb2 5 37 252681 83 Linux

      /dev/sdb3 38 255 1669226 83 Linux

      gentoo所在的主分区其实只有1.6G左右,我在上面还安装了一个windowmaker,也就是说,可以有一个图形界面的gentoo了。

      当然这个只是做来玩的,用它来做个临时的修理工具很好用,上网还不够,虽然它已经能够上网和下载。

      如果安装在8G的内存条上,那么就可以是一个完整的系统了,就可以安装火狐,就可以上西西河聊天打屁了。

      linux装在移动设备上的好处,是移动到几乎任何别的机器上都可以使用,最多也就是稍微到现场时临时修改一下配置,马上就可以使用了。

      而我曾经试着把windows也往移动设备上安装,都不能成功,更别说移动到别的机器上了。

    • 家园 【原创】gentoo linux文件共享samba经验点

      瓦斯:【原创】gentoo linux文件共享samba经验点

    • 家园 好象没有LIINUX支持我的WIRELESS ADAPTER

      用的是屋主的WIRELESS DSL, 好象只有M$才支持. 当然, 我那IPOD也是问题. VNC什么的倒不知道.

      • 家园 可以到你的无线网卡厂家的网页上下载驱动啊

        我前段时间最近就对本本上的无线网卡折腾了很久,最后找到厂家的网页上下载了linux的驱动程序,就可以了。

        后来我的linux升级了一次,有不行了,又是找到厂家去下载了新的补丁,之后才又恢复使用的。

        另外,Linux还有一个通用的包,可以使用为微软的硬件驱动程序(有些硬件厂家根本就没有提供linux的硬件驱动),名字我一时忘了,想起来再说。

    • 家园 【原创】像微软视窗的网上邻居那样实现双机互联打游戏

      让gentoo像微软视窗的网上邻居那样实现双机互联打游戏和文件共享,前提是要有网卡并被gentoo所识别和驱动。

      查看你的网卡是否已经安装好了,使用这个命令:

      ifconfig -a

      如果结果只有lo开头的一段内容,说明网卡未被正确安装。需要用lspci这个命令来看一下插在机器中的硬件都有哪些以及型号,用dmesg也可以,但是内容很多。在lspci的结果中应该有一行“Ethenet controller:”的内容,表明网卡的型号,如果没有这样的一行,我也不知道怎么办了,多半是没有网卡或没有插好。

      如果在lspci的结果中可以找到你的网卡而ifconfig却看不到它的配置,很可能是内核中为选择该型号网卡的驱动,重新编译内核选上你的网卡型号就可以。编译好内核后重新启动,一般就可以在ifconfig看到网卡了。如果还不能看到,可能需要自己配置以下udev的rule文件。

      通常我们就一块网卡,名称就是eth0,相应地,如果还更多的网卡,名称就会是eth1、eth2、......我这里只说只有一块网卡的情况。如果你只有一块网卡,而它的名称却不是eth0,而是eth2或其他的数字结尾,就需要去/etc/udev/rules.d/70-persistent/net.rules中找到eth2字样的地方,把它改为eth0。

      如果你的机器已经连接在一个局域网里面了,那么安装的时候一般网络自动就设置好了,每台机器通常已有自己的ip地址,需要做的只是共享自己的文件夹,或挂载别的机器上的共享文件夹。

      我有两台不上网的老机器,分别都有一块网卡。我希望把它们连接起来,通过网上邻居共享文件和玩联机游戏,我就需要给他们设置固定的ip地址。要把一台机器的地址设定为192.168.0.7,就在/etc/conf.d/net这样写:

      config_eth0=( "192.168.0.7 netmask 255.255.255.0" )

      routes_eth0=( "default gw 192.168.0.1" ) #假设gateway在ip地址为192.168.0.1的那台机器上。

      另外一台机器如果设定为192.168.0.1,就在它的/etc/conf.d/net这样写:

      config_eth0=( "192.168.0.1 netmask 255.255.255.0 broadcast 192.168.0.255" )

      routes_eth0=( "default gw 192.168.0.1" )

      为了让新的配置生效,可以分别运行如下命令:

      /etc/init.d/eth0.net restart

      为了让机器每次启动后都自动运行网络ip设置,就运行

      rc-update add net.eth0 boot
      把net.eth0写到启动的加载项中去。

      两台机器都设置好各自的ip地址之后,通过ifconfig查看一下,直到有eth0开始的一段网卡的ip地址才算设置好了。

      用cross-over电缆把两台机器的网卡连接起来,网卡上的灯就该亮起来,如果不亮说明网线类型不对或没有插好。

      为了互相找到对方的机器,需要分别ping一下对方的地址,如在192.168.0.7的机器上输入命令:

      ping 192.168.0.1
      应该得到不断的回复信息,按下ctrl-C停止。如果显示找不到host那么网络还是没有搞好,回到前面几步检查重来。

      当双方都可以ping到对方的机器时,网络就设置好了。

      如果是在单位的局域网里面,就可以ping到很多机器的地址。

      这时候就可以玩网络游戏了。

      要共享文件,还需要作一些进一步的设置。


      本帖一共被 1 帖 引用 (帖内工具实现)
    • 家园 【原创】创建一张linux启动软盘

      网上有不少探讨如何在一张软盘上建立一个自成体系的最小的linux系统。需要把内核和根精简到最小程度,使得他们能够挤在一张小小的1.44M的软盘里面。本文要说的不是这个努力方向。

      我这里说的是假设硬盘上已经有一个可登录的linux系统,由于重装微软视窗系统等原因导致linux没有启动的机会的情况。我们需要一个启动设备去启动硬盘上完好的根,登录硬盘上linux之后再修改硬盘的linux启动能力。

      我们的策略不是在软盘上建立完整的linux系统,而是建立一个grub启动程序,让一张软盘能启动grub,有自己的多启动功能菜单,这样想启动xp就xp,想要linux就linux。这个方案对于一张软盘的容量来说绰绰有余,甚至还可以把内存检测程序mememtest86以及自建的一些背景图片装进去。看到你的多重启动菜单有DIY的图片作背景,也是很惬意的事情啊。

      软盘是实现非本地硬盘启动的方法之一,其他方法还有光盘启动、usb设备启动等。目前支持usb设备启动的台式机已经很普遍了,可是笔记本主板支持usb启动的似乎没见到,只见到笔记本支持usb光盘启动的。

      新的机器、新的gentoo linux内核,在默认的情况下已经不装软驱或软驱识别了。这里作为一个备用方法,还是值得写一下。即使新的台式机主板主要用sata硬盘了,同时一般还留有floppy、IDE的插槽,需要的时候可以自己接一个软驱来使用。

      如果gentoo linux中无法挂载软驱,如在/dev中根本就没有/dev/fd0或/dev/floppy之类的块设备让你去挂载,一开始真是没有地方下手了。通常执行一下

      modprobe floppy
      就会在/dev中出现该有的设备名称了。

      把一张软盘插入软驱,在linux环境下格式化把软盘格式化为ext2的格式:

      mke2fs /dev/floppy

      执行

      mount/dev/fd0 /mnt/floppy
      挂载软盘。

      执行

      mkdir /mnt/floppy/grub
      在软盘上建立grub目录。

      执行

      cp /boot/grub&* /mnt/floppy/grub/
      把boot去里面的grub程序复制到软盘上相应的目录中去。如果/boot默认没有挂载要先挂载一下。

      执行

      cp /boot/grub/* /mnt/floppy/grub/
      把boot里面的grub程序复制到软盘上相应的目录中去。

      执行

      nano /mnt/floppy/grub/menu.lst
      修改启动菜单,要把kernel那一行中稍微修改一下,让它指向硬盘上的linux的/boot所在的分区。例如,kernel-gentoo-2.6.20-r8这个文件在硬盘的第一个分区,原来这一行是

      kernel /boot/kernel-gentoo-2.6.20-r8
      要改成

      kernel (hd0,0)/boot/kernel-gentoo-2.6.20-r8

      同样,如果有inird这一行的,也需要做相应的改变。当然,如果不想对原有的行进行改动,就在title行下面kernel行上面插入一行,写

      root (hd,0,0)
      就行了。

      存盘退出。

      现在要把软盘的mbr重写一下,让软盘启动的时候启动grub,从而进入多重启动菜单。

      grub

      root (fd0)

      setup (fd0)

      quit

      如果一切顺利地话,这个启动软盘就做好了。

      把主板bios中的启动顺序改一下,让软驱成为第一启动设备,这张软盘启动一下,看到grub的stag在慢慢调入内存...成功了。

      在复制grub目录的内容到软盘上的同时,也可以把memtest86(+)复制到软盘中去,相应地menu.lst菜单中有有一项kernel memtest86之类的,就可以为很多机器检查内存了。

      另外,如果有自己为grub启动菜单做好的背景图片,也可以在这个时候复制到软盘中去,让你的菜单有自己的背景图片。

      关键词(Tags): #linux#启动#软盘

      本帖一共被 1 帖 引用 (帖内工具实现)
    • 家园 【原创】用软盘启动gentoo修理硬盘主引导分区

      我的硬盘上以前只有一个微软的视窗系统,后来为了安装linux就用pqmagic把原有的微软视窗分区减小一点,腾出一点空间来给linux使用。

      安装linux之后,都会在主引导区(mbr)写下grub的引导程序启动/boot中的grub各个阶段,然后出现多重启动菜单,可以选择启动微软视窗或各种linux。我曾经在我的不大的硬盘中同时安装了xp、ubuntu和gentoo。

      最近的xp有点毛病就重装了一遍,这就重写了一次硬盘的mbr,使得启动程序直接启动xp,也就是说多重启动菜单没有了,linux就没有机会启动了。

      我知道我的gentoo都还好好地在那里,只是一时在xp中看不到而已。我已经学了一年的linux,不是一个刚刚学linux的了,我知道我不需要再花很多时间去重装一个linux来获得多启动菜单。

      有几个方案可以修复主引导区,把硬盘拔下来插到另一台有linux的机器上,或者反过来把有linux系统的硬盘拔过来启动修改,或用gentoo安装光盘来启动后进入的简单linux环境来修改,或者你的主板足够新可以支持从usb设备装有linux移动硬盘的......我想了一会儿,觉得最简单的方法还是用软盘启动硬盘上已有的gentoo根分区,获得完整的linux环境之后,再运行grub重写mbr就应该可以解决了。现在的首要问题是有一张linux启动软盘,如果没有就自己做一张(怎么做?下次再写)。

      现在假设手里已经有一张linux启动盘。

      由于软盘的容量有限,基本上无法把最简单的gentoo包含进去(这个问题值得进一步探讨),我的启动软盘实际上只有一个/boot/grub下的文件和引导记录,不过,这就足够了。

      我用这个软盘启动,在软盘的/grub下面有menu.lst文件,里面就是多重启动菜单的设置,我们已经预先把硬盘上的/boot和/所在的硬盘分区写在相应的地方了,所以用这样的软盘启动,直接就会把你带到硬盘上曾经装好的gentoo linux中去。

      实际操作过程中,我没有去改写软盘上的menu.lst文件,那是一张去年学习ubuntu时做的一个启动软盘,上面的菜单指向的都是ubuntu的内核,并不能直接启动gentoo内核(文件名都不同)。不过,这都没有关系,grub是共同的。我在软盘启动了多重启动菜单时,随便选了一个ubuntu项,按e键进行修改:

      1、把root设定为硬盘上/boot所在的分区,例如root (hd0,0)

      2、把kernel 设定为硬盘上/boot中的kernel文件名。在grub的微linux环境中编辑命令行实在是一件非常爽的感觉,因为以前记不住gentoo的内核那么长的文件名啊!西西河请尽量在他的linux启蒙读物基于Linux内核的开放源代码操作系统的组成中介绍的tab大法在这里显示出了强大的威力,我打了kernel (hd0,0)/boot/空格,按了一下tab键,我那些在硬盘上的内核文件都显示出来了。看到这些文件时,虽然还没有成功,但我已经明白我即将成功了。这里很重要的是要在kernel 后面加上(hd0,0)或实际上其他分区的绝对名字,不能像在硬盘上启动那样简单地打上kernel /boot/kernel-xxxx-xxx之类的,那样grub会在软盘中找内核文件,如果软盘能够存的下就好了!

      3、如果有initramfs之类的就再添加一行initrd (hd0,0)/boot/initramfs-xxxx-xxxx之类的,不要担心文件名太长会打错,有tab大神罩着呢。

      都打好了吗?在grub中按b启动,如果顺利地话就看到你在硬盘上的内核欢快地启动了,然后要你登录输入口令。如果前面的命令有错,grub还可以让你回去修改,修改之后在启动。

      进入我的gentoo linux之后,就是运行grub还我河山了,夺回被xp抢占的mbr。下次重启之后就可以见到grub的多重启动菜单了。

      我在这个过程中还出了一点小麻烦,就是不同版本的grub的写的mbr记录和stag文件必须配套,不然也不能启动。

      我去年装ubuntu的时候,grub是0.96,今年又装gentoo的时候grub已经是0.97版了。我一开始只是简单地用0.97版的grub去重写硬盘的mbr,而没有更新/boot/grub下面的0.96版的stag等文件,结果启动后就一个光标在闪烁无法前进。又用软盘第二次启动之后,把grub重新编译了一遍,更新了/boot/grub下面的文件,再次重启之后就看到原先的多重启动菜单了。

      关键词(Tags): #gentoo#grub#linux

      本帖一共被 3 帖 引用 (帖内工具实现)
分页树展主题 · 全看 下页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河