Gentoo Linux安装教程20220218(长期更新维护)

本文章根据Gentoo官方安装文档在网线连接的物理机环境验证下而写,相当于官方安装文档的简洁版,如有疑问可以去查阅官方文档

安装顺序为:刻盘、配置网络、分区、安装Gentoo基本系统(stage3文件)、配置Linux内核、配置系统文件、安装系统工具、配置系统引导程序

一、准备工作
1、从Gentoo官网 获取Minimal Installation CD可引导镜像和Stage 3(我选的desktop profile | openrc版,我是用作桌面系统使用,如果各位要作为服务器系统可以选openrc版)Gentoo离线包
2、我的硬件配置为2700X、64G、2T、2070Super
3、刻录Minimal Installation CD并UEFI启动引导开机

二、启动
1、开机完成后按F1进入内核选择,然后输入gentoo
2、网络和账户配置

passwd         #更改root密码

设置静态IP #一般不需要,一定要用静态IP的可以设置

ifconfig enp2s1 192.168.0.199 broadcast 192.168.0.255 netmask 255.255.254.0 up
route add default gw 192.168.0.1
ping www.baidu.com

3、启动ssh #需要远程安装的可以用

#如果是无线网卡没有网线,最简单的方法就是路由器WIFI设置为开放网络,然后ip link set dev wlp1s0 up然后iw dev wlp1s0 connect -w ESSID就OK了
nano -w /etc/ssh/sshd_config将PasswordAuthentication no改为PasswordAuthentication yes
rc-service sshd start
ip a s    #查看ip方便远程

三、分区
ssh远程,然后进行分区
我的分区方案(GPT分区表 for UEFI引导)
/dev/nvme0n1p1 256M fat32 Boot/EFI
/dev/nvme0n1p2 8G swap 交换分区
/dev/nvme0n1p3 剩余 ext4 根分区

lsblk
cfdisk /dev/nvme0n1    #引导分区类型选EFI System,交换分区类型选Linux swap,根目录类型选Linux filesystem
mkfs.fat -F 32 /dev/nvme0n1p1
mkswap /dev/nvme0n1p2
swapon /dev/nvme0n1p2
#nano -w /etc/fstab
#/swapfile none swap defaults 0 0
mkfs.ext4 /dev/nvme0n1p3
mount /dev/nvme0n1p3 /mnt/gentoo

四、安装stage包
将stage3包传到/mnt/gentoo下

cd /mnt/gentoo
tar xpvf stage3-*.tar.xz --xattrs-include='*.*' --numeric-owner
#自动或者手动设置时间
ntpd -q -g #自动
date 021822162021 #手动设置,我这时间2021年11月27日19点16分

五、配置编译选项(系统内核)

nano -w /mnt/gentoo/etc/portage/make.conf
COMMON_FLAGS = "-march=native -O2 -pipe" 
MAKEOPTS = "-j17"     #根据CPU线程数和内存填写,数字可以是CPU核心数+1,但是数字不能超过内存G数的一半(建议用CPU核心数+1和内存G数两者小的那个数字)

六、Chrooting

mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf   #选择镜像站点
mkdir --parents /mnt/gentoo/etc/portage/repos.conf    #创建repos.conf目录
cp /mnt/gentoo/usr/share/portage/config/repos.conf /mnt/gentoo/etc/portage/repos.conf/gentoo.conf    #通过gentoo.conf仓库配置文件来配置Gentoo的ebuild软件仓库,该文件包含了更新 Portage 数据库(包含 Portage 需要下载和安装软件包所需要的信息的一个 ebuild 和相关文件的集合)所需要的同步信息。 
cp --dereference /etc/resolv.conf /mnt/gentoo/etc/    #复制DNS信息

mount --types proc /proc /mnt/gentoo/proc
mount --rbind /sys /mnt/gentoo/sys
#mount --make-rslave /mnt/gentoo/sys   #安装systemd需要
mount --rbind /dev /mnt/gentoo/dev
#mount --make-rslave /mnt/gentoo/dev   #安装systemd需要

