LINUX家族神器-Gentoo安装部署

简介:

这几天看到群里一直在研究gentoo这个LINUX操作系统,整体安装貌似是纯手工编译,刚好忙里偷闲尝鲜了这款系统,网上整理了大部分资料,花了半天时间搞定,虽然过程很繁琐,但总结如下优点:

1.纯手工文本配置系统参数,内核,以及GRUB引导,能够实现个人定制,而且装完会对LINUX的安装有一个更加深刻的了解

2.自带的emerge安装工具绝对是个神器,它很类似其他LINUX家族系统的apt-get与yum等自动化安装工具,是一个从网上自动寻找源码及其依赖源码实现全自动编译安装的工具,免去了新手编译安装过程中出现的各种关联问题所带来的烦恼

3.系统根下所有目录文件以及系统软件网上都有打包下载,定制起来更加方便.

最后写下了如下文档,供有需要的朋友参考


安装环境:

vmware vmware-9.0

操作系统 gentoo-20131010_x64

171727791.jpg


.前期准备

(1)下载gentoo所需的引导镜像和系统文件压缩包

install-amd64-minimal-20131010.iso

portage-latest.tar.bz2

stage3-amd64-20131010.tar.bz2


下载地址:

http://mirror.sohu.com/gentoo/releases/amd64/current-iso/install-amd64-minimal-20131010.iso

http://mirror.sohu.com/gentoo/releases/snapshots/current/portage-latest.tar.bz2

http://mirror.sohu.com/gentoo/releases/amd64/current-iso/stage3-amd64-20131010.tar.bz2


(2)配置虚拟机引导系统镜像()


.安装系统

1.进入系统引导界面

输入gentoo dopcmcia

如图:

165759406.jpg

2.进入光盘引导的临时系统

注:这个临时系统环境简单来说可以理解为一个WINDOWS下的PE临时系统安装环境,在这个系统下面可以对我们安装的系统进行诸如简单的网络配置连接,系统分区,内核驱动编译,系统引导制作等等,只不过我们平时使用的其他系统在开始安装的时候已经以一个非常友好的图形交互界面引导我们配置,基本上不可能安装失败,gentoo只提供了一个shell文本界面,需要使用者对系统安装有一个完整的思路和LINUX系统配置能力,新手初次使用可能会有一定的困难.

165808707.jpg

3.配置root账户

# passwd root

4.开启ssh服务

# /etc/init.d/sshd start

5.查看系统网络接口并配置临时网络

:由于在虚拟机安装的gentoo,网络接口名与常用接口eth0命名不同,这里请注意

165820256.jpg

IP:

# ifconfig enp2s1 192.168.7.51/24

Gateway:

# route add default gw 192.168.7.1

DNS:

# echo “nameserver 192.168.7.1” >>/etc/resolv.conf

165830611.png

能够ping,则说明系统能够访问外网

5.利用secureCRT登陆系统shell

165839983.png

165847135.png

选择否:

165914251.png

165923999.png

登陆成功

165934318.jpg


6.系统分区

20GB虚拟机硬盘分区规划:

/dev/sda1 /boot 200M

/dev/sda2 swap 1024M

/dev/sda3 / 剩余所有

(1)利用fdisk分区

# fdisk -l

Disk /dev/sda: 21.5 GB, 21474836480 bytes,41943040 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes /512 bytes

I/O size (minimum/optimal): 512 bytes / 512bytes


# fdisk /dev/sda

sda1分区: n,p,1,回车,+200M

sda2分区: n,p,2,回车,+1024M

sda3分区: n,p,3,回车,回车

设置sda2分区为swap分区格式: t,2,82

最后保存写入分区并退出: w

(2)重新读取sda分区表:

# partx -a /dev/sda

(3)格式化为ext4文件系统

# mkfs.ext4 /dev/sda1

# mkfs.ext4 /dev/sda3

(4)格式化swap分区并激活

# mkswap /dev/sda2

# swapon /dev/sda2

# swapon -s


6.创建系统临时挂载点

# mount /dev/sda3 /mnt/gentoo

# mkdir /mnt/gentoo/boot

# mount /dev/sda1 /mnt/gentoo/boot


7.设置系统时间(重要)

# date 102314162013


8.下载系统编译包portage-latest.tar.bz2stage3-amd64-20131010.tar.bz2/mnt/gentoo目录下:

# cd /mnt/gentoo

# wget http://mirror.sohu.com/gentoo/releases/snapshots/current/portage-latest.tar.bz2

