Gentoo安装教程
1.Gentoo简介以及特点
Gentoo是一个基于Linux的自由操作系统,它能为几乎任何应用程序或需求自动地作出优化和定制。它几乎较为高度自由化和个性化,构建自己特点的操作系统,灵活性高。但是由于是通过下载源码然后再进行编译过程的操作系统使得很多人望而却步.Portage是Gentoo的核心和特色,Gentoo下可以从服务器上获取最新的Portage树然后进行同步处理。由于使用Portage系统安装程序会使用网络下载源代码,在进行系统或软件的安装时,不仅需要随时的连接,还要求足够的传输速度。编译过程中需要操作者了解一定的Linux底层的知识,编译时间较长,这是它的一些缺点。另外Gentoo也有很多派生的系统,例如Funtoo、Pentoo(黑客网络渗透工具系统).本文介绍如何对Gentoo进行安装和使用,其中Funtoo、Pentoo的安装方法也是大同小异.
2.Gentoo基本系统框架安装
Gentoo操作系统的安装分为以下的步骤:网络连接、分区操作、源码下载以及内核编译、系统配置、系统启动器安装。
2.1 网路连接
首先系统的安装需要网络的连接以便于Portage系统连接到服务器进行文件信息的同步处理。如果是有线连接可以直接安装网线即可(笔者的条件),若是无线连接需要进行以下的操作
首先查看可使用的网卡信息
ifconfig
可以显示出无线网卡wlp2s0以及有线网卡enp3s0,不同的电脑名称都不太一样.安装环境中需要包含有wpa_supplicant工具用于连接无线网络。输入以下的命令
wpa_passphrase 网络名称 密码 >./wpa.conf
wpa_supplicant -i wlp2s0 -c ./wpa.conf -D wext -B # 用于启动wifi连接
用DHCP协议获取动态IP地址进行连接操作
dhcpcd
然后就可以连接上互联网了.可以使用以下的命令查看互联网是否连接:
ping www.baidu.com
2.2 分区操作
使用fdisk,gparted,cfdisk均可以进行分区操作。为使用方便,笔者使用cfdisk进行分区操作,或者是自己提前在windows下使用diskgenius工具进行分区格式化操作.
查看分区状态
fdisk -l
格式化分区
mkfs.fat /dev/sda1 # 用于EFI启动的分区
mkfs.ext4 /dev/sda2 # 用于安装系统文件的位置
mkswap /dev/sda3 #用于交换分区的位置
swapon /dev/sda3 # 激活交换分区
这里笔者分配了40GB为Gentoo操作系统区域,2GB为交换分区,300MB为EFI分区.
挂载分区
mount /dev/sda2 /mnt/gentoo
mkdir -p /mnt/gentoo/boot/efi
mount /dev/sda1 /mnt/gentoo/boot/efi
2.3 源码下载以及文件系统的安装
由于我们使用的是最小安装镜像所以我们需要下载安装stage3文件进行下载.可以到清华镜像源进行下载,或者是到163镜像源进行下载.笔者这里使用到了163镜像源进行下载:
links http://mirrors.163.com/gentoo/releases/amd64/autobuilds/current-stage3-amd64/
将stage3-amd64-20200819T214503Z.tar.xz 文件保存到/mnt/gentoo文件目录下.下一步进行解压处理
tar xvf stage3-amd64-20200819T214503Z.tar.xz
挂载文件系统
这里需要挂载以下的几个文件系统
mount -t proc /proc /mnt/gentoo/proc
mount --rbind /sys /mnt/gentoo/sys
mount --rbind /dev /mnt/gentoo/dev
复制配置文件
cp /etc/resolv.conf /mnt/gentoo/etc/
更换根目录
chroot /mnt/gentoo /bin/bash
env-update && source /etc/profile
export PS1="(chroot) $PS1"
同步portage源码tree
这一步用于将服务器上的Gentoo源码同步Portage树到电脑上
mkdir /usr/portage
由于国外网址下载速度比较慢,在手册里中说明使用mirrorselect工具可以选择自己的镜像地址,由于我们已经改变了root,所以在这里我们手动添加镜像列表。编辑文件
nano /etc/portage/make.conf
并且添加以下的内容
GENTOO_MIRRORS="http://mirrors.163.com/gentoo/"
SYNC="rsync://rsync.cn.gentoo.org/gentoo-portage
建议修改MAKEOPTS变量,根据您电脑的CPU几核的修改。查看的方法如下所示
cat /proc/cpuinfo |grep processor
笔者这里显示的是8核,所以在文件make.conf最后一行添加为
MAKEOPTS="-j8"
文件系统的安装
更新portage树
emerge-webrsync
这一步需要花费10分钟左右,过程中下载一些源码包文件等等。
配置系统
这一步指的是选择系统profile,查看下有哪些系统profile可以选择
eselect profile list
笔者这里选择的是KDE Plasma桌面,所以选择
eselect profile set default/linux/amd64/17.1/desktop/plasma
注意这一步的profile选择比较重要,关系到之后内核的编译过程。
设置时区
这一步没什么好说的,设置上海时区
cp /usr/share/zoneinfo/Asia/Shanghai/etc/localtime
echo " Shanghai " > /etc/timezone
编辑文件locale.gen
nano /etc/locale.gen
取消以下内容的注释
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
生成对应的配置文件
locale.gen
设置系统语言(建议设置为英文)
echo LANG=en_US.UTF-8 > /etc/locale.conf
更新配置文件
env-update && source /etc/profile
安装源码
这一步是核心步骤,需要下载源码文件供之后对内核的编译
emerge gentoo-sources
这一步需要花费10-15分钟左右,安装完成后可以查看是否有一个linux的符号链接指向你的内核源码
ls -l /usr/src/linux
编译内核
编译内核文件首先需要安装以下的一小部分内容,内核的编译依赖于以下的文件
emerge app-arch/cpio
emerge sys-devel/autoconf-archive
然后进行环境的更新
etc-update -3
下载内核编译工具
emerge --ask genkernel
下载内核工具编译的时候同时也下载好了linux-firmware、linux内核,然后进行内核的编译
time genkernel all
time是计算一下编译内核文件的时间长短.当然,内核的选择可以是有选择的编译,这里为方便使用all字符表示都编译.可以使用图形化选择编译:
genkernel --menuconfig all
这里花费大概30-40分钟进行编译,时间较长.
2.4 系统环境配置
修改fstab文件
fstab文件指明了文件系统启动的位置以及文件系统的挂载分区.编辑文件
nano /etc/fstab
并按照例子写出自己的系统安装挂载分区
/dev/sda1 /boot/efi vfat defaults 0 2
/dev/sda2 / ext4 noatime 0 1
/dev/sda3 none swap sw 0 0
保存文件
编辑域名以及主机名
编辑文件
nano /etc/conf.d/hostname
文件中修改为自己的名字
hostname="myhostname"
编辑文件
nano /etc/hosts
修改以下为自己的网络主机名
127.0.0.1 myhostname
::1 myhostname
网络以及其他文件
添加dhcpcd,增加DHCP协议
emerge dhcpcd
添加为开机启动
rc-update add dhcpcd default
添加syslog-ng,ssh,cronie,
emerge syslog-ng
emerge virtual/ssh
emerge cronie
设置为开机启动
rc-update add syslog-ng default
rc-update add sshd default
rc-update add cronie default
添加用户并设置密码
配置sudo,下载sudo
emerge sudo
添加用户
useradd -m -G wheel,users,sudo -s /bin/bash myusername
设置密码
passwd root
passwd myusername
添加操作系统启动项
下载grub并安装
emerge sys-boot/grub
安装启动文件
grub-install --target=x86_64-efi --efi-directory=/boot/efi --recheck
生成相应的菜单选择文件
grub-mkconfig -o /boot/grub/grub.cfg
这样就完成了,然后再退出chroot,卸载
umount /mnt/gentoo/dev
umount /mnt/gentoo/proc
umount /mnt/gentoo/boot/efi
umount /mnt/gentoo/
重新启动操作系统即完成了基本安装.
2.5 后续
操作系统安装完成之后,发现并没有无线网卡驱动,所以又进行了以下操作:
先安装openssl、openssh
emerge net/misc/openssh
emerge net/misc/openssl
再安装iw、wpa_supplicant、dialog组件等等
emerge iw dialog wpa_supplicant
至此,基本的系统已经安装完成。下面笔者讲述对桌面环境的安装过程。
3.桌面环境的安装过程
首先安装xorg服务,这是桌面环境的最底层服务组件。
sudo emerge --ask --quiet x11-base/xorg-drivers
sudo emerge --quiet --ask x11-base/xorg-server
sudo env-update
安装sddm登录管理器,当然也可以选择其他的登录管理器进行安装,这里笔者选择了sddm登录管理器。
sudo emerge --ask --quiet sddm
这里需要下载一个cpu标志管理的包cpuid2cpuflags:
sudo emerge --ask --quiet cpuid2cpuflags
然后将cpu的寄存器标志写入文件
cpuid2cpuflags >> /etc/portage/make.conf
然后安装桌面
```bash
sudo emerge --ask --quiet kde-frameworks/plasma
sudo emerge --ask --quiet kde-plasma/plasma-meta
sudo emerge --ask --quiet xterm
修改登录管理器的配置文件
sudo nano /etc/conf.d/xdm
修改为以下的内容
DISPLAYMANAGER="sddm"
将sddm添加为开机启动
sudo rc-update add sddm default
然后重新启动系统之后,即可以登录桌面环境
参考
[1] Gentoo安装全过程
[2] Gentoo官方文档