gentoo安装和使用进行了将近一天的惊心动魄的升级后(很庆幸系统没有挂掉,而且感觉更快了),终于想静下心来把一个星期以来的安装、配置以及升级gentoo大致写出来,一是想纪念一下,另外也许对其他想用gentoo的朋友有一些参考价值。我使用linux不算很长,大概用了一年半的ubuntu和一年的archlinux。用archlinux时逛经常有人谈及gentoo,好像用 gentoo的都是高手。当时感觉可笑,各各发行版区别都那么大吗,之前用ubuntu转到archlinux也就是显卡驱动那碰到点问题,其他都比较顺 利,gentoo又能难到哪去呢?另外gentoo安装软件都是要编译的,我的本性能也不好,就想
如果以后换了新的再考虑吧,所以中间虽然想了几次,但一 定没有尝试。一个星期前( 3月4),我把mplayer和ffmpeg都手动升级下,发现编译起来有点纠结,mplayer需要ffmpeg的源码,但ffmpeg还要单独编 译,后来让mplayer用ffmpeg的so后升级ffmpeg后mplayer居然挂了,重编了几回才弄好。系统里有好几个包都自己编译,主要是想去 掉不用的依赖,但手动维护太麻烦了,于是又想到了gentoo。当时已经10点多了,于是想第二天开始着手。废话完毕。 之前的硬盘分区就这样的:/dev/sda1 ext4 6g //dev/sda2 2g 未使用/dev/sda3 ntfs 30g/dev/sda4 jfs 66g /home其中/dev/sda2是以前的swap,但后来不用休眠功能后感觉swap意思不大,就不用了。其余的三个分区都比较重要,基本动不得,这给怎么装啊。想来想去,先用sda2试试吧,如果装不上就没事了,装上再进一步考虑吧。于是把sda2格成了reiserfs(某人说这种格式好,但我从来没用过,正好体验一下)。下载 stage3-i-.tar.bz2 和portage-latest.tar.xz。(前一个文件一周一更新)(我用的32位)国内的镜像有: mount /dev/sda2 /media/zsudo tar xvpf stage3-i-.tar.bz2 -C /media/zsudo tar xvpf portage-latest.tar.xz -C /media/z/usr准备chroot环境:sudo mount -t proc none /media/z/procsudo mount -vt devpts devpts /media/z/dev/ptssudo chroot /media/z/ /bin/bash现在就chroot进去了,之后的操作如不特别说时都是在这个环境下进行的。 初始化环境变量:env-updatesource /etc/profile修改/etc/ke.conf,这个非常重要,最好首先改到位,不然之后有你受的(我就是,不得要领,改了多回,改完还要重编译各种东西):加入源:GENTOO_MIRRORS= #-jn,n是
内核数加1,多线程编译用的,不设置也行INPUT_DEICES=keyboard mouse synaptics #键盘、鼠标、触摸板#下面的是很重要的USE,开始时可以只用USE=X gtk,但最开始写好以前就省事了,不然以后会麻烦重重。USE=-pppd -alsa -fortran sse sse2 ssse3 mmx sdl v4l v4l2 oss oss4 X gtk unicode truetype jpeg png gif cairo zsh-completion fontconfig videoopenglIDEO_CARDS=radeon #这个至关重要,显卡驱动类型,具体请查看官方wiki,我的是ati x,只能用这个开源驱动。#CCEPT_KEYWORDS=~x86 #这个要注意,如果要用最新的软件,可以加上这行,但如果是第一次装,强烈不建议加,不然会提升安装难度先改这些就差不多了。改/etc/locale.gen,加(按照自已需要写)en_US.UTF-8 UTF-8zh_CN.UTF-8 UTF-8zh_CN.GB GBzh_CN.GBK GBK运行locale-gencp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime修改/etc/conf.d/clockCLOCK=localTIMEZONE=Asia/Shanghai改/etc/resolv.conf,把本机的/etc/resolv.conf内容写出其中,不然上不了网。改/etc/fstab,这个也可以安装完内核再写,这个应该都会写。查看网络是否正常(如果电脑联网了,resolv.conf也改了就可以上了),然后同步portage(如果portage-latest.tar.xz是刚下的也可以略过这步,但最好还是运行下吧):emerge --sync安装内核源码:emerge gentoo-sources下边就开始编译内核了,如果有手动配置内核的经验强烈建议手动配置编译:cd /usr/src/linuxke menuconfigkeke modules_installcp arch/x86/boot/bzIge /boot,不然最好使用genkernel:emerge genkernelcd /usr/src/linux/genkernel --menuconfig all关于配置内核请上网自行查询,如果下一种方式实在不会也可以不配置,一般也能启动起来。编译时间和很多因素有关,几十分钟到几小时不等。用户相关:(osily是自己要创建的用户名)passwduseradd -m -G audio,cdrom,portage,u,video,wheel,users -s /bin/bash osilypasswd osily如果fstab之前没改好现在一定要改好,然后改自己系统的/boot/grub/menu.lst。此处官方wiki写的很清楚,建议查看。 现在可以继续安装其他软件,如xorg-server,但最好还是重启看看能不能进去。如果不能
的话多半是内核(尤其是自己编译的内核)的问题,如果内核没问题,看看/boot/grub/menu.lst是不是有问题,多改几回。如果可以正常进去的话,可以直接在这继续编译,但最好还是返回原来的系统继续。可以写个类似这样的脚本:#!/bin/bashsudo mount /dev/sda2 /media/z/sudo mount -t proc none /media/z/procsudo mount -vt devpts devpts /media/z/dev/ptssudo chroot /media/z/ /bin/bash运行就可以进去chroot环境,如果进去环境变量不正常运行:env-updatesource /etc/profile然后就是安装需要的东西了,主要看自己了,比如dhcpcd、sudo、vim,一般的工具直接emerge xxx就可以了,emerge的具体用法网上查吧。但如果你想要桌面环境的话,最好按以下的步骤:安装点基本工具后,直接安装xorg-server,注意前提/etc/ke.conf里显卡和输入设备等变量一定是正确的。这会安装许多东西,基本要用一个小时以上,耐心等待吧。安装完后:(xorg-x11和驱动相关,请查看wiki相关部分,这部好像可以省略,记不清了) eselect opengl set xorg-x11如果安装好了,可以先重启试试,进去后,运行startx,这是很的一刻了,如果显示找不到xterm找不到什么的,恭喜你,显卡驱动基本正常了,不 然就会有各种稀奇古怪的问题&&×&%×&,那么也恭喜你,在接下来的时间你将对安装显卡驱动、写 xorg.conf等有深刻而透彻的了解。如果是前者,你可以回去继续安装其他东西,如xterm(最好安装完再重启下看看是不是正常,如果不正常,那么你可以回过头处理显卡驱动问题了)、openbox甚至gnome、kde。下文再说。如果是后者或者刚才的xterm显示分辨率不对、鼠标键盘触摸板不能用,那么你要折腾一会了,虽然之前安装内核没有难到你,这里很可能让足够纠结甚至放弃。这也是我安装过程中最混乱的地方,已经没法清晰地回忆了,因为这的问题我先后重装了4次,(第一次因为2g空间不够,2、3次都因为X段错误,非常纠结),而且其中改了几回显卡驱动类似,重编译了多回。如果是X段错误,看出错信息是不是加载某个so出的错,如果是可以先把那个so移到别的地方重试。如果不是段错误,可能是xorg.conf有问题,有的驱动是不需要这个问题的,默认也是没有了,所以如果有先删掉试试,不行的话用X -configure生成一个新的再X -config xorg.conf.new尝试如果不行的话,还很有可能是内核没配置的问题,这往往比较麻烦,可以先仔细阅读wiki,不行再去linuxsir等去找找或者问问。重编译内核后最好把和X相关的包也重编译下(有许多)。再有很可能是你选择的驱动不支持你的显卡,比如老的ati显卡很多都不能用现在的闭源驱动。这样可以试试其他的,改/etc/ke.conf,然后必须把相关的包重新编译。还有其他的可能吧如果xterm能进去了,但鼠标键盘等不能用,保证/etc/ke.conf正确的话,安装xf86-input-evdev,如果xf86-input-keyboard xf86-input-mouse xf86-input-synaptics 没有的话说明/etc/ke.conf没写对,这时安装上这几个包也未必好用,可能要重新编译更多包。这个问题应该是比较好解决的。如果分辩率不正常,首先要确认用的不是xf86-video-vesa的驱动(按我的流程不会安装到这个包),如果是那很可以分辨率就不调不正常了。然后还是显卡驱动安装问题,还有xorg.conf,上网多找找吧。显卡驱动问题如果一时解决不了的话,可能会拖很长时间,甚至直到放弃,或者你甘愿不用图形界面。 如果以上都正常了,gentoo离你就很近了。接下来主要部署桌面环境,推荐比较轻量的,(如openbox、fluxbox、fvwm、dwm、awesome等),可以配合面板(tint2、bmpanel、pypanel等),不然要花很长时间编译。安装完后就按自己的需要进行配置了。现在还没有涉及的问题主要还有:声卡、网卡、摄像头等设备的驱动,以及触摸板不正常等。如果触摸板用手指点无反应,但手指有反应,试试:synclient TapButton1=1如果横向滚动不能用:synclient HorizEdgeScroll=1其他问题请查询synclient用法要把上边的命令放在启动脚本里,如是.xinitrc,确保它能在进入X前被调用。声卡问题,如果用alsa的话,genkernel默认编译的内核包含了alsa驱动,应该就要以正常使用了,如果没包含就要有点麻烦。如果内核包含了oss驱动(这是旧版本的),可能也可以正常用,但效果应该不好,能就算了吧。 如果都没有的话如果内核启用的声卡支持(menuconfig里有一层的里边是alsa和oss,它的上一层要选上),你可以选择安装alsa或者oss 驱动,个人推荐用oss4,它音质比较好,占用资源少(我试和内核的alsa里比mplayer放mp3时cpu占用省了一半)。但安装oss4不是很容 易,因为它不在portage里,要用layn,还要能连接国外网。alsa没装过,wiki有详细说明。如果现在就要安装oss4,也好:emerge laynlayn -a oss-overlay然后再/etc/ke.conf里加一句:source /var/lib/layn/ke.conf然后emerge oss或者emerge oss-devel如果网络没问题的话应该正常安装。要保证/usr/src/linux指向的是当前用的内核然后/etc/init.d/oss start,一般要等几分钟因为要编译内核模块,如果成功了基本就可以用了,可以试试osstest,不成功的话问题就麻烦了,很可能你要重新编译内核不同于其他常见的linux distro (如 ubuntu等), 两个系统都是属于 “从零”做起,默认系统安装好后,除了最基本的系统软件(如shell,及一些核心软件如sed/find等)外,其他任何应用程序(比如 X系统, 桌面程序,firefox, office, 邮件工具等)都没有安装。 这时你需要根据自己的需要来逐步安装。
Arch 于 Gentoo 的区别在于, Gentoo 的任何一个软件(包括linux kernel)安装时,实际上是下载源代码然后在本机上编译获得,这样用户可以根据自己的物理硬件情况 (CPU类型,单核或多核等) 来调节编译选项从而获得更好的优化 (比如编译内核时可以去掉不需要的模块等),对于高手而言,这种方式得到的系统应该是非常优化的,但是如果是新手,有可能因为配置不当反而得到低效的软件甚至导致出现问题。 而 Arch 安装软件时,下载的是 Arch 维护者已经编译打包好的程序,直接下载到本机使用的, 虽然可能会损失一定的优化(在当前的硬件水平下,应该是感觉不出来的),但是安装程序的速度会比较快,同时不用关心源码,另外 Arch也能支持类似于Gentoo的从源码安装的方式,一般用这种方式来安装linux内核。
Arch/Gentoo 于其他发行版 (如ubuntu/debian)相比,升级是“无缝”的,不存在像ubuntu那样隔半年一个新版本,不同版本间的升级可能导致很多问题,而Arch/Gentoo的升级就是通过平时定期的软件更新。 另外, Arch/Gentoo相对于其他发行版,一般总能更新到最新的软件,但是往往有可能因为更新太快而出现问题。
总而言之, Arch/Gentoo适用于对Linux系统比较了解的人使用,一般来说 Arch/Gentoo用户需要对linux kernel的编译,linux系统的管理,目录结构,常用系统管理/维护工具等有较深入的了解。当使用Arch/Gentoo出现问题时,能通过日志/google等方式来排查解决问题。
而其他发行版(尤其是ubuntu),最适合普通用户,安装好后就能上网/office,而不需要对linux本身有太多了解,当然随着使用这些发行版,用户自然也能学到一些linux知识。
评论列表(0条)