当前位置: 首页 > 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服务…...

C++实现分布式网络通信框架RPC(3)--rpc调用端

目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...

RocketMQ延迟消息机制

两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数,对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后&#xf…...

【Java学习笔记】Arrays类

Arrays 类 1. 导入包:import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序(自然排序和定制排序)Arrays.binarySearch()通过二分搜索法进行查找(前提:数组是…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)

服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

376. Wiggle Subsequence

376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...

屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!

5月28日&#xff0c;中天合创屋面分布式光伏发电项目顺利并网发电&#xff0c;该项目位于内蒙古自治区鄂尔多斯市乌审旗&#xff0c;项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站&#xff0c;总装机容量为9.96MWp。 项目投运后&#xff0c;每年可节约标煤3670…...

大数据学习(132)-HIve数据分析

​​​​&#x1f34b;&#x1f34b;大数据学习&#x1f34b;&#x1f34b; &#x1f525;系列专栏&#xff1a; &#x1f451;哲学语录: 用力所能及&#xff0c;改变世界。 &#x1f496;如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏⭐️留言&#x1f4…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码

目录 一、&#x1f468;‍&#x1f393;网站题目 二、✍️网站描述 三、&#x1f4da;网站介绍 四、&#x1f310;网站效果 五、&#x1fa93; 代码实现 &#x1f9f1;HTML 六、&#x1f947; 如何让学习不再盲目 七、&#x1f381;更多干货 一、&#x1f468;‍&#x1f…...

JavaScript 数据类型详解

JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型&#xff08;Primitive&#xff09; 和 对象类型&#xff08;Object&#xff09; 两大类&#xff0c;共 8 种&#xff08;ES11&#xff09;&#xff1a; 一、原始类型&#xff08;7种&#xff09; 1. undefined 定…...

【MATLAB代码】基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),附源代码|订阅专栏后可直接查看

文章所述的代码实现了基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),针对传感器观测数据中存在的脉冲型异常噪声问题,通过非线性加权机制提升滤波器的抗干扰能力。代码通过对比传统KF与MCC-KF在含异常值场景下的表现,验证了后者在状态估计鲁棒性方面的显著优…...