多语言展示
当前在线:458今日阅读:103今日分享:49

Linux家族神器——Gentoo安装部署教程安装笔记

很多人估计都想体验一把Gentoo,但是这货可远观不可近玩,特别是Linux新手,想直接搞定她,还是有难度的。
工具/原料
1

网络

2

空白U盘

3

电脑

4

耐心

Gentoo安装步骤详解
1

下载ISO文件:地址这里不能贴,自己找吧,官网有。

2

下载stage3:地址这里不能贴,自己找吧,官网有。

3

将ISO文件写入U盘,试过深度(Deepin)的工具,无法正常引导,最后还是用软碟通写的,或者用powerISO。

4

将stage3放入另外一个U盘,备用,网络不好的同学请用这个办法。

5

用Gentoo的U盘引导系统,进入后,参考官方手册Gentoo handbook进行安装,我一般从磁盘分区开始做起。

6

命令:lsblk查看当前磁盘分区情况。新手安装推荐在别的系统下做好分区,安装Gentoo的时候,只用记住/dev/sdXx就好了。我此次安装的分区是sdc12。

7

看看网络是不是好的:ping 一个外网网址。

8

格式化分区:命令mkfs.ext3 /dev/sda12,此次安装我未将boot分区独立,Gentoo系统只有一个根分区。

9

挂载分区:mount /dev/sda12 /mnt/Gentoo

10

挂载SWAP,还是弄一个比较安全。很简单格式化mkswap /dev/sdaX挂载:swapon /dev/sdaX (X换为对应的分区号)

11

下载stage3:先跳到工作目录:cd /mnt/gentoo此处分两种方法,网络好的用官方方法,在线安装stage3。命令:links 阿里云Gentoo地址依次进入releases→amd64→autobuilds→current-iso→移动到最新的stage3,比如我的是stage3-amd64-20140619.tar.bz2,回车开始下载。网络不好的,请事先下载好stage3,存入U盘,插入存有stage3的U盘,执行命令:lsblk,看看U盘所在的分区,挂载到当前系统。比如我的U盘插入后,分区为sdd1。挂载方法:mkdir  /mnt/gentoo/usb   mount /dev/sdd1 /mnt/gentoo/usbcd /mnt/gentoo/usbmv stage3-amd64-20140619.tar.bz2 /mnt/gentoo上面两种方法,无非就是让stage3进入工作目录,为安装做准备。

12

安装stage3:解压命令:tar xvjpf stage3-*.tar.bz2*号替换为你自己下载的stage3里面的日期。

13

编辑make.conf文件,适应你自己的硬件,发挥最大效能。命令:nano -w /mnt/gentoo/etc/portage/make.confnano 编辑器,很方便,Ctrl+o保存,Ctrl+x退出,Ctrl+w查找,快捷键都在下方有显示哈。以下是说明文件,红色为需加入make.conf的内容。CFLAGS 定义了c语言程序的优化参数CFLAGS="-march=k8 -O2 -pipe"   Intel CPU改为 -march=core2CXXFLAGS="${CFLAGS}"   此行默认即可。MAKEOPTS="-j8"  编译线程,根据CPU情况自行设定,一般为核心数+1。建议的设定是从 CPU+1 至 2*CPU+1。我的电脑是4核心,设置为8,编译的时候风扇很忙碌。ACCEPT_KEYWORDS="~amd64"可以获得amd64平台的最新软件,亦即官方所说的unstable的软件。32位系统请更换为“~x86”。不想更新到最新系统的,请去掉~标记。CHOST="x86_64-pc-linux-gnu"  此行默认。VIDEO_CARDS="intel "   指定显卡类型,英特尔集显用这个标签。ATI显卡闭源驱动用fglrx,开源驱动用radeon。Nvidia显卡使用nvidia标签。LINGUAS=”zh zh-CN zh_CN.UTF-8”           设定语言INPUT_DEVICES="keyborad mouse evdev"  输入输出设备,有触摸板的可以根据实际情况设定synaptics标签。USE="mmx apng boost aqua a52 aac acpi cairo canna cvs dbus dri gd glut lame mad mng mp4 mplayer multilib smp svg theora usb wifi x264 xvid  alsa sasl ssl sse sse2 X -gnome qt4 dvd alsa cdr kde bash-completion bzip2 cjk curl cvs cxx iconv jpeg jpek2k openmp opengl openal png therads lzma lzo"AUTOCLEAN=”yes”   每次安装完后自动清理垃圾以安装KDE桌面环境为例的USE。其他暂且默认,不改动,进系统后再说。

