易陆发现互联网技术论坛

 找回密码
 开始注册
查看: 3746|回复: 4
收起左侧

基于Centos7.6定制自己的系统镜像

[复制链接]
发表于 2021-3-13 22:53:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?开始注册

x

! O! f( \# z& K1 o  <environment>
; e8 D, y6 ]& L' ?& s5 ?0 G    <id>ceph</id>- @& s8 J2 i; K% j) T1 n& _
    <name>CEPH S3 SERVER</name>) Z1 {- K2 K7 b, J. n. S, M
    <name xml:lang="zh_CN"> ceph</name>: y6 u0 E! r, {1 V% k/ P4 ?
    <description>CEPHServer</description>& x" U: H# O. c2 ?7 u
    <description xml:lang="zh_CN"></description>
# b( E" Q+ x' E' [/ G1 r+ R    <display_order>9</display_order>
) H7 q* p7 H/ E+ z    <grouplist>; \- [# }7 f0 I: w- M- m* w0 ~
      <groupid>core</groupid>
1 P7 R8 [* k% H, a  `      <groupid>gbasic</groupid>
, M6 H/ [8 `2 W' Q      <groupid>gceph</groupid>
% U$ U! ]* N  _$ k7 o8 z- B1 q! A1 T& i3 b, N) ~. Q  I8 ?  y
    </grouplist>
8 z$ t! t- `- z( J) `
/ Y4 w) I. l4 F+ b  f: Z, O; n <optionlist>
2 \3 ~; ^6 v+ o$ o" d6 e* g
! j; L/ @; c/ U$ L+ a) I) n$ _      <groupid>gim</groupid># E* p" y4 B$ W0 x

, N0 H! Q, U9 I3 C1 P) f      <groupid>giam</groupid>3 Y" G& |2 E8 r) j5 M3 Z3 y
  </environment>
