当前位置: 首页 > news >正文

gentoo基本安装过程

该文章是本人在gentoo官方安装文档的基础上简单总结的,也是本人自己实践过的,目前本人用的就是gentoo,对于真的需要安装gentoo的朋友,建议还是参考官方文档,说的比较详细,这个可以简单看看,可以从整体上把握gentoo的安装过程。

安装步骤

  1. 选择install-amd-minimal-.iso刻录到u盘中,作为安装系统的最基本的环境
    注:也可以用已安装好的系统作为基本系统环境,如fedora或ubuntu等其它的发行版

  2. 下载stage3包,其包含了一个最小的gentoo系统环境

  3. 网络配置额外分析

  4. 磁盘准备常规:(使用的是单独的磁盘,/dev/sdb),要求准备三个分区,分别用于boot,swap和root.步骤如下
    注:由于本人第一次安装的时候是在移动硬盘上进行的,所以这里的盘符是使用的/dev/sdb

# fdisk /dev/sdb
# n    添加分区1,用于boot
# p    选择建立主分区
# +128M     设置大小为128M# n      添加分区2,用于swap
# p      选择建立主分区
# +2G       设置大小为2G
# t    选择分区2,设置分区类型为82# n    添加分区3
# p    选择建立主分区
# +30G    设置大小为30G
  1. 分区格式化
  # mkfs.ext2 /dev/sdb1# mkfs.ext4 /dev/sdb3
  1. swap 分区格式化
 # mkswap /dev/sdb2# swapon /dev/sdb3
  1. 挂载刚刚建立的分区
 # mkdir /mnt/gentoo# mount /dev/sdb3 /mnt/gentoo# mkdir /mnt/gentoo/boot# mount /dev/sdb2 /mnt/gentoo/boot
  1. 安装stage3包
# cd /mnt/gentoo        切换到/mnt/gentoo目录
# links   连接到该网站下载stage3文件包当然也是可以提前下好,只要放在要安装的分区下面即可。
# tar xvjpf stage3-*.tar.bz2
  1. 安装portage快照(在最新的官方文档中是没有这一步的,但本人实际操作的时候缺了这部是没有办法继续进行的)
# tar xvjf /mnt/gentoo/portage-latest.tar.bz2 -C /mnt/gentoo/usr
  1. 配置编译选项
# nano -w /mnt/gentoo/etc/portage/make.conf  (vim /mnt/gentoo/portage/make.conf)
# CFLAGS="-march=k8 -02 -pipe" 
# CXXFLAGS="${CFLAGS}"可选:MAKEOPTS="-j2"
  1. 复制host系统的dns信息到新系统中,为后面联网做准备
# cp -L /etc/resolv.conf /mnt/gentoo/etc/
  1. 挂载一些必要的文件系统
# mount -t proc proc /mnt/gentoo/proc
# mount --rbind /sys /mnt/gentoo/sys
# mount --rbind /dev /mnt/gentoo/dev

13.切进新系统,使用新系统的环境

# chroot /mnt/gentoo /bin/bash
# source /etc/profile
# export PS1="(chroot) $PS1"
  1. 配置portage,下载的portage包可能比较旧,此时可以更新一下
 # emerge-webrsync# emerge --sync
  1. 选择适合的profile,各取所需,针对kde,gnome不同桌面的优化,当然也可以不用桌面环境
 # eselect profile list# eselect profile set 2        2是我电脑上的选项
  1. 配置USE变量
# less /usr/portage/profiles/use.desc
# nano -w /etc/portage/make.conf       
# USE="gtk gnome -qt4 -kde dvd alsa cdr"      严重建议在配置USE的时候,如果选择了gnome的话,一定要在udev和systemd之间禁用一个,否则到后面你会很苦
  1. 配置timezone配置时区,同样根据自己的所在地自由选择
# less /usr/share/zoneinfo
# echo "Asia/Chongqing" > /etc/timezone
# emerge --config sys-libs/timezone-data
  1. 配置locale 语言配置,个人随意,但是POSIX C基本是要选的吧
