Gentoo安装(虚拟机)

安装前准备:

    下载install-amd-minimal-xxxxxx

          portage-latest.tar

          stage3-amd64-xxxxxx.tar

          (xxxxxx 为日期)

安装:

     准备好虚拟机,加载install-amd-minimal-xxxxxx.iso启动

     F1 加载启动liveCD,选择gentoo ,(第二个为gentoo-nofb,无帧缓冲)

     编辑/etc/ssh/sshd_config 开启密码认证,及空密码登录,删除密码,通过xterm登录

     vi /etc/ssh/sshd_config

     PasswordAuthentication yes                                                   
     PermitEmptyPasswords yes

     passwd -d root

     确认硬盘设备lsblk (一般为sda)

     分区规划 boot -->200M  ;   swap --> 1024M  ;  / --> 剩余

     mkfs.ext4 /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

     上传并解压stage3和portage

     cd  /mnt/gentoo

     tar xvjpf stage3* --xattrs

     tar xvjpf portage* -C usr/  --xattrs

     编辑make.conf文件

     nano -w  /mnt/gentoo/etc/portage/make.conf  (Ctrl+o保存,Ctrl+x退出,Ctrl+w查找)

     CFLAGS定义了C语言程序的优化参数

     CFLAGS="-march=native -O2 -pipe"

              或="-march=K8 -O2 -pipe" 等其他

            Intel CPU 改成 -march=core2

      CXXFLAGS="${CFLAGS}"

      MAKEOPTS="-j4"   定义编译线程,根据CPU情况设定,一般为核心数+1,建议在CPU+1至2*CPU+1之间

      ACCEPT_KEYWORDS="~amd64" 可以获得amd64平台的最新软件,即官方所说的不稳定软件,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”   每次安装完后自动清理垃圾

 

 

   设置更新源 (选择China下的)多个

   mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf

   设置同步源  (选择China下的)只能一个

   mirrorselect -i -r -o >> /mnt/gentoo/etc/portage/make.conf

   复制当前DNS信息    

   cp -L /etc/resolv.conf /mnt/gentoo/etc/

   安装必要的文件,挂载必要分区到新系统

   mount -t proc proc /mnt/gentoo/proc

   mount --rbind /sys /mnt/gentoo/sys

   mount --rbind /dev /mnt/gentoo/dev

   切换环境

   chroot /mnt/gentoo /bin/bash

   source /etc/profile

   同步Portage tree

   emerge –sync  (网络不好可暂时跳过)

   设置系统环境

   eselect profile list

   eselect profile set 6 

   设置时区命令:

   echo "Asia/Shanghai" > /etc/timezone

   

   配置本地环境:

   nano -w /etc/locale.gen

   输入以下内容:

   en_US ISO-8859-1

   en_US.UTF-8 UTF-8

   zh_CN GB18030

   zh_CN.GBK GBK

   zh_CN.GB2312 GB2312

   zh_CN.UTF-8 UTF-8

   更新locale:locale-gen

   重新加载环境

   env-update && source /etc/profile

   下载编译源码(重要,需特别注意)

    emerge gentoo-sources

    cd /usr/src/linux

    make menuconfig

    make  && make modules_install && make install

    安装genkernel

    emerge genkernel

    制作initramfs

    genkernel --install initramfs

    编写fstab,

    nano -w /etc/fstab

    /dev/sda1  /boot  ext4  noauto,noatime    1 2
    /dev/sda3  /         ext4  noatime               0 1
    /dev/sda2  none   swap  sw                      0 0
   #/dev/cdrom  /mnt/cdrom auto  noauto,ro  0 0 

    配置主机名 

    nano -w /etc/conf.d/hostname

    hostname="xxx"

    配置网络

    nano -w /etc/conf.d/net

    config_xxx="x.x.x.x netmask x.x.x.x brd x.x.x.x"

    routes_xxx="default via x.x.x.x"

    或者 config_xxx="dhcp" 或者留空默认为dhcp

    设置网卡自动启动

    cd /etc/init.d

    ln -s net.lo net.xxx

    rc-update add net.xxx default

    修改root密码

    passwd

    新增用户gandefeng

    useradd -m -G users,wheel,audio,cdrom,portage,usb,video -s /bin/bash gandefeng

   passwd

   安装日志管理软件

   emerge syslog-ng  cronie

   rc-update add syslog-ng  default

   rc-update add cronie default

   rc-update add sshd default (注意配置文件)

   安装文件索引和dhcp

   emerge mlocate

   emerge dhcpcd

   安装bootloader

   emerge sys-boot/grub

   grub-install  /dev/sda

   grub-mkconfig -o /boot/grub/gruc.cfg

   (如果是多系统,已经有grub的,在别的系统执行update-grub可更新Gentoo的引导项目、到grub菜单,有可能需要更改grub.cfg里关于Gentoo的启动项root=/dev/sdxx为root=UUID=sdxx的UUID)

   退出环境,umount

   exit

   cd

   umount -l /mnt/gentoo/dev{/shm,/pts}

   umount -l /mnt/gentoo{/boot,/proc}

   reboot

 

