Gentoo源码安装图解
Gentoo源码安装
一、前期准备
(1)下载以下三个文件

二、配置安装环境
(1)用光盘引导到LiveCD环境

(2)配置当前LiveCD环境的网络
安装Gentoo时,服务器引导的LiveCD环境必须能够连接外网。因为在安装过程中需要在线下载内核和其它相关软件。而我们又想用ssh远程进行安装操作,所以服务器引导的当前LiveCD环境还要开启sshd服务,使服务器可以用Linux下的ssh或Windows下的PuTTY远程连接。所以这里的网络设置主要实现两个目的:一是使当前服务器引导的LiveCD环境能够连接外网,二是开启sshd服务,使服务器可以用ssh远程连接。
服务器的网络规划:
服务器有三个网卡:eth0、eth1、eth2。这里只使用eth0和eth2两块网卡。
eth0 IP地址:192。168.10.200,用于远程连接。
eth2 IP地址:用dhcpcd命令自动获取IP,通过NAT联接外网。
设置IP地址:

检查服务器是否可以连接外网,这里ping一下百度的网站。

可以ping通百度,连接外网OK。
开启sshd服务并设置root密码:
livecd ~# /etc/init.d/sshd start
livecd ~# password root
注意:
这里的root是当前LiveCD环境的root用户。之所以设置密码,是因为sshd服务默认远程连接登录的用户必须设置密码。这里root用户密码设置为:123456
(3)从另一台主机通过LiveCD环境下开启的sshd服务远程连接到该服务器
在Linux下可以用ssh命令远程连接到开启了sshd服务的服务器,Windows下可以用PuTTY工具。我这里使用PuTTY。

点击下方的“open”按钮,根据提示输入用户名:root,密码:123456;第一次登录,会提示保存密钥,点击“是”即可。

三、建立分区
500GB硬盘分区规划:
/dev/sda1 /boot 200M
/dev/sda2 / 20GB
/dev/sda3 swap 20GB
/dev/sda5 /home 20GB
/dev/sda6 /usr/local 20GB
/dev/sda7 /var 20GB
/dev/sda8 100GB 预留空间100GB
/dev/sda9 100GB 预留空间100GB
/dev/sda10 200GB 乘余所有空间
(1)通过fdisk创建分区:

分区完成后,输入w写入分区。
注意:
在创建时,由于 /dev/sda3是作交换分区的,所以要修改 /dev/sda3 的分区类型为82,/dev/sda1作为boot分区,所以要标记为可启动分区。
(2)重新读取sda分区表

(3)创建ext4文件系统

(4)创建swap分区

(5)激活swap分区


四、创建相关挂载目录并挂载文件系统
根据分区规划,建立相关挂载目录,并挂载文件系统。
/dev/sda1 /boot 200M
/dev/sda2 / 20GB
/dev/sda3 swap 20GB
/dev/sda5 /home 20GB
/dev/sda6 /usr/local 20GB
/dev/sda7 /var 20GB
注意:
在Linux中,所有的目录都挂载在根目录“/”下。所以先挂载原先规划好作为根分区的文件系统到根“/”目录这个挂载点下,再在这个根分区文件系统上建立其它相关挂载点。

五、设定系统时间和日期
修改为当前时间和日期:2012年7月24日22时17分。

六、上传相关文件
上传下面两个文件到 /mnt/gentoo目录下,即/dev/sda2这个规划为根分区的文件系统上。

这是事先下载好的,你也可以用links或wget命令在terminal中在线下载这两个文件。
打开Windwos下FTP客户端工具FileZilla Client,选择“文件”à“站点管理器”,如下图设置好sftp;

点击连接,并上传本地的两个文件到服务器上的根分区文件系统上。

上传完成后,查看/dev/sda2根分区文件系统上的内容,可以看到刚上传完成的两个文件。


九、设置时区
设置时区信息:根据具体情况使用/usr/share/zoneinfo中的正确条目。我们这里使用上海。