chroot /mnt/gentoo /bin/bash  #使用chroot将根目录的位置从/mnt/gentoo更改成/mnt/gentoo/
source /etc/profile           #使用source命令将在/etc/profile中的设置重新载入到内存中
export PS1="(chroot) ${PS1}"  #更改主提示符

mount /dev/nvme0n1p1 /boot   #挂载boot分区

nano -w /etc/portage/repos.conf/gentoo.conf #将sync-uri = rsync://rsync.gentoo.org/gentoo-portage修改为sync-uri = rsync://mirrors.tuna.tsinghua.edu.cn/gentoo-portage

七、配置Portage

emerge-webrsync   #下载Gentoo ebuild数据库快照,省流量的可选
emerge --sync     #更新Gentoo ebuild存储库,具体要多久视你的网络情况而定,反正网速不好的话可以去喝杯咖啡 
eselect profile list  #查看系统当前使用的配置文件eselect
eselect profile set 5 #具体数字根据自己的情况选择
emerge --ask --verbose --update --deep --newuse @world #更新@world集(系统升级、profile构建stage3、use标记变化时需要),CPU不行的可以喝两杯咖啡
emerge --ask app-editors/vim  #这个版本更新之后nano没了
vim /etc/portage/make.conf
#ACCEPT_LICENSE = "-* @FREE" 
ACCEPT_LICENSE = "*"
emerge --ask app-portage/cpuid2cpuflags
cpuid2cpuflags
echo "*/* $(cpuid2cpuflags)" > /etc/portage/package.use/00cpu-flags

八、时区

echo "Asia/Shanghai" > /etc/timezone   #写入时区
emerge --config sys-libs/timezone-data  #告诉C类库系统在什么时区

九、配置locale
1、Locale生成

vim /etc/locale.gen
en_US ISO-8859-1
en_US.UTF-8 UTF-8
zh_CN.GB18030 GB18030
zh_CN.GBK GBK
zh_CN.UTF-8 UTF-8
zh_CN GB2312

locale-gen

2、Locale

eselect locale list     #列出系统级别的locale设置列表
eselect locale set 6    #en_US.utf8
env-update && source /etc/profile && export PS1="(chroot) ${PS1}"  #重新加载环境

3、安装固件

emerge --ask sys-kernel/linux-firmware   #安装各种mmp私有固件,如AMDCPU微码、网络接口、显卡,IntelCPU的话还要安装sys-firmware/intel-microcode包

十、安装源码
1、安装源码

emerge --ask sys-kernel/gentoo-sources   #安装Linux内核源码
eselect kernel list
eselect kernel set 1
ls -l /usr/src/linux            #我的显示是linux-5.15.23-gentoo

#手动配置并生成内核或者用genkernel工具自动化生成并安装Linux内核,大家二选一即可,想优先学习并不怕失败的可以选择手动配置,想优先安装好系统的可选择自动化生成内核
2.1、手动配置

emerge --ask sys-apps/pciutils  #安装包含lspci命令的sys-apps/pciutils包
cd /usr/src/linux    #进入内核源码目录
make menuconfig      #开始配置

#这里截图列出必要配置的项
启用特定于 Gentoo 的选项
在这里插入图片描述
启用 devtmpfs 支持
在这里插入图片描述
启用 SCSI 磁盘支持
在这里插入图片描述
选择必要的文件系统
在这里插入图片描述
选择PPPoE必要的驱动
在这里插入图片描述
激活 SMP 支持
在这里插入图片描述
激活输入设备的 USB 支持
在这里插入图片描述
选择处理器类型和功能
在这里插入图片描述
启用对 GPT 的支持
在这里插入图片描述
启用对 UEFI 的支持
在这里插入图片描述

make && make modules_install     #编译和安装
make install
emerge --ask sys-kernel/dracut    #构建initramfs
dracut --kver=4.9.16-gentoo
ls /boot/initramfs*