14

设置更新源命令:mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf弹出对话框,让你选择更新源,找到China,里面有搜狐,网易,这个可以多选,按空格进行选定,回车确认。

15

设置同步源命令:mirrorselect -i -r -o >> /mnt/gentoo/etc/portage/make.conf这个不能多选,找到china,选择厦门大学的镜像。

16

复制当前DNS状态到新系统:cp -L /etc/resolv.conf /mnt/gentoo/etc/

17

下面开始安装必要的文件,首先挂载必要分区到新系统。命令:mount -t proc proc /mnt/gentoo/procmount --rbind /sys /mnt/gentoo/sysmount --rbind /dev /mnt/gentoo/dev

18

切换到chroot环境,命令:注意空格。chroot /mnt/gentoo /bin/bashsource /etc/profileexport PS1="(chroot) $PS1"

19

同步Portage树,命令:emerge –sync  网络不好,此处会等待很长时间的。

20

设置系统环境命令:eselect profile list命令后,会出来各种环境,我的选择kde,是6,执行命令:eselect profile set 6 可以再用eselect profile list命令查看你选择的对不对。选中的有个*标记。里面还有一项是kde+systemd,大家可以试试。

21

设置时区命令:echo "Asia/Shanghai" > /etc/timezone

22

配置本地环境:nano -w /etc/locale.gen输入以下内容:en_US ISO-8859-1en_US.UTF-8 UTF-8zh_CN GB18030zh_CN.GBK GBKzh_CN.GB2312 GB2312zh_CN.UTF-8 UTF-8更新locale命令:locale-gen

23

重新加载环境env-update && source /etc/profile

24

下载内核源码:emerge gentoo-sources

25

编译内核:我无数次倒在这里,每次倒下的原因还都不一样,祝你好运!先跳到内核目录:cd /usr/src/linux手动编译选择内核选项命令:make menuconfig选择的时候注意,根据硬件情况,特别是网卡,显卡,在内核中进行适当的勾选。我的做法是先按手册要求的勾选一般,再参照金步国的内核详解作适当的裁切。Intel显卡特别注意要勾选Device Drivers --->Graphics support ---><*> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->这个里面有一个intel 8xx/9xx之类的,一定要选中,一般选择 M。

26

小技巧:在内核参数选择的过程中,输入/可以进行搜索,空格进行选择和反选,按两下esc进行返回上一级目录,方向键左右可以切换到save和load,分别进行内核配置文件的保存和导入。默认保存为.config,保存的时候可以输入文件名,以备下次编译内核导入,省时省力。内核配置文件保存目录在/usr/src/linux下。编译命令:make && make modules_install安装命令:make install我一般采用半自动编译模式,首先安装genkernel。命令:emerge genkernel编译内核命令:genkernel --menuconfig all此时会跳出手动选择内核界面,做出必要修改后保存,退出后,genkernel会完成后面的工作,/boot目录会自动生成三个文件。

27

编辑fstab文件nano -w /etc/fstab内容:/dev/sdb12   /     ext3    noatime   0 1/dev/sdb11  none  swap    sw       0 0第一行是根分区,第二行是虚拟内存分区,据实填写。

28

编辑机器名称:nano -w /etc/conf.d/hostname内容:hostname="lhw"    其中lhw为新的计算机名称。

29

配置网络:准备工作:输入ifconfig,查看网络状态,一般有两个,其中一个是lo,不管他,另外一个一般是eth0,也可能是其他的名字,记住这个,这个是你网卡的别名,我的是enp0s25。编辑nano -w /etc/conf.d/net填入:手动模式:config_enp0s25="192.168.0.200 netmask 255.255.255.0 brd 192.168.0.255"routes_enp0s25="default via 192.168.0.1"这上面两行的意思就是指定电脑ip为192.168.0.200,路由器地址为192.168.0.1,请据实修改,否则无法上网。自动模式:输入:config_enp0s25="dhcp"使用dhcp方式获取ip,据说/etc/conf.d/net文件内容留空,就是自动获取ip,没试过哈。