# W9 u0 `4 X; j5 W0 q) ^$ Q0 a5 q% k+ @3 K) w/ t
...
* a* S4 e1 H1 |, d  C; m& w4 v5 {! r' I- ]' E6 c: Y' T
:wq!保存退出  ( x( T& F5 Y7 x% ~  m6 o% e- m

$ W. w0 y) ~+ @( E& ?. y# a以上修改会在安装系统可选软件中列出自己的软件。 optionlist项为可附加可选项。自定义的软件如init-ceph。可以放在根目录的任务文件夹下。我们统一放在 Extra/mirrors/sunrunpaas/7 h8 V8 i3 ~9 b. w! @6 V: V

& ~* E( x) u$ [. Q如:
% T+ A. u; T9 p: d7 ^- n- n3 |( d6 _: o  i
ceph/          php5.6/        sunrundfs/     sunruniaas/    sunrunim/      sunrunvas/      
- H" \: V1 L6 w! d* q5 S4 T* P% a, emariadb/       sunrun-common/ sunrunhac/     sunruniam/     sunrunslb/     TRANS.TBL
3 Z0 ^2 R; W- Q9 g$ N  T* B6 K5 j) f( J) ~3 p
" [8 h0 m4 C: f' L/ G2 ?

- _5 \% g+ q; W% F3 X8 g" R& z% c% a' h1 E
2.2 ,定制作自己的界面1 |1 C3 }4 O0 _. A# S/ m( `

2 f  J8 g, H* W   2.2.1定制作引导界面。7 ^8 ?& |1 y6 m5 j. @  i' u, A

+ n2 G5 ~8 h5 p$ v  P 修改 isolinux/isolinux.cfg
6 Z- b* y1 r4 o( S- a; v& F% b( Y3 y. c) o
label linux
* I- H/ T* b& S6 z- ?/ u  menu label ^Install SunrunOS 14 P$ }3 ^- ]% }
  kernel vmlinuz
+ q, f& A/ S1 [+ t% R# G# s6 P% i
3 ?! m; B! ?% h7 v( b  q. L  append initrd=initrd.img inst.stage2=hd:LABEL=CentOS7 inst.ks=cdrom:/ks.cfg  quiet) x6 A0 y# J  }. {+ x; S5 U' A' r
3 O& i* W* ]# _1 H2 U* c9 m
...
7 a* e) P6 p# _0 Q9 H, N1 {1 Y9 `5 W
2.2.2 定制图标和文字。/ ]0 {1 h0 S# v' X7 O2 P. F
- w5 E3 [  T" @: O
    系统安装界面里的图标与文件修改。对应的图片在LiveOS/squashfs.img中,需要解压,修改,再压缩回去。
% _$ o2 n: P& V! x# F+ \: f( x, T. E* t1 X/ o8 Q
    unsquashfs squashfs.img
" I& Y0 v" R7 }3 r( [" ?" Q' H+ {5 K2 I/ p
  产生squashfs-root 目录。
  s' z* |$ a$ p; s! H% l7 A4 q* R
- W9 ?2 M, `9 J6 l; O6 |" f  squashfs-root/LiveOS/
" k4 h) I9 F9 [) M  Y! V( g3 I& r  {  ~; m5 a- O: @7 A
  mkdir tmp5 N( f9 H/ J9 ?5 }; t5 y3 e  ^
- t1 s, r- P$ w& p) B
  mount rootfs.img tmp/
( Q+ c" |. f9 M% ~% J9 @5 k& n
$ s' }6 F2 y# e  下载,修改,替换下图:
& G% i% |8 o7 g( m& U+ Z) Y6 R6 y# J2 B# S- z; I
   usr/share/anaconda/pixmaps/sidebar-logo.png
( N9 ?/ c: A' H+ a; a" w7 Z5 A9 x  p& i5 M+ @
& C5 H$ |, O0 w8 p  _
1 S( b9 G6 y/ Q% \+ T- k
修改usr/lib64/python2.7/site-packages/pyanaconda/product.py
0 I# b, Z4 }9 _% q
: \0 s) e) }5 X' o% [# v- n: Adef distributionText():* F0 g% n5 T& M
    return _("%(productName)s %(productVersion)s INSTALLATION") % \
3 v, z9 P' \( @: |' B! s6 S             {"productName": "SUNRUNOS", "productVersion": "1"}0 g! t7 g! f. h4 h; P0 ~
' `) e. Y! z* t4 G: T2 t

( _& B! c* l- q2 R: Y. ^# {2 f" K5 G* a% F; S! a2 O  M
完成修改,生产新的squashfs.img
& ^: V' J0 O' d; `2 P8 t* J3 u- {0 {+ v# g
umount tmp/
6 H) l0 Z( [; N# F
% i2 C9 m" c  {+ Rcd ../../
; \# H9 Q4 C3 M. e* p/ }' f1 M1 L9 d6 V8 g9 K9 z( E: O
rm squashfs.img+ L) R, {' X# j6 u! v2 |
: Q6 }! Z/ X) D/ |; I. j0 K
mksquashfs squashfs-root squashfs.img3 ^% D4 I9 o$ _, f  w7 a, h0 Q

* j/ x3 X" S- Z3, 定制安装流程5 v1 h9 z' A' k8 a, A6 x5 B& H- c' n) ~

) @+ M  ?0 P, G4 _7 X+ X   cp /root/anaconda-ks.cfg /cloud/iso/centos7.2/ks.cft
! g/ L& Z$ f% c, q0 ]) Y1 z3 a# m/ b% |: b
如下:8 n3 q9 f$ O$ B2 c  n$ ]# _6 C8 b9 |
) a. q2 K0 O. A3 d8 D
#version=Chen CentOS
) |6 u6 G+ G& O; R
. N$ c) M- ~. N/ ~#platform=x86, AMD64, or Intel EM64T 8 t4 L* p6 [! h$ b
# Install OS instead of upgrade 1 c) }2 {% n: X
#repo --name="sunrundvd"  --baseurl="file:///opt/sunrun-dvd/Extra/Packages/"
$ h: |1 K9 s3 p$ F+ i2 a5 J& [' u  vinstall ; i& W! q# x2 ]9 f+ n: Q
# Keyboard layouts
; C1 a  |6 g1 {% f. a' Qkeyboard --vckeymap=us --xlayouts='us' / Z7 T4 m& T2 O8 Z: X6 t1 C7 @4 y
# Root password 8 Z( P& O2 M5 B4 ~
rootpw --iscrypted $1$password$mV5CPMXkUkvImOukQuVs.. . j9 T. L9 B& M; D0 X8 C
# System language : q% }- ?% S' l8 |# x
lang en_US.UTF-8
3 a8 I0 w- m8 R! x# Firewall configuration . T$ Y9 ^  h! z& k
firewall --disabled - o2 A! n' e5 b5 N9 R4 k4 r" ~
# System authorization information # e8 l8 O* L; ]/ X6 W9 w
auth  --useshadow  --passalgo=sha512 5 k9 k( P" h4 y. r0 q2 b2 Q7 V
# Use CDROM installation media
- Y( @; X* w8 e$ lcdrom
) p( g' A  L$ a  I# Use text mode install
4 I( e: W# J& R/ S" }. k: A#text
: L: }( M! T* }! d. \# Run the Setup Agent on first boot
+ L  ^: c( b+ X7 _+ b0 ?firstboot --enable
! l' k" S5 d% Z$ z& Kignoredisk --only-use=sda 6 {1 L) s4 M* h9 O& D
# SELinux configuration 6 @4 P8 h4 @( J
selinux --disabled
3 Q. y2 F  m, k6 b; u8 U9 Q# Do not configure the X Window System ' \  k; h, g: l) X3 h; E9 `2 O. J+ B3 x
#skipx ( X7 A) L; d/ m) l% ]& X

4 Z; n, R! T' {  v
: x$ g' q) P6 \+ j% d" O# Network information 4 R7 G2 L* d* N; ^
network  --bootproto=dhcp --device=ens160 --onboot=yes --ipv6=auto --activate
) s# `7 [( v7 r#network  --device=ens160 --hostname=localhost.localdomain
; r9 v3 C% y* M% l1 W( k
; W2 x& ?/ @4 e& D3 g$ J( p& [1 S# `4 o0 K; P9 j1 u4 e
%post --nochroot
) A# B1 l: m: e; [) K8 E7 q# 写到rootfs里去   V" J9 @4 V, H, A& Y
rm -rf /mnt/sysimage/etc/yum.repos.d/*
. M% c/ m* y# d; f( E#mkdir -p /mnt/sysimage/mnt/iso . m& y' X& Q4 ?! p' H
#\cp -rf /run/install/repo/Extra/repos/* /mnt/sysimage/etc/yum.repos.d/
" S, r3 ~, o, J# B$ m9 f; s$ W0 V8 d  a# K# Z
%end
  d& ?& j7 u6 K4 Q; z: B7 [5 E
/ V0 H* w5 D' I! {# Reboot after installation
0 p, x7 S, c! s/ H! Freboot
, B) q  Y4 |# P- l% u# `# System timezone $ \* J6 M$ K& d2 P- y' y
timezone Asia/Shanghai --isUtc # Z* @: g: `( _' F  Z4 o
# System bootloader configuration ; g+ ]4 f& i1 F; a" u
bootloader --location=mbr --driveorder=sda --append="" 8 P/ Y: g( p& A9 F3 d
# Clear the Master Boot Record * G; h$ g0 g2 M6 e1 Z- J
zerombr
0 v* F7 |( U+ S9 }% z4 {  [# X5 c# Partition clearing information 5 e5 F- L0 Y: H' a
clearpart --all --initlabel
. v& {/ o% X4 n. M2 w  L0 hautopart --type=lvm
2 }* D. R( q1 i. M4 ]  S
4 E5 J/ M" |7 F2 v' ]% g% V0 G) t/ {, ?1 M  q5 `* E
#%packages - a; `& ?- Z* _- y+ \5 K: j
#@^minimal / G& |$ |) W# ^& k8 x5 p+ D
#@core
' m& {6 a3 B: [( g# t3 D# W' v+ k& j: R" e
3 p( I8 f7 l" s7 A+ y7 _; e- ~
#%end
+ x) F0 S) k( U. R5 o7 u
7 {+ j, {( ^) a! v0 a) F  C. L1 v8 h
4,重新生成镜像:
. r6 r8 w; o+ ~" F) l& `
+ v" L& g) Y) F! ]rm -rf repodata/*9 }- w2 f# {5 \6 g) V: O1 b
) Q* \, p/ t) N  J" H1 q0 Z/ _1 b
0 G* X0 d. Z8 P% {0 n
" R/ i; y2 E0 p. d
createrepo -g comps.xml .! }- L) F- r' U4 B$ f6 v2 z

8 _; |$ C& W; w0 i" p( s0 b
- I0 E6 X2 X3 H+ {+ ]2 \4 h, s
+ }' b7 Q; Q3 E! Ogenisoimage -v -cache-inodes -joliet-long -R -J -T -V CentOS7 -o ../c76.iso -c isolinux/boot.cat -b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -b images/efiboot.img -no-emul-boot ./$ t# s# c4 c6 ^
+ v' }" O! G& g7 q" |
5完成   ../c76.iso 即是我们的作品。
% G( }3 }$ b9 X0 m) W0 m& I0 t( }, z6 R. A7 a; }6 @- W! U6 h

, D. L0 r- z- |& a# D) @' o: {4 R1 U6 A% U: l1 E% ~, z
2 ]  e6 `5 K+ v. r. X
 楼主| 发表于 2021-3-13 22:53:46 | 显示全部楼层
mkisofs -o CentOS7.4-evglow.iso -input-charset utf-8 -b isolinux/isolinux.bin -c isolinux/boot.cat -
$ M# G  }  s. Fno-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T -joliet-long -V EVGLOW /root/iso/CentOS7.4-evglow/. a9 \4 H+ x0 Z4 |" c1 \

5 i, q1 g* ~* V
 楼主| 发表于 2021-3-13 22:54:52 | 显示全部楼层

Centos 7发布也有一段时间了,最近公司有需要在Centos7上测试的需求,于是就开始着手定制。大致和之前写的制作CentOS 6.5一键自安装ISO镜像光盘差不多。这边主要写下和6.5的差别

一、拷贝相关软件包

6.5版本用的是根据安装的install.log,用脚本去筛除不需要的包;但在Centos7的/root下面并没有install.log文件。于是我们可以通过下面脚本用rpm -qa的方式得到所需安装的软件包。

  • #!/bin/bash
  • rpm -qa  >package.txt
  • DVD='/mnt/cdrom/Packages'
  • NEW_DVD='/ISO/Packages'
  • while read LINE
  • do
  • cp ${DVD}/${LINE}*.rpm /${NEW_DVD} || echo "$LINE don't cp......."
  • done < package.txt
  • rm -f package.txt
    7 U! |/ n- p- }( K
    5 [% ^3 b3 [. E1 X" t

" |9 t2 B  q9 y* w% U2 ~) a# Z

& q1 G) I! p! E9 a: G

二、配置 EFI 引导方式

1、EFI简介

参考百度百科EFI

2、分区

为了同时兼容mbr和efi方式,需同时创建 /boot 和 /boot/efi 分区

3、配置 EFI 引导

进入光盘目录EFI/BOOT/ ,编辑 grub.cfg 文件,和mbr方式类似,指明 ks.cfg 文件位置和安装源位置

三、生成ISO文件

这边和在CENTOS6.5以下版本的区别是,制作镜像需要使用CENTOS7系统,因为两者系统的genisoimage命令的版本不一样, 6的系统制作出来的 iso不能在 efi 环境启动。

如果要在 efi 启动,需要添加如下参数

  • -eltorito-alt-boot -bimages/efiboot.img -no-emul-boot
    7 m+ g# J& N! g3 L/ C

6版本以下生成ISO命令:

  • # mkisofs -o CentOS-6.5_x86_64.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T /ISO/
    + Y# g$ M  [# R+ X( P, n8 _& q; V# @
    # g! c0 g% u/ z+ I% L+ k) D+ U

7版本生成ISO命令:

  • # genisoimage -o CentOS-7.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T /CentOS/7
    2 s7 v; i1 B3 Z2 t+ }4 v

两者的区别就是mkisofs和genisoimage,其实最早时候Linux 系统使用cdrtools工具来管理 iso 及光盘, mkisofs 是 cdrtools 里面的一个工具,后来 cdrtools 更好了了授权许可,从 GPL 修改为 CDDL 许可,开源社区又推出了一套基于 GPL 的工具,cdrkit,mkisofs 也被 genisoimage 去掉,现在系统中的 mkisofs 实际是 genisoimage的软连接

 楼主| 发表于 2021-3-15 20:59:12 | 显示全部楼层
CentOS7全自动安装光盘制作详解
1 复制光盘文件
1)挂载iso镜像
创建目录用于挂载光盘:
mkdir /root/centos7
挂载iso镜像
mount -o loop CentOS-7.0-1406-x86_64-DVD.iso/root/centos7
2)复制光盘文件到编辑目录进行编辑
因为挂载上iso镜像是只读的,如果要编辑,需要将文件复制出来,再编辑。
首先创建编辑目录:
mkdir /root/centos7_iso
复制光盘文件:
cp -rf /root/centos7/* /root/centos7_iso/
diskinfo文件需求单独拷贝下:
cp /root/centos7/.discinfo /root/iso
2 编辑ks.cfg文件
系统安装的时候,按照ks.cfg文件的内容进行安装,我们把ks.cfg文件放到isolinux目录下:
cd /root/centos7_iso/isolinuxvim ks.cfg
我的ks.cfg文件内容如下:
#version=RHEL/CentOS7 by xiaoli110install# Keyboard layoutskeyboard 'us'# Reboot after installationreboot# Run the Setup Agent on first bootfirstboot --enableignoredisk --only-use=sda# Keyboard layoutskeyboard --vckeymap=us --xlayouts='cn'# System languagelang zh_CN.UTF-8# Network information#network --bootproto=dhcp --device=enp2s0 --onboot=off --ipv6=auto#network --bootproto=dhcp --device=enp3s0 --onboot=off --ipv6=auto#network --hostname=localhost.localdomain# Root passwordrootpw --iscrypted 111111111111111111111111111# System timezonetimezone Asia/Shanghai# System languagelang zh_CN# Firewall configurationfirewall --enabled --ssh # System authorization informationauth --useshadow  --passalgo=sha512# Use CDROM installation mediacdrom# Use graphical installgraphical# SELinux configurationselinux --disabled# Do not configure the X Window Systemskipx# System bootloader configurationbootloader --location=mbr# Clear the Master Boot Recordzerombr# Partition clearing informationclearpart --all# Disk partitioning informationpart /boot --fstype="xfs"--size=500part /boot/efi --fstype="xfs"--size=500part swap --fstype="swap"--size=16000part / --fstype="xfs" --grow--size=1 %packages@base@core@development@hardware-monitoring@performance@remote-system-management%end
注意:
1)因为CentOS7系统网卡规则更复杂,为了ks.cfg更通用,最好ks.cfg不用制定网卡配置。
2)为了兼容mbr方式和EFI方式,同时创建了/boot和/boot/efi分区。
3配置mbr引导方式
编辑isoliuux目录下的isolinux.cfg文件,添加自己的内容,在isolinux.cfg文件中label linux下面添加自己的label:
label linux menu label ^Install CentOS 7 kernel vmlinuz append initrd=initrd.img inst.stage2=hd:LABEL=CENTOS7 quiet label custom menu label ^Custom CentOS 7 by xiaoli110 kernel vmlinuz append initrd=initrd.img inst.stage2=hd:LABEL=CENTOS7 inst.ks=cdrom:/isolinux/ks.cfg
注意点:
1)memu label 后面的内容是在光盘引导起来菜单的内容,^后面的字母是菜单的快捷键;
2)通过inst.ks关键字指明ks.cfg文件位置;
3)inst.stages2标识的是系统按照介质位置,这里使用hd:LABEL表明寻找的是label为CENTOS7的安装介质,使用LABEL关键字的好处是可以精确指定安装介质,为什么label是CENTOS7,是因为我在制作光盘镜像的时候指定的,方法在后面有介绍。
4 配置EFI引导方式
1)EFI简介
EFI可扩展固件接口(ExtensibleFirmware Interface 的缩写),是英特尔主导推出的一种替代BIOS的升级方案。最早由英特尔开发,于2005年将此规范格式交由UEFI论坛来推广与发展,后来并更改名称为Unified EFI(UEFI)。UEFI论坛于2007年1月7日释出并发放2.1版本的规格,其中增加与改进了加密编码(cryptography)、网络认证(network authentication)与用户接口架构(User Interface Architecture)。
EFI是用模块化,C语言风格的参数堆栈传递方式,动态链接的形式构建的系统,较BIOS而言更易于实现,容错和纠错特性更强,缩短了系统研发的时间。
EFI在概念上非常类似于一个低阶的操作系统,并且具有操控所有硬件资源的能力。
2)配置EFI引导
进入光盘目录EFI/BOOT/,编辑grub.cfg文件,添加自己的菜单:
menuentry 'Install CentOS 7' --class fedora--class gnu-linux --class gnu --class os {       linuxefi /p_w_picpaths/pxeboot/vmlinuz inst.stage2=hd:LABEL=CENTOS7 quiet       initrdefi /p_w_picpaths/pxeboot/initrd.img}menuentry 'Install CentOS 7 custom byxiaoli110' --class fedora --class gnu-linux --class gnu --class os {       linuxefi /p_w_picpaths/pxeboot/vmlinuz inst.ks=cdrom:/isolinux/ks.cfginst.stage2=hd:LABEL=CENTOS7 quiet       initrdefi /p_w_picpaths/pxeboot/initrd.img}
和mbr方式类似,指明ks.cfg文件位置和安装源位置。
5 生成iso镜像
经过我踩过多个坑,成功的生成镜像,并且能在EFI和mbr环境安装的镜像生成命令如下:
genisop_w_picpath -v -cache-inodes -joliet-long -R -J -T -V CENTOS7 -o /root/centos7.iso    \-c isolinux/boot.cat    -bisolinux/isolinux.bin      \-no-emul-boot -boot-load-size 4-boot-info-table    \-eltorito-alt-boot     -b p_w_picpaths/efiboot.img       -no-emul-boot .
(1)中间踩过的几个坑:
1)制作镜像要使用CentOS7的系统,不要使用CentOS6的系统,因为两者系统的genisop_w_picpath命令的版本不一样,6的系统制作出来的iso不能在efi环境启动;
2)如果要在efi启动,需要添加如下参数:
-eltorito-alt-boot     -bp_w_picpaths/efiboot.img       -no-emul-boot
3)通过-V参数指定光盘label
(2)genisop_w_picpath命令参数简介
-o 指定映像文件的名称。
-b指定在制作可开机光盘时所需的开机映像文件。
-c 制作可开机光盘时,会将开机映像文件中的no-eltorito-catalog全部内容作成一个文件。
-no-emul-boot  非模拟模式启动。
-boot-load-size 4   设置载入部分的数量。
-boot-info-table 在启动的图像中现实信息。
-joliet-long   使用 joliet 格式的目录与文件名称,长文件名支持。
-R 或 -rock    使用 Rock RidgeExtensions 。
-J 或 -joliet    使用 Joliet 格式的目录与文件名称。
-v 或 -verbose    执行时显示详细的信息。
-T 或-translation-table    建立文件名的转换表,适用于不支持 Rock Ridge Extensions 的系统上。
(3)genisop_w_picpath、mkisofs、xorrios几个命令的区别
说起genisop_w_picpath和mkisofs,其实里面是有点故事的。
最早的时候,Linux系统使用cdrtools工具来管理iso及光盘,mkisofs是cdrtools里面的一个工具,后来cdrtools更好了了授权许可,从GPL修改为CDDL许可,开源社区又推出了一套基于GPL的工具,cdrkit,mkisofs也被genisop_w_picpath去掉,现在系统中的mkisofs实际是genisop_w_picpath的软连接:
ls -l /usr/bin/mkisofs/usr/bin/mkisofs ->/etc/alternatives/mkisofsls -l /etc/alternatives/mkisofs/etc/alternatives/mkisofs ->/usr/bin/genisop_w_picpath
xorrios是另外一个比较流行的制作iso镜像的工具,并且有一个参数-asmkisofs可以和mkiso命令兼容。

8 l: n3 c3 [+ d* k
 楼主| 发表于 2021-3-16 11:01:01 | 显示全部楼层
vi /root/ks.cfg+ B# U" |) k% m4 A
% q3 t- P  `; i- A) ?
install/ X" a5 L" V7 _3 D
cdrom
0 ~$ A. p# K* e2 F8 q8 }lang en_US.UTF-8! B' H6 l8 c9 X' Z4 X8 D+ ~
keyboard us
; U8 a7 A; N' u$ fnetwork --onboot no --device eth0 --bootproto dhcp --noipv6
7 l5 K( q0 e% m1 d: lrootpw  --iscrypted $6$ZI78JvmQ56MxYSe3$dn9UV./VvFieP25R94ciYo4wg7p17sM8gCt2WQa/hqMeHiynnBqL/abF14D0AOSXjnptoBHqLYGhzun6W7Qfr1( W# ^+ f. n' H2 a+ m) s) ^+ D. [
firewall --service=ssh9 A1 J4 q* G/ }+ Q& o9 s$ }4 C, q
authconfig --enableshadow --passalgo=sha512
6 R5 I1 T+ m, @$ R5 D. vignoredisk --only-use=sda
5 `) f% V/ u  c  l9 r6 j7 ]$ X. T; Xselinux --disabled
! Z$ @9 l4 \/ S/ J; r& ]timezone Asia/Shanghai
5 {+ p4 }% X/ d* `( M& g2 K7 Xbootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"$ O; e+ `. @" m5 r- ~
clearpart --all --initlabel  --drives=sda; K/ m4 |- ~% z3 @
part /boot --fstype=ext4 --size=2009 J  u( M5 W% J5 [
part / --fstype=ext4 --size=20000
7 P8 s" r7 R3 Rpart swap --size=2048
. D  v9 U2 j) \; n3 Kpart /data --fstype=ext4 --grow --size=17 D- d- X' L# u! U0 ?2 U
reboot
& Q8 W$ i% G& Q2 i%packages
' K2 A9 |* U, \@core
7 u$ M% x% K+ v# n& N  W@server-policy
0 M  w0 c. W  @@workstation-policy
( Q: ^3 u: d  }8 k! E- f" T/ w
4 a& R/ |2 W* Z( L5 C6 a%post1 g0 f2 @% E+ M+ p  |5 T1 Y
#add user
/ q/ _2 C. e  i  g2 [7 U4 j  f+ j, Euseradd pos
5 _, j! Y: r7 z. @3 `# Cecho "12341234" | passwd pos --stdin( m: v. \0 v6 {7 B
#service1 _" t/ O. H' m- N4 Y2 D
for i in `chkconfig --list | grep 3:on | awk '{print $1}'`; do echo $i; chkconfig $i off; done
3 o8 @1 w4 s" B9 C# cfor i in auditd crond network  rdma  rsyslog sshd udev-post; do echo $i ; chkconfig $i on; done7 J/ Q3 _& G3 y# j. Y

( X) k  U2 P; j0 _9 e$ s#profile
2 a- L( [3 _. N0 secho "ulimit -SHn 51200">>/etc/profile
; X5 I# x: x! \+ X/ \! oecho "TMOUT=6000" >>/etc/profile& S; ^' P; t# o1 Y' f" o
) A9 S( `; M* y, i+ i% Z
#passwd' D" p" W8 r: e+ I* _
echo "admin"  | passwd root --stdin
! S; D1 A1 t; j" J" l- d
8 r7 W* L+ I* u: b* G( U0 y#ssh login slowly& V+ ]% _, i$ S* r
sed -i "s/#UseDNS yes/UseDNS no/" /etc/ssh/sshd_config
" ^% o) V8 |' W% o, y8 E. Ysed -i "s/GSSAPICleanupCredentials yes/GSSAPICleanupCredentials no/" /etc/ssh/sshd_config
6 v2 c2 W1 y6 L/ N0 i# V+ u: V/etc/init.d/sshd restart
9 h5 \/ N9 W, I( j9 ?: \
* g6 L- t  ~) drm -fr /tmp/*. v/ k. V; J4 g& `+ Q
%end" v4 p  Y* N- i: C5 @9 b3 r

+ i, k2 V; t, X6 Y; I; Z2.  yum install createrepo mkisofs isomd5sum squashfs-tools -y
# F/ C# X5 j* u7 l/ {* l! f2 b* h
' {/ L( A# W% g) S& `    mkdir /root/os. G# a5 u1 N2 `  w0 l' Q- |) }( b
1 P  @) I" i, k2 L7 c- S1 @$ _
   将以os为iso制作目录.$ _1 G2 L2 N7 c! `7 q4 J
/ i9 N' w5 ^+ J% p! ]5 i+ @1 Y
mount /etc/cdrom/   /media3 T' }) ~1 [0 }7 V' X
- G! q# ]6 a2 p2 ~9 n+ P7 {
rsync -a --exclude=Packages/ --exclude=repodata/ /media/   /root/os/0 N9 j  a) h, S# ]. t
! {( H) m' }2 ]+ A
mkdir -p /root/os/{Packages,repodata}
- F, @# E- g. ]5 R0 L8 S
+ R+ _4 x& e/ u( V$ j+ s3.拷贝mimi 包/ S- \& c% ]& O6 x, z5 F$ `% F" U% p

# L" Z- J# ^/ y# Kcd /root6 _; e* D& w9 F
) M! m) \5 w, ~
cat install.log | grep -v "^*" |  awk '{print $2}' >package.txt! n! P& w' P( _' x# v
( s7 g' T2 c8 T$ s" K, y" s
for i in $(cat package.txt); do cp /media/Packages/${i}* /root/os/ ; done2 B. v1 F! V: F& R3 X: Y

, a+ O" J/ U2 W3 I; ^- c4.创建光驱yum仓库.8 E* \% D2 Q; ^- w5 [
$ z* T* o$ T: F! b
cp /media/repodata/*c6-x86_64-comps.xml  /root/minimal-x86_64.xml! V' m* Y" s% C. _* L! A! ?3 D2 P
6 n  L1 H' H3 m8 k- ^
5.重新生成repo8 E1 Y/ _9 i9 f/ g7 P5 O' x' E

; s3 u: C" E5 o8 ^% K& x! B% ?  declare -x discinfo=$(head -1 /root/os/.discinfo
/ y5 c' ]) a* ?5 ]6 Y6 B" `# i. b' z, N- |
  createrepo -u "media://$discinfo" -g /root/minimal-x86_64.xml /root/os/
1 q+ S- [8 z! F+ z9 R% h9 Y) ]5 X$ ^, p& p7 }
6.cp ks.cfg  /root/os/isolinux/    
- i7 w: V  @2 M# m0 n7 ]1 Z6 V3 g7 h+ c: T& p
   cat  /root/os/isolinux/isolinux.cfg 
9 D5 R6 I; r! @0 e8 n
4 _) u. v' L4 L+ L  j) \: c. V- k0 V! p% p0 d+ n
: G# T6 j# x, ]( ^6 }+ o& q
default vesamenu.c32
' F8 B" F, `8 Q4 W/ K1 m2 J5 d#prompt 1
8 e4 i* N- r4 W3 o$ s" stimeout 100
5 m6 D: @+ P' u" ^/ _) U. Y( b
6 F( ?9 p9 y  M. `2 Rdisplay boot.msg$ V2 G1 Y) l1 W5 w7 t8 j- s9 g

) Z7 v  N" C) V" ?8 cmenu background splash.jpg! B/ x) u1 i: h/ D
menu title Welcome to CentOS 6.9!% }6 c0 n( Z) I" @/ x0 ]  c
menu color border 0 #ffffffff #000000001 U" F7 k0 U  U2 q7 o
menu color sel 7 #ffffffff #ff000000
, {* L) @, K3 G, T5 s( l3 ^menu color title 0 #ffffffff #000000005 q# H3 u* ~& n4 Y0 ]2 y) j( x
menu color tabmsg 0 #ffffffff #00000000' H2 W& j9 ?: W4 X! ~4 P
menu color unsel 0 #ffffffff #00000000
2 ]5 q! ?- V3 Y. k+ Hmenu color hotsel 0 #ff000000 #ffffffff: ]: ^' G0 l/ [
menu color hotkey 7 #ffffffff #ff000000  n0 T/ G$ T" c
menu color scrollbar 0 #ffffffff #00000000+ Y: D9 _" j) B

8 ]( _3 K$ k9 U/ i1 I) I. x  F3 N; t% c  }6 x/ v5 ?
label linux' ~0 D7 T2 H5 v# F% o* t. \
  menu label ^Install system  : H5 @3 B# h0 |" W( g5 t* [# i
  menu default
7 D% d4 U# m' Q& {4 N+ P+ o" Y  kernel vmlinuz
$ @: t- I. @# i$ W* i* d8 R  append initrd=initrd.img ks=cdrom:/isolinux/ks.cfg
2 {1 E2 q0 a- ]6 R6 r( `
+ `: `9 n3 h- D( y
8 p+ ^4 h3 E! l" [/ d& ~' e) Q( y7 l9 Z* U& C
7.制作iso/ ~" c: N+ [6 c/ O9 f% }

9 n. }4 @/ x  s& b4 Ecd /root
- {5 Z* w  i/ `( _, ^) N
# g. j% }  A5 F; N" Q3 ~mkisofs -o OS-6.9_64.iso -input-charset utf-8 -b isolinux/isolinux.bin -c      isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T -joliet-long  /root/os/, _& ]! T- [1 E! v+ z" \' |
8 R* {* V% ]" }* f- P" n
: g4 X, ~; h: a& M( X& V  R2 C
' M6 N) Q8 A7 a7 j
8.生成iso文件md5值
( ?! y: J# U, s) N9 T1 ]6 A
% ~+ F1 Z$ R; e. t9 q% Jimplantisomd5    OS-6.9_64.iso# \1 c3 i1 i% L* z" s& d0 f/ w

5 S, S0 ~4 N# G4 c9 r0 P' z% N' M6 X6 ]0 w7 j; ?5 e

+ \2 U6 R$ K1 g# V/ a; v4 L+ f' }# C7 ?) T- y
- R. f+ p; [# n2 `
装系统测试^_^
1 T( ?* a1 `' h7 Z6 f: O4 ^4 S( `6 w  O" Y  n0 E. e& z  A; n1 N
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

北京云银创陇科技有限公司以云计算运维,代码开发

QQ|返回首页|Archiver|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )点击这里给我发消息

GMT+8, 2026-4-8 23:52 , Processed in 0.052290 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2012-2025 Discuz! Team.

快速回复 返回顶部 返回列表