欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Linux全自动安装操作实例附原理

程序员文章站 2023-09-10 10:07:36
手动安装Linux系统费时费力,使用kickstart等工具就能实现Linux系统的全自动安装,下面为大家介绍下原理,需要的朋友可以看看... 15-02-08...

  手动安装linux系统费时费力,需要操作的步骤非常多,使用kickstart等工具就能实现linux系统的全自动安装,下面小编就给大家介绍下linux全自动安装操作实例,一起来学习下吧。

  原理:

  使用光盘安装linux系统过程:

  第一步,post自检

  第二步,mbr引导,这里使用的grub是cdrom中isolinux/文件夹中的grub.conf。

  第三步,启动带有安装、升级、修复等选项的选择菜单,这是由isolinux.bin启动的。

  第四步,vmlinuz(initrd)挂载根文件系统。

  第五步,启动anaconda安装界面。而anaconda

  详细解析:

  第二步中,grub.conf菜单中定义了第三步中的引导内容。

  所以这里的显示内容可以自定义

  [root@centos6 cdrom]# cat isolinux/grub.conf

  #debug --graphics

  default=0

  splashimage=@splashpath@

  timeout 5

  hiddenmenu

  title @product@ @version@

  kernel @kernelpath@

  initrd @initrdpath@

  title install system with basic video driver

  kernel @kernelpath@ xdriver=vesa nomodeset askmethod

  initrd @initrdpath@

  title rescue

  kernel @kernelpath@ rescue askmethod

  initrd @initrdpath@

  第三步,进入启动界面,这里定义了启动界面的各种显示内容,

  由isolinux.bin执行,由isolinux.cfg提供配置文件。

  display boot.msg

  引用boot.msg,其配置文件为boot.cfg

  menu background splash.jpg

  menu title welcome to centos 6.4!最上面显示的内容

  menu color border 0 #ffffffff #00000000定义界面的颜色显示

  menu color sel 7 #ffffffff #ff000000

  定义选项

  label linux

  menu label ^install or upgrade an existing system

  menu default

  kernel vmlinuz

  append initrd=initrd.img

  label vesa

  menu label install system with ^basic video driver

  kernel vmlinuz

  append initrd=initrd.img xdriver=vesa nomodeset

  label rescue

  menu label ^rescue installed system

  kernel vmlinuz

  append initrd=initrd.img rescue

  label local

  menu label boot from ^local drive

  localboot 0xffff

  label memtest86

  menu label ^memory test

  kernel memtest

  append -

  第五步,真正进入安装时,需要加载packages/anaconda-version.rpm文件

  anaconda程序可以实现图形、字符方式的安装,而在这两种方式下,

  也可以选择交互式安装或自问自答的自动安装。

  anaconda安装详解:

  其自动安装的配置文件是口kickstart。kickstart可以手动编写,可以文本方式生成,也可以

  图形方式生成。(ks.cfg文件在安装完成后会在root家目录下生成anaconda.cfg详细配置)

  下面是图形生成的步骤:

  1,安装system-config-kickstart

  yum install system-config-kickstart

  2,启动system-config-kickstart

  system-config-kickstart &

  3,配置kickstart

  basic configuration:

  encrypt root password表示加密root的密码串

  target architecture:表示平台

  reboot system after installation安装后的动作是重启,需要勾上。

  perform installation in text text mode (grphical is default)

  安装界面默认使用图形界面,所以这个需要勾上。

  perform installlation in interactive mode使用交互式模式,不勾。 

  install method:安装源

  http server:安装源的ip

  http directory:目录

  boot loader options:引导选项

  install new boot loader安装新的bootloader,下面是使用旧的。

  use grub password:grub要不要加密。

  install boot loader on master boot record(mbr)

  将bootloader装入mbr中

  install boot loasder on first sector of the boot partition

  将bootloader装入某一个分区中引导。

  kernel parameters:crashkernel=auto rhgb quiet使用静默模式。

  partition information定义分区

  network configuration网络配置

  authentication认证,默认sha512就可以

  pre

  post这里不用指定#!/bin/bash

  4,保存kickstart配置文件。

  文件默认保存名字为ks.cfg

  5,检查ks.cfg配置文件的错误。

  # ksvalidator 2ks.cfg

  kscfg配置文件详解:

  命令段:

  #platform=x86, amd64, 或 intel em64t

  #version=devel

  # firewall configuration

  firewall --disabled禁用防火墙

  # install os instead of upgrade

  install默认动作是安装

  # use network installation

  url --url=“ftp://1.0.0.12/centos/”使用ftp安装源

  repo --name=“centos” --baseurl=“ftp://1.0.0.12/centos”

  # root password

  rootpw --iscrypted $1$dpctqen6$pc3ugfpzejj5nvftiascq0

  # system authorization information

  auth --useshadow --passalgo=sha512

  # use text mode install

  text使用文本安装方式

  # system keyboard

  keyboard us使用美式英语键盘

  # system language

  lang zh_cn设置默认语言

  # selinux configuration

  selinux --disabled禁用selinux

  # do not configure the x window system

  skipx

  # installation logging level

  logging --level=info

  # reboot after installation

  reboot安装完成时的动作

  # system timezone

  timezone asia/shanghai

  # network information

  network --bootproto=static --device=eth0 --ip=1.0.0.7 --netmask=255.0.0.0 --onboot=on

  # system bootloader configuration

  bootloader --append=“crashkernel=auto rhgb quiet” --location=mbr --driveorder=“sda”

  # clear the master boot record

  zerombr

  # partition clearing information

  clearpart --all --initlabel清空磁盘分区

  # disk partitioning information磁盘分区

  part /boot --asprimary --fstype=“ext4” --ondisk=sda --size=100

  part / --asprimary --fstype=“ext4” --ondisk=sda --size=20480

  part swap --asprimary --fstype=“swap” --ondisk=sda --size=500

  脚本段:

  %post

  touch /tmp/abc.txt

  %end

  软件包段:

  %packages

  @base

  @basic-desktop

  @chinese-support

  @core

  @debugging

  @desktop-debugging

  @desktop-platform

  @desktop-platform-devel

  @development

  @directory-client

  @fonts

  使用引导光盘引导后的选择:

  点击两次“esc”键,进入命令行模式,然后

  linux ip=1.0.0.7 netmask=255.0.0.0 ks=ftp://1.0.0.12/pub/ks.cfg

  ftp安装源自动安装linux详细步骤:

  1,制作引导光盘:

  # mount /dev/cdrom /media/cdrom/

  # mkdir /root/myboot

  # cp /media/cdrom/isolinux/ /root/myboot/isolinux

  # cd /root/myboot/isolinux

  # chmod +w 。/*

  # chmod +x vmlinuz

  # mkisofs -r -j -t -v -no-emul-boot -boot-load-size 4 -boot-info-table -v “mageedu testing image” (-v跟光盘标签) -b isolinux/isolinux.bin (明确指定isolinux.bin的存放位置) -c isolinux/boot.cat (指定boot.cat的位置) -o /tmp/boot.iso (指定输出位置) /root/myboot/ (指定输入源)

  2,制作ftp安装源

  # yum install vsfptd

  # service vsftpd start

  # mkdir /var/ftp/centos

  # mount /media/cdrom /var/ftp/centos,

  3,将制作好的ks.cfg文件放到ftp目录

  # cp /root/ks.cfg /var/ftp/pub

  4,将前面的boot.iso挂载到目标主机的光驱,启动后两次“esc”键,然后就输入:

  linux ip=1.0.0.7 netmask=255.0.0.0 ks=ftp://1.0.0.12/pub/ks.cfg

  5,自动安装启动

  上面就是linux全自动安装的方法介绍了,本文通过编译脚本实现linux系统全自动化安装,需要安装anaconda,编译完anaconda后启动即可。