安裝前準備: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系統後的一些經常使用命令和小技巧。
從別的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!
Gentoo平常升級維護:
emerge --sync or eix-sync
emerge -auvDN world
revdep-rebuild
emerge –depclean
或emerge --sync && emerge -auvDN world && emerge --depclean && revdep-rebuild
編譯到一半中斷了,能夠刪除臨時文件,方法爲:rm –rf /var/tmp/portage/*
查看軟件編譯時間:
qlop –Hgvt xxx
好比:qlop –Hgvt gcc這裏會獲得歷次編譯gcc所用的時間。