# nano -w /etc/locale.gen
# locale-gen# eselect locale list
# eselect locale set 9
# env-update && source /etc/profile
  1. 安装sources
 # emerge gentoo-sources
  1. 配置sources 开始配置内核了
 # cd /usr/src/linux

在这里你有两种选择,一种是手动配置内核,还有一种是使用genkernel一部搞定,对于没有配置过内核的还是建议使用genkernel吧,否则后面可能会遇到驱动问题

使用genkernel:

# zcat /proc/config.gz > /usr/share/genkernel/arch/x86_64/kernel-config
# emerge genkernel
# genkernel all
# ls /boot/kernel* /boot/initramfs* (如果不存在,使用genkernel --install initramfs重建

手动配置:

   cd /usr/src/linuxmake menuconfigmake && make modules_installcp arch/x86_64/boot/bzImage /boot/kernel-3.4.9-gentoo
  1. 加载核心模块,认识的话就自己选吧,为了省事这步可以省的
 #ls /lib/modules/`uname -r`/ -typee f iname '*.o' -or -iname '*.ko' | less#nano -w /etc/conf.d/modules #modules_2_6="3c59x"
  1. 编辑文件系统信息
 # nano -w /etc/fstab# /dev/sdb1 /boot  ext2 defaults,noatime 0 2# /dev/sdb2 none   swap sw 0 0# /dev/sdb3 / ext4 noatime 0 1# /dev/cdrom /mnt/cdrom auto noauto,user  0 0
  1. 编辑主机名
# nano -w /etc/conf.d/hostname
# hostname="zjd"
  1. 设置开机启用网络,每个人设备上的网卡设备名不同,根据实际来修改
# cd /etc/init.d
# ln -s net.lo net.eth0
# rc-update add net.eth0 default (del)
  1. 设置系统信息
# passwd   root   设置密码# nano -w /etc/rc.conf# nano -w /etc/conf.d/hwclock    如果硬件时钟没用UTC,需要添加"clock="local""
  1. 安装systen logger
# emerge syslog-ng
# rc-update add syslog-ng default
  1. 安安装cron daemon
# emerge cronie
# rc-update add cronie default
  1. 安装文件系统工具
  #emerge xfsprogs#emerge reiserfsprogs#emerge jfsutils
  1. 安装DHCP客户端
# emerge ducpcd
  1. 安装bootloader
 # emerge sys-boot/grub# grub-install /dev/sdb# grub2-mkconfig -o /boot/grub/grub.cfg

大体步骤就这样了,当然这还只是基本的linux环境,如果想要安装图形界面的话,如果还想要装图形界面的话,那么恭喜你,一大波麻烦正在靠近。最起码长时间的等待是少不了的了。

写在最后

想不到这已经是7、八年前玩的东西了,时间真的过的好快。

相关文章:

gentoo基本安装过程

该文章是本人在gentoo官方安装文档的基础上简单总结的,也是本人自己实践过的,目前本人用的就是gentoo,对于真的需要安装gentoo的朋友,建议还是参考官方文档,说的比较详细,这个可以简单看看,可以…...

【LeetCode】1234. 替换子串得到平衡字符串

1234. 替换子串得到平衡字符串 题目描述 有一个只含有 ‘Q’, ‘W’, ‘E’, ‘R’ 四种字符,且长度为 n 的字符串。 假如在该字符串中,这四个字符都恰好出现 n/4 次,那么它就是一个「平衡字符串」。 给你一个这样的字符串 s,…...

[动手写操作系统]-01-开机运行系统

文章目录 **概念和目标**概念目标理论源码概念和目标 概念 assembler: 汇编程序BIOS: BIOS(Basic Input Output System,基本输入输出系统)是个可编程的微型操作系统,用于管理计算机中的软硬件,它控制着系统的启动,系统是如何连接外部设备,怎样响应,调整相应操作,都是…...

最长回文子序列问题