重启后更新系统,安装软件和桌面

   emerge -e system 重新编译系统软件

   emerge -e  world 重新编译全部软件

   emerge -uDN world 升级系统包括use的变化引起的

   emerge --sync  更新Portage树

   注意: 更新中遇到某个包更新过不去,使用一下命令

             per-cleaner all

             phyton-updater

             env-update  更新系统变量

             etc-update   更新配置文件  -3 表示接受所有修改

      仍然过不去,可能是上游的原因,可以编辑配置文件暂时告诉系统,这个程序已经安装

      nano -w /etc/portage/profile/package.provided

      比如输入我编译不过去的这个软件:

      dev-perl/Try-Ting-0.110.0

      此时,再执行更新系统命令,会跳过这个包的编译更新,如果还有别的包编译不过去,以此类推。待系统正常后,可以注释掉package.provided里面的软件,尝试再次更新系统。

      有些包,系统必备的,不安装会有很多包编译不过去,但是这个包专机却又安装不上去,这时候可以尝试将make.conf中的MAKEOPTS参数改为”-j1“,使用单线程编译。比如有次遇到dev-libs/boost编译不过去,只能改为-j1才能过。

      安装X

      emerge -av xorg-server  xorg-x11  xorg-drivers

      (startx是否正常不影响桌面环境的运行)

      为Gentoo安装桌面环境,以KDE为例。一般100+的包,三五个小时才能编译完

      emerge kde-meta   这将安装KDE的全部组件完整安装

      emerge kdebase-meta    基础KDE环境+少许必备软件

      emerge kdebase-startkde   基础KDE环境

设置显示管理器

      rc-update add xdm default    将xdm加入自启动服务

       rc-update add dbus default    将dbus加入自启动服务

      nano –w /etc/conf.d/xdm

      将文件里面的xdm修改为kdm,然kdm设置为登录管理器。

     

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-office

    emerge fcitx-sogoupinyin

  •  

    emerge gentoolkit

    安装gentoolkit后,可以执行

    emerge --depclean && revdep-rebuild进行系统垃圾清理。

  •  

     安装Chrome浏览器

    emerge -av google-chrome

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

  •  

    Gentoo安装网络管理器(安装kde-meta的略过此步骤)

    取消/etc/conf.d/net中定义的ip获取方式

    emerge -av networkmanager networkmanagement

    rc-update add NetworkManager default

  •  

    为Gentoo安装中文包

    emerge kde-l10n

  •  

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

  •  

    安装中文字体,复制Windows字体到

    /usr/share/fonts中,刷新系统:fc-cache –fv

  •  

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

  

Gentoo常用命令和小技巧

  

  • 下面是一些进入Gentoo系统后的一些常用命令和小技巧。

    从别的Linux系统去更新Gentoo。比如说我在Ubuntu下工作,想更新一下Gentoo,此时不用重启系统,只用切换到Chroot环境,进行更新就好了。

    sudo -i

    mount /dev/sdb12 /mnt/gentoo/

    mount -t proc proc /mnt/gentoo/proc

    #mount --rbind /sys /mnt/gentoo/sys

    #mount --rbind /dev /mnt/gentoo/dev

    chroot /mnt/gentoo /bin/bash

    source /etc/profile

    export 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,}

  •  

    Gentoo更新内核:

    emerge -u gentoo-sources

    eselect kernel list

    eselect kernel set 数字

    更新/usr/src/linux符号链接:

    cd /usr/src

    ln -sfn linux-3.11.4-gentoo linux

    genkernel --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  此时会出现内核编译选项对话框,可以导入配置文件,也可以手动选择。

  •  

    gcc-config: Active gcc profile is invalid! 解决办法

    gcc-config –c首先得到当前gcc版本号

    执行gcc-config+得到的版本

    比如:gcc-config x86_64-pc-linux-gnu-4.7.3

    ok!

  • 4

    Gentoo日常升级维护:

    emerge --sync or eix-sync

    emerge -auvDN world

    revdep-rebuild

    emerge –depclean

    或emerge --sync && emerge -auvDN world && emerge --depclean && revdep-rebuild

  • 5

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

  • 6

    查看软件编译时间:

    qlop –Hgvt xxx

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

   

   

   

 

  

 

    

 

转载于:https://www.cnblogs.com/gandefeng/p/6836386.html

你可能感兴趣的:(Gentoo安装(虚拟机))