這幾天看到群裡一直在研究gentoo這個LINUX操作系統,整體安裝貌似是純手工編譯,剛好忙裡偷閒嘗鮮了這款系統,網上整理了大部分資料,花了半天時間搞定,雖然過程很繁瑣,但總結如下優點:
1.純手工文本配置系統參數,內核,以及GRUB引導,能夠實現個人定制,而且裝完會對LINUX的安裝有一個更加深刻的了解
2.自帶的emerge安裝工具絕對是個神器,它很類似其他LINUX家族系統的apt-get與yum等自動化安裝工具,是一個從網上自動尋找源碼及其依賴源碼實現全自動編譯安裝的工具,免去了新手編譯安裝過程中出現的各種關聯問題所帶來的煩惱
3.系統根下所有目錄文件以及系統軟件網上都有打包下載,定制起來更加方便.
最後寫下了如下文檔,供有需要的朋友參考
安裝環境:
vmware vmware-9.0
操作系統 gentoo-20131010_x64
一.前期准備
(1)下載gentoo所需的引導鏡像和系統文件壓縮包
install-amd64-minimal-20131010.iso
portage-latest.tar.bz2
stage3-amd64-20131010.tar.bz2
下載地址:
http://mirror.sohu.com/gentoo/releases/amd64/current-iso/install-amd64-minimal-20131010.iso
http://mirror.sohu.com/gentoo/releases/snapshots/current/portage-latest.tar.bz2
http://mirror.sohu.com/gentoo/releases/amd64/current-iso/stage3-amd64-20131010.tar.bz2
(2)配置虛擬機引導系統鏡像(略)
二.安裝系統
1.進入系統引導界面
輸入gentoo dopcmcia
如圖:
2.進入光盤引導界面
3.配置root賬戶
# passwd root
4.開啟ssh服務
# /etc/init.d/sshd start
5.查看系統網絡接口並配置臨時網絡
注:由於在虛擬機安裝的gentoo,網絡接口名與常用接口eth0命名不同,這裡請注意
IP:
# ifconfig enp2s1 192.168.7.51/24
Gateway:
# route add default gw 192.168.7.1
DNS:
# echo “nameserver 192.168.7.1” >>/etc/resolv.conf
能夠ping通,則說明系統能夠訪問外網
5.利用secureCRT登陸系統shell
選擇否:
登陸成功
6.系統分區
20GB虛擬機硬盤分區規劃:
/dev/sda1 /boot 200M
/dev/sda2 swap 1024M
/dev/sda3 / 剩余所有
(1)利用fdisk分區
# fdisk -l
Disk /dev/sda: 21.5 GB, 21474836480 bytes,41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes /512 bytes
I/O size (minimum/optimal): 512 bytes / 512bytes
# fdisk /dev/sda
sda1分區: n,p,1,回車,+200M
sda2分區: n,p,2,回車,+1024M
sda3分區: n,p,3,回車,回車
設置sda2分區為swap分區格式: t,2,82
最後保存寫入分區並退出: w
(2)重新讀取sda分區表:
# partx -a /dev/sda
(3)格式化為ext4文件系統
# mkfs.ext4 /dev/sda1
# mkfs.ext4 /dev/sda3
(4)格式化swap分區並激活
# mkswap /dev/sda2
# swapon /dev/sda2
# swapon -s
6.創建系統臨時掛載點
# mount /dev/sda3 /mnt/gentoo
# mkdir /mnt/gentoo/boot
# mount /dev/sda1 /mnt/gentoo/boot
7.設置系統時間(重要)
# date 102314162013
8.下載系統編譯包portage-latest.tar.bz2和stage3-amd64-20131010.tar.bz2到/mnt/gentoo目錄下:
# cd /mnt/gentoo
# wget http://mirror.sohu.com/gentoo/releases/snapshots/current/portage-latest.tar.bz2
#wget
http://mirror.sohu.com/gentoo/releases/amd64/current-iso/stage3-amd64-20131010.tar.bz2
# ls
boot lost+found portage-latest.tar.bz2 stage3-amd64-20131010.tar.bz2
9.解壓stage3和portage兩個文件
# tar -jxvf stage3-amd64-20131010.tar.bz2
注: stage3-amd64-20131010.tar.bz2解壓的文件是Gentoo的目錄結構,所以要解壓到臨時的系統目錄下,即/mnt/gentoo,方便後面進行chroot
# tar jxvf portage-latest.tar.bz2 -C/mnt/gentoo/usr
注: portage-latest.tar.bz2解壓的文件為系統軟件目錄結構,需要解壓到/mnt/gentoo/usr目錄下
10.切換系統到/dev/sda3根分區上並更新系統環境變量
# mount -t proc none /mnt/gentoo/proc
# mount -o bind /dev /mnt/gentoo/dev
# chroot /mnt/gentoo /bin/bash
# env-update
>> Regenerating /etc/ld.so.cache...
# source /etc/profile
# export PS1="(chroot) $PS1"
11.設置時區
# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
12.設置主機名
# sed -i -e's/hostname.*/hostname="gentoo.example.com"/' /etc/conf.d/hostname
# echo "127.0.0.1 gentoo.example.com localhost" >/etc/hosts
13.設置DNS
# echo "nameserver 192.168.7.1">> /etc/resolv.conf
14.內核配置
(1).安裝內核源碼
# emerge gentoo-sources
(2).安裝自動編譯內核工具genkernel
# emerge genkernel
 
