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

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...

谷歌浏览器插件

项目中有时候会用到插件 sync-cookie-extension1.0.0&#xff1a;开发环境同步测试 cookie 至 localhost&#xff0c;便于本地请求服务携带 cookie 参考地址&#xff1a;https://juejin.cn/post/7139354571712757767 里面有源码下载下来&#xff0c;加在到扩展即可使用FeHelp…...

【机器视觉】单目测距——运动结构恢复

ps&#xff1a;图是随便找的&#xff0c;为了凑个封面 前言 在前面对光流法进行进一步改进&#xff0c;希望将2D光流推广至3D场景流时&#xff0c;发现2D转3D过程中存在尺度歧义问题&#xff0c;需要补全摄像头拍摄图像中缺失的深度信息&#xff0c;否则解空间不收敛&#xf…...

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…...

Linux-07 ubuntu 的 chrome 启动不了

文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了&#xff0c;报错如下四、启动不了&#xff0c;解决如下 总结 问题原因 在应用中可以看到chrome&#xff0c;但是打不开(说明&#xff1a;原来的ubuntu系统出问题了&#xff0c;这个是备用的硬盘&a…...

ios苹果系统,js 滑动屏幕、锚定无效

现象&#xff1a;window.addEventListener监听touch无效&#xff0c;划不动屏幕&#xff0c;但是代码逻辑都有执行到。 scrollIntoView也无效。 原因&#xff1a;这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作&#xff0c;从而会影响…...

基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解

JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用&#xff0c;结合SQLite数据库实现联系人管理功能&#xff0c;并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能&#xff0c;同时可以最小化到系统…...

JS设计模式(4):观察者模式

JS设计模式(4):观察者模式 一、引入 在开发中&#xff0c;我们经常会遇到这样的场景&#xff1a;一个对象的状态变化需要自动通知其他对象&#xff0c;比如&#xff1a; 电商平台中&#xff0c;商品库存变化时需要通知所有订阅该商品的用户&#xff1b;新闻网站中&#xff0…...

Java编程之桥接模式

定义 桥接模式&#xff08;Bridge Pattern&#xff09;属于结构型设计模式&#xff0c;它的核心意图是将抽象部分与实现部分分离&#xff0c;使它们可以独立地变化。这种模式通过组合关系来替代继承关系&#xff0c;从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...