网站建设世纪明珠,互联网上网络营销的推广,一个网站的成本,网站开发创业计划书财务分析最近比较闲#xff0c;所以挑战一下自己#xff0c;在自己的台式电脑上安装gentoo
下面记录了我亲自安装的步骤#xff0c;作为以后我再次安装时参考所用。
整体步骤
一般来将一个linux发行版的安装步骤其实大体上都差不多#xff0c;基本分为一下几步#xff1a;
1. …最近比较闲所以挑战一下自己在自己的台式电脑上安装gentoo
下面记录了我亲自安装的步骤作为以后我再次安装时参考所用。
整体步骤
一般来将一个linux发行版的安装步骤其实大体上都差不多基本分为一下几步
1. 制作启动盘
2. 从启动盘启动进入安装流程
3. 硬盘分区
4. 复制文件到分区
5. 安装引导软件现代linux基本上都是grub
6. 进行一些初次启动的基础设置
7. 重启进入新系统
8. 对新系统进行个性化设置
每一步都有各自的难点。不过以我的经验来看最劝退的在硬盘分区这一步容易搞坏。
另外对新系统进行个性化设置的时候可能会发现某些地方和用户预期的不太一样也可能导致劝退。
制作启动盘
大多数发行版都是通过自己的启动盘启动后进入安装步骤。而gentoo可以用任意的linux启动然后通过chroot切换到安装分区再进行后续步骤。但是考虑到gentoo安装过程中可能会用到一些自己特定的工具所以我考虑后还是决定使用gentoo官方的启动盘。
在
Downloads – Gentoo Linux
我下载了Live GUI USB Image
在
Rufus - 轻松创建 USB 启动盘
下载了rufus工具。
然后用rufus把刚才下载的gentoo镜像烧录到了u盘上。和其他的发行版不同gentoo必须要选dd模式烧录出来的usb启动盘才好用。
把刚刚制作好的usb启动盘插入usb口然后开机狂按delete键进入bios设置选择usb存储介质启动就可以从刚刚制作好的usb启动盘启动。
连通网络
因为gentoo在安装过程中要下载很多文件所以必须要连通网络。
因为我选的是Live GUI所以开机启动以后进入了KDE桌面会自动识别计算机硬件以及网络。因为我的机器在路由器后面而路由器开启了dhcp所以网络变成了自动配置直接就连接到了网络上。
没错很多市面上的教程都是讲解的minimal installation CD字符界面的启动盘如何开始配置网络因为我用的Live GUI网络配置这步省掉了。
在左下角的开始菜单可以启动浏览器通过浏览器浏览网页可以在线阅读安装教程比纯字符界面的启动盘操作方便多了。
同样通过左下角的开始菜单启动一个命令行窗口。因为是KDE桌面所以konsole还可以开启多标签页可以在一个标签里进行安装在另一个标签里输入其他命令。这样方便多了。
也许有人认为在纯命令行的minimal installation CD系统下调试网络是一件水平更高的事情但是我还没到那种水平先从GUI开始。
在
Gentoo Linux安装教程20220218长期更新维护_gentoo安装-CSDN博客
的作者选择从minimal installation CD启动通过命令行完成网络配置然后启动ssh 通过ssh远程操作来完成所有的后续步骤这个方法适用于服务器的管理。
我这边是桌面系统而且既然已经可以通过minimal installation CD启动也就是说可以物理接触到这台电脑了。那也没有必要非得把安装系统的工作也通过远程来处理完全可以直接操作电脑完成系统安装然后在安装好的系统里开启ssh再通过ssh远程操作完成个性化配置的步骤。
硬盘分区
我的电脑上有多块硬盘专门拿出一块来做linux系统用所以我选择全盘安装为此我拆开机箱把其他几块硬盘的sata线拔了以免误操作把其他几块硬盘上的数据破坏了。
接下来进入实质的硬盘分区步骤。硬盘分区是十分危险的操作必须要root权限在gentoo Live GUI环境里通过sudo来提权执行是不需要输入密码的但是如果想通过su命令直接切换为root却不行。
我参考了几个文章
How to install Gentoo with UEFI LUKS LVM and systemd | amedeos home
Installing Gentoo – Alices Digital Notebook
How To Install Gentoo With LVM and Disk Encryption | NKLY
关于硬盘分区我采用的方案是GPT方式。搭配lvm和btrfslvm和btrfs的优势这里就不介绍了读者可以去自行查阅相关资料。
konsole中输入命令
lsblk
输出结果大概如下 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 953.9G 0 disk ├─sda1 8:1 0 100M 0 part ├─sda2 8:2 0 16M 0 part ├─sda3 8:3 0 292.2G 0 part ├─sda4 8:4 0 680M 0 part └─sda5 8:5 0 660.9G 0 part sdb 8:16 0 238.5G 0 disk ├─sdb1 8:17 0 512M 0 part /boot └─sdb2 8:18 0 238G 0 part ├─system-swap 254:0 0 2G 0 lvm └─system-root 254:1 0 236G 0 lvm / sdc 8:32 0 3.6T 0 disk ├─sdc1 8:33 0 16M 0 part └─sdc2 8:34 0 3.6T 0 part nvme0n1 259:0 0 465.8G 0 disk ├─nvme0n1p1 259:1 0 16M 0 part └─nvme0n1p2 259:2 0 465.7G 0 part 可以看到有sdasdbsdc共3个sata硬盘另外还有一个nvme0n1的nvme 硬盘从容量和分区上上可以判断到底哪块硬盘是要用的。
当然也可以使用
fdisk -l
列出的信息会更多。
初步分区
我选择了/dev/sdb作为安装硬盘那么使用命令
fdisk /dev/sdb
进入分区模式
按m可以弹出提示
按l可以列出已有的分区
按d可以删除分区
按p可以打印出分区表也就是可以列出各个分区的信息
因为我要使用全盘安装所以先用d删除所有分区删除所有分区后按l查看分区情况然后按n增加新分区。我创建了以下几个分区
bios启动分区2Mfat格式
boot分区512Mfat32格式
其他硬盘空间划分为一个lvm卷
在这个lvm卷中创建一个swap分区作为系统的swap
把这个lvm卷剩余的空间创建一个btrfs分区作为/分区在这步其实也可以创建多个分区分别给//usr/home等但是这不是十分重要的所以我没有费心处理。
fdisk有点古老可以设置的内容也比较少比如卷标之类的不能设置也可以使用parted命令
parted -a optimal /dev/sdb
进入分区模式后可以按照以下命令创建分区。
如果是UEFI模式启动
# Make new GPT partition table
mklabel gpt# Create an UEFI ESP
mkpart primary 1MiB 257MiB
name 1 efi
set 1 esp on# Create a boot partition
mkpart primary 257MiB 513MiB
name 2 boot
set 2 boot on# Create a LVM partition
mkpart primary 513MiB 100%
name 3 data-encrypted
set 3 lvm on# Check that everything is correct and quit
print
quit
如果是BIOS模式启动
# Make new GPT partition table
mklabel gpt# Create a BIOS Boot partition
mkpart primary 1MiB 3MiB
name 1 biosboot
set 1 bios_grub on# Create a boot partition
mkpart primary 3MiB 259MiB
name 2 boot
set 2 boot on# Create a LVM partition
mkpart primary 259MiB 100%
name 3 data-encrypted
set 3 lvm on# Check that everything is correct and quit
print
quit
BIOS模式MBR分区不支持2T以上的硬盘所以现在即使是创建分区也都是用UEFI模式GPT分区。这里之所以有区别仅仅是考虑到将来启动的时候主板采用的启动模式。说到底还是建议使用UEFI模式。
创建加密的lvm卷组
剩下的第3个分区我打算创建lvm所以操作有所不同。
如果你希望在lvm上开启加密那么
cryptsetup luksFormat -c aes-xts-plain64 -s 512 /dev/sdb3
会提示你是否创建加密分区输入yes确认然后按照提示输入加密的密码这个分区就被加密了。然后使用命令
cryptsetup luksOpen /dev/sdb3 lvm
在这个加密分区上创建lvm卷这里会提示你输入加密的密码把刚才的密码输入进去。注意这个命令最后的参数“lvm”这个成为了设备名所以下一步使用命令
pvcreate /dev/mapper/lvm # /dev/mapper是系统指定的lvm就是刚刚创建的加密分区名
创建lvm的物理卷
输入命令
vgcreate system /dev/mapper/lvm # 在/dev/mapper/lvm物理卷上创建卷组system
创建卷组
创建非加密的lvm卷组
我个人使用的电脑没必要加密所以我跳过加密这一步直接创建lvm物理卷。
pvcreate /dev/sdb3
输入命令
vgcreate system /dev/sdb3 # 在/dev/sdb3物理卷上创建卷组system
创建逻辑卷组
创建lvm分区
不论是加密还是不加密我创建的卷组名都叫system。卷组创建好以后就可以创建分区输入命令
lvcreate -L 8G -n system-swap system # 在system卷组内创建system-swap分区
lvcreate -l 100%VG -n system-root system # 在system卷组内创建system-root分区使用剩余的全部空间
格式化分区
创建分区的时候是不能指定文件系统的所以创建分区完成后使用以下命令格式化对应分区创建文件系统
mkfs.vfat /dev/sdb1 # 创建fat文件系统用于bios启动
mkfs.vfat -F32 /dev/sdb2 # 创建fat32文件系统作为/boot分区
这里我采用了fat32格式的boot分区也可以用ext4的。无论如何boot分区都必须是一个单独的primary分区否则启动容易失败。
处理swap分区
mkswap /dev/mapper/system-swap # /dev/mapper是lvm的固定路径system-swap是刚才创建的lvm逻辑卷
swapon /dev/mapper/system-swap # 启用swap分区
处理根分区
mkfs.btrfs -L root /dev/mapper/system-root # /dev/mapper是lvm固定路径system-root是刚刚创建的逻辑卷
mount /dev/mapper/system-root /mnt/gentoo # 把格式化后的分区挂在到一个目录上备用通常是/mnt/gentoo
如果说这块硬盘之前安装过其他的linux系统并且已经分好区了那么前面的分区操作都不需要直接执行这里的格式化就可以只要用lsblk和blkid命令查看一下分区情况确保mkfs时选择正确的分区即可。
安装stage3
很多安装教程都是建议用户使用curl和wget来下载stage3的压缩包。因为我用的是Live GUI所以我用浏览器到镜像站点下载的stage3的压缩包。我下载的是desktop profile openrc。这是因为我考虑到将来可能会用到FreeBSD而systemd和FreeBSD不兼容迁移的时候会麻烦。 stage3的压缩包下载以后放到/mnt/gentoo目录然后解压缩
tar xpvf stage3*.tar.xz
因为用的是Live GUI所以也可以用图形界面的工具解压缩到/mnt/gentoo目录
这样stage3的文件内容就都解压缩到/mnt/gentoo目录下了而/mnt/gentoo其实是mount的/dev/sdb3这个lvm中的/分区。所以理论上讲只要把grub安装到/dev/sdb上再设定好fstab其实可以重启到这个stage3的系统中了。
但是这样的话后续的操作就要全部在stage3中进行这样就失去了图形界面无法一边安装一边上网查资料。而且因为还有一些其他参数没有设定好比如时区、语言等等会导致更多的不便。所以我还是坚持在Live GUI中完成后续的操作。
校对时间
因为gentoo安装过程中会下载很多文件而且会对比文件的新旧如果计算机本身的时间有问题那就可能会在对比文件新旧的过程中产生一些不必要的麻烦这里可以用命令行对一下时间
#自动或者手动设置时间
ntpd -q -g #自动
date 021822162021 #手动设置我这时间2021年11月27日19点16分 如果计算机的时间没问题不进行这步操作也没事
设置镜像站点
为了改善下载的速度我们把镜像站点选为离我们较近的站点
mirrorselect -i -o /mnt/gentoo/etc/portage/make.conf
虽然是字符界面但是会弹出老式的那种字符界面的图形菜单供选择根据自己的网络状态选取就好比如说我选的是南京大学的镜像。
nano /mnt/gentoo/etc/portage/make.conf
也可以直接编辑/mnt/gentoo/etc/portage/make.conf这个文件里面增加内容 GENTOO_MIRRORShttp://mirrors.nju.edu.cn/gentoo/ 配置编译选项
调整编译选项的方法是编辑配置文件
nano /mnt/gentoo/etc/portage/make.conf里面的内容
编译优化选项
Linux Manpages Online - man.cx manual pages COMMON_FLAGS -marchnative -mtunenative -O2 -pipe # -marchnative -mtunenative 针对当前cpu优化 # -O2 中等优化比较稳妥如果要激进的优化可以使用-O3但是会有一些危险的汇编代码可能会导致计算出错 # -pipe 在编译期使用管线IO而不是临时文件通过增加内存占用的代价加快编译速度 MAKEOPTS -j17 # 采用多线程编译加快编译速度。根据CPU线程数和内存填写数字可以是CPU核心数1但是数字不能超过内存G数的一半建议用CPU核心数1和内存G数两者小的那个数字 CFLAGS${COMMON_FLAGS} # C编译器的优化选项 CXXFLAGS${COMMON_FLAGS} # C编译器的优化选项 FCFLAGS${COMMON_FLAGS} # Fortran 9x编译器的优化选项其实和FFLAGS没啥差别 FFLAGS${COMMON_FLAGS} # Fortran编译器的优化选项 还可以通过命令
cpuid2cpuflags
检测当前cpu支持的指令集并通过在/mnt/gentoo/etc/portage/make.conf中增加对应内容 CPU_FLAGS_X86“aes avx avx2 f16c fma3 mmx mmxext pclmul popcnt rdrand sha sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 vpclmulqdq” 开启对该cpu所拥有指令集的支持
本地化选项
Localization/Guide - Gentoo wiki L10Nen en-US zh zh-CN # 增加额外的语言支持 LINGUASen en_US # 对于这里的语言不提供额外支持 USE选项
gentoo通过USE选项来调整软件在编译和配置时的参数在这个配置文件中可以增加一些全局参数。而如果想在各个软件包中单独设置参数则可以在/etc/portage/package.use/目录下的软件包名的文件来调整。
对于全局而言一般都要用的选项 USEnetworkmanager pulseaudio alsa spice usbredir udisks offensive bash-completion opengl opencl vulkan v41 x264 x265 theora policykit vaapi vdpau lto cec wayland X libressl xattr dbus xft # bash-completion 添加bash提示 # -jit t禁用JIT因为JIT可能和hardened冲突 # libressl 替代openssl因为openssl冒出来了心脏流血漏洞确实有替代的需要 # vim-syntax 安装配套的vim语法高亮文件 # xattr 针对额外的文件系统特性提供支持 # alsa 增加对alsa声音系统的支持 # dbus 启用dbus对系统的支持 # -gnome -gnome-keyring 去掉对GNOME的支持 # -kde 去掉对KDE的支持 # -pulseaudio 去掉对Pulseaudio的支持 # xft 启用X FreeType支持 # X 启用X11支持 虽然新一代的图形系统大家都在逐步切换到wayland但是有时对X11的支持是必不可少的而且如果文件中有VIDEO_CARDS和INPUT_DEVICES这两个选项启用对X11的支持也是有好处的 在USE选项中还可以增加hardened参数来提高安全性不过这额外的安全性可能会在未来带来使用上的不便比如SELinux
加固的Gentoo (Hardened Gentoo) - Gentoo wiki
其他选项
其实还可以添加VIDEO_CARDS和INPUT_DEVICES这两个选项有助于X系统的安装。不过因为本来我就是用的Live GUI都已经识别好了而且我用的是台式机不需要针对触摸板或者指点杆做特殊处理。 ACCEPT_LICENSE“*” # 对任何软件的许可协议都接受这样在emerge的时候不会需要你时不时的去接受一些奇奇怪怪的许可协议 复制DNS
因为当前的Live GUI已经识别了网卡网络都已经配置好了所以直接把当前系统的DNS设置复制到新的stage3里 cp -L /etc/resolv.conf /mnt/gentoo/etc/ 挂载文件系统 mkdir /mnt/gentoo/boot
mount /dev/sdb2 /mnt/gentoo/boot
mkdir -p /mnt/gentoo/boot/efi
mount /dev/sdb1 /mnt/gentoo/boot/efi
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需要
test -L /dev/shm rm /dev/shm mkdir /dev/shm
mount -t tmpfs -o nosuid,nodev,noexec shm /dev/shm
chmod 1777 /dev/shm 除了刚刚创建的boot分区以外还要把bios启动的EFI分区也要挂载上去。另外proc、sys、dev也挂载上去。
我选择的是openrc所以对于sys和dev不需要太多处理如果选择systemd还要额外处理一下。 对于shm这个共享内存一般来讲不需要处理但是保险起见我处理了一下。
切换到stage3
到这里就可以切换到刚刚解压缩出来的stage3了 chroot /mnt/gentoo /bin/bash
source /etc/profile
export PS1(chroot) $PS1 通过chroot命令当前命令行——也就是konsole里的标签页——也就切换到了新解压缩出来的stage3系统中。接下来的所有操作其实都是在stage3新系统里的操作
设置时区
通过以下命令可以查看可用的时区 ls /usr/share/zoneinfo 如果有子目录的话意味着里面还有更多的时区选项比如 ls /usr/share/zoneinfo/Asia 就可以看到Shanghai
根据可选的时区设置时区比如说我国使用的是 echo Asia/Shanghai /etc/timezone
emerge --config sys-libs/timezone-data 源同步
设置源
编辑配置文件
nano /etc/portage/repos.conf/gentoo.conf
将 sync-uri rsync://rsync.gentoo.org/gentoo-portage 修改为 sync-uri rsync://mirrors.nju.edu.cn/gentoo-portage 这样就把官方的gpg-key源切换为南京大学的镜像。
执行源同步
emerge-webrsync # 下载Gentoo ebuild数据库快照稍陈旧
emerge --sync # 更新Gentoo ebuild存储库最新的。这步网络比较慢具体要多久视你的网络情况而定也是切换本地源的原因
设定系统方案
eselect profile list # 列出备选的系统方案
eselect profile set prof-num 首先是列出备选的系统方案然后根据清单选择
更新系统
emerge --ask --verbose --update --deep --newuse world #更新world集系统升级、profile构建stage3、use标记变化时需要
emerge -avuDN world # 也可以用缩写
系统更新以后你的stage3系统就相当于全部重新编译了一遍编译优化参数就是之前设置的COMMON_FLAGS。现在这个stage3系统的速度应该是有一定的提升的不能说很大因为目前这个系统里面对cpu占用比较多的程序暂时还没有。
安装cpuid2cpuflags
在Live GUI中cpuid2cpuflags这个工具是有的但是到了stage3里面这个工具默认是没有自带的为了后续可能用到这里要安装一下
emerge --ask app-portage/cpuid2cpuflags
设置locale
nano /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 GB2312 然后运行命令
locale-gen # 生成本地化文件
eselect locale list # 列出本地化选项
eselect locale set locale-num # 根据清单选择本地化方案
env-update # 更新系统环境
source /etc/profile # 更新当前bash
export PS1(chroot) $PS1 # 当前bash提示符被重置后再改为合适的提示符
更新gcc
gcc-config --list-profiles # 查看备选的gcc
gcc-config 2 gcc-num # 选取合适的gcc版本
在2024年2月候选的gcc只有1个版本所以也无所谓优化了。
更新过gcc后有必要更新一下系统新版的gcc一般来说生成的二进制文件要快一些。
emerge -avuDN world
定制内核
更新固件
emerge --ask sys-kernel/linux-firmware # 更新固件
更新intel cpu的微代码
echo sys-firmware/intel-microcode initramfs /etc/portage/package.use/intel-microcode
emerge --ask sys-firmware/intel-microcode
安装内核源代码注意不是内核 emerge --ask sys-kernel/gentoo-sources
安装好内核源代码以后到/usr/src目录下看看找到源代码的目录后面要用到
安装内核编译工具
emerge --ask sys-kernel/genkernel
调整内核参数
cd /etc
cp -p genkernel.conf genkernel.conf.ORIG # 备份旧的配置文件
nano genkernel.conf /etc/genkernel.conf的内容中 MAKEOPTS$(portageq envvar MAKEOPTS) LVMyes BTRFSyes LUKSyes # 如果之前选择了加密的lvm就是比需的否则不必 DEFAULT_KERNEL_SOURCE/usr/src/linux-6.6.13-gentoo # 就是之前安装的源代码的目录 其他的选项看情况
安装硬件探测工具
emerge --ask sys-apps/pciutils # 安装包含lspci命令的sys-apps/pciutils包
配置并编译内核
genkernel --menuconfig all
安装额外的文件系统支持
emerge --ask sys-fs/btrfs-progs # btrfs支持
echo sys-fs/lvm2 lvm /etc/portage/package.use/lvm2 # 对lvm的支持调整一下参数
emerge --ask sys-fs/lvm2 # 对lvm的支持
emerge --ask sys-fs/ntfs3g # 对ntfs的支持
每次添加文件系统支持后会有提示要求用rc-update添加到系统服务中按照提示操作
如果需要对其他文件系统的支持也可以添加
安装grub
在/etc/portage/make.conf中增加grub的配置内容 GRUB_PLATFORMSefi-64 # x86_64 UEFI支持目前最流行的 # GRUB_PLATFORMSefi-32 # x86 i386 UEFI支持因为32位cpu时代基本没有UEFI启动的设备所以该选项其实没什么用武之地 # GRUB_PLATFORMSpc # x86 i386 BIOS MBR支持古老 # GRUB_PLATFORMSpc efi-64 # x86 i386 BIOS MBR支持同时支持x86_64 UEFI也就是同时支持老旧的和新的 # GRUB_PLATFORMSpc efi-64 efi-32 # 同时支持x86 i386 BIOS MBRx86_64 UEFI x86 i386 UEFI 增加grub对lvm的支持
echo sys-boot/grub device-mapper /etc/portage/package.use/grub
编译grub
emerge --ask sys-boot/grub
把grub安装到引导存储器上
grub-install --targetx86_64-efi --efi-directory/boot /dev/sdb
我是在一整个硬盘上安装不用grub做多操作系统启动所以没有让grub探测其他操作系统。当我使用多系统时我会在开机时按delete进入bios选择启动的硬盘以此来启动不同的操作系统
找到加密lvm的UUID
blkid
该命令会列出各个存储设备的信息其中最重要的是UUID
配置grub
/etc/default/grub
里面的内容 GRUB_CMDLINE_LINUX_DEFAULTdolvm crypt_rootUUIDcrypt-partition-uuid crypt_swapUUIDcrypt-swap-uuid root/dev/mapper/system-root 其中dolvm支持lvm文件系统格式crypt_root和crypt_swap支持加密卷root支持根目录
生成grub配置文件
grub-mkconfig -o /boot/grub/grub.cfg
生成fstab
linux系统启动的时候会读取/etc/fstab文件并按照其内容挂载文件系统。内容如下 /dev/system/root / btrfs defaults 0 0 /dev/system/swap swap swap defaults 0 0 UUIDA84A-FDFE /boot vfat utf8,codepage936 0 2 UUIDBA13-AD23 /boot/efi vfat utf8,codepage936 0 2 也就是之前对硬盘的分区所对应的几个分区。其他硬盘上的分布如果需要挂载可以在系统启动后通过其他方法挂载而不建议在fstab中增加内容因为那些设备一旦变动可能会导致系统不能启动。另外由于多个硬盘的存在如果增减硬盘那么/dev/sdx中的x可能会变所以fstab里也要避免使用这种可能会变的设备名。
其中/boot的UUID就是之前命令blkid输出的挂载到/boot的/dev/sda2的UUID每次格式化mkfs之后都会生成一个新的。UUID是不变的。
到这里stage3就已经安装到硬盘上而且启动器grub也安装好了接下来要进行一些配置
初次启动前配置
配置网络
使用networkmanager管理网络
NetworkManager - Gentoo wiki emerge --ask net-misc/networkmanager # NetworkManager支持网络连接管理服务自动识别网卡自动dhcp
rc-update add NetworkManager default # NetworkManager随系统启动
rc-update add sshd default #启用开机ssh我是很反对使用netifrc和dhcpcd的因为networkmanager更适合桌面电脑
有了networkmanager开机启动以后每次开机网络都会自动配置自动联网
设置主机名
echo your_host_name /etc/hostname
有一些文章建议编辑/etc/conf.d/hostname我不建议
另外还要设定一些特定的主机名对应的ip可以编辑/etc/hosts一般来讲都是用来指定内网地址或者绕开DNS污染的
配置系统
计划任务
emerge -av sys-process/cronie # 计划任务
rc-update add cronie default # 计划任务随系统启动
一些管理工具
emerge -av app-portage/gentoolkit # gentoo的一些工具
emerge -av app-admin/sudo # sudo支持
设置root密码
第一次开机登录的时候使用该密码登录
passwd root
退出以后就可以重启了
初次启动的配置
初次启动的时候直接从grub菜单选择启动内核即可。
启动后以root登录密码刚才设置过了
然后创建一个新的普通用户
useradd -m -G users,wheel,audio,video,portage -s /bin/bash your_user_name
日常情况下可以以这个普通用户登录来使用
安装KDE 此时仍然是root在字符界面登录的状态。
KDE - Gentoo wiki
SDDM - Gentoo wiki
emerge --ask kde-plasma/plasma-meta
emerge --ask kde-plasma/kdeplasma-addons
emerge --ask kde-apps/kwalletmanager
emerge --ask kde-plasma/kwallet-pam
emerge -1 kde-cli-tools
emerge --ask kde-apps/kde-apps-meta
usermod -a -G video sddm
emerge --ask gui-libs/display-manager-init
rc-update add display-manager default # SDDM 开机启动
如果哪个包在安装后提示要进行相应的操作记得完成操作。
这个过程中ffmpeg会自动安装另外KDE自带的媒体播放器也会安装多媒体也就解决了。
另外KDE桌面环境自带了一个Falkon的浏览器其实就是以前的qupzilla。
到了这个时候英文的显示和使用是没有问题的但是中文显示是小方块而且没法输入中文。
完整中文化
安装字体
emerge --ask media-fonts/noto-cjk
安装以后KDE的应用程序就能正确显示中文了。 安装fcitx输入法
emerge --ask app-i18n/fcitx app-i18n/kcm-fcitx app-i18n/fcitx-configtool
打开系统设置文件
nano /etc/profile 在里面追加 fcitx export XMODIFIERSimfcitx export XIMfcitx export XIM_PROGRAMfcitx export GTK_IM_MODULEfcitx export QT_IM_MODULEfcitx 然后在KDE控制面板中设置为中文从KDE桌面注销后再次登录KDE后就全都是中文了而且可以正常输入中文。
但此时SDDM登陆界面还是英文
修改系统locale设定
找到/etc/env.d/02locale文件将LANG变量的值由en_US.utf8更改为zh_CN.utf8。这样即使用户没有登录SDDM显示的也是中文了。