安装最小gentoo系统
gentoo是通过编译源码安装系统与软件的linux发行版,安装时间比较长,配置比较复杂。
64位gentoo安装官方教程gentoo-x86_64 wiki
从 Gentoo-Downloads 下载 minimal install cd 与 stage3
开始安装前的一些关于gentoo
的说明,方便理解gentoo系统,对于安装过程的命令和问题等等有所了解,避免困惑
minimal install cd 就是一个live cd的启动进入安装环境的系统镜像。
stage 3是【准】系统文件,把要安装gentoo的分区格式化好后,解压 stage 3 到这个分区,但是并不包括kernel和软件
emerge是gentoo的包管理器,会根据你要安装的软件,查找依赖的软件,下载相关【源码】后,编译安装,每次执行都是重新编译安装
emerge运行时,偶尔会提示需要更新配置文件
1
IMPORTANT: 2 config files in '/etc/portage' need updating
原因:安装软件后,软件可能需要修改配置,但是不是直接修改了,而是在同一目录生成一个._c00*这样类似的文件,emerge发现后,会提示你update。
一般都是这个配置文件:
/etc/portage/package.use/zz-autounmask
屏蔽安装包解决:运行
etc-update
,输入-3
表示自动 merge 合并,然后会提示你是否覆盖,输入y
。就是自动把新生成的配置._c00*文件 mv 到为要修改的配置文件profile的选择,gentoo是从源码编译安装,安装时,需要选择系统的类型
1
2
3
4
5
6root #eselect profile list
Available profile symlink targets:
[1] default/linux/amd64/17.0 *
[2] default/linux/amd64/17.0/desktop
[3] default/linux/amd64/17.0/desktop/gnome
[4] default/linux/amd64/17.0/desktop/kde可以理解为,确定系统类型,然后再用emerge下载时会根据你选择的类型,找到合适版本的软件,但是profile选择的越多,编译越麻烦,越容易出错。第一次就选择命令行的 default/linux/amd64/17.0,安装完,进入系统,等熟悉了,可以安装其他软件,并不是固定的
emerge编译安装出错,先dmesg看看有没有oom (out of memory),kill cc1plus等等信息,说明编译过程中内存溢出导致编译错误。系统安装过程会设置gcc编译的并发数
-j
,可能数太多,内存不够用,并不是-j
为cpu核数+1就万事大吉,j是job的意思,每个job需要的内存也不一定。尤其是编译profile为desktop时,软件太多,很有可能这样出错。nano编辑器的使用。gentoo的live cd默认是nano编辑器
1
nano /path/to/file
打开文件后直接就像普通文本编辑器一样,直接可以编辑,修改删除等等,编辑完成后,按
ctrl + x
退出,会提示是否保存,输入y
,然后会显示文件路径,提示是否写入,按enter
,就好了,没有修改按ctrl + x
直接退出
所以我建议先安装最小gentoo系统,熟悉一次流程,能够正常安装启动进入了,再试试其他的配置。由于是编译安装,耗时是肯定的。
下面是我总结的安装过程,对照上面提到的官方wiki教程,对比着安装
在virtual box内安装,硬盘设置大一些,20-50g,因为源码,编译生成的中间文件,安装软件会占用很大空间。如果是minimal的8g硬盘可以。
新建虚拟机,virtual box网卡选bridge,enp2s0,不然不能在虚拟机外面ssh,vmware就用默认nat
加载 minimal install cd 启动
启动后需要 按一次 enter 回车,启动进入cd
再按一次 enter 回车,选择默认键盘keymap
出现命令提示符
1 | livecd ~ # |
设置root密码,开启ssh连接,你在虚拟机直接输后面的命令也行
1 | passwd |
在外面终端连接
1 | # 每次重启连接,需要先移除先前的记录的ssh fingerprint |
准备分区,使用整个磁盘,或者就一个分区,太多分区,对于第一次安装会造成混乱
1 | fdisk /dev/sda |
展开stage3到挂载分区,1种是按照教程下载,地址就是上面的stage3地址,2种是通过scp把下载的stages3复制过去
1 | cd /mnt/gentoo |
展开,【一定】要进入到挂载点再执行tar解压
1 | cd /mnt/gentoo |
修改编译选项与软件包镜像地址
1 | nano /mnt/gentoo/etc/portage/make.conf |
其他准备与进入chroot环境的配置,具体可以看看官方文档
1 | # repo |
ebuild,应该是编译环境和软件
1 | # 会下载 |
如果是虚拟机可以在此时,建立快照,方便测试不同profile
选择profile
1 | eselect profile list |
@world,可以理解为Windows注册表一样的全局配置,根据你的profile去下载与配置
1 | # 会下载与编译安装,就相当于系统全局更新 |
1 | echo 'Asia/Shanghai' > /etc/timezone |
1 | env-update && source /etc/profile && export PS1="(chroot) ${PS1}" |
内核
1 | emerge --ask sys-kernel/gentoo-sources |
加入fstab
1 | nano /etc/fstab |
hostname会显示在登录系统后的,终端提示符
1 | echo 'hostname="mygentoo"' > /etc/conf.d/hostname |
其他一些软件
1 | emerge --ask sys-fs/e2fsprogs |
正常安装完,去掉virtual box连接的iso后再启动,否则可能出现 FATAL: INT18: BOOT FAILURE
如果都安装都正常,开启虚拟机,看见grub选项,正常进入系统
minimal正常安装后,可以试试profile为eselect profile set default/linux/amd64/17.0/desktop/gnome/systemd
的系统配置,安装的软件很多,编译时间很长,很容易出现oom导致的编译错误,不要把-j
设置太大
gentoo有别于其他linux发行版,就是他是下载软件源码后编译安装,比较费时,编译过程很容易出错。还有其他什么USE等等的设置,我还不会用。
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 hui740024906@163.com
文章标题:安装最小gentoo系统
文章字数:1.9k
本文作者:qianggetaba
发布时间:2019-08-29, 15:52:57
最后更新:2019-09-09, 10:01:58
原始链接:https://qianggetaba.com/2019/08/29/gentoo-minimal/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。