原文出自 http://www.bitunion.org/viewthread.php?tid=410106
作者: 小J
更多请参阅:
Gentoo: http://www.gentoo.org/
Gentoo Handbook: http://www.gentoo.org/doc/en/handbook/index.xml
Contents
Gentoo Install Guide
因为忍受不了 xUbuntu 的速度和在公司同事的怂恿下, 花了两天配了个 Gentoo. 确实是快如刀锋, 而且包管理也更加强大, 不得不说: 嗯, 这就是我想要的 Linux 以下为我的整个安装过程的一个记录, 希望能给想尝试 Gentoo 的同学提供多一份参考资料, 呵呵.
1. 使用 minimal CD 启动您的系统
- boot: 的时候填入 gentoo 就可以了, 如果想禁用 framebuffer 可以填 gentoo-nofb
2. 磁盘分区
(Tip 1: 之前可以在 windows 下使用磁盘管理先分好区, 我个人对 fdisk 的分区安全性没有信心... )
2.1. 分区
命令:
# fdisk -l
# fdisk /dev/hda (这里 SATA 硬盘是 /dev/sda 之类的)如果之前在 windows 下分好区的话, 我们这里主要做的就是更改分区的格式. 使用 p 列出分区状况, t 来更改 (83 linux, 82 swap), 最后 w 写入并退出 对于分区的个数和大小依据自己的状况而定吧. 我的是: /boot 32M (hda5) swap 1G (hda6) / 10G (hda7) /home 15G (hda8)
2.2. 格式化
命令:
# mke2fs /dev/hda5 (boot 只需格成 ext2)
# mke2fs -j /dev/hda7
# mke2fs -j /dev/hda8
# mkswap /dev/hda6 && swapon /dev/hda6
2.3. 挂载
命令:
# mount /dev/hda7 /mnt/gentoo
# mkdir /mnt/gentoo/boot
# mount /dev/hda5 /mnt/gentoo/boot
# mkdir /mnt/gentoo/home
# mount /dev/hda8 /mnt/gentoo/home
3. 设置 stage
- === 配置网络 ===
- (我们宿舍 dhcp 有问题, 只能手动指定了...)
命令:
# net-setup
- === 设置 UTC 时钟 ===
命令:
# date 052621592007 (格式是 MMDDhhmmYYYY, 俺们是东8, 记得减去 8 小时)
3.1. 下载 stage3 归档
命令:
# cd /mnt/gentoo
# wget ftp://10.1.10.8/incoming/software/gentoo/stage3-i686-2007.0.tar.bz2
# tar xjpf stage3-i686-2007.0.tar.bz2
3.2. 下载 portage 快照
命令:
# cd /mnt/gentoo/usr
# wget http://mirror.bitunion.org/gentoo/snapshots/portage-latest.tar.bz2
# tar xjf portage-latest.tar.bz2
4. Chrooting
4.1. Chroot
命令:
# cd /
# mount -t proc proc /mnt/gentoo/proc
# cp -L /etc/resolv.conf /mnt/gentoo/etc
# chroot /mnt/gentoo /bin/bash
# env-update && source /etc/profile
4.2. 设置时区
命令:
# ls /usr/share/zoneinfo (这里可以看到所有的时区的信息)
# cp /usr/share/zoneinfo/Asia/Chongqing /etc/localtime
4.3. 配置 /etc/make.conf 和 /etc/portage/package.use
(这里我是从 eric 给我的配置文件定制的)
文件:
#### /etc/make.conf ####
USE="-* a52 aac acpi alsa bash-completion berkdb branding cairo cdr chardet cjk crypt cups dbus dlloader dmi dri dts dvd dvdr dvdread exif flac firefox gdbm glitz gnome hal jpeg libnotify mmx ncurses network nptl nptlonly pcmcia png python readline samba sse sse2 ssl startup-notification tcpd truetype udev unicode xorg xv xvid zlib X"
# CHOST, CFLAGS, ACCEPT_KEYWORDS 请根据您的 CPU 来修改
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=pentium4 -fomit-frame-pointer -Os -pipe"
CXXFLAGS="${CFLAGS}"
ACCEPT_KEYWORDS="~x86"
PORTDIR_OVERLAY="/usr/portage/local"
GENTOO_MIRRORS="http://mirror.bitunion.org/gentoo/"
#GENTOO_MIRRORS="ftp://ftp3.tsinghua.edu.cn/mirror/gentoo"
#SYNC="rsync://mirror.bitunion.org/gentoo-portage"
SYNC="rsync://ftp3.tsinghua.edu.cn/gentoo/gentoo-portage"
# MAKEOPTS 为 CPU 数加一, 双核就是 -j3
MAKEOPTS="-j2"
FEATURES="ccache sandbox distlocks fixpackages parallel-fetch userfetch"
CCACHE_DIR="/var/tmp/ccache"
CCACHE_SIZE="1024M"
PORTAGE_ELOG_CLASSES="warn error log"
#VIDEO_CARDS="radeon"
INPUT_DEVICES="evdev keyboard mouse synaptics"文件:
#### /etc/portage/package.use #### sys-fs/lvm2 nolvm1 app-editors/vim-core nls app-editors/vim nls python vim-with-x vim-pager x11-libs/cairo png svg sys-apps/module-init-tools no-old-linux media-gfx/splashutils png x11-libs/cairo pdf x11-libs/libX11 -xcb x11-wm/beryl emerald net-proxy/tsocks tordns app-editors/gvim gtk net-im/gaim nls gstreamer gtk msn qq startup-notification net-im/pidgin nls gstreamer gtk msn qq spell startup-notification gnome-base/gnome-applets gstreamer media-sound/quodlibet aac flac mad trayicon vorbis dbus media-sound/bmpx ffmpeg mad ogg app-text/acroread nls nsplugin media-gfx/gthumb gphoto2 media-libs/libgphoto2 nls usb tiff sys-apps/groff -X sys-apps/shadow cracklib sys-process/psmisc -X sys-libs/glibc glibc-compat20 glibc-omitfp www-client/links -X -jpeg -png -unicode media-video/mplayer cdda cddb cdparanoia dvdnav encode gtk iconv mad mmx mmxext mp2 mp3 rar real rtc srt w32codecs net-www/mplayerplug-in divx gmedia gtk quicktime realmedia wmp net-p2p/amule gtk nls app-cdr/gnomebaker dvdr mp3 nls app-cdr/cdrdao -gnome media-libs/gd fontconfig xpm sys-apps/lshw gtk sys-apps/suspend2-userui fbsplash dev-db/mysql -berkdb -ssl media-sound/audacious nls media-plugins/audacious-plugins mad nls vorbis x11-libs/qt qt3support media-video/vlc cdda mp3 mpeg ogg v4l vcd vorbis wxwindows www-client/mozilla-firefox mozbranding mozdevelop net-irc/xchat nls -python app-text/poppler-bindings gtk gnome-extra/gnome-media mad dev-lang/php -* apache2 cgi cli ctype curl gd mysql mysqli pcre session truetype xml xmlrpc zlib json www-servers/lighttpd php -gdbm net-www/apache apache2 mpm-prefork app-emulation/qemu-softmmu sdl app-emulation/wine opengl media-libs/libsdl opengl dev-libs/boost threads # xfce4 xfce-base/xfwm4 xcomposite xfce-base/xfce4 -cups xfce-extra/exo -python xfce-base/thunar plugins -gnome xfce-base/xfce4-session -gnome # hal: You MUST build pciutils without the zlib USE flag sys-apps/pciutils -zlib games-fps/enemy-territory opengl games-fps/quake3 opengl games-fps/quake4-demo opengl net-fs/samba -cups -python async media-gfx/gimp -alsa -python smp tiff app-editors/gedit -python spell gnome-extra/kiba-dock svg gnome-extra/kiba-plugins svg media-gfx/imagemagick -truetype x11-wm/fluxbox nls # tapioca media-plugins/gst-plugins-farsight jingle msn media-libs/farsight jingle gnome-base/gnome-menus -python x11-libs/vte -python gnome-base/nautilus tracker gnome-base/control-center gstreamer app-misc/tracker gstreamer pdf app-office/abiword spell app-office/gnumeric -python net-dialup/rp-pppoe -X media-video/ffmpeg -X
4.4. 更新 portage 树
命令:
# emerge --sync
- (我当时从清华更新的, 所以可以从 10.1.10.8 下个 bitnet 来登陆 )
4.5. 配置 locales
命令:
# nano -w /etc/locale.gen
文件:
en_US.UTF-8 UTF-8 en_US.ISO-8859-1 zh_CN.UTF-8 UTF-8 zh_CN.GB2312 GB2312 zh_CN.GBK GBK zh_CN.GB18030
命令:
# locale-gen
5. 编译内核
命令:
# emerge gentoo-sources genkernel
# zcat /proc/config.gz > /usr/share/genkernel/x86/kernel-config-2.6
# genkernel --menuconfig all
6. 配置系统
6.1. 配置 /etc/fstab
命令:
# cd /etc
# nano -w fstab- 以下为我的配置, 以供参考
# <fs> <mountpoint> <type> <opts> <dump/pass> # NOTE: If your BOOT partition is ReiserFS, add the notail option to opts. /dev/hda5 /boot ext2 noauto,noatime 1 2 /dev/hda6 none swap sw 0 0 /dev/hda7 / ext3 noatime 0 1 /dev/hda8 /home ext3 noatime 0 2 /dev/hda1 /media/win_c ntfs defaults,nls=utf8,umask=007,gid=443 0 1 /dev/hda2 /media/win_d ntfs defaults,nls=utf8,umask=007,gid=443 0 1 /dev/cdrom /mnt/cdrom udf,iso9660 noauto,ro,user 0 0 #/dev/fd0 /mnt/floppy auto noauto 0 0 # NOTE: The next line is critical for boot! proc /proc proc defaults 0 0 # glibc 2.2 and above expects tmpfs to be mounted at /dev/shm for # POSIX shared memory (shm_open, shm_unlink). # (tmpfs is a dynamically expandable/shrinkable ramdisk, and will # use almost no memory if not populated with files) shm /dev/shm tmpfs nodev,nosuid,noexec 0 0
6.2. 配置网络
命令:
# nano -w /etc/conf.d/net
- 同样是我的配置, 以作参考
文件:
config_eth0=( "10.2.xx.xx netmask 255.255.254.0" ) routes_eth0=( "default via 10.2.54.1" )
6.3. 设置管理员密码
命令:
# passwd
6.4. 设置时钟
命令:
# nano -w /etc/conf.d/clock
- (确保 CLOCK 为 local, TIMEZONE 为 "Asia/Chongqing" )
6.5. 设置 hosts
命令:
# nano -w /etc/hosts
- (加入 127.0.0.1 localhost)
7. 安装系统工具
命令:
# emerge syslog-ng vixie-cron dhcpcd
# rc-update add syslog-ng default
# rc-update add vixie-cron default
8. GRUB
命令:
# emerge grub
# nano -w /boot/grub/grub.conf文件:
default 0 timeout 10 splashimage=(hd0,4)/boot/grub/splash.xpm.gz title=Gentoo 2.6.21 root (hd0,4) kernel /boot/kernel-genkernel-x86-2.6.21-gentoo-r1 root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/hda7 vga=791 splash=silent,theme:livecd-2007.0 CONSOLE=/dev/tty1 quiet combined_mode=libata resume2=swap:/dev/hda6 initrd /boot/initramfs-genkernel-x86-2.6.21-gentoo-r1 title=Other operating systems: root title=Windows XP Professional Edition rootnoverify (hd0,0) makeactive chainloader +1
命令:
# grub
grub> root (hd0,4)
grub> setup (hd0)
9. 重启计算机
命令:
# exit
# reboot如果能正常引导, 那么恭喜恭喜, 整个 Gentoo 的安装过程已经完成大半了~
以 root 身份登入系统
10. 添加新用户
命令:
# adduser -g users -G lp,wheel,audio,cdrom,portage -m duo
# passwd duo
11. 优化工具链
命令:
# emerge -a1v gcc-config glibc binutils libstdc++-v3 gcc
# gcc-config -l
# gcc-config 1 (设置默认的编译器)
# env-update && source /etc/profile
# emerge -a1v glibc binutils libstdc++-v3 gcc portage
12. 更新系统
命令:
# emerge system
至此, 一个可用的 Gentoo 就算安装完成了. 剩下的就是看个人喜好装各种软件了.
13. 05.30.2007 追加内容:
13.1. Tip1: 查看每个包安装完后的提示信息
命令
# emerge elogviewer
然后按照它的提示操作, 包括修改 /etc/make.conf 文件,建立 /var/log/portage/elog 目录被分配 portage 权限.
13.2. Tip2: 解决库依赖问题
命令:
# emerge gentoolkit
当有时候执行某些命令的时候提示类似 libexpat.so.0: cannot open shared object file: No such file or directory 信息时, 可以使用 # revdep-rebuild --library libexpat.so.0 来解决这类库依赖问题. # revdep-rebuild 则是检索所有的库依赖并自动重新 emerge 包. 同时 gentoolkit 还提供了 equery 命令, 可以用于检索某个文件属于哪个包.
# equery b lspci [ Searching for file(s) lspci in *... ] sys-apps/pciutils-2.2.4-r3 (/usr/sbin/lspci)
所属分类:基础知识