2.2、自动配置内核

emerge --ask sys-kernel/genkernel
vim /etc/fstab
/dev/nvme0n1p1	/boot	ext2	defaults	0 2

genkernel all   #创建一个内核、全部模块、初始化内存文件(initramfs),CPU不行的可以喝三杯咖啡
ls /boot/kernel* /boot/initramfs*

#如果报ERROR: kernel source directory “/usr/src/linux” was not found!的话,然后ls /usr/src看到的是linux-5.xx.xx-gentoo-r1而不是linux,然后vim /etc/genkernel.conf将DEFAULT_KERNEL_SOURCE=“/usr/src/linux"改成DEFAULT_KERNEL_SOURCE=”/usr/src/linux-5.xx.xx-gentoo-r1",然后genkernel all就好了

十一、配置文件系统信息

nano -w /etc/fstab
/dev/nvme0n1p1         /boot           ext2            defaults,noatime  0 2
/dev/nvme0n1p2         none            swap            sw                0 0
/dev/nvme0n1p3         /               ext4            noatime           0 1

/dev/cdrom             /mnt/cdrom      auto            noauto,user       0 0

十二、配置网络信息

nano -w /etc/conf.d/hostname    #设置主机名
hostname="madclear"

emerge --ask --noreplace net-misc/netifrc
nano -w /etc/conf.d/net
config_enp2s1="dhcp"
#静态IP按下面的设置
#config_enp2s1="192.168.0.100 netmask 255.255.255.0 brd 192.168.0.255"
#routes_enp2s1="default via 192.168.0.1"

cd /etc/init.d
ln -s net.lo net.enp2s1
rc-update add net.enp2s1 default   #开机自动启用网络连接
#如果多网卡的话创建对应的net.*文件,如果要更改网卡名,按以下操作
#用正确的名称更新 /etc/conf.d/net (比如说 enp3s0 取代 eth0).
#创建符号链接 (比如 /etc/init.d/net.enp3s0).
#删除旧的符号链接 (rm /etc/init.d/net.eth0).
#创建新的 default runlevel.
#删除旧的 runlevel rc-update del net.eth0 default.

#nano -w /etc/hosts

emerge --ask sys-apps/pcmciautils  #笔记本的话可能要装PCMCIA,台式机不需要安装这个

十三、配置系统信息

touch /etc/modprobe.d/blacklist.conf  #禁用万恶之源
nano -w /etc/modprobe.d/blacklist.conf
blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
passwd

十四、安装必备工具
1、安装系统工具

emerge --ask app-admin/sysklogd   #系统日志工具
rc-update add sysklogd default

emerge --ask sys-process/cronie   #Cron守护进程,执行计划命令用
rc-update add cronie default

emerge --ask sys-apps/mlocate   #文件索引,用locate工具加快索引

rc-update add sshd default   #启用开机ssh

emerge --ask sudo     #安装sudo

#nano -w /etc/inittab  #注释s0、s1,这一步一般不需要
#s0:12345:respawn:/sbin/agetty 9600 ttyS0 vt100
#s1:12345:respawn:/sbin/agetty 9600 ttyS1 vt100

2、安装文件系统工具
根据自己的需求安装,这里把常用的文件系统和包列出来

FilesystemPackage
Ext2, 3, and 4sys-fs/e2fsprogs
XFSsys-fs/xfsprogs
ReiserFSsys-fs/reiserfsprogs
JFSsys-fs/jfsutils
VFAT (FAT32, …)sys-fs/dosfstools
Btrfssys-fs/btrfs-progs
ZFSsys-fs/zfs

3、安装网络工具(喜欢NetworkManager的可以自己换成这个)

emerge --ask net-misc/dhcpcd   #DHCP客户端

emerge --ask net-dialup/ppp    #PPPoE客户端,看自己有没有这个需求

emerge --ask net-wireless/iw net-wireless/wpa_supplicant  #无线网络工具,看自己有没有这个需求