30

让网卡默认启动cd /etc/init.dln -s net.lo net. enp0s25rc-update add net. enp0s25 default

31

修改密码,添加用户:修改root密码命令:passwd连续输入两次新密码即可。新增一个用户lhw:useradd -m -G users,wheel,audio,cdrom,portage,usb,video -s /bin/bash lhwpasswd lhw      修改密码

32

安装日志管理软件emerge syslog-ng cronierc-update add syslog-ng defaultrc-update add cronie default    添加到服务

33

远程访问服务:rc-update add sshd default文件索引程序:emerge mlocate安装DHCP程序:emerge dhcpcd

34

接下来就是引导程序,推荐使用grub2。安装emerge sys-boot/grubgrub2-install /dev/sdbgrub2-mkconfig -o /boot/grub/grub.cfg由于我的是多系统,原来的系统已安装了grub,所以我的Gentoo是不安装grub的,只要/boot目录里面有内核,在别的系统里面执行sudo update-grub即可更新Gentoo的引导项到grub菜单。偶尔出现grub.cfg里面关于Gentoo的启动项使用的是root=/dev/sdb12形式,只需改为root=UUID=sdb12的UUID,即可正常引导。

35

差不多了,可以退出去,进新系统安装剩下的内容了。exitcdumount -l /mnt/gentoo/dev{/shm,/pts,}umount -l /mnt/gentoo{/boot,/proc,}reboot

36

不出意外,可以进入新的系统了,现在要安装x和桌面环境了。更新系统吧,很漫长的!首先切换到root权限,命令:su回车。以下的命令都是在root权限下进行的。emerge –sync && emerge –uDN world一般300+的更新包,编译时间5小时+。更新过程中遇到某个包更新不过去,可以用以下几个办法救命。perl-cleaner allpython-updaterenv-update      更新系统变量etc-update       更新配置文件,-3表示接受所有修改。偷偷说一句,安装软件,更新系统遇到问题,都可以试试上面的几个命令,包治百病!上面两个命令是更新perl和python的配置的,如果还是无法跳过某个程序的安装,有可能是上游的原因,此时可以暂时告诉系统,这个程序你已安装,请编辑nano -w /etc/portage/profile/package.provided比如输入我编译不过去的这个软件:dev-perl/Try-Ting-0.110.0此时,再执行更新系统命令,会跳过这个包的编译更新,如果还有别的包编译不过去,以此类推。待系统正常后,可以注释掉package.provided里面的软件,尝试再次更新系统。有些包,系统必备的,不安装会有很多包编译不过去,但是这个包专机却又安装不上去,这时候可以尝试将make.conf中的MAKEOPTS参数改为”-j1“,使用单线程编译。比如有次遇到dev-libs/boost编译不过去,只能改为-j1才能过。

37

安装X我是懒人,一次性装入可能需要的所有东西,有洁癖的同学绕过。emerge -av xorg-server  xorg-x11  xorg-drivers这里不得不说一句,在这个地方,我也摔倒过无数次,每次安装完后,都执行startx看看X是否正常,但是每次都是各种错误,后来清风老师告诉,startx是否正常不影响桌面环境的运行,所以我这次安装完X,就直接安装KDE了,一次性跑起来了!!!

38

为Gentoo安装桌面环境,以KDE为例。一般100+的包,三五个小时才能编译完。emerge kde-meta   这将安装KDE的全部组件完整安装emerge kdebase-meta    基础KDE环境+少许必备软件emerge kdebase-startkde   基础KDE环境

39

设置显示管理器rc-update add xdm default    将xdm加入自启动服务rc-update add dbus default    将dbus加入自启动服务nano –w /etc/conf.d/xdm将文件里面的xdm修改为kdm,然kdm设置为登录管理器。

40

不出意外将进入kde环境,再次更新系统:emerge --sync && emerge --update --deep --with-bdeps=y --newuse --autounmask-write world  (这是一整行)

41

