gentoo linux(centos7)
如何安装gentoo linux
下载基本系统和源码包
为了加快安装速度,我是先将需要用到的几个镜象全部下载到本地。所须下载的文件包括:
1、最小安装镜象包:install-x86-minimal-20130528.iso
2、Stage Tarball快照包:stage3-i686-20130528.tar.bz2
3、系统Portage快照包:portage-latest.tar.bz2
网络环境或U盘准备
下载完成之后,我的办法是将上述2与3两个包放置到局域网的web上(web地址为:192.168.1.100),做个简单的页面,便于下载与访问。页面为:index.html,
页面上只有两行简单的代码:
< a href="stage3-i686-20130528.tar.bz2"> stage3</ a>
< br>< a href="portage-latest.tar.bz2">portage</ a>< br>
如此,准备工作完成。以下开始安装:
或使用Linux文件系统的EXT4格式的U盘存放以上两个文件
分区
用最小安装镜象包install-x86-minimal-20130528.iso启动系统,
1、划分磁盘为了简单方便,还是按wiki的方法,只分为三个区,
如下:
/dev/sda1启动分区
/dev/sda2交换分区
/dev/sda3根分区
以下是具体划分磁盘与步骤:
fdisk/dev/sda首先建立boot分区:Command(m for help):
nCommand action e extended p primary partition
(1-4)pPartition number(1-4): 1First cylinder(1-3876, default 1):(按回车)
Using
default value 1Last cylinder or+size or+sizeM or+sizeK(1-3876,
default 3876):
+100M(这里设定比wiki上稍大一些,便于今后使用多个内核)由于这个分区是将来的boot,所以需要把这个分区设置成可启动的。
键入a来给分区添加启动标志,
然后键入1。如果你再次按p键,你就会注意到,
在“Boot”那一列有个*。下面建立swap分区:同上,
键入n创建一个新分区,然后键入p来告诉fdisk你创建的是主分区。接着输入2来创建第2个主分区,在本例中是/dev/sda2。当提示输入第一个柱面的时候,直接敲回车。当提示输入最后一个柱面的时候,输入+512M来创建一个512MB大小的分区。在这之后,键入t来设置分区类型,键入2选择你刚刚创建的那个分区,然后再输入82,即把分区设置成了“Linux
Swap”。下面,建立根分区:同上,键入n创建一个新分区,然后键入p来告诉fdisk你创建的是主分区。接着输入3来创建第3个主分区,在本例中是/dev/sda3。当提示输入第一个柱面的时候,直接敲回车。当提示输入最后一个柱面的时候,仍然直接回车,把磁盘上的剩余空间创建一个分区。完成以上这些步骤之后,键入p,应该显示一个与下面类似的分区表:
Device Boot Start End Blocks Id
System/dev/sda1* 1 14 105808+ 83
Linux/dev/sda2 15 81 506520 82
Linux swap/dev/sda3 82 3876 28690200 83
Linux2、格式化分区并挂载分区格式化分区
mkfs.ext3/dev/sda1
mkfs.ext4/dev/sda3
mkswap/dev/sda2
挂载分区
swapon/dev/sda2
mount/dev/sda3/mnt/gentoo
mkdir/mnt/gentoo/boot
mount/dev/sda1/mnt/gentoo/boot
开始安装基本系统
首先安装Stage Tarball进入Gentoo的挂载点#
cd/mnt/gentoo我是预先将Stage包放到了局域网内的web上的,所以直接使用links访问页面并下载:
# links 局域网速度很快,几秒就下载完毕,那么现在解开stage包:
# tar xvjpf stage3-*.tar.bz2注意,解包的参数千万不要出错:xvjpf
现在stage已经安装好,下面我们继续安装Portage。小心:要确保执行操作的当前位置是:
#/mnt/gentoo,如果不是,那么还得执行:
# cd/mnt/gentoo同样使用links访问上述局域网内的页面并下载:
# links 以下,解开Portage快照包:
# tar xvjf/mnt/gentoo/portage-latest.tar.bz2-C/mnt/gentoo/usr
小心,上述参数中的“-C”,C为大写!
编译安装
-----------------------------------
以下,配置编译的选项注意:
编译选项放在make.conf中,现在中文wiki上对这个文件位置的说明有错误,现在的位置是在/mnt/gentoo/etc/portage/make.conf,
中文wiki上说的是在/mnt/gentoo/etc/make.conf(英文wiki上是正确的)。所有可参考的变量,都用注释形式罗列在/mnt/gentoo/usr/share/portage/config/make.conf.example里。以下,开始编辑这个配置文件:用你喜欢的编辑器(nano或者vi)打开该文件
# vi/mnt/gentoo/etc/make.conf此时我们只须添加简单点的下三个变量:
CFLAGS="-O2-march=i686-pipe"CXXFLAGS="${CFLAGS}"
MAKEOPTS="-j2"
将自己访问时速度最快的镜象站点也加入该文件:
mirrorselect-i-o>>/mnt/gentoo/etc/portage/make.conf
mirrorselect-i-r-o>>/mnt/gentoo/etc/portage/make.conf
----------------------------------拷
贝DNS设置到系统中:
cp-L/etc/resolv.conf/mnt/gentoo/etc/
将几个重要的当前目录,挂载到新系统下去:
# mount-t proc none/mnt/gentoo/proc
# mount--rbind/sys/mnt/gentoo/sys
# mount--rbind/dev/mnt/gentoo/dev
或者下面这样也行:
# mount-t proc none/mnt/gentoo/proc
# mount-o bind/sys/mnt/gentoo/sys
# mount-o bind/dev/mnt/gentoo/dev
----------------------------------以下,切换到新系统:
# chroot/mnt/gentoo/bin/bash
# source/etc/profile# export PS1="(chroot)$PS1"
------------------------------------------------------------------
更新Portage树
# mkdir/usr/portage
# emerge-webrsync或者:# emerge--sync
定义系统profile运行下面代码,查看可用的profile
# eselect profile list看到列表之后,我选择的是desktop,对应的是3,所以执行:# eselect profile set 3
--------------------------------
查看USE变量的可用列表
# less/usr/portage/profiles/use.desc将自己可能用到的USE变量,加入到编译选项文件中
# nano-w/etc/portage/make.conf
例如我的:USE="gtk alsa xorg nv"
--------------------------------
一系列基本设置:
1、时区设置:
# cp/usr/share/zoneinfo/Asia/Shanghai/etc/localtime
或者:# ln–s/usr/share/zoneinfo/Asia/Shanghai/etc/localtime
2、字符编码设置
# nano-w/etc/locale.gen
还是先保留美式英语吧en_US ISO-8859-1en_US.UTF-8 UTF-8保存之后,
执行:# locale-gen
--------------------------------
安装内核码源:
# emerge gentoo-sources安装完毕之后,不要忙着手工配置,毕竟很多选项还弄不明白其含义,所以我选择的是自动配置:
先安装自动配置工具genkernel
# emerge genkernel复制配置文件到新系统(其实也可不复制,自动工具可按默认配置文件进行配置)
# zcat/proc/config.gz>/usr/share/genkernel/arch/x86/kernel-config
下面进行自动配置
# genkernel all于是,慢慢等吧,上个厕所,喝几口茶都行……完成之后,查看一下自动生成的内核和initrd的名字
# ls/boot/kernel*/boot/initramfs*这里要记下来,等会儿安装grub的时候要用到
---------------------------------------
配置系统fstab
# nano-w/etc/fstab如果没有出错,那么几乎不用修改,看看就行。
---------------------------------------
生成主机名等
# nano-w/etc/conf.d/hostname
下面变量指定主机名HOSTNAME="主机名"配置网络
# nano-w/etc/conf.d/net
我用的是DHCPCD,所以加入:
config_eth0=("dhcp")固定IP的设定,请参考wiki另外,这里要小心,因为网卡名很可能不是eth0!
在启动时自动启用网络,执行:
# rc-update add net.eth0 default
同样,这里要注意网卡名!修改网络信息
# nano-w/etc/hosts127.0.0.1(主机名) localhost
----------------------------------
修改Root根密码:
# passwd输入两次不用说!
修改通用系统配置
# nano-w/etc/rc.conf要改什么东西就自己看着办啦,不改,保持默认也行。不过不要忘了,一旦安装了图形界面,就得安装显示管理器,显示管理器的启动都是在这里加入的。
修改键盘设置
# nano-w/etc/conf.d/keymapsKEYMAP这个变量要特别注意。如果你选择了错误的KEYMAP,在你敲击键盘的时候会有奇怪的结果。
修改时钟选项
#
nano-w
/etc/conf.d/hwclock(中文wiki这里又是错的)如果你机器上的钟不用UTC,你需要在文件钟加上CLOCK="local"。否则,你的时钟就有可能出现偏差。完成对/etc/conf.d/clock的配置后,保存并且退出。上述几项其实都可以暂时保持默认。
安装必要的系统工具
1、系统日志工具
# emerge syslog-ng# rc-update add syslog-ng default
安装引导
安装开机引导程序,还是选grub,这东西我熟悉,呵呵~~~~
# emerge grub安装完成之后,修改grub的配置文件。这里要特别小心,一旦出错就启动不了机子啦。我没有按wiki修改,而是按自己对grub的理解进行的修改:
# nano-w/boot/grub/grub.confdefault 0timeout 5
#
splashimage=(hd0,0)/boot/grub/splash.xpm.gztitle Gentooroot
(hd0,0)kernel/boot/ kernel-genkernel-x86-3.8.13-gentoo
root=/dev/sda3initrd/boot/ initramfs-genkernel-x86-3.8.13-gentoo
#在有windows,需要双启动时,可输入以下内容:title Windows XProotnoverify(hd0,5)(小心,我这里假设windows是在磁盘的第6个分区)makeactivechainloader+1
创建/etc/mtab#
grep-v rootfs/proc/mounts>/etc/mtab执行grub-install安装GRUB:#
grub-install--no-floppy/dev/sda至此,基本系统安装完成,下面准备结束安装:首先退出挂载:
# exit然后卸载先前挂载到新系统中的目录
# cd
# umount-l/mnt/gentoo/dev{/shm,/pts,}
# umount-l/mnt/gentoo{/boot,/proc,}
或者如下也行:# umount/mnt/gentoo/boot/mnt/gentoo/dev/mnt/gentoo/proc/mnt/gentoo
完成安装:
重启系统
# reboot
或者关闭系统
# poweroff
------------------------------------
我的服务器系统为什么选用 Gentoo Linux
经过多年的Linux探索,我最终选择了Gentoo Linux作为我的服务器系统,这源于其独特的优点。首先,Gentoo的稳定性和与硬件的契合度给我留下了深刻印象。它的启动方式不依赖于内核+initrd,这使得系统在远程管理时更可靠,即使频繁升级内核,也能保证稳定的重启流程。其次,Gentoo支持自定义编译,可以根据硬件特性优化,提高效能,但这也意味着移植性相对较低,需要对硬件进行匹配。
在安全性方面,Gentoo强调剔除不必要的功能,通过编译时的精细化配置,减少运行时代码量,从而降低安全风险。此外,Gentoo对原生软件的兼容性良好,无需过多改动就能运行主线软件,这保证了软件的稳定性。同时,Gentoo的portage软件包管理系统提供了极高的灵活性,允许用户根据需求进行频繁的升级和定制。
尽管文档管理可能并非所有发行版的强项,但Gentoo的文档被广泛认为是优秀的,对于问题解决提供了有力支持。而对于桌面环境,Gentoo支持原生的轻量级选项,确保服务器资源的有效利用。对于那些追求个性化和定制化的人来说,Gentoo无疑是一把利器,能满足对于系统的精细化控制。
总的来说,我的选择是基于Gentoo的稳定性、硬件优化、安全性和灵活性,以及其能满足对系统精细化管理的需求。如果您也在寻找一个能满足特定需求的服务器系统,GentooLinux值得考虑。
请问 哪些Linux是 基于gentoo的
Gentoo是一个基于Linux的自由操作系统,而不是哪个Linux基于Gentoo。所以问题本身的描述就存在误区。面就Gentoo自身来说,它的核心技术是Portage。
Portage是Gentoo的软件发行系统。Gentoo下要获取最新的软件,打一个命令:emerge--sync。这个命令告诉Portage从网上更新你本地的“Portage树”。本地Portage树包含一份完整的脚本集合,Portage以之创建和安装最新的Gentoo软件包。当前,我们的Portage树中拥有超过10000个软件包,软件包更新和新软件包每时每刻都在加入中。
如果希望体验Gentoo,可以通过其官网免费下载。