设置好时区后,时间会根据你所设的时区重新计算,我们所设置的上海在东八区,所以会在原来时间的基础上再加上八小时。这里我们需要重新校正当前时间。

十、设置主机名为gentoo

十一、内核配置
(1)下载内核及其它相关依赖包并解压配置

注意:
gentoo-sources:为一般用途,只打了一般的安全补丁。
hardened-sources:服务器用途, 安全性和稳定性有所提高。
(2)根据具体情况配置内核相关功能模块

接着会出现以下画面,根据情况选择定制内核模块。


(3)定制EXT4文件系统
之前的硬盘分区在规划时,采用EXT4文件系统。这里以定制EXT4文件系统为例。其它根据个人具体情况而定。
按上下方向键,向下移动,找到“File systems”菜单。

选择进入“File systems”菜单后,找到EXT4文件系统并选择编译到内核中。

按“Tab”键切换到“Exit”按钮并回车,此动作进行两次。会出现以下画面询问你是否希望保存新的配置,这里选择“Yes”。

(4)编译内核
我的服务器是4核的,所以在make的时候加上参数-j4,可以加快编译的速度。

(5)安装内核
在编译完成后,会生成bzImage这个二进制内核文件。根据编译完成时的最后一行,可以知道这个文件保存的位置。

十二、修改fstab文件

修改内容如下:

十三、配置网络
设置IP地址:192.168.10.240,默认网关为:192.168.10.1

将网卡eth0设为开机启动。
如果在/etc/init.d/下不存在net.eth0,则需要用ln命令先建立这个文件。

将sshd服务也设为开机启动。

十四、设置新安装Gentoo系统用户root密码

十五、编辑设置一些配置文件
livecd conf.d # nano -w /etc/conf.d/clock
TIMEZONE="Asia/Shanghai"
livecd conf.d # nano -w /etc/rc.conf
livecd conf.d # nano -w /etc/conf.d/rc
livecd conf.d # nano -w /etc/conf.d/keymaps
十六、安装系统工具
livecd conf.d # emerge syslog-ng
livecd conf.d # emerge logrotate
livecd conf.d # emerge vixie-cron
livecd conf.d # emerge dhcpcd
livecd conf.d # emerge vim
livecd conf.d # rc-update add syslog-ng default
livecd conf.d # rc-update add vixie-cron default

十七、安装引导程序Grub
(1)在线下载grub并编译安装
livecd conf.d # emerge grub
(2)配置grub.conf文件

(3)安装Grub到sda
livecd conf.d # grub

十八、重启系统
退出chroot环境,卸载所有文件系统并重启。

livecd / # reboot
最后取出光盘。到此完成Gentoo 64bit系统的安装。如下图:


