By: Ciphergateway
–[ 目录
- 准备工作
- 组建RAID1
- 安装Gentoo系统 3.1 livecd下配置安装环境 3.2 Gentoo安装及编译 3.3 软件环境安装
- Gentoo内核加固 4.1 加固选项设置 4.2 编译gentoo hardened内核
##–[ 1、准备工作
用U盘启动引导安装gentoo系统,将gentoo系统的镜像文件livedvd-amd64-multilib-20140826.iso拷贝到已经格式化过的格式为fat32的U盘中;
U盘镜像下载链接:http://mirrors.se.kernel.org/gentoo//releases/amd64/20140826/livedvd-amd64-multilib-20140826.iso
##–[ 2、组建RAID1
1)Advanced Mode–>高级–>cpu设置,将Intel虚拟技术设为开启;
2)Advanced Mode–>高级–>PCH存储设置,将SATA模式选择为RAID;
3)保存设置并重启,按Ctrl+I(分别按不是同时按),进入RAID配置界面,将两块3T机械硬盘组建为RAID1;
##–[ 3、安装Gentoo系统
###—-[ 3.1 livecd下配置安装环境
1)服务器上插入U盘,配置root账户,开启sshd服务:
2)使用gentoo livecd中自带的分区工具gdisk为系统分区,机械盘分两区,固态盘分五区(实际使用过程中使用cfdisk,gparted也可,我使用给gdisk的原因是这次在对raid盘进行分区时使用gparted造成了gpt与mbr分区表同时存在的问题,使用cfdisk将整个分区识别为了一个名为gpt的主分区),以下是两块硬盘的分区结果:
3)利用secureCRT登陆系统shell(链接前先要确认主机的ip,并确保两个主机处于同一网段,如果只有一台电脑,也可以在该主机上直接操作):
4)制作文件系统(格式化分区,默认格式成了ext4分区,如有需要,也可以格式成其他格式的分区):
mkfs.ext4 /dev/sda3
mkfs.ext4 /dev/sda4
mkfs.ext4 /dev/sda5
设置swap分区
mkswap /dev/sda2 ![](http://i.imgur.com/FX6HKRi.png) 格式化其他分区
mkfs.fat /dev/sda1
mkfs.ext4 /dev/md126p1
mkfs.ext4 /dev/md126p2
5)挂载分区(将两块硬盘以目录树的形式挂载在/mnt)(分区用途/dev/sda1 efi分区,才用mbr引导的可忽略此份区,/dev/sda3 tmp分区,/den/sda4 根分区,/dev/sda5 home分区):
mount /dev/sda4/mnt/gentoo
mkdir -p/mnt/gentoo/boot/efi
mount /dev/sda1/mnt/gentoo/boot/efi
mount -p/mnt/gentoo/home
mount /dev/sda5/mnt/gentoo/home
mkdir /mnt/gentoo/tmp
mount /dev/sda3/mnt/gentoo/tmp
6)设置系统时间(注意 日期格式为MMddhhmmyyyy):
date 061915262015
7)下载系统编译包portage-latest.tar.bz2和stage3-amd64-20150618.tar.bz2到/mnt/gentoo目录下(注意,镜像源我们选择的是阿里云的镜像,使用者可自行更换,下载stage3包时要选择日期最近的):
wget http://mirrors.aliyun.com/gentoo/releases/snapshots/current/portage-latest.tar.bz2
` wget http://mirrors.ustc.edu.cn/gentoo/releases/amd64/autobuilds/current-stage3-amd64/stage3-amd64-20150618.tar.bz`
8)解压stage3和portage两个文件:
tar -jxvf stage3-amd64-20150618.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目录下
###—-[ 3.2 Gentoo安装及编译
1)切换系统到/dev/sda3根分区上并更新系统环境变量:
mount -t proc none /mnt/gentoo/proc
mount -o bind /dev /mnt/gentoo/dev
mount -t sysfs sys /mnt/gentoo/sys
chroot /mnt/gentoo /bin/bash
env-update
>> Regenerating /etc/ld.so.cache...
source /etc/profile
export PS1="(chroot) $PS1"
2)设置时区:
cp /usr/share/Asia/Shanghai /etc/localtime
3)设置主机名:
sed -i -e's/hostname.*/hostname="shenhua"/' /etc/conf.d/hostname
4)修改镜像源 并且设置编译参数为8核编译(注意,编译参数在设置为核心数加1时理论上也可获得最优效果):
5)设置DNS(通常情况下设置默认dns即可,但此步缺失会造成dns无法解析,原因为chroot过程中dns信息未被转移):
echo "nameserver 10.1.2.1" >> /etc/resolv.conf
6)安装内核源码:
emerge gentoo-sources
7)安装自动编译内核工具genkernel:
emerge genkernel
8)复制安装光盘的配置文件到genkernel搜索配置文件的默认位置(注意32位用户目录为/usr/share/arch/x8/,此配置文件livecd所使用的配置文件):
zcat /proc/config.gz > /usr/share/arch/x86_64/kernel-config
9)编译内核:
genkernel all
10)修改fstab:
11)配置网络:
(1)生成软连接(注意,eno1为网络接口名,不同电脑可能不同,请在chroot前用ifconfig命令确认):
ln -s /etc/init.d/net.lo /etc/init.d/net.eno1
(2)创建网络配置文件:
vi /etc/conf.d/net
在空文件中写入(注意,如果是静态ip请采用静态配置): # DHCP config_eno1=( “dhcp” )
12)设置网卡开机自启动:
rc-update add net.eno1 default
13)设置GRUB引导:
(1) 修改配置文件:在etc/portage/make.conf中添加GRUB_PLATFORMS=”efi-64”(mbr引导可忽略此步骤)
(2) 安装GRUB
emerge --ask sys-boot/grub:2
emerge -av sys-boot/os-prober
grub2-install --target=x86_64-efi
grub2-mkconfig -o /boot/grub2/grub.cfg
(3) 重起电脑,确认grub引导是否安装成功,如果成功再进行一下步骤
###—-[ 3.3 软件环境安装
1)安装xrog:
在 /etc/portage/make.conf 中添加 INPUT_DEVICES="evdev synaptics"
emerge --ask --verbose --pretend x11-base/xorg-drivers
emerge --ask x11-base/xorg-server
cat /etc/portage/package.use/._cfg0000_iputils > /etc/portage/package.use/iputils
emerge twm
emerge xclock
emerge xterm
备注:twm xclock xterm原本是xrog软件包的一部分,在版本更新后从xrog中分离出来 需要单独安装
2)编译kde桌面环境 备注:编译其他环境 请参照wiki.gentoo.org openrc启动的kde对应的编号是6 其他桌面环境请自行更换
eselect profile list
eselect profile set 6
emerge --ask kde-apps/kdebase-meta
emerge --ask kde-base/kde4-l10n
在/etc/portage/make.conf中添加 LINGUAS="de"
##–[ 4、Gentoo内核加固
###—-[ 4.1 加固选项设置
编辑/etc/ssh/ssh_config文件,在里面加入:
# 1, known_hosts stores server's signature, so hash the host name:
HashKnownHosts yes
#2, SSH protocl version 1 is not secure:
Protocol 2
#3, If you don't use X11 forwarding, plz disable it"
X11Forwarding no
#4, Disable rhosts:
IgnoreRhosts yes
#5, Not allow empty password:
PermitEmptyPasswords no
#6, Maxisum tries:
MaxAuthTries 5
#7, Now allow root login:
PermitRootLogin no
#(Optional)
#1, disable password auth, enable pubkey auth:
PubkeyAuthentication yes
PasswordAuthentication no
#2,Allow or deny users/groups
#AllowGroups, AllowUsers, DenyUsers, DenyGroups
根据自己的实际要求在改写最后一行 改为自己的用户组合用户名
###—-[ 4.2 编译gentoo hardened内核
1)下载加固内核源码
emerge --ask sys-kernel/hardened-sources
2)配置加固内核 参照:
https://wiki.gentoo.org/wiki/Hardened/PaX_Quickstart#Building_a_PaX_Kernel
https://wiki.gentoo.org/wiki/Hardened/Grsecurity2_Quickstart
3)编译
$ make
4)安装
# make install
5)选择内核
# eselect kernel list
6)重启使用新内核即可