Gentoo使用指南(ChinaUnix)
2007-02-28 17:24
176 查看
原帖:http://linux.chinaunix.net/bbs/thread-889034-1-1.html
题目有点大了,其实只是就我一年来的经验和大家交流下
Gentoo可以说是我用过的最简单的操作系统,当然,这个简单是以自己对Linux系统本身的熟悉为基础的。
Gentoo简单到只有一件事,就是想清楚自己要一个什么样的系统,然后按Gentoo的规矩给一个描述,接下来的事情全就交给emerge吧
那怎么描述一个Gentoo系统呢,分三部分:
World文件:用来记录系统里边要安装的包(注意,这里只需要记录你要用到的包)。
Gentoo会自己计算和解决包的依赖性,比如:你只需要把gnome加入world文件,而没有必要把gnome的一系列组件加入world。
一些过时的、不再依赖的包可以通过emerge --clean被搜索到并移出。
如果一个新的gnome组件进入了portage,那么你下次升级系统时他会被自动安装;
如果一个组件过时了,gnome 不再依赖他,world文件中的任何包都不再依赖他,那么那个包会在emerge --clean时候清除掉
world文件存放在/var/cache/portage下,当你emerge一个包时,这个包就会自动加入world文件,这也是把包加入world的最好方法(个人意见)。
USE变量:用来说明portage系统在编译软件包的时候如何配置选项。
比如:一个包提供对Gnome的支持,但需要编译时加入选项才能打开,那么,如果你在USE变量中包含了"gnome",最终编译的结果就会包含Gnome的支持。
USE中与该包无关的定义不会影响该包,至少不会直接影响,对于USE变量的修改,推荐使用一个小程序"ufed",只要"emerge ufed"就能完成安装,然后运行ufed即可,如果你自己编译过核心的话,对那个配置界面不会陌生的。
USE变量定义在三个地方:
>>>>一个是你所选的平台的默认选项(for x86,for amd64之类的,一旦你选定了,那么在/usr/portage/profile下一个默认的make.conf已经在起作用了,那个文件里包含一些 USE定义)
>>>>第二是包本身,每个包的ebuild中也会包含一些USE变量,但通常很少;还有就是/etc/make.conf是你唯一要修改的地方,也是最好唯一修改的地方,这里定义的USE会覆盖前两者。
>>>>最后是Gentoo对配置文件的管理,个人以为这也是Gentoo的一大优点。
先拿核心模块来说明,在etc下的确有直接加在核心模块的配置文件,但是那个文件本身是在系统启动时候生成的,并且在下次启动的时候会被重新生成,所以修改那个文件是没有意义的。
在modules.d/目录下有一些小的配置文件。
如alsa,ppp,nvidia,这些文件声明自己需要在modules.conf中加入什么样的内容。
Gentoo在启动时候会调用脚本扫描该目录,然后根据里边的内容生成一个新的modelus.conf,所以说修改那个文件没用,我们需要修改modules.d/下的文件,类似的目录还有 env.d,conf.d,init.d。
最近好多Linux系统都采用这种方式了。如果系统提供了一个机制来解决问题,那么就最好通过这个机制来解决。
在配置的时候要想好配置放在什么地方。
比如中文的配置,如果放在系统的配置里,连启动脚本都可能输出中文,这肯定不是我们期望的。
如果放在个人配置里,控制台的信息就全成方块儿了,连man也是。最好的方法是让中文的配置只影响X,如果使用gdm,那么只要在gdm中选中文,再登录就可以了,如果不使用 gdm,可以把中文设置放在.xinitrc文件中。这样我们就有一个中文的X环境,而控制台仍然是英文的。
以上,前两个配置好就可以通过emerge得到一个系统了,然后在改改配置文件就可以让Gentoo正常工作了。
就目前我个人的经验,Gentoo的包管理系统是最出色的。
有一个简单的方法来安装你想要的包:现建立一个文本文件,在里边保存你要安装的包,一行一个,然后执行"cat filename | xargs emerge"
更新完全凭个人喜好。
你可以选择天天更新,也可以是隔很长时间来一次。就我个人经验,一周两次比较好,这样一次更新通常只有几个包,工作量很少,而隔很长时间更新会面临上百个包要编译。
还有就是ACCEPT_KEYWORDS的选择
通常~x86和~amd64(代表接受不稳定的版本)会更快的体验新版本,新特性,但是通常程序也不够稳定,速度也不是很快,而x86和amd64下(表示接受稳定的包)软件都很稳定,而且速度也很好。每个包都有一个keywords可以包含x86, ~x86.amd64,~amd64...中的一个或多个x86表示平台,~表示不稳定
题目有点大了,其实只是就我一年来的经验和大家交流下
Gentoo可以说是我用过的最简单的操作系统,当然,这个简单是以自己对Linux系统本身的熟悉为基础的。
Gentoo简单到只有一件事,就是想清楚自己要一个什么样的系统,然后按Gentoo的规矩给一个描述,接下来的事情全就交给emerge吧
那怎么描述一个Gentoo系统呢,分三部分:
World文件:用来记录系统里边要安装的包(注意,这里只需要记录你要用到的包)。
Gentoo会自己计算和解决包的依赖性,比如:你只需要把gnome加入world文件,而没有必要把gnome的一系列组件加入world。
一些过时的、不再依赖的包可以通过emerge --clean被搜索到并移出。
如果一个新的gnome组件进入了portage,那么你下次升级系统时他会被自动安装;
如果一个组件过时了,gnome 不再依赖他,world文件中的任何包都不再依赖他,那么那个包会在emerge --clean时候清除掉
world文件存放在/var/cache/portage下,当你emerge一个包时,这个包就会自动加入world文件,这也是把包加入world的最好方法(个人意见)。
USE变量:用来说明portage系统在编译软件包的时候如何配置选项。
比如:一个包提供对Gnome的支持,但需要编译时加入选项才能打开,那么,如果你在USE变量中包含了"gnome",最终编译的结果就会包含Gnome的支持。
USE中与该包无关的定义不会影响该包,至少不会直接影响,对于USE变量的修改,推荐使用一个小程序"ufed",只要"emerge ufed"就能完成安装,然后运行ufed即可,如果你自己编译过核心的话,对那个配置界面不会陌生的。
USE变量定义在三个地方:
>>>>一个是你所选的平台的默认选项(for x86,for amd64之类的,一旦你选定了,那么在/usr/portage/profile下一个默认的make.conf已经在起作用了,那个文件里包含一些 USE定义)
>>>>第二是包本身,每个包的ebuild中也会包含一些USE变量,但通常很少;还有就是/etc/make.conf是你唯一要修改的地方,也是最好唯一修改的地方,这里定义的USE会覆盖前两者。
>>>>最后是Gentoo对配置文件的管理,个人以为这也是Gentoo的一大优点。
先拿核心模块来说明,在etc下的确有直接加在核心模块的配置文件,但是那个文件本身是在系统启动时候生成的,并且在下次启动的时候会被重新生成,所以修改那个文件是没有意义的。
在modules.d/目录下有一些小的配置文件。
如alsa,ppp,nvidia,这些文件声明自己需要在modules.conf中加入什么样的内容。
Gentoo在启动时候会调用脚本扫描该目录,然后根据里边的内容生成一个新的modelus.conf,所以说修改那个文件没用,我们需要修改modules.d/下的文件,类似的目录还有 env.d,conf.d,init.d。
最近好多Linux系统都采用这种方式了。如果系统提供了一个机制来解决问题,那么就最好通过这个机制来解决。
在配置的时候要想好配置放在什么地方。
比如中文的配置,如果放在系统的配置里,连启动脚本都可能输出中文,这肯定不是我们期望的。
如果放在个人配置里,控制台的信息就全成方块儿了,连man也是。最好的方法是让中文的配置只影响X,如果使用gdm,那么只要在gdm中选中文,再登录就可以了,如果不使用 gdm,可以把中文设置放在.xinitrc文件中。这样我们就有一个中文的X环境,而控制台仍然是英文的。
以上,前两个配置好就可以通过emerge得到一个系统了,然后在改改配置文件就可以让Gentoo正常工作了。
就目前我个人的经验,Gentoo的包管理系统是最出色的。
有一个简单的方法来安装你想要的包:现建立一个文本文件,在里边保存你要安装的包,一行一个,然后执行"cat filename | xargs emerge"
更新完全凭个人喜好。
你可以选择天天更新,也可以是隔很长时间来一次。就我个人经验,一周两次比较好,这样一次更新通常只有几个包,工作量很少,而隔很长时间更新会面临上百个包要编译。
还有就是ACCEPT_KEYWORDS的选择
通常~x86和~amd64(代表接受不稳定的版本)会更快的体验新版本,新特性,但是通常程序也不够稳定,速度也不是很快,而x86和amd64下(表示接受稳定的包)软件都很稳定,而且速度也很好。每个包都有一个keywords可以包含x86, ~x86.amd64,~amd64...中的一个或多个x86表示平台,~表示不稳定
相关文章推荐
- SG-1000使用指南
- [置顶] 【python 可视化】pyecharts + Flask 使用指南
- jQuery提示插件alertify使用指南
- Anroid开发:友盟分享SDK v5使用指南(Android Studio)
- HTML DOM appendChild() 、insertBefore(node, child)、removeChild(child)、replaceChild(node, child)方法使用指南
- Struts Validator验证器使用指南
- SecureCRT装逼指南之使用小技巧
- [置顶] 【python 可视化】pyecharts + Django 使用指南
- outlook express6使用指南
- Swift编程中数组的使用方法指南
- 前端调试必备技巧(控制台使用完全指南)
- SlidingMenu、ActionBarSherLock 使用指南
- apt-get 使用指南
- Linux平台上关于工具Wine的完全使用指南(1)
- AnyChart图表控件使用指南(五)
- 信用卡使用指南
- 使用Docx4j操作PPT指南系列(一) 推荐
- IOS开发指南学习——使用MKNetworkKit进行网络请求
- 【转载】jira用户使用指南
- Docker 使用指南 (二)—— 搭建本地仓库