Gentoo源码安装图解的更多相关文章
- CentOS 7下源码安装MySQL 5.7
网上说linux安装mysql服务分两种安装方法: ①源码安装,优点是安装包比较小,只有几十M左右,缺点是安装依赖的库多,安装编译时间长,安装步骤复杂容易出错: ②使用官方编译好的二进制文件安装,优点 ...
- LNMP架构下的nginx、mysql、php的源码安装
一.LNMP的介绍 LNMP就是Linux+Nginx+Mysql+Php这种网站服务架构.Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统,常见版本有:centos.ubun ...
- mono-3.4.0 源码安装时出现的问题 [do-install] Error 2 [install-pcl-targets] Error 1 解决方法
Mono 3.4修复了很多bug,继续加强稳定性和性能(其实Mono 3.2.8 已经很稳定,性能也很好了),但是从http://download.mono-project.com/sources/m ...
- 搭建LNAMP环境(七)- PHP7源码安装Memcached和Memcache拓展
上一篇:搭建LNAMP环境(六)- PHP7源码安装MongoDB和MongoDB拓展 一.安装Memcached 1.yum安装libevent事件触发管理器 yum -y install libe ...
- 搭建LNAMP环境(二)- 源码安装Nginx1.10
上一篇:搭建LNAMP环境(一)- 源码安装MySQL5.6 1.yum安装编译nginx需要的包 yum -y install pcre pcre-devel zlib zlib-devel ope ...
- 搭建LNAMP环境(一)- 源码安装MySQL5.6
1.yum安装编译mysql需要的包 yum -y install gcc-c++ make cmake bison-devel ncurses-devel perl 2.为mysql创建一个新的用户 ...
- Greenplum 源码安装教程 —— 以 CentOS 平台为例
Greenplum 源码安装教程 作者:Arthur_Qin 禾众 Greenplum 主体以及orca ( 新一代优化器 ) 的代码以可以从 Github 上下载.如果不打算查看代码,想下载编译好的 ...
- salt源码安装软件和yum安装软件
上面简单列出了源码安装的sls文件书写思路. 涉及到一些固定的思路:如, 1,拷贝 解压安装时候需要依赖tar.gz存在 如果已安装则无需再次安装. 2,启动脚本 加入chk时候需要文件存在,如果已添 ...
- 搭建LNAMP环境(六)- PHP7源码安装MongoDB和MongoDB拓展
上一篇:搭建LNAMP环境(五)- PHP7源码安装Redis和Redis拓展 一.安装MongoDB 1.创建mongodb用户组和用户 groupadd mongodb useradd -r -g ...
随机推荐
- QQ空间g_tk加密算法PHP版
QQ空间g_tk加密算法PHP版 //G_tk计算 function getGTK($skey){ $hash = 5381; for($i=0;$i<strlen($skey);++$i){ ...
- Oracle分析函数 — sum, rollup, cube, grouping用法
本文通过例子展示sum, rollup, cube, grouping的用法. //首先建score表 create table score( class nvarchar2(20), course ...
- LINQ to XML学习笔记
一.XML基础知识 1.XML:可扩展标记语言 Extensible Markup Language ,提供了一种保存数据的格式,数据可以通过这种格式很容易地在不同的应用程序之间实现共享. 2.使用X ...
- sql中的inner join, left join, right join的区别
下面介绍一下 inner join, left join, right join这者之间的区别 现在我假设有A表和B表 left join select * from A a left join B ...
- iOS10 权限崩溃问题-b
手机升级了 iOS10 Beta,然后用正在开发的项目 装了个ipa包,发现点击有关 权限访问 直接Crash了,并在控制台输出了一些信息: This app has crashed because ...
- struts2拦截器-简单实现非法登录验证
概念:什么是拦截器 拦截器实现了面向切面的组件,它会影响多个业务对象的公共行为封装到一个个可重用的模块,减少了系统的重复代码,实现高度内聚,确保业务对象的整洁! 为什么使用拦截器 拦截器消除了动作 ...
- C++中头文件相互包含与前置声明
一.类嵌套的疑问 C++头文件重复包含实在是一个令人头痛的问题,前一段时间在做一个简单的数据结构演示程序的时候,不只一次的遇到这种问题.假设我们有两个类A和B,分别定义在各自的有文件A.h和B.h中, ...
- PD code与name联动(取消)设置
在powerdesign中,code与name老是联动,修改了name中的数据,code随之修改,影响效率,设置Tools-General Options-Dialog 中的Name to Code ...
- MVC EF异常-“序列化类型为 XX 的对象时检测到循环引用”
原因:在EF实体中,两个互为主外键关系的实体类的导航属性相互引用. 解决方法一:删除一个不需要的类的导航属性 方法二:使用DTO模型 方法三:直接返回需要的属性(不能包括相互引用的属性)
- sqlmap动态sql优化,避免传参失误批量修改和删除操作!
分析以下的sqlmap存在问题: <delete id="deletePartspic" parameterClass="TblSpPartspic"&g ...