#wget

http://mirror.sohu.com/gentoo/releases/amd64/current-iso/stage3-amd64-20131010.tar.bz2

# ls

boot lost+found portage-latest.tar.bz2 stage3-amd64-20131010.tar.bz2


9.解压stage3portage两个文件

# tar -jxvf stage3-amd64-20131010.tar.bz2

: stage3-amd64-20131010.tar.bz2解压的文件是Gentoo的目录结构,所以要解压到临时的系统目录下,/mnt/gentoo,方便后面进行chroot

# tar jxvf portage-latest.tar.bz2 -C /mnt/gentoo/usr

: portage-latest.tar.bz2解压的文件为系统软件目录结构,需要解压到/mnt/gentoo/usr目录下


10.切换系统到/dev/sda3根分区上并更新系统环境变量

# mount -t proc none /mnt/gentoo/proc

# mount -o bind /dev /mnt/gentoo/dev

# chroot /mnt/gentoo /bin/bash

# env-update

>> Regenerating /etc/ld.so.cache...

# source /etc/profile

# export PS1="(chroot) $PS1"


11.设置时区

# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime


12.设置主机名

# sed -i -e's/hostname.*/hostname="gentoo.example.com"/' /etc/conf.d/hostname

# echo "127.0.0.1 gentoo.example.com localhost" > /etc/hosts


13.设置DNS

# echo "nameserver 192.168.7.1" >> /etc/resolv.conf


14.内核配置

(1).安装内核源码

# emerge gentoo-sources


(2).安装自动编译内核工具genkernel

# emerge genkernel


(3).复制安装光盘的配置文件到genkernel搜索配置文件的默认位置

# zcat /proc/config.gz > /usr/share/genkernel/arch/x86/kernel-config

注:如果启动分区没有使用ext2或者ext3文件系统,则必须使用genkernel --menuconfig all来手动配置您的内核,把所使用的文件系统编译进内核。(不能编译为模块!)。EVMS2和LVM2也需要加上--evms2和--lvm2参数。


(4)运行genkernel

# cd /usr/src

# mv linux linux.bak

# ln -s linux-3.10.7-gentoo-r1 linux

注:以上三条命令如果未执行,直接genkernel all会报错

ERROR: Kernel Makefile (/usr/src/linux/Makefile) missing.....

原因可能是最新版本gentoo在/usr/src/linux下未找到Makefile文件,导致内核无法编译,需要重定向另一个目录,这里还是google老外的一篇文档中找到答案.

64位的gentoo安装好后,貌似会自动做一个以上的重定向处理,32位会有几率出现问题,需手动处理

# genkernel all

注: genkernel编译出的内核支持几乎所有硬件,编译需要一段很长的时间一旦genkernel运行完成,一个包括全部模块和initrd的内核将被建立。在后面配置引导程序时我们将会用到这个内核和initrd。请记下内核和initrd的名字,因为您将在配置引导程序的时候用到他们。initrd将会在启动真正的系统前自动识别硬件(如同安装光盘一样)。


(5)查看内核和initrd的名字

# ls /boot/kernel* /boot/initramfs*

-------------------------------

/boot/initramfs-genkernel-x86-3.10.7-gentoo-r1

/boot/kernel-genkernel-x86-3.10.7-gentoo-r1

-------------------------------


15.安装vim编辑器

# emerge vim


16.修改fstab文件

# vim /etc/fstab

添加如下内容:

----------------------------------------------------------

/dev/sda1 /boot ext4 defaults 1 2

/dev/sda2 swap swap defaults 0 0

/dev/sda3 / ext4 defaults 1 1

-----------------------------------------------------------


17.配置网络

注:因为是在vmware虚拟机测试,物理网口名为enp2s1,非一般常用的eth0,这里请注意

# vi /etc/conf.d/net

添加如下内容:

--------------------------

config_enp2s1="192.168.100.93/24"

routes_enp2s1="default via 192.168.100.1"

--------------------------

# ln -s /etc/init.d/net.lo /etc/init.d/net.enp2s1

开机加载enp2s1网口

# rc-update add net.enp2s1 default

配置DNS:

# echo "nameserver 192.168.100.1" >> /etc/resolv.conf


18.配置sshd服务器开机启动

# rc-update add sshd default


19.设置新安装Gentoo系统用户root密码

# passwd root

New password:

BAD PASSWORD: it does not contain enoughDIFFERENT characters

BAD PASSWORD: is a palindrome

Retype new password:

passwd: password updated successfully


20.配置时区

# vi /etc/conf.d/clock

-------------------------------

TIMEZONE="Asia/Shanghai"

-------------------------------


21.安装常用系统工具

系统日志管理

# emerge syslog-ng

日志格式化工具

# emerge logrotate

定时计划服务

# emerge vixie-cron

DHCP

# emerge dhcpcd

快速索引

# emerge slocate

启动服务

# rc-update add syslog-ng default

# rc-update add vixie-cron default

设置crontab默认编辑器

# echo "export EDITOR='/usr/bin/vim'" >> /etc/profile


22. 配置GRUB引导程序

(1)安装grub

# emerge grub

:这里实际编译安装的是grub2,与LINUX其他发行版本常用的grub配置略有出入

(2)配置grub

# grub2-install --no-floppy /dev/sda

# grub2-mkconfig -o /boot/grub/grub.cfg

# reboot

如图:

003456563.jpg

004331123.jpg

010940904.jpg

23.收尾工作:

移除stage3 tarball

# rm /stage3-*.tar.bz2*

移除Portage快照文件

# rm /portage-latest.tar.bz2*


-----------大功告成-------------


     本文转自 showerlee 51CTO博客,原文链接:http://blog.51cto.com/showerlee/1314053,如需转载请自行联系原作者



相关文章
|
7天前
|
Linux 网络安全 Python
linux centos上安装python3.11.x详细完整教程
这篇文章提供了在CentOS系统上安装Python 3.11.x版本的详细步骤,包括下载、解压、安装依赖、编译配置、解决常见错误以及版本验证。
59 1
linux centos上安装python3.11.x详细完整教程
|
3天前
|
Ubuntu Linux 网络安全
从头安装Arch Linux系统
本文记录了作者安装Arch Linux系统的过程,包括安装成果展示和遇到的疑难点及其解决方法,如硬盘不足、下载失败、设置时区、安装微码和配置无密码登录等。
从头安装Arch Linux系统
|
5天前
|
关系型数据库 MySQL Linux
Linux 安装 mysql 【使用 tar.gz | tar.xz安装包-离线安装】
在Linux系统中使用tar.xz压缩包安装MySQL数据库的详细步骤。包括下载MySQL压缩包,解压到指定目录,创建mysql用户和组,设置目录权限,初始化MySQL,配置my.cnf文件,启动服务,以及修改root用户密码。此外,还提供了如何设置Windows远程登录MySQL服务器的方法。
Linux 安装 mysql 【使用 tar.gz | tar.xz安装包-离线安装】
|
6天前
|
Linux
linux之etcd安装
linux之etcd安装
|
5天前
|
关系型数据库 MySQL Linux
Linux 安装 mysql【使用yum源进行安装】
这篇文章介绍了在Linux系统中使用yum源安装MySQL数据库的步骤,包括配置yum源、安装MySQL服务、启动服务以及修改root用户的默认密码。
Linux 安装 mysql【使用yum源进行安装】
|
7天前
|
NoSQL Linux Redis
linux安装单机版redis详细步骤,及python连接redis案例
这篇文章提供了在Linux系统中安装单机版Redis的详细步骤,并展示了如何配置Redis为systemctl启动,以及使用Python连接Redis进行数据操作的案例。
19 2
|
29天前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
7天前
|
NoSQL Linux Redis
linux之centos安装redis
linux之centos安装redis
|
7天前
|
Linux 编译器 开发工具
快速在linux上配置python3.x的环境以及可能报错的解决方案(python其它版本可同样方式安装)
这篇文章介绍了在Linux系统上配置Python 3.x环境的步骤,包括安装系统依赖、下载和解压Python源码、编译安装、修改环境变量,以及常见安装错误的解决方案。
19 1
|
28天前
|
Ubuntu Linux Shell
Linux系统命令 安装和文件相关命令
本文档详细介绍了Linux系统中的常用命令,包括软件安装卸载命令如`dpkg`和`apt-get`,压缩与解压命令如`gzip`、`bzip2`和`xz`,以及`tar`命令用于打包和解包。此外还介绍了文件分割命令`split`,文件操作命令如`cat`、`head`、`tail`、`more`、`less`等,管道命令和`wc`、`grep`、`find`、`cut`、`sort`、`uniq`、`diff`等实用工具。最后,文档还讲解了文件属性相关的命令如`chmod`、`chown`、`chgrp`以及创建硬链接和软链接的`ln`命令。
下一篇
无影云桌面