最长回文子序列问题 问题描述:给你一个字符串 s ,找出其中最长的回文子序列,并返回该序列的长度。 子序列定义为:不改变剩余字符顺序的情况下,删除某些字符或者不删除任何字符形成的一个序列。 注意是子序列而不是子…...

月薪11k!从财务专员到软件测试工程师,成都校区小哥哥用三个月实现转行换岗

好久没和大家分享学员的转行经历了,或许在一些人看来他们的故事与自己无关,但同样也能引起一些人的共鸣,可以帮助到那些陷于就业焦虑的同学找到目标和方向。相仿的年龄、相同的职业、相似的压力…在转行软件测试追求更好生活的路上&#xff0…...

Android 逆向工具大整理,碉堡了

文章目录jadx打开 gui 界面把安装包打开双击变量名和方法名可以高亮所有出现的地方**强大的搜索功能****搜索资源****查看 APK 签名****查看 APK dex 数,方法数****查看资源,配置清单****展开包名**查找方式引用反混淆导出 Gradle 工程导出反编译资源lib…...

二维数组的定义

1. 概念二维数组就是一种数组的数组,其本质上还是一个一维数组,只是它的数据元素又是一个一维数组。如果你对这个概念想象不出来,给大家举个栗子,相信吸烟的同学一下子就会明白。一根烟 一个变量一包烟 20根烟 一维数组一条烟 …...

SpringMVC--获取请求参数、域对象共享数据

