服务器之家:专注于服务器技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|系统进程|Fedora|注册表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服务器之家 - 服务器系统 - Linux - Linux全自动安装操作实例附原理

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

2019-10-16 15:38服务器之家 Linux

手动安装Linux系统费时费力,使用kickstart等工具就能实现Linux系统的全自动安装,下面为大家介绍下原理,需要的朋友可以看看

手动安装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后启动即可。

延伸 · 阅读

精彩推荐
  • Linuxssh 登录很慢该如何解决

    ssh 登录很慢该如何解决

    这篇文章主要介绍了ssh 登录很慢该如何解决的相关资料,这里提供了两种方法,DNS反向解析及关闭ssh的gssapi认证的解决办法,需要的朋友可以参考下...

    linuxeye9922021-12-16
  • Linux将 Linux 终端与 Nautilus 文件管理器结合起来

    将 Linux 终端与 Nautilus 文件管理器结合起来

    Nautilus 是 GNOME 桌面环境中的图形化文件浏览器。你可以使用它来访问和管理系统中的文件和文件夹。 尽管并非所有人都喜欢使用终端来管理文件和目录,...

    未知812023-08-08
  • Linux理解 Linux/Unix 登录脚本的技巧

    理解 Linux/Unix 登录脚本的技巧

    有一些常见的情况,例如从Debian的包管理程序到Iaas的管理中,很多任务需要设置环境变量才能正常运行。 有时,程序通常只需要在 登陆时运行一次,例如...

    未知1042023-05-12
  • LinuxLinux系统下无法卸载挂载的目录怎么办?

    Linux系统下无法卸载挂载的目录怎么办?

    我们在日常运维中经常性会遇到需要进行磁盘的扩容、卸载、挂载等操作,但是有时候这个系统上跑的应用并没有停止或者有其他的运维同事在操作这个目...

    今日头条10302020-12-30
  • Linuxlinux设置tomcat自启动的方法

    linux设置tomcat自启动的方法

    这篇文章主要介绍了linux设置tomcat自启动的方法,需要的朋友可以参考下...

    Linux教程网8512021-10-10
  • Linuxlinux驱动程序开发详细介绍

    linux驱动程序开发详细介绍

    前提,一般来说内核代码的错误可能会引起一个用户进程的死亡,或者整个系统的瘫痪,更严重的后果,可能导致磁盘损伤~因此建议最好有一台实验机进行...

    Linux教程网5392019-12-17
  • Linuxlinux top命令详解

    linux top命令详解

    这篇文章主要介绍了linux top命令详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    sparkdev5622022-03-01
  • Linux在Linux系统中创建新的亚马逊AWS访问密钥的方法

    在Linux系统中创建新的亚马逊AWS访问密钥的方法

    如何在Linux系统中创建新的亚马逊AWS访问密钥?我在配置一个需要访问我的亚马逊AWS帐号的应用时被要求提供AWS访问密钥ID和秘密访问密钥,我怎样创建一个...

    Linux教程网6182019-10-30