(3).復制安裝光盤的配置文件到genkernel搜索配置文件的默認位置
# zcat /proc/config.gz > /usr/share/genkernel/arch/x86/kernel-config
注:如果啟動分區沒有使用ext2或者ext3文件系統,則必須使用genkernel --menuconfig all來手動配置您的內核,把所使用的文件系統編譯進內核。(不能編譯為模塊!)。EVMS2和LVM2也需要加上--evms2和--lvm2參數。
(4)運行genkernel
# cd /usr/src
# mv linux linux.bak
# ln -s linux-3.10.7-gentoo-r1 linux
注:以上三條命令如果未執行,直接genkernel all會報錯
ERROR: Kernel Makefile (/usr/src/linux/Makefile) missing.....
原因可能是最新版本gentoo在/usr/src/linux下未找到Makefile文件,導致內核無法編譯,需要重定向另一個目錄,這裡還是google老外的一篇文檔中找到答案.
# genkernel all
注: genkernel編譯出的內核支持幾乎所有硬件,編譯需要一段很長的時間,一旦genkernel運行完成,一個包括全部模塊和initrd的內核將被建立。在後面配置引導程序時我們將會用到這個內核和initrd。請記下內核和initrd的名字,因為您將在配置引導程序的時候用到他們。initrd將會在啟動真正的系統前自動識別硬件(如同安裝光盤一樣)。
(5)查看內核和initrd的名字
# ls /boot/kernel* /boot/initramfs*
-------------------------------
/boot/initramfs-genkernel-x86-3.10.7-gentoo-r1
/boot/kernel-genkernel-x86-3.10.7-gentoo-r1
-------------------------------
15.安裝vim編輯器
# emerge vim
16.修改fstab文件
# vim /etc/fstab
添加如下內容:
----------------------------------------------------------
/dev/sda1 /boot ext4 defaults 1 2
/dev/sda2 swap swap defaults 0 0
/dev/sda3 / ext4 defaults 1 1
-----------------------------------------------------------
17.配置網絡
注:因為是在vmware虛擬機測試,物理網口名為enp2s1,非一般常用的eth0,這裡請注意
# vi /etc/conf.d/net
添加如下內容:
--------------------------
config_enp2s1="192.168.100.93/24"
routes_enp2s1="default via 192.168.100.1"
--------------------------
# ln -s /etc/init.d/net.lo /etc/init.d/net.enp2s1
開機加載enp2s1網口
# rc-update add net.enp2s1 default
配置DNS:
# echo "nameserver 192.168.100.1" >> /etc/resolv.conf
18.配置sshd服務器開機啟動
# rc-update add sshd default
19.設置新安裝Gentoo系統用戶root密碼
# passwd root
New password:
BAD PASSWORD: it does not contain enoughDIFFERENT characters
BAD PASSWORD: is a palindrome
Retype new password:
passwd: password updated successfully
20.配置時區
# vi /etc/conf.d/clock
-------------------------------
TIMEZONE="Asia/Shanghai"
-------------------------------
21.安裝系統工具
# emerge syslog-ng
# emerge logrotate
# emerge vixie-cron
# emerge dhcpcd
啟動服務
# rc-update add syslog-ng default
# rc-update add vixie-cron default
設置crontab默認編輯器
# echo "export EDITOR='/usr/bin/vim'" >> /etc/profile
22. 配置GRUB引導程序
(1)安裝grub
# emerge grub
注:這裡實際編譯安裝的是grub2,與LINUX其他發行版本常用的grub配置略有出入
(2)配置grub
# grub2-install --no-floppy /dev/sda
# grub2-mkconfig -o /boot/grub/grub.cfg
# reboot
如圖:
-----------大功告成-------------
作者:51cto博客 一路向北