運維自動化之系統安裝

自動化安裝系統,cobbler的安裝使用

運維自動化之系統安裝

Centos啟動流程

加電自檢—mbr—grub—kernel—rc.sysinit—-rootfs—-/sbin/init

Anaconda:系統安裝程序

Gui:圖形窗口

Tui:=基于圖形庫curses的文本窗口

安裝程序啟動過程

MBR:在光盤中isolinux/boot.cat(二進制文件)

Stage2第二階段 ???Isolinux/isolinux.bin(二進制文件)

配置文件:isolinux/isolinux.cfg(啟動頁面菜單)(^表示快捷鍵,光標跳轉的位置)(timeout=600定義了超時時長)

加載內核:isolinuz/vmlinuz

向內核傳遞參數:append initrd=initrd.img …

進入啟動界面

按tab鍵,敲rescue ?可以直接進入救援模式

按ese鍵,1、敲rescue,也可進入救援模式

  • 敲linux ?askmethod可以選擇安裝方式:光盤,網絡(http或者ftp)
  • Linux ?askmethod ?ip=192.168.24.111 netmask=255.255.255.0(指定IP地址,臨時使用)
  • Linux ?text(字符界面安裝)

 

裝載根文件系統,并啟動anaconda

默認啟動GUI接口

若是顯式指定使用TUI接口:向內核傳遞text參數即可

(1)按tab鍵,在后面增加text

(2)按ESC鍵:boot: linux text

Anaconda安裝系統分成三個階段: (安裝向導)

安裝前配置階段

安裝過程使用的語言

鍵盤類型

安裝目標存儲設備

Basic Storage:本地磁盤

特殊設備:iSCSI

設定主機名

配置網絡接口

時區

管理員密碼

設定分區方式及MBR的安裝位置

創建一個普通用戶

選定要安裝的程序包

安裝階段

在目標磁盤創建分區,執行格式化操作等

將選定的程序包安裝至目標位置

安裝bootloader和initramfs

圖形模式首次啟動

iptables

selinux

core dump

系統安裝

啟動安裝過程一般應位于引導設備,后續的anaconda及其安裝用到的程序包等可來自下面幾種方式:

本地光盤

本地硬盤

NFS

URL:

http://yum?repostory

ftp://yum?repostory

手動指定安裝源:boot> ?linux ?askmethod

Anaconda的配置方式:

  • 交互式配置方式
  • 通過讀取事先給定的配置文件自動完成配置

按特定的語法給出的配置選項

Kickstart文件

安裝boot引導選項:boot:

vtext: 文本安裝方式

vaskmethod: 手動指定使用的安裝方法

v與網絡相關的引導選項:

ip=IPADDR

netmask=MASK

gateway=GW

dns=DNS_SERVER_IP

ifname=NAME:MAC_ADDR

v與遠程訪問功能相關的引導選項:

vnc

vncpassword=’PASSWORD’

指明kickstart文件的位置: ks=

DVD drive: ks=cdrom:/PATH/TO/KICKSTART_FILE

Hard drive: ks=hd:device:/directory/KICKSTART_FILE

HTTP server: ks=http://host:port/path/to/KICKSTART_FILE

FTP server: ks=ftp://host:port/path/to/KICKSTART_FILE

HTTPS server: ks=https://host:port/path/to/KICKSTART_FILE

NFS server:ks=nfs:host:/path/to/KICKSTART_FILE

啟動緊急救援模式: rescue

官方文檔:《Installation Guide》

kickstart文件的格式

在centos7中system-config-kickstart打開沒有rpm組,需要將/etc/yum.repos.d/base.repo中的【base】改名為【development】

命令段:指明各種安裝前配置,如鍵盤類型等

程序包段:指明要安裝的程序包組或程序包,不安裝的程序包等

%packages

@group_name

package

-package

%end

腳本段:

%pre: 安裝前腳本

運行環境:運行于安裝介質上的微型Linux環境

