Gentoo安裝(虛擬機)

安裝前準備:linux

    下載install-amd-minimal-xxxxxxchrome

          portage-latest.tar瀏覽器

          stage3-amd64-xxxxxx.tarbash

          (xxxxxx 爲日期)網絡

安裝:ssh

     準備好虛擬機,加載install-amd-minimal-xxxxxx.iso啓動curl

     F1 加載啓動liveCD,選擇gentoo ,(第二個爲gentoo-nofb,無幀緩衝)ide

     編輯/etc/ssh/sshd_config 開啓密碼認證,及空密碼登陸,刪除密碼,經過xterm登陸svg

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

相關文章
相關標籤/搜索