上一章,已经对操做系统安装作了充分准备,而且已经从livecd(u盘系统)切换进入了gentoo安装环境中。linux
不过如今才是真正的开始!打起精神!这可不是在装ubuntu!web
安装Portage快照
一个用来告诉Portage哪些软件标题可用于安装、哪些配置文件能够由管理员选择等等的文件集合。shell
emerge-webrsync
在这个操做中,emerge-webrsync可能会报找不到/usr/portage/位置。这是预期内的而且不用担忧——这个工具将会建立这个位置。数据库
须要一点时间,能够泡杯热coffee,等一会~编程
可选:更新Portage数据库
Portage数据库能够更新到最新版本ubuntu
假设须要最新更新的包(gentoo protage发布的1小时之内的新包裹)小程序
emerge --sync
选择配置文件vim
eselect profile list
正常做为PC机使用的话,建议使用desktop一项的,因此我选择3ruby
eselect profile set 3
初始化选择环境网络
emerge --ask --update --deep --newuse @world
此过程快慢根据上面选择的profile,通常名字越长(包越多)则时间越久
第一个default/linux/amd64/13.0是最快的,带有desktop的profile都比较慢,由于要下载桌面环境,若是把kde,gnome,systemed什么的一块儿加进来就更加可怕了!
这个过程很是之慢,我这儿显示173包下载或更新,足够把刚刚泡的咖啡喝掉在看会ruby编程了!
好吧,他编译了一下午多,我回来了!(毕竟平时写代码编译只是一个小程序,这是编译一个系统啊)
设定时区
选择的时区是Asia/Shanghai:
echo "Asia/Shanghai" > /etc/timezone
基于/etc/timezone条目更新/etc/localtime文件。
/etc/localtime文件用于让系统的C类库知道系统在什么时区
root #emerge --config sys-libs/timezone-data
设置地区
此项工做是本地化,设置语言、编码、日期格式等等
下一步是运行locale-gen。它将生成/etc/locale.gen文件中指定的全部地区。
nano -w /etc/locale.gen
因为没有了vi,只能使用nano,ctrl-O保存,ctrl-X退出,以下添加进去,使用中文和英语
en_US ISO-8859-1 en_US.UTF-8 UTF-8 zh_CN GBK zh_CN.UTF-8 UTF-8
验证所选择的地区当前可用,运行locale -a
经过eselect locale set VALUE能够设定正确的地区:
eselect locale set 8
如今从新加载环境:
env-update && source /etc/profile && export PS1="(chroot) $PS1"
选择一个合适的内核并使用emerge来安装它。
emerge --ask sys-kernel/gentoo-sources
此命令会自动检测当前环境依赖,找到合适的linux kernel,内核是linux系统发行版的核心
编译gentoo的linux内核有两种方式:
第一个是纯手工编译,须要对硬件有必定了解,缺乏了模块均可能会致使设备没法正常工做
因此我使用第二种genkernel方案,虽然这不是官方推荐,也不利于学习linux内核编译,可是,以前我手动编译不管如何都找不到wlan设备,致使笔记本的无线没法正常使用,这一次,我决定使用自动化编译
nano -w /etc/fstab
添加以下一行:
/dev/sda2 /boot ext2 defaults 0 2
其余地方都不要动!
下载安装genkernel
emerge --ask sys-kernel/genkernel
编译并安装
genkernel all
注意:这将又是一个漫长等待的时间,并且没有任何屏幕输出的编译等过程,这一次我睡了一觉,明早继续
早上好,看看电脑,已经编译好了
结束后输入
ls /boot/kernel* /boot/initramfs*
显示以下
(chroot)livecd / # ls /boot/kernel* /boot/initramfs* /boot/initramfs-genkernel-x86_64-4.9.16-gentoo /boot/kernel-genkernel-x86_64-4.9.16-gentoo
代表这一觉,电脑已经自动完成了内核模块的编译和安装
安装固件
emerge --ask sys-kernel/linux-firmware
一些驱动须要先在系统上安装附加的固件才能工做。这常常用于网络接口,特别是无线网络接口。很是多的固件都打包在sys-kernel/linux-firmware里
fstab
在Linux系统下,系统所用到的全部分区都必须在 /etc/fstab文件中指明。这个文件包含了这些分区的挂载点(在系统目录树中的位置)、挂载方法和特殊挂载选项(是否自动挂载,是否某个用户能够挂载它等)。
建议在这以前,先安装一个vim编辑器(若是你是vim党),这样会使得后面编辑配置文件更加快速,你不喜欢vim,能够继续使用nano编辑器或者安转emacs
安装vim:
emerge app-editors/vim
安装是经过源码编译的,须要稍做等待......
好了,有vim用了
vim /etc/fstab
若是和我同样,分区有/,/home,/boot分区,就按照如下配置便可
提示:
主机名、域名信息
vim /etc/conf.d/hostname
若是你须要一个域名,在/etc/conf.d/net中设定(文件须要建立)
我做为桌面用户,不须要,因此还要修改下面文件:
若是你选择不设定域名,你能够去掉登陆界面上的这条信息:“This is hostname.(none)”。你只须要修改/etc/issue ,把字符串.\O从该文件里删掉便可。
启用PCMCIA
笔记本电脑有个pci扩展坞,若是想启用就安装此项,若是不须要,就跳过
PCMCIA用户首先应该安装sys-apps/pcmciautils软件包。
emerge --ask sys-apps/pcmciautils
root密码
passwd
输入新的密码
系统日志工具
安装系统日志工具,选择初学者专用的sysklogd
emerge --ask app-admin/sysklogd rc-update add sysklogd default
cron守护进程
emerge --ask sys-process/cronie rc-update add cronie default
文件索引 locate
可使用locate命令搜索文件
emerge --ask sys-apps/mlocate
远程访问 ssh
自动开启远程服务
rc-update add sshd default
这些操做很是重要,这决定了你以后能不能链接到网络,若是不能链接互联网,就连emerge命令都没用,到时候会发现许多的命令没有,包括网络链接命令!而没有网络,emerge又不能把它们下载下来,不能emerge安装网络工具,又很差连上网,这就进入了一个恶性循环,虽然还有别的办法好比有线网络,路由器等等,仍是先把这些工具都装上,方便咱们进入系统后进一步配置和emerge更多的包!
安装dhcpd客户端
emerge --ask net-misc/dhcpcd
安装PPPoE客户端
emerge --ask net-dialup/ppp
安装无线网链接工具
对于笔记本电脑这些很是重要(不然在命令行中没法链接wifi)!!!官方没有特别说明
试着使用iwconfig,你会发现没有这条命令!说明这个程序没有安装,与此同时iw命令也没有!
emerge --ask net-wireless/wireless-tools emerge --ask net-wireless/iw
安装wpa支持,让gentoo可链接wpa路由器,就像以前咱们livecd安装gentoo时
emerge --ask net-wireless/wpa_supplicant
linux引导
linux经常使用的引导有三个:grub(1-2),LILO,efibootmgr
选择grub2便可,相对传统并且灵活
LILO以前在slackware linux上我使用过
efibootmgr是比较新的专门用于引导uefi系统,而grub2亦可作到
安装grub2
emerge --ask --verbose sys-boot/grub:2
将grub安装到sda设备上,就是咱们的硬盘。若是是多块硬盘设备,安装到系统硬盘(主硬盘)
grub-install /dev/sda
要生成最终的GRUB2配置,运行grub-mkconfig命令:
grub-mkconfig -o /boot/grub/grub.cfg
开始使用gentoo linux
到达此处,gentoo的安装已经结束!
输入:
reboot
从新载入系统(以root身份登陆)
连上wifi:按照上一章wpa_supplicant或者iw,iwconfig链接wifi的用法便可
连上以后会自动设置ip,若是没有,使用如下语句:
dhcpcd
dhcp就是动态获取ip地址
ping一下网络,若是已经进入互联网
开始emerge,就像ubuntu的apt-get!
如今开始使用gentoo linux吧!