%post: 安裝后腳本

運行環境:安裝完成的系統

命令段中的命令:

必備命令

authconfig: 認證方式配置

authconfig –useshadow –passalgo=sha512

bootloader:bootloader的安裝位置及相關配置

bootloader –location=mbr –driveorder=sda –

append=”crashkernel=auto rhgb quiet”

keyboard: 設定鍵盤類型

lang: 語言類型

part: 創建分區

rootpw: 指明root的密碼

timezone: 時區

可選命令

install OR upgrade

text: 文本安裝界面

network

firewall

selinux

halt

poweroff

reboot

repo

user:安裝完成后為系統創建新用戶

url: 指明安裝源

key –skip 跳過安裝號碼,適用于rhel版本

kickstart文件創建

創建kickstart文件的方式

ü直接手動編輯

依據某模板修改

ü可使用創建工具:system-config-kickstart

依據某模板修改并生成新配置

/root/anaconda-ks.cfg

檢查ks文件的語法錯誤:ksvalidator

ksvalidator /PATH/TO/KICKSTART_FILE

系統光盤中isolinux目錄列表

vsolinux.bin:光盤引導程序,在mkisofs的選項中需要明確給出文件路徑,這個文件屬于SYSLINUX項目

visolinux.cfg:isolinux.bin的配置文件,當光盤啟動后(即運行isolinux.bin),會自動去找isolinux.cfg文件

vvesamenu.c32:是光盤啟動后的安裝圖形界面,也屬于SYSLINUX項目,menu.c32版本是純文本的菜單

vMemtest:內存檢測,這是一個獨立的程序

vsplash.jgp:光盤啟動界面的背景圖

vvmlinuz是內核映像

vinitrd.img是ramfs (先cpio,再gzip壓縮)

制作引導光盤和U盤

創建引導光盤:

ümkdir –pv /app/myiso

ücp -r /misc/cd/isolinux/ /app/myiso/

üvim /app/myiso/isolinux/isolinux.cfg

initrd=initrd.img text ks=cdrom:/myks.cfg

ücp /root/myks.cfg /app/myiso/

ümkisofs -R -J -T -v –no-emul-boot –boot-load-size 4 –boot-info-table -V “CentOS 6.9 x86_64 boot” -b isolinux/isolinux.bin -c isolinux/boot.cat -o /root/boot.iso /app/myiso/

注意:以上相對路徑都是相對于光盤的根,和工作目錄無關

v創建U盤啟動盤

üdd if=/dev/sr0 of=/dev/sdb

注意:制作U盤啟動時,可能MBR的512個字節沒有,需要用Isohybrid ?boot.iso ?做格式裝換,寫入U盤

 

mkisofs選項

v-o 指定映像文件的名稱。

v-b 指定在制作可開機光盤時所需的開機映像文件。

v-c 制作可開機光盤時,會將開機映像文件中的 no-eltorito-catalog 全部內容作成一個文件。

v-no-emul-boot 非模擬模式啟動。

v-boot-load-size 4 設置載入部分的數量

v-boot-info-table 在啟動的圖像中現實信息

v-R 或 -rock 使用 Rock RidgeExtensions

v-J 或 -joliet 使用 Joliet 格式的目錄與文件名稱

v-v 或 -verbose 執行時顯示詳細的信息

v-T 或 -translation-table 建立文件名的轉換表,適用于不支持 Rock Ridge Extensions 的系統上

實驗:制作完整版的iso啟動

  • 復制光盤內容

cp -rv /misc/cd /app/centos6

  • 將不需要文件刪除

find /app/centos6/ -name TRANS.TBL -exec rm {} \;