十五、配置引导加载程序
GRUB2

echo 'GRUB_PLATFORMS="efi-64"' >> /etc/portage/make.conf
emerge --ask sys-boot/grub:2          #安装引导器GRUB2

grub-install --target=x86_64-efi --efi-directory=/boot --removable  #通过grub-install命令安装GRUB2所需的文件到/boot/grub/目录

grub-mkconfig -o /boot/grub/grub.cfg     #生成最终的GRUB2配置

十六、重启系统

exit
cd
umount -l /mnt/gentoo/dev{/shm,/pts,}
umount -R /mnt/gentoo   #如果报设备忙的话不用管
拔掉U盘
reboot

useradd -m -G users,wheel,audio -s /bin/bash quan
passwd quan
echo "quan ALL=(ALL) ALL" >> /etc/sudoers
rm /stage3*

emerge --sync 
emerge --ask --verbose --update --deep --newuse @world

十七、安装桌面环境
1、桌面环境(我以前用的i3wm,但这个配置比较费时间,真正工作日常生活现在用的最多的还是Xfce)

#emerge --ask xorg-server xorg-x11 xorg-drivers
sudo emerge --ask x11-base/xorg-server
sudo env-update
source /etc/profile

sudo echo XSESSION="Xfce4" > /etc/env.d/90xsession
sudo env-update

sudo vim /etc/portage/package.use/xfce加入app-text/poppler -qt5
sudo dispatch-conf
sudo emerge --ask --oneshot xfce-extra/xfce4-notifyd
sudo emerge --ask xfce-base/xfce4-meta

#i3wm我已经弃用,要学的东西太多,而且我桌面用的少,没有太多的精力花费在桌面上了。当然,如果又足够的空闲,我也不介意玩一玩平铺式窗口管理器的。
#emerge x11-wm/i3 i3blocks rofi
#emerge lightdm
#rc-update add xdm default

#emerge --ask xfce-base/xfce4-meta xfce-extra/xfce4-notifyd   #安装xfce
env-update && source /etc/profile   #更新系统的环境变量
emerge --ask xfce-extra/xfce4-volumed-pulse  #音量
emerge --ask xfce-extra/xfce4-pulseaudio-plugin  #蓝牙音乐
emerge --ask x11-terms/xfce4-terminal   #安装图形终端
echo "exec startxfce4" > ~/.xinitrc    #将Xfce设置合成默认桌面环境
startx                   #启动图形环境
emerge --ask xfce-extra/xfce4-pulseaudio-plugin xfce-extra/xfce4-taskmanager x11-themes/xfwm4-themes app-office/orage app-editors/mousepad xfce-extra/xfce4-power-manager x11-terms/xfce4-terminal xfce-base/thunar    #xfce的附加应用,各位可以根据自己的需求选装,下面用表格列出各个包和其作用
PackageDescription
xfce-extra/xfce4-pulseaudio-pluginPulseaudio音量控制。(xfce4-mixer已弃用并从Gentoo中删除。可以安装media-sound/volumeicon或类似的托盘混音器)
xfce-extra/xfce4-taskmanager显示所有正在运行的程序的列表,以及每个程序占用的CPU和内存消耗。 通过右键单击项目,您可以杀死运行异常的应用程序,暂停和重新启动它,甚至更改其运行时优先级,这可以调整其对系统资源的需求量。
x11-themes/xfwm4-themes添加几个窗口管理器主题。 您可能想要添加更全面的图标主题,例如 x11-themes/tango-icon-theme只是为了整理您的桌面。
app-office/orage一个简单,方便的日历。
app-editors/mousepad是一个简单的文本编辑器,启动非常快。
xfce-extra/xfce4-power-manager监视和管理电源使用情况的应用程序。 这对笔记本电脑特别重要! 电源管理器允许用户调节屏幕亮度,选择最大性能或节电模式,并在盖子关闭或按下按钮时设置休眠,暂停和关闭操作。xfce4-power-manager 可设置为在电池达到一定水平时提供警告,甚至关闭机器。 该应用程序配有一些有用的面板插件来显示电池/充电状态,以及亮度控制。
x11-terms/xfce4-terminal一个X11终端,比准系统更可配置和有用 xterm。xfce4终端支持Unicode文本,配色方案,伪透明度和硬件加速透明度,通过Xfce的内置合成器,所有开箱即用。 只需确保在面板的终端启动器上运行默认操作 /usr/bin/Terminal取代 xterm。 右键单击启动器并选择Properties来更改命令。
xfce-base/thunarXfce的默认图形文件管理器。 它速度快,功能强大,可以支持多个插件,实现更多功能;使用 emerge进行安装。他的组件包括xfce-extra/thunar-archive-plugin他允许用户使用右键单击菜单创建和提取归档文件。他提供了一个图形化的front-end 包:xarchiver 和file-roller.
xfce-extra/tumbler允许用户从Thunar内预览某些类型的文件,例如图像和字体。
xfce-extra/thunar-volmanmanages自动挂载可移动介质和驱动器。