SpringMVC获取请求参数 通过ServletAPI获取 将HttpServletRequest作为控制器方法的形参,此时HttpServletRequest类型的参数表示封装了当前请 求的请求报文的对象 RequestMapping("/testParam") public String testParam(HttpServletRequest request){S…...

2月13日,30秒知全网,精选7个热点

///深圳支持数字经济核心区试点,市民每月免费享有1T网络流量支持基础电信企业、广电企业及互联网企业加快推进全市内容分发网络(CDN)扩容及智能改造行动,优化和完善CDN节点部署,积极利用边缘计算技术,推动互…...

【C++设计模式】学习笔记(2):模式分类与模版方法 Template Method

目录 简介模式分类GOF-23 模式分类从封装变化角度对模式分类重构获得模式 Refactoring to Patterns重构关键技法“组件协作”模式Template Method 模式动机(Motivation)结构化软件设计流程面向对象软件设计流程早绑定与晚绑定模式的定义结构(Structure)要点总结结语简介 He…...

【Swift 60秒】92 - Nil coalescing

0x00 Lesson The nil coalescing operator unwraps an optional and returns the value inside if there is one. If there isn’t a value - if the optional was nil - then a default value is used instead. Either way, the result won’t be optional: it will either b…...

python pip安装的包的路径

以ubuntu为例从一个店家那里拿到的一个ubuntu环境中,同时安装了python3.6和python2.7,又安装了ros,最后pip安装包的位置很混乱,安装的包不知道安装在了哪里。使用vscode的时候需要代码提示,就得找到包的路径&#xff0…...

个人收藏学习

【默认收藏夹】 CompletableFuture使用详解(全网看这一篇就行) 从头开始学MySQL-------存储过程与存储函数(4) 聊聊支付流程的设计与实现逻辑 聊聊消息中心的设计与实现逻辑 SpringBoot2 整合JTA组件,多数据源事务管理…...

【C++】类和对象---需掌握的功能

目录1.初始化列表1.1构造函数赋值1.2初始化列表格式:编译器执行的顺序:特性:1.3explicit关键字类型替换过程多参数构造函数类型替换(C11)2.static成员编程题3.匿名对象4.友元4.1友元函数4.2友元类5.内部类6.拷贝对象时…...

2.12、进程互斥的软件实现方法

学习提示: 理解各个算法的思想、原理结合上小节学习的 “实现互斥的四个逻辑部分”,重点理解各算法在进入区、退出区都做了什么分析各算法存在的缺陷(结合 “实现互斥要遵循的四个原则” 进行分析) 1、单标志法 算法思想:两个进…...

Java面试题-数据库

数据库相关 MySQL的索引使用 默认会有主键索引。 索引分类:单值索引、复合索引、唯一索引 详细文章 MySQL explain 分析 MySQL通过explain关键字分析SQL的执行计划。(Oracle通过EXPLAIN PLAN FOR sql) IDSELECT_TYPETABLEPARTITIONSTYPEPOSS…...

select 与 where、group by、order by、limit 子句执行优先级比较

当 select 和 其他三种语句的一者或者多者同时出现时,他们之间是存在执行先后顺序的。 他们的优先级顺序是:where > group by > select > order by > limit 目录 1、select 与 where 2、group by 与 where 、select 2、select 与 order…...

【Docker】用开源umami监控你的站点访问量

新年到,祝大家兔年吉祥!🎉 1.介绍 umami是一个开源的站点访问量监看程序,其支持docker部署到自己的服务器上。相比较百度等收费的网站信息监看,这种方式对于小站长来说更加实惠一些 2.docker安装的坑 2.1 docker-co…...

java环境配置

java环境配置步骤下载jdk安装jdk配置环境变量通过控制台命令验证配置是否成功大功告成安装教程: https://blog.csdn.net/m0_37220730/article/details/103585266 下载jdk 若不理解JDK/JRE/JVM的关系,可以点此查看初识Java(概念、版本迭代、…...

Linux系统服务:Apache安装及配置应用

目录 一、Apache安装 1、Apache简介 2、Yum安装 3、编译安装 4、服务管理 5、编译安装实现systemctl服务管理 二、Apache配置应用 1、基础应用 2、隐藏版本号 3、更改监听端口 一、Apache安装 1、Apache简介 Apache即阿帕奇是一款开源的、世界使用排名第一的Web服务…...

label-studio的使用教程(导入本地路径)

文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

pam_env.so模块配置解析

在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...

反射获取方法和属性

Java反射获取方法 在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...

大模型多显卡多服务器并行计算方法与实践指南

一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...

【C语言练习】080. 使用C语言实现简单的数据库操作

080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...

CSS设置元素的宽度根据其内容自动调整

width: fit-content 是 CSS 中的一个属性值&#xff0c;用于设置元素的宽度根据其内容自动调整&#xff0c;确保宽度刚好容纳内容而不会超出。 效果对比 默认情况&#xff08;width: auto&#xff09;&#xff1a; 块级元素&#xff08;如 <div>&#xff09;会占满父容器…...

提升移动端网页调试效率:WebDebugX 与常见工具组合实践

在日常移动端开发中&#xff0c;网页调试始终是一个高频但又极具挑战的环节。尤其在面对 iOS 与 Android 的混合技术栈、各种设备差异化行为时&#xff0c;开发者迫切需要一套高效、可靠且跨平台的调试方案。过去&#xff0c;我们或多或少使用过 Chrome DevTools、Remote Debug…...

倒装芯片凸点成型工艺

UBM&#xff08;Under Bump Metallization&#xff09;与Bump&#xff08;焊球&#xff09;形成工艺流程。我们可以将整张流程图分为三大阶段来理解&#xff1a; &#x1f527; 一、UBM&#xff08;Under Bump Metallization&#xff09;工艺流程&#xff08;黄色区域&#xff…...

PH热榜 | 2025-06-08

1. Thiings 标语&#xff1a;一套超过1900个免费AI生成的3D图标集合 介绍&#xff1a;Thiings是一个不断扩展的免费AI生成3D图标库&#xff0c;目前已有超过1900个图标。你可以按照主题浏览&#xff0c;生成自己的图标&#xff0c;或者下载整个图标集。所有图标都可以在个人或…...

LeetCode - 148. 排序链表

目录 题目 思路 基本情况检查 复杂度分析 执行示例 读者可能出的错误 正确的写法 题目 148. 排序链表 - 力扣&#xff08;LeetCode&#xff09; 思路 链表归并排序采用"分治"的策略&#xff0c;主要分为三个步骤&#xff1a; 分割&#xff1a;将链表从中间…...