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所用的時間。

   

   

   

 

  

 

    

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM