南京北大青鸟

全国免费电话:400-885-5191

三分钟了解北大青鸟
当前位置:北大青鸟 > 学习园地 > 编程技巧

Linux系统通用安装教程之手动安装

来源:南京北大青鸟张府园校区      作者:中博IT教育      发布时间:2012-12-10 17:00:40

教程以VBox为实验平台,系统以Gentoo Linux和Arch Linux为例,因为他们的官方文档比较齐全,遇到不懂的地方,你可以去官方寻找答案。

教程以VBox为实验平台,系统以Gentoo Linux和Arch Linux为例,因为他们的官方文档比较齐全,遇到不懂的地方,你可以去官方寻找答案。

/*****************************************************
*    Linux系统通用安装教程之手动安装全指导——文字版    *
*****************************************************/
 

一、安装过程概览
  1,从可移动设备或硬盘启动工作系统

  2,配置工作系统的网络

  3,给硬盘分区并格式化分区

  4,放置文件系统

  5,安装一些必须的软件

  6,配置宿主系统

  7,安装并配置引导器(Bootloader)

  8,卸载文件系统并重启

 

二、安装开始
 1 ——> 选择合适的宿主系统并启动工作系统
  你有很多种安装方案。前提是你要有一个工作系统的LiveCD镜像文件。你可以从网易开源镜像站获取,或者从清华大学开源镜像站获取,或者从中国科技大学开源镜像站获取。

  第一种方案:从LiveCD启动。(本人推荐采用这种方式,因为简单、稳定)

    你需要将下载好的镜像文件刻录到CD-R光盘或CD-RW光盘上,然后从光盘启动。

  第二种方案:从LiveUSB启动。(这种方式比较适合老鸟,我是一个LiveUSB极客,我不推荐新手这样做)

    你需要用Syslinux4dos或grub4dos将U盘、MP3、MP4或SD卡等可移动设备做成启动盘,然后配置相关的启动文件从而引导工作系统。

    这方面的资料可以直接从网上搜索,就类似于从U盘安装Linux系统的资料。我本人建议老鸟用Slax安装Gentoo,对于Arch暂时没有研究出,你可以从网上查找相关资料。

  第三种方案:从硬盘启动。(此方案与LiveUSB方案类似,不再赘述)

 2 ——> 选择并配置与网络相关的信息
  在Gentoo中配置网络:


1 net-setup eth0
2 # 一直按回车,然后重复一下这个命令
3
4 ifconfig
5 # 查看是否获得IP地址了
6
7 ping baidu.com
8 # 测试网络是否能ping通外网

  在Arch中配置网络,还要配置软件源的最快的镜像:


 1 dhcpcd eth0
 2 # 通过DHCP客户端获得IP地址
 3
 4 wifi-menu
 5 # 通过Wi-Fi扫描并连接到无线局域网
 6
 7 ifconfig
 8 # 查看网络连通状态
 9 
10 ping baidu.com
11 # 测试能否连通外网
12
13 # 配置镜像列表是Arch的重要步骤,这一点与Gentoo有明显的区别
14
15 vi /etc/pacman.d/mirrorlist 或 nano /etc/pacman.d/mirrorlist
16 # 编辑Arch软件仓库的镜像列表,在第一个## Score:上面添加软件源的网易镜像站
17 # 复制这两行到第一个## Score 的上面
18    ## Score: 5.8,China
19    Server = http://mirrors.163.com/archlinux/$repo/os/$arch
20 (Arch官方测得网易镜像站速度的得分为5.8,由于我们是在中国,所以把网易镜像站的这两行写到第一个吧。)

 

 3 ——> 给硬盘分区并格式化分区
  使用分区命令fdisk:


 1 fdisk -l
 2 # 获知你的硬盘的设备名
 3
 4 fdisk /dev/sd*
 5 # 格式化硬盘。。以下是使用fdisk的相关命令
 6
 7 m
 8 # 获得帮助信息
 9
10 d
11 # 删除指定的分区
12
13 n
14 # 从空白区新建分区

  使用分区命令cfdisk:(由于cfdisk具有易操作的界面,在此不再介绍此命令,你可以从网上或书上查找使用方法。)

  分区方案:

   = 建议分4个主分区 =

    第一个分区作为boot分区,size不超过200M,(因为内核及内核模块的size是不会超过这个量的)

    第二个分区作为根分区,size不小于4G,(如果是用的是虚拟机并且不安装桌面环境,可以小于4G)

    第三个分区作为备用分区,size根据需要而定,(如果要安装双系统,这个分区是很有必要保存的,而且先不要格式化)

    第四个分区作为交换分区,size一般不小于1G。(如果实际内存为4G或4G以上,甚至是个人用的情况下,可以不创建交换分区)

  格式化分区:


 1 mkfs -t ext2 /dev/sd*1 或 mke2fs /dev/sd*1
 2 # 格式化第一分区为EXT2文件系统
 3
 4 mkfs -t ext3 /dev/sd*2 或 mke2fs -j /dev/sd*2
 5 # 格式化第二分区为EXT3文件系统
 6
 7 # 第三分区备用,暂时不格式化
 8
 9 mkswap /dev/sd*4
10 # 格式化第四分区为交换分区

 4 ——> 挂载文件系统并装载必要的文件
  在Gentoo中挂载文件系统:


 1 mount /dev/sd*2 /mnt/gentoo
 2 # 挂载/dev/sd*2到/mnt/gentoo目录并定为宿主系统的 / 分区
 3
 4 mkdir /mnt/gentoo/boot
 5
 6 mount /dev/sd*1 /mnt/gentoo/boot
 7 # 挂载/dev/sd*1到/mnt/gentoo/boot目录设为宿主系统的 /boot分区
 8
 9 swapon /dev/sd*4
10 # 激活交换分区

  在Arch中挂载文件系统:


1 # 步骤与Gentoo的一致,只是挂载的工作目录不同,注意区别
2
3 mount /dev/sd*2 /mnt
4
5 mkdir /mnt/boot
6
7 mount /dev/sd*1 /mnt/boot
8
9 swapon /dev/sd*4

  装载系统文件:

   Gentoo比较特别,Gentoo的Portage树是一直稳定更新的,Gentoo还把基本的系统和Portage树打包成快照上传到各大镜像站中了。如下是装载过程:


 1 cd /mnt/gentoo
 2 # 进入宿主系统的根目录
 3
 4 wget http://mirrors.163.com/gentoo/releases/x86/current-stage3/stage3-i686-*.tar.bz2
 5 # 下载基本的系统的快照
 6
 7 tar xjpf stage3*
 8 # 解压快照
 9
10 cd /mnt/gentoo/usr
11 # 进入/mnt/gentoo/usr目录
12
13 wget http://mirrors.163.com/gentoo/snapshots/portage-latest.tar.bz2
14 # 下载最新的Portage快照
15
16 tar xjf portage-latest*
17 # 解压Portage快照

   Arch的方式是最简单的,一个命令就搞定了。如下是具体过程:

1 pacstrap /mnt base base-devel grub-bios
2 # 安装基本的系统、编译工具和启动引导器到宿主系统
 5 ——> 进入宿主系统环境并安装一些必须的软件
  Gentoo进入宿主系统环境之前需要设置正确的时间,还要挂载设备目录/dev和虚拟文件系统目录/proc,要做一些准备工作。如下是详细过程:


 1 cd /
 2
 3 date MMDDhhmmYY
 4 # 设置时间
 5
 6 mount -t proc proc /mnt/gentoo/proc
 7
 8 mount -o bind /dev /mnt/gentoo/dev
 9
10 cp -L /etc/resolv.conf /mnt/gentoo/etc/
11
12 chroot /mnt/gentoo /bin/bash
13
14 env-update && source /etc/profile
15
16 # 挂载/proc 和 /dev文件系统,拷贝/etc/resolv.conf文件,然后切换到你的宿主系统的环境。

  Arch和Gentoo的这一步差不多,先生成宿主系统的fstab文件,任何用Arch的arch-chroot脚本可以直接进入宿主环境。如下是详细过程:


 1 cd /
 2
 3 data MMDDhhmmYYYY
 4 # 设置时间
 5
 6 genfstab -p /mnt >> /mnt/etc/fstab
 7 # 生成fstab文件
 8
 9 arch-chroot /mnt
10 # 切换到宿主系统的环境

  安装软件就大同小异了。基本上都是利用包管理器从官方的软件仓库下载安装所需的软件。如下是Gentoo和Arch的对比:


 1 # Gentoo的比较简单,用emerge进行包的管理。
 2
 3 emerge -sync
 4 #先更新一下Portage树,虽然下载了最新的Portage树的快照,但还是建议你与官方同步一下。
 5
 6 emerge less nano syslog-ng vixie-cron dhcpcd ppp os-prober mirrorselect
 7 # 先安装的是编辑器、阅读器、系统管理工具和网络连接工具,这些是必要的软件。
 8
 9 pacman -Syy
10 # 传入两个-y会强制pacman刷新所有软件包列表。一般情况下,只要源有了更改,就应该使用 pacman -Syy 命令。
11
12 pacman -S os-prober dialog wireless_tools ifplugd
13 # Arch自带了基本的系统工具,安装这几个就行了

 6 ——> 配置系统
  Gentoo和Arch甚至和其他发行版的配置步骤几乎是一致的,以下合并两者的步骤:

   设置时区:


1 cp /usr/share/zoneinfo/Asia/Hong_kong /etc/localtime
2 # 以香港时区为中国本地时区
3
4 # 如果你想用世界时间作为本地时间,我建议你复制伦敦时区
5 cp /usr/share/zoneinfo/Europe/London /etc/localtime
6
7 hwclock --systohc --utc
8 # 设置硬件时钟为UTC

   设置主机名和域名:

1 cd /etc
2
3 echo 你的主机名 > /etc/hostname
4 # 对于Arch来说这样就行了,Gentoo官方给的步骤太多了。
5 # 如果出现了问题,你就按情况根据官方的步骤做吧。
   配置宿主系统的网络:

    之前的配置网络那部分是为下载文件而配置的,现在是为宿主系统开机自动连接网络而配置,Arch与Gentoo略有不同。


1 mirrorselect -i -o >> /etc/make.conf
2 # 在Gentoo中选择网易镜像站和搜狐镜像站作为Portage的软件源
3
4 nano -w /etc/conf.d/net
5 # /etc/conf.d/net当中收集了所有的网络信息。
6 # 编辑这个文件配置连接到网络的方式,你可以添加config_eth0=("dhcp")到该文件中,让eth0自动获得IP地址。
7
8 # Arch可以跳过这一步,Arch基本上是从工作系统的获取网络配置信息的

   配置开机启动项:


 1 # 要想使宿主系统开机就启动网络等服务,必须将其设为默认开机启动服务
 2
 3 ln -s /etc/init.d/net.lo /etc/init.d/net.eth0
 4 # net.eth0是映射到eth0网卡的服务,Gentoo在/etc/init.d目录中是没有net.eth0这个文件的。
 5 # 这一步必须要做的
 6
 7 rc-update add net.eth0 default
 8
 9 rc-update add syslog-ng default
10
11 rc-update add vixie-cron default
12
13 # 下面配置Arch的网络
14 ln -s /etc/network.d/examples/ /etc/network.d/ethernet-dhcp
15
16 systemctl enable net-auto-wired.service
17 # 设置开机启动有线网络

   配置内核映像:

    Gentoo需要自行编译内核文件,而且Gentoo的快速安装指南并没有详细介绍,建议你阅读官方的内核配置文档。以下是二者的配置过程:


 1 # Gentoo编译内核简略过程
 2
 3 echo 'MAKEOPTS="-j3"' >> /etc/make.conf
 4 # 这一步加速用emerge编译安装软件的过程,内核源码size比较大。
 5
 6 emerge gentoo-sources
 7 # 下载并安装内核内核源码,这里只是下载内核源码和补丁包。
 8
 9 emerge genkernel
10
11 # genkernel是使用类似安装光盘中的内核配置来配置内核的
12 # 如果你不清楚如何配置内核选项,我建议你用genkernel
13
14 zcat /proc/config.gz > /usr/share/genkernel/arch/x86/kernel-config
15 # 复制安装光盘上的内核配置文件到genkernel搜索配置文件的默认位置。
16
17 genkernel --menuconfig all
18 # 如果你的内存size不小于4G,我建议你还是进入内核选项启用"High Memory Support (64G)"。
19 # 若要了解其他的必要的选项,建议你阅读官方文档。
20
21 # Arch仍然保持其KISS原则,一条命令就搞定
22
23 mkinitcpio -p linux
24 # 这一步创建initramfs内核映像,它是启动时供内核读取的压缩镜像。
25 # 目的是引导系统使其能够读取根文件系统。

   配置fstab文件:


 1 # Gentoo与Arch在一步保持一致,这是必不可少的一步。
 2
 3 vi /etc/fstab 或 nano /etc/fstab
 4 # 编辑fstab文件,设置挂载文件系统的类型。
 5
 6 # 以下是内容示例
 7 /dev/sd*1    /boot      ext2    defaults,noatime    1 2
 8 /dev/sd*2    /          ext3    defaults,noatime    0 0
 9 /dev/sd*4    none       swap    defaults            0 1
10 /dev/sr0     /mnt/cd    auto    noauto,user         0 0

 7 ——> 安装并配置grub到宿主系统
  grub是众所周知的启动引导器(Bootloader)之一。它最大的优点就是可以引导不同分区下的多个系统。Gentoo和Arch在这一步也是不同的。以下是二者区别:

   Gentoo安装并配置grub:


 1 emerge grub
 2 # 下载并安装grub
 3
 4 grub
 5 # 进入grub配置界面
 6
 7 grub> root (hd0,0)
 8 # 注意,这里的root定位于内核映像所在的分区。即/boot分区。
 9
10 grub> setup (hd0)
11 # 注意,这一步是安装grub到/boot/grub目录。
12
13 grub> quit
14
15 # 接下来编辑grub的配置文件并保存
16
17 vi /boot/grub/grub.conf 或 nano /boot/grub/grub.conf
18
19 # 下面是示例内容
20
21 default 0
22 # 默认选择哪个列表来引导。0表示第一个, 1表示第二个,以此类推。
23
24 timeout 30
25 # 在启动选项列表的停留时间(单位是秒)
26 splashimage=(hd0,0)/boot/grub/splash.xpm.gz
27
28 title Gentoo Linux
29 root (hd0,0)
30 kernel /boot/你的内核文件 root=/dev/sd*2 vga=791
31 initrd /boot/你的文件系统映像文(即initramfs映像)
32
33 # 以下是双系统用户所需的内容,但是前提是你的Windows系统在第三个分区
34 title Microsoft Windows
35 rootnoverify (hd0,2)
36 makeactive
37 chainloader +1

   Arch安装并配置grub:


1 # 安装软件的那一步已经安装了grub-bios,Arch配置
2
3 grub-install --recheck /dev/sd*
4 # 注意,这一步非常重要,而且容易出错,是安装到/dev/sd*,不是/dev/sd*1
5
6 # 我之前安装os-prober的目的是让grub自己搜索其他的系统。现在要用到了。
7
8 grub-mkconfig -o /boot/grub/grub.cfg
9 # 这一步自动生成配置文件。

 

 8 ——> 卸载宿主系统的文件系统并重启电脑
  终于配置完成了,现在做一些善后工作。


 1 exit
 2 # 先退出宿主环境
 3
 4 cd /
 5
 6 umount /mnt/gentoo/dev /mnt/gentoo/proc /mnt/gentoo/boot /mnt/gentoo
 7 # Gentoo可以这样直接卸载宿主系统的文件系统
 8
 9 # Arch需要先复制一个脚本
10
11 cp /usr/bin/wifi-menu /mnt/usr/bin/
12 # 这就是那个用来连接Wi-Fi的脚本,很有用的。
13
14 umount /mnt/boot /mnt
15 # 卸载宿主系统
16
17 reboot
18 # 重启

 

三、总结
  实际上,安装任何系统都没有Gentoo复杂。也许你会说LFS,但是LFS不是发行版,没有包管理器,没有安装脚本,甚至没有通用安装教程。所以,本篇总结安装Gentoo和Arch的教程可以作为通用的Linux安装教程。

  安装步骤无非就是以上那8个步骤。最重要的是,一方面,你要会用常用的命令:  cd  cp  vi  nano  less  exit  reboot  poweroff  ls  cat  echo 等等;另一方面,你要学会自己从网上找帮助。

  好了,如果你还不熟练,可以重新安装几次。以本教程为指导,你要多动手多动脑,把基础打牢。

(责任编辑:南京北大青鸟)

分享到:

相关阅读:

抢免费试听名额

名额仅剩66名

教育改变生活

WE CHANGE LIVES