2、文本编辑器
wiki推荐初级的app-editors/mousepad和功能齐全的app-office/abiword,
然而我还是推荐app-editors/vim

3、电子邮件客户端
wiki推荐轻巧的mail-client/claws-mail或者功能完善的mail-client/thunderbird或者mail-client/evolution
我推荐mail-client/thunderbird

4、
media-video/mplayer
media-sound/exaile

5、浏览器

sudo emerge --ask www-client/firefox

6、字体

sudo emerge --ask media-fonts/wqy-zenhei wqy-bitmapfont wqy-microhei wqy-unibit
eselect fontconfig list
eselect fontconfig enable 24 25 44

7、中文输入法

sudo emerge --ask app-i18n/fcitx
sudo emerge --ask app-i18n/fcitx-configtool
nano -w ~/.xprofile
eval "$(dbus-launch --sh-syntax --exit-with-session)"
export XMODIFIERS="@im=fcitx"
export QT_IM_MODULE="fcitx"
export GTK_IM_MODULE="fcitx"

8、面板插件

PackageDescription
xfce-extra/xfce4-battery-plugin适合笔记本电脑用户。 它显示电池百分比,剩余时间,电源(交流或电池),风扇状态,警告,甚至可以配置为在特定功率级别执行命令。 此功能可用于在电池电量几乎耗尽时将笔记本电脑置于休眠模式。
xfce-extra/xfce4-verve-plugin嵌入面板的一个小命令行。 它比打开终端运行命令更快。
xfce-extra/xfce4-mount-plugin提供一种方便的方法,只需点击鼠标即可安装/etc/fstab中列出的设备。
xfce-extra/xfce4-sensors-plugin允许用户监视硬件传感器,例如CPU温度,风扇RPM,硬盘驱动器温度,主板电压等。

9、图形界面登录
使用startx或者使用显示管理器,下面介绍使用显示管理器

rc-update add dbus default
rc-update add xdm default

wiki介绍的是SLiM,我平时lightdm用的多

sudo emerge --ask x11-misc/lightdm
emerge --ask x11-misc/slim
nano -w /etc/conf.d/xdm
DISPLAYMANAGER="slim"

echo XSESSION=\"Xfce4\" > /etc/env.d/90xsession 
env-update && source /etc/profile

emerge --ask media-sound/pavucontrol #报错pavucontrol binary not found时安装

10、显卡
我这是nvidia 2070super示例,其他显卡就不列了
11、虚拟机
跑类Unix就kvm,跑windows就vmware

网上这类文章较少,而且大多是很多年前的,每当安装过程有较大变动时我会更新一下文章。安装过程中遇到问题可在评论下提出,我会尽量帮忙。

一些常规软件

sudo emerge --ask media-video/mpv  #视频软件
  • 10
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Madclear

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值