Gentoo使用Overlay安装emerge layman添加gentoo-zh到layman:layman –L && layman –a gentoo-zh在/etc/portage/make.conf最后加入以下两行:source /var/lib/layman/make.conf PORTDIR_OVERLAY="${PORTDIR} ${PORTDIR_OVERLAY}" 如此一来就可以安装第三方的软件了,比如emerge wps-officeemerge fcitx-sogoupinyin

42

emerge gentoolkit安装gentoolkit后,可以执行emerge --depclean && revdep-rebuild进行系统垃圾清理。

43

安装Chrome浏览器emerge -av google-chrome强烈建议安装google-chrome而不是chromium,后者编译太耗时了,怕了,服了!

44

Gentoo安装网络管理器(安装kde-meta的略过此步骤)取消/etc/conf.d/net中定义的ip获取方式emerge -av networkmanager networkmanagementrc-update add NetworkManager default

45

为Gentoo安装中文包emerge kde-l10n

46

系统设置,local,设置中国,语言设置为中文,应用,重启后生效。

47

安装中文字体,复制Windows字体到/usr/share/fonts中,刷新系统:fc-cache –fv

48

系统基本上可用了,有了桌面环境,有了网络,剩下的还有什么搞不定的呢??

Gentoo常用命令和小技巧
1

下面是一些进入Gentoo系统后的一些常用命令和小技巧。从别的Linux系统去更新Gentoo。比如说我在Ubuntu下工作,想更新一下Gentoo,此时不用重启系统,只用切换到Chroot环境,进行更新就好了。sudo -imount /dev/sdb12 /mnt/gentoo/mount -t proc proc /mnt/gentoo/proc#mount --rbind /sys /mnt/gentoo/sys#mount --rbind /dev /mnt/gentoo/devchroot /mnt/gentoo /bin/bashsource /etc/profileexport PS1="(chroot) $PS1"此时已进入,可以执行更新命令:emerge --sync && emerge --update --deep --newuse --with-bdeps=y @world && emerge --depclean && revdep-rebuild或者简单点的:emerge --sync && emerge -auvDN world && emerge --depclean && revdep-rebuild效果是一样的哈。退出Chroot环境# exit# cd# umount -l /mnt/gentoo/dev{/shm,/pts,}# umount -l /mnt/gentoo{/boot,/proc,}

2

Gentoo更新内核:emerge -u gentoo-sourceseselect kernel listeselect kernel set 数字更新/usr/src/linux符号链接:cd /usr/srcln -sfn linux-3.11.4-gentoo linuxgenkernel --menuconfig all (此时可以load之前保存的config文件。注意:默认保存在/usr/src/linux但是刚才的步骤更新了/usr/src/linux指向,所以原来保存的配置文件在上一个版本的内核源码包里面,比如/usr/src/linux-3.15.5-gentoo文件夹里面,需先把此文件夹下的配置文件复制到新内核的目录中,比如:/usr/src/linux-3.15.6-gentoo才能正确导入。如果新内核编译后,无法进入图形界面,那么就要从正常的内核中提取配置文件,用以编译新内核。步骤如下:用能正常进入图形界面的内核引导系统,提取内核配置文件:cat /proc/config.gz | gzip –d > /usr/src/linux/config-ok此时会将配置文件提取到/usr/src/linux目录下,配置文件名称为config-ok,导入的时候导入这个,就可以执行编译了。也有更简单的办法,指定特定配置文件进行内核编译:genkernel --kernel-config=/usr/src/linux/config-ok --install --symlink all半自动配置方法是:genkernel --menuconfig --install --symlink all  此时会出现内核编译选项对话框,可以导入配置文件,也可以手动选择。

3

gcc-config: Active gcc profile is invalid! 解决办法gcc-config –c首先得到当前gcc版本号执行gcc-config+得到的版本比如:gcc-config x86_64-pc-linux-gnu-4.7.3ok!

4

Gentoo日常升级维护:emerge --sync or eix-syncemerge -auvDN worldrevdep-rebuildemerge –depclean或emerge --sync && emerge -auvDN world && emerge --depclean && revdep-rebuild

5

编译到一半中断了,可以删除临时文件,方法为:rm –rf /var/tmp/portage/*

6

查看软件编译时间:qlop –Hgvt xxx比如:qlop –Hgvt gcc这里会得到历次编译gcc所用的时间。

注意事项
1

一定要有耐心

推荐信息