rm -f /app/centos6/repodata/*

在光盤repodata目錄中,有一行沒有被壓縮的內容,存放著rpm包的信息,不能被刪除

Cp /misc/cd/repodata/43d8fd068164b0f042845474d6a22262798b9f0d1f49ad1bf9f95b953089777d-c6-x86_64-comps.xml ?/app/centos6/repodata/

  • 重新創建rpm包組信息(生成rpm包的元數據)

createrepo -g repodata/43d8fd068164b0f042845474d6a22262798b9f0d1f49ad1bf9f95b953089777d-c6-x86_64-comps.xml ./

  • 查看repodata元數據是否生成
  • 創建應答文件

修改isolinux/isolinux.cfg

啟動路徑修改為cdrom

  • 制作為光盤文件

mkisofs -R -J -T -v –no-emul-boot –boot-load-size 4 –boot-info-table -V “CentOS 6.9 x86_64 boot” -b isolinux/isolinux.bin -c isolinux/boot.cat -o /root/centos6ks.iso /app/centos6/

  • 用制作成的光盤啟動計算機

DHCP服務(Dynamic Host Configure Protocol)

  • 動態主機配置協議
  • 局域網協議,UDP協議
  • 自動分配IP地址給用戶,適用于管理嚴管理
  • DHCP服務必須基于本地
  • 先到先得的原則
  • DHCP服務端用的端口 UDP 67 ??,客戶端用UDP ??68
  • 關閉dhcp client 端口 ?killall ?-9 ??dhclient

DHCP實現

Linux DHCP協議的實現程序:dhcp, dnsmasq(dhcp,dns)

vDhcp Server

/usr/sbin/dhcpd

/etc/dhcp/dhcpd.conf –> /etc/rc.d/init.d/dhcpd

/etc/dhcp/dhcpd6.conf–> /etc/rc.d/init.d/dhcpd6

/usr/sbin/dhcrelay

/etc/rc.d/init.d/dhcrelay

dhcp server:67/udp

dhcp client: 68/udp

dhcpv6 client:546/udp

Dhcp client

dhclient

自動獲取的IP信息: /var/lib/dhclient

DHCP配置文件

全局配置 ??subnet 192.168.24.0 ?netmask 255.255.255.0 {

Range 192.168.24.100 ?192.168.24.200

Option routers 192.168.24.1(網關)

}

host passacaglia {(將IP地址綁定到MAC)

hardware ethernet 0:0:c0:5d:bd:95;

filename “vmunix.passacaglia”;

server-name “toccata.fugue.com”;

}

地址分配記錄 ?/var/lib/dhcpd/dhcpd.leases

dhcpd.conf示例?option domain-name “magedu.com”;

option domain-name-servers 192.168.0.1,8.8.8.8;

default-lease-time 86400;

max-lease-time 86400;

subnet 192.168.100.0 netmask 255.255.255.0 {

range 192.168.100.1 192.168.100.200;

option routers 192.168.100.1;

}

其它配置選項:

filename: 指明引導文件名稱

next-server:提供引導文件的服務器IP地址

v示例: TFTP

filename “pxelinux.0”;

next-server 192.168.100.100;

檢查語法

service dhcpd configtest

Pxe:(Preboot Excution Environment)?

TFTP用端口 ?UDP:69

工作原理

基于C/S架構的網絡模式,支持遠程主機通過網絡從遠端服務器下載映像,并由此支持通過網絡啟動操作

DHCP—TFTP—–HTTP服務

1、Client向PXE Server上的DHCP發送IP地址請求消息,DHCP檢測Client是否合法(主要是檢測Client的網卡MAC地址),如果合法則返回Client的IP地址,同時將啟動文件pxelinux.0的位置信息一并傳送給Client

2、Client向PXE Server上的TFTP發送獲取pxelinux.0請求消息,TFTP接收到消息之后再向Client發送pxelinux.0大小信息,試探Client是否滿意,當TFTP收到Client發回的同意大小信息之后,正式向Client發送pxelinux.0

3、Client執行接收到的pxelinux.0文件

4、Client向TFTP Server發送針對本機的配置信息文件(在TFTP 服務的pxelinux.cfg目錄下),TFTP將配置文件發回Client,繼而Client根據配置文件執行后續操作。

5、Client向TFTP發送Linux內核請求信息,TFTP接收到消息之后將內核文件發送給Client

6、Client向TFTP發送根文件請求信息,TFTP接收到消息之后返回Linux根文件系統

7、Client啟動Linux內核

8、Client下載安裝源文件,讀取自動化安裝腳本

Pxe自動化安裝centos7

安裝前準備:關閉防火墻和SELINUX,DHCP服務器靜態IP

v安裝軟件包

httpd tftp-server dhcp syslinux system-config-kickstart

v配置文件共享服務:

systemctl enable httpd

systemctl start httpd

mkdir /var/www/html/centos/7

mount /dev/sr0 /var/www/html/centos/7

v準備kickstart文件

/var/www/html/ks/centos7.cfg 注意:權限

v配置tftp服務

systemctl enable tftp.socket

systemctl start tftp.socket

實驗:PXE安裝centos7

  • 安裝并啟動服務,dhcp ??tftp ???http
  • 將啟動腳本放置到http服務目錄下,并進行修改

cp anaconda-ks.cfg ?/var/www/html/ksdir/ks7-desktop.cfg

啟動方式:url –url=http://192.168.24.130/centos/7

清空磁盤# Partition clearing information

clearpart –all –initlabel

Zerombr

修改完成檢查語法

ksvalidator ks7-desktop.cfg

修改權限

Chmod ??644 ??desktop.cfg

在http服務目錄下,新建文件夾,將centos系統光盤,掛載到http服務新建文件夾下

Ks7-desktop.cfg文件

#version=DEVEL

# System authorization information

auth –enableshadow –passalgo=sha512

# Use CDROM installation media

url –url=http://192.168.27.7/centos/7

# Use graphical install

firewall –disabled

selinux –disabled

text

reboot

# Run the Setup Agent on first boot

firstboot –disable

ignoredisk –only-use=sda

# Keyboard layouts

keyboard –vckeymap=us –xlayouts=’us’

# System language

lang en_US.UTF-8

# Network information

network ?–bootproto=dhcp –device=ens33 –onboot=on –ipv6=auto –activate

network ?–hostname=centos7.magedu.com

 

# Root password

rootpw –iscrypted $1$r9hxtxq.$ZPeZrROP984jGsem5pApC/

# System services

services –disabled=”chronyd”

# System timezone

timezone Asia/Shanghai –isUtc –nontp

# X Window System configuration information

xconfig ?–startxonboot

# System bootloader configuration

bootloader –location=mbr –boot-drive=sda

# Partition clearing information

zerombr

clearpart –all –initlabel

# Disk partitioning information

part swap –fstype=”swap” –ondisk=sda –size=2048

part /boot –fstype=”xfs” –ondisk=sda –size=1024

part / –fstype=”xfs” –ondisk=sda –size=51200

part /app –fstype=”xfs” –ondisk=sda –size=20480

eula –agreed

%packages

@base

@core

@dial-up

@fonts

@gnome-desktop

@guest-agents

@guest-desktop-agents

@internet-browser

@multimedia

@network-file-system-client

@networkmanager-submodules

@x11

%end

%addon com_redhat_kdump –disable –reserve-mb=’auto’

%end

%anaconda

pwpolicy root –minlen=6 –minquality=1 –notstrict –nochanges –notempty

pwpolicy user –minlen=6 –minquality=1 –notstrict –nochanges –emptyok

pwpolicy luks –minlen=6 –minquality=1 –notstrict –nochanges –notempty

%end

 

%post(腳本文件)

rm -f /etc/yum.repos.d/*

cat > /etc/yum.repos.d/base.repo <<EOF

[base]

name=base

baseurl=http://172.18.0.7/centos/7

gpgcheck=0

EOF

useradd wang

echo magedu | passwd –stdin wang &> /dev/null

systemctl ?set-default ?multi-user.target(默認以字符界面安裝)必須寫

systemctl ?disable ?initial-setup-graphical.service(關閉自動初始化)

必須寫

%end

 

 

  • 配置DHCP

vim /etc/dhcp/dhcpd.conf

option domain-name “example.com”;

default-lease-time 600;

max-lease-time 7200;

subnet 192.168.100.0 netmask 255.255.255.0 {

range 192.168.100.1 192.168.100.200;

filename “pxelinux.0”;

next-server 192.168.100.100;

}

  • 在tftp服務目錄/var/lib/tftpboot目錄下準備文件

安裝軟件包:syslinux

Cp /usr/share/syslinux/{menu.c32,pxelinux.0} /var/lib/tftpboot

cp /misc/cd/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot復制光盤文件

cp /misc/cd/isolinux/isolinux.cfg ?/var/lib/tftpboot/pxelinux.cfg/default

修改default文件

 

pxelinux.cfg/default

 

 

 

自動化安裝centos6

1、安裝服務 http ?dhcp ??tftp-server

2、啟動服務Chkconfig ??httpd|dhcpd|tftp|xinted ??start

添加為開機啟動 chkconfig ?httpd|dhcpd|tftp ??on

Tftp依賴于xinted服務,所以需要啟動xinted 服務

  • 準備dhcp

準備dhcp配置文件cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf

修改/etc/dhcp/dhcpd.conf

subnet 192.168.24.0 netmask 255.255.255.0 {

range 192.168.24.201 192.168.24.240;

option routers 192.168.24.1;

filename “pxelinux.0”

nameserver 192.168.24.129

}

  • 在http服務/var/www/html目錄下創建文件夾,掛載光盤,當做系統的安裝路徑

Mkdir ?-pv ??/var/www/html/centos/6

mount /dev/sr0 centos/6/

  • 準備應答文件,放在/var/www/html/ksdir/ks6-mini.cfg

[root@centos6 ksdir]#cat ks6-mini.cfg

# Kickstart file automatically generated by anaconda.

#version=DEVEL

install

text

reboot

url –url=http://192.168.24.129/centos/6

lang en_US.UTF-8

keyboard us

network –onboot yes –device eth0 –bootproto dhcp –noipv6

rootpw –iscrypted $1$j8OHDz.p$.EbKkVrfBkNP6gxC5.aYC1

firewall –disabled

authconfig –enableshadow –passalgo=sha512

selinux –disabled

timezone Asia/Shanghai

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

# The following is the partition information you requested

# Note that any partitions you deleted are not expressed

# here so unless you clear all partitions first, this is

# not guaranteed to work

clearpart –all

zerombr

part /boot –fstype=ext4 –size=1024

part / –fstype=ext4 –size=50000

part /app –fstype=ext4 –size=20000

part swap –size=2048

%packages

@core

@server-policy

@workstation-policy

%end

  • 修改應答文件權限

Chmod ??644 ?ks6-mini.cfg

  • 準備/var/lib/tftpboot/文件夾下的內容

Cp ?/usr/share/syslinux/{pxelinux.0,menu.c32} ?/var/lib/tftpboot/

Cp ?/misc/cd/isolinux/{initrd.img,vmlinuz} ?/var/lib/tftpboot/ 內核文件

cp /misc/cd/isolinux/isolinux.cfg pxelinux.cfg/default ?菜單目錄

cp /misc/cd/isolinux/{}vesamenu.c32,boot.msg,splash.jpg} ?/var/lib/tftpboot 菜單圖片

 

  • 編輯cfg/default 文件

default vesamenu.c32

#prompt 1

timeout 600

display boot.msg

menu background splash.jpg

menu title PXE Install Centos 6

menu color border 0 #ffffffff #00000000

menu color sel 7 #ffffffff #ff000000

menu color title 0 #ffffffff #00000000

menu color tabmsg 0 #ffffffff #00000000

menu color unsel 0 #ffffffff #00000000

menu color hotsel 0 #ff000000 #ffffffff

menu color hotkey 7 #ffffffff #ff000000

menu color scrollbar 0 #ffffffff #00000000

label linux

menu label ^Install Desktop system 6

kernel vmlinuz

append initrd=initrd.img

label vesa

menu label Install ^Mini System 6

menu default

kernel vmlinuz

append initrd=initrd.img ks=http://192.168.24.129/ksdir/ks6-mini.cfg

label local

menu label Boot from ^local drive

localboot 0xffff

  • 啟動虛擬機,自動安裝

自動安裝centos6 和 7

自動安裝6和7 和單獨安裝6 ,7步驟一樣,只是在/pxelinux.cfg/default文件需要進行修改,例如:

default menu.c32

timeout 600

menu background splash.jpg

label Desktop

menu label ^Install Desktop centos ?7

kernel 7/vmlinuz

append initrd=7/initrd.img?ks=http://192.168.24.130/ksdir/ks7-desktop.cfg

label vesa

menu label Install Mini system 6

kernel 6/vmlinuz

append initrd=6/initrd.img?ks=http://192.168.24.130/ksdir/ks6-mini.cfg

label local

menu default(不選擇,默認啟動)

menu label Boot from ^local drive

localboot 0xffff

menu end

Cobbler

快速網絡安裝linux操作系統的服務,支持眾多的Linux發行版:Red Hat、Fedora、CentOS、Debian、Ubuntu和SuSE,也可以支持網絡安裝windows

工作流程

client裸機配置了從網絡啟動后,開機后會廣播包請求DHCP服務器(cobbler server)發送其分配好的一個IP

vDHCP服務器(cobbler server)收到請求后發送responese,包括其ip地址

vclient裸機拿到ip后再向cobbler server發送請求OS引導文件的請求

vcobbler server告訴裸機OS引導文件的名字和TFTP server的ip和port

vclient裸機通過上面告知的TFTP server地址通信,下載引導文件

vclient裸機執行執行該引導文件,確定加載信息,選擇要安裝的os,期間會再向cobbler server請求kickstart文件和os image

vcobbler server發送請求的kickstart和os iamge

vclient裸機加載kickstart文件

vclient裸機接收os image,安裝該os image

配置文件和目錄說明

配置文件:/etc/cobbler

啟動服務: systemctl ?start ??cobblerd

/etc/cobbler/settings : cobbler 主配置文件

384行:修改為server: 192.168.24.130(IP指向自己)

274行:修改為next_server:192.168.24.130(指向自己)

/etc/cobbler/iso/: iso模板配置文件

/etc/cobbler/pxe: pxe模板文件

/etc/cobbler/power: 電源配置文件

/etc/cobbler/user.conf: web服務授權配置文件

/etc/cobbler/users.digest: web訪問的用戶名密碼配置文件

/etc/cobbler/dhcp.template : dhcp服務器的的配置末班

/etc/cobbler/dnsmasq.template : dns服務器的配置模板

/etc/cobbler/tftpd.template : tftp服務的配置模板

/etc/cobbler/modules.conf : 模塊的配置文件

數據目錄

/var/lib/cobbler/config/: 用于存放distros,system,profiles 等信息配置文件

/var/lib/cobbler/triggers/: 用于存放用戶定義的cobbler命令

/var/lib/cobbler/kickstart/: 默認存放kickstart文件

/var/lib/cobbler/loaders/: 存放各種引導程序

鏡像目錄

/var/www/cobbler/ks_mirror/: 導入的發行版系統的所有數據

/var/www/cobbler/images/ : 導入發行版的kernel和initrd鏡像用于遠程網絡啟動

/var/www/cobbler/repo_mirror/: yum 倉庫存儲目錄

日志目錄

/var/log/cobbler/installing: 客戶端安裝日志

/var/log/cobbler/cobbler.log : cobbler日志

Cobbler命令介紹

Cobbler check ?檢查當前設置是否有問題

Cobbler ?list ??列出所有的cobbler元素

Cobbler ?report ?列出元素的詳細信息

Cobbler ?sync ?同步配置到數據目錄,更改配置最好都要執行下

Cobbler ??reposync ?同步yum 倉庫

Cobbler ?distro ??查看導入的發行版系統信息

Cobbler ?distro ?remove –name= ?????可用于刪除菜單選項

Cobbler ?system ?查看添加的系統信息

Cobbler ?profile ?查看配置信息

Cobbler ??profile ??add ??可用于添加菜單選項

Remove ??刪除菜單選項,刪除關聯文件

Rename ??改名字

排錯步驟

1、/etc/cobbler/settings : cobbler 主配置文件

384行:修改為server: 192.168.24.130(IP指向自己)

274行:修改為next_server:192.168.24.130(指向自己)

  • cobbler get-loaders 執行命令(需要聯網下載,不聯網需要拷貝pxelinux.0 和menu.c32文件)
  • 生成加密口令

openssl passwd -1

將生成的加密口令復制到/etc/cobbler/settings文件中,如下

default_password_crypted

$1$7ijO6LEu$zFB/mUJq7XIYjxK3wLb6m/“將引號中口令替換(centos)

Manage_dhcp : 1

Manage_tftpd :1

Pxe_just_once :1 下次重啟不在重裝系統,不會覆蓋系統

用Cobbler管理dhcp

1、修改/etc/cobbler/settings文件中manage_dhcp: 1(將0改為1)

2、按照cobbler提供的模板修改dhcp文件

Vim ?/etc/cobbler/dhcp.template

  • 重啟cobblerd 服務
  • 同步 ?cobbler ?sync
  • 可以看到已生成conf文件

生成yum源

  • 導入光盤做成yum源

掛載光盤 mount ?/dev/sr0 ?/mnt/centos7

  • cobbler import –path=/mnt/centos7/ –name=centos-7.4 –arch=x86_64

Import ?:導入

–path:導入的路徑

–name:導入之后的名字

–arch:cpu架構

放置目錄: /var/www/cobbler/ks_mirror目錄中,文件名兩位 –name+–arch

應答文件關聯

將自己的應答文件關聯到cobbler,當cobbler安裝系統的時候用我們自己的應答文件:設置如下

  • /var/lib/tftpboot/pxelinux.cfg/default 改目錄下放置啟動時菜單文件

用命令 : cobbler ?profile ?list ?可以查看菜單選項

  • 將自己的應答文件拷貝到 ?/var/lib/cobbler/kickstarts/ 目錄下

修改自己的應答文件:

修改安裝路徑:url –url=$tree

增加菜單名稱:cobbler profile add –name=centos7-desktop –distro=centos-7.4-x86_64 –kickstart=/var/lib/cobbler/kickstarts/ks7-desktop.cfg

Cobbler ?profile ?add :命令加入

–name : 增加入菜單的名字

–distro : 菜單對應的yum安裝源

–kickstart :應答文件的放置路徑

  • Cobbler ?profile ?list ?可以看到已經加入啟動菜單

 

在centos6.9上安裝cobbler

  • 安裝 httpd ,tftp-server ?,dhcp ?,syslinux
  • 啟動服務

Service ?httpd|dhcpd |tftpd(xinetd) ?start

Tftp依賴于 xinetd 服務,

Chkconfig ??tftp ?on

Service ?xinetd ?restart

  • 關閉SELINUX ?和防火墻
  • Yum install cobbler cobbler-server
  • Service ?cobblerd ?start
  • Cobbler check
  • vim /etc/cobbler/settings

server: 192.168.24.129

next_server: 192.168.24.129

  • openssl ?passwd ?-1 (centos)

將生成口令添加到 /etc/cobbler/settings

default_password_crypted: “$1$GMAJjvpy$E2L30JJH.0BbPyPWKgdjc1”

  • cobbler get-loaders(執行命令下載文件)
  • Cobbler ?sync (同步)
  • 配置DHCP

subnet 192.168.24.0 netmask 255.255.255.0 {

range 192.168.24.50 192.168.24.99;

option routers 192.168.24.1;

filename “pxelinux.0”;

next-server 192.168.24.129;

}

  • 重啟DHCP服務
  • 將光盤內容導入
  • 將應答文件導入/var/lib/cobbler/kickstarts/目錄下,并且修改啟動方式 ?url ??–url=$tree
  • 將啟動菜單和應答文件和yum源做關聯

Cobbler profile add ?–name=Centos-6.9-Desktop(啟動菜單名字) ?–distro=Centos-6.9-x86_6(關聯yum源) ?–kickstart=/var/lib/cobbler/kickstarts/ks-6-desktop.cfg(應答文件絕對路徑)

安裝cobbler的WEB界面

  • 給cobbler加管理員:

htdigest -c /etc/cobbler/users.digest Cobbler cobbleradmin

Cobbleradmin管理員登錄名字

Cat ?/etc/cobbler/users.digest 看到賬戶已經覆蓋原有內容

  • 修改cobbler的驗證方式

module = authn_pam

創建cobbler賬號

Useradd ?-s ?/sbin/nologin ?cobbleradm

vim /etc/cobbler/users.conf(pam模塊的配置文件,驗證方法設置)

[admins]

?admin = “cobbleradm” ?將創建的用戶添加

cobbler = “”

 

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/91140

(0)
燕李鵬燕李鵬
上一篇 2018-01-15
下一篇 2018-01-15

相關推薦

  • 函數定義、使用

        1、函數介紹         函數function是由若干條shell命令組成的語句塊,實現代碼重用和模塊化編程。           &nb…

    Linux干貨 2016-08-22
  • Linux系統之用戶和組

    Linux系統之用戶和組 1、什么是用戶 用戶:資源獲取標識符,資源分配,安全權限模型的核心要素之一 2、沒有用戶,操作系統可否正常執行? 答案是肯定的 在Linux系統上,用戶管理是基于用戶名和密碼的方式進行資源的分配, Username/UID分為以下類別:     管理員:root, 0  &…

    Linux干貨 2016-08-04
  • Linux學習小結3

    1.列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。[root@node1 ~]# who -q | sed -n ‘1p’centos root fedora redhat mint2.取出最后登錄到當前系統的用戶的相關信息。[root@node1 ~]# who -a | tail -1min…

    Linux干貨 2017-10-24
  • linux文件目錄詳解

    linux目錄結構   (且看且不看) 歷史上 /usr和 /etc文件夾下既保存靜態文件,也保存可變文件,后來有了/var層次結構,/usr下面的可變文件被轉移到/var下面。因而/usr現在可以只讀的方式掛載(如果它在單獨的文件系統上)。 /etc下的可變文件早已轉移到/var,因為技術上允許/ 根是系統內核啟動后掛載的第一個分區,掛載到根上的…

    Linux干貨 2017-05-31
  • bash腳本編程class2

    bash腳本class2—循環語句的使用      一.三種循環語句以及其具體使用方法   我們知道,在shell腳本編程過程中,為了實現邏輯關系的運算,有三種執行命令的順序:順序執行,選擇執行,循環執行。通過if,case這類語句可以實現條件篩選后執行命令,這次課程中所學的主要知識點為循環語句的三種使用方式:for,…

    Linux干貨 2016-08-19
  • linux中數組的定義與使用

            我們常說,程序=指令+數據,往細一點的方向說,指令具體指的有哪些?數據又有哪些? 總結一下: 指令大概包括,編程語言中的語法關鍵字(如bash編程中的關鍵字有for,while,case,if,until,continue,break),還包括系統中的命令,和一些自己編寫的函數,這些…

    2017-05-23
欧美性久久久久