将设为首页浏览此站
开启辅助访问 天气与日历 收藏本站联系我们切换到窄版

易陆发现论坛

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

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

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

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

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

x
6 j' o3 D& Y9 C2 S$ k( s
  <environment>
" @# @3 G4 O! W6 n7 _" u    <id>ceph</id>
+ a" r  `0 P# q* |4 _- [    <name>CEPH S3 SERVER</name>
5 P& i. d0 Q/ h: s  K    <name xml:lang="zh_CN"> ceph</name>0 X# T3 V# _6 g. c9 B; c
    <description>CEPHServer</description>* c4 C' j4 R# r& O
    <description xml:lang="zh_CN"></description>0 t3 i+ F. q# `% l4 f9 y/ f
    <display_order>9</display_order>
1 E7 O( q# `9 U$ S% O9 c( B4 C    <grouplist>
" D& N0 S4 z( v. O      <groupid>core</groupid>
7 _3 ], e4 P5 ?; j      <groupid>gbasic</groupid>
' r5 {+ w  d; Z" s' x! b  T( t      <groupid>gceph</groupid>. S2 _3 N9 q0 r5 M' q
5 G  G: C7 s5 `8 b: `
    </grouplist>8 M( C' U" x0 }+ B% g
% S) i: B6 P1 a1 T  B
<optionlist>
( x  H0 y* {( V. r6 @6 |! l  T( y" A2 Y# O
      <groupid>gim</groupid>* `2 o! x( u9 E4 E' ^
% M( Q: D+ V) Y
      <groupid>giam</groupid>
" a. [7 u6 E) L" C3 w  </environment>
4 ?' h" |' s8 g$ l5 r
/ a& K3 h  ?# I2 t6 C..." `# M) s4 J& X) ?% F6 E% O2 s
6 ]- A% v: r" h' x! r) P
:wq!保存退出  $ a2 a/ H9 Z! L* K

2 w% l% U; N1 {& B) \" m以上修改会在安装系统可选软件中列出自己的软件。 optionlist项为可附加可选项。自定义的软件如init-ceph。可以放在根目录的任务文件夹下。我们统一放在 Extra/mirrors/sunrunpaas/7 c8 ]$ h' {" _, |2 O5 _8 p

% k: z5 G( [& T9 m8 U$ `9 D如:8 Z  Y/ ?  W; k7 J" t( Y& x0 Y
8 S+ L! N8 i  c1 A) J- c+ u3 }
ceph/          php5.6/        sunrundfs/     sunruniaas/    sunrunim/      sunrunvas/      
, U2 I5 R  n0 r5 \$ e' c* v. j+ b% Hmariadb/       sunrun-common/ sunrunhac/     sunruniam/     sunrunslb/     TRANS.TBL
& d, a# G. _6 Q) `1 b
7 L" u/ l: P0 H4 p& A+ B) W7 {: F) l

  w6 {) Q/ t; c0 K" |9 L
8 F% t! Z3 |9 n1 ]3 C/ ^2.2 ,定制作自己的界面: ^" U; B2 Z1 O; X0 `* M  |

9 |% F+ c1 T: u* j   2.2.1定制作引导界面。
+ I1 r5 Y- _5 L4 M9 Z$ ~7 n6 n
: l7 e4 X( d- I7 `5 @/ z$ H 修改 isolinux/isolinux.cfg
# c) _; ~7 I1 t& ]7 r
- b8 C/ s# V4 Z: klabel linux9 Q/ W: |' h! @: M1 X
  menu label ^Install SunrunOS 1& o1 ?# p" U2 R8 f  h
  kernel vmlinuz3 H, o1 z; d; J

$ [$ U3 E# z7 W! m3 ?# B! Q  append initrd=initrd.img inst.stage2=hd:LABEL=CentOS7 inst.ks=cdrom:/ks.cfg  quiet
& _4 b! r- t( }# ~  f+ Q
. a+ B/ Z- c9 I1 [0 u0 p  ^- r...
( J! o) C: N+ E: i+ ~$ l/ c* d) n9 H' M5 J8 V9 q
2.2.2 定制图标和文字。
& u$ l0 Y6 |% f2 n
4 c: g! T( a; q" B: r, `    系统安装界面里的图标与文件修改。对应的图片在LiveOS/squashfs.img中,需要解压,修改,再压缩回去。
' o0 A$ c! G  g
( t0 a/ @, j) G7 _- d    unsquashfs squashfs.img3 @1 U3 f- U6 e  R7 |. q3 D
+ h1 X' o# L1 J# N
  产生squashfs-root 目录。
, h# _# K3 l& }
- u- a' @; {. m8 h, @9 I3 s* ^  A4 g' D% E  squashfs-root/LiveOS/
& q- B) b/ O) F- s" G: O
7 s% \% \- e2 p6 J; J7 P  mkdir tmp
5 }$ S$ d& j0 a  I: X* l
5 ?' |9 Q+ Q' r7 r2 ~" F  mount rootfs.img tmp/
% \; [, `9 g# e% A- A* T9 t; I9 r3 W3 B" x1 B
  下载,修改,替换下图:
& c. L( e4 R  x# a* H. x! s0 T- f6 Z
   usr/share/anaconda/pixmaps/sidebar-logo.png * |+ J: G8 y& Z+ H2 y" C, G
: b7 c5 H8 o+ J0 l0 ?- ?! W
' P, B4 |: K  s' `8 G
7 a9 l$ C6 h3 A) R  E7 Z% L
修改usr/lib64/python2.7/site-packages/pyanaconda/product.py1 @& z& q: I/ M' p6 ?& ?1 O

6 \, A; q& q* z  }* C2 _6 xdef distributionText():
; m/ c0 O) t# a    return _("%(productName)s %(productVersion)s INSTALLATION") % \: R& z5 D# V, J
             {"productName": "SUNRUNOS", "productVersion": "1"}
* z2 U: @/ k, D# t" r8 p% X- P# r( z3 _  S

# c7 K# |. U3 `) `; ?; L; A. z5 m) c& d+ ^& u4 i- L& ^4 Q
完成修改,生产新的squashfs.img5 Q/ l" J) m6 @- g
* N: L, x. X0 r, Z4 g! D
umount tmp/
! n, X  a, T. I. P8 `2 [, J: M: @0 r5 w- {/ g9 a3 s& `5 p
cd ../../; J1 K7 B1 ^& k6 ^* R

' z& D7 w8 X8 y0 [% R/ S0 jrm squashfs.img
1 |; L' m) g7 z2 V% H; S$ }; H; v& V1 ?( T0 c
mksquashfs squashfs-root squashfs.img3 B- `3 b) m% s. O: t0 @: Y. a: M& }; j
5 F& C, h, A- H, h) B' M
3, 定制安装流程
% M. i& d* o$ r( s+ r7 t9 o# U  Y' X; n5 O$ g! a( g# l
   cp /root/anaconda-ks.cfg /cloud/iso/centos7.2/ks.cft( V# }6 }2 I- a6 \5 e* V
7 Z( s/ x1 P  Z5 {! K0 Q+ G5 y
如下:; X; ^; z3 A" s( w( l
" v3 v; ]1 d3 z+ {. }/ F, o
#version=Chen CentOS
9 W: h: t$ u0 p+ P$ Y' n, ]
, |1 n* f2 k- w3 @- g; c* h#platform=x86, AMD64, or Intel EM64T / C. [* `: O+ ~& J( Z1 e& L
# Install OS instead of upgrade
  E/ t! n$ ~  k( K3 L8 o#repo --name="sunrundvd"  --baseurl="file:///opt/sunrun-dvd/Extra/Packages/"
8 J5 J. _+ Z6 ]0 Q, b! _# Finstall / L+ @0 s8 C) ^) K* R
# Keyboard layouts - m$ y! `4 z% Y9 v4 F. n& y: o
keyboard --vckeymap=us --xlayouts='us' $ f; i& t# U) s& W* [1 f
# Root password 9 W9 n1 x: j& G* q
rootpw --iscrypted $1$password$mV5CPMXkUkvImOukQuVs.. ; \( B% o7 i. [% Y- [
# System language - v, s; Q( J/ O' @4 o/ z
lang en_US.UTF-8 2 u! e5 {& x+ t6 ?+ r
# Firewall configuration
  R# r  F1 e: ^+ n$ K0 Dfirewall --disabled
3 o8 M5 I' O+ s; w0 N' k" U# System authorization information
$ j) Q5 ]! x  k8 F( J1 Y$ Tauth  --useshadow  --passalgo=sha512 - N( q6 o# ?# q# I- V# k! e' q' i
# Use CDROM installation media
1 x- i% ]0 S1 A( T8 L4 l- P' xcdrom
4 P3 n, F' d) ]5 x8 e# Use text mode install
8 g5 D3 Y# y& [& {& w+ j3 D#text
6 k" [1 D0 U; B# Run the Setup Agent on first boot + n2 h" S4 r6 m
firstboot --enable
+ Y/ L$ {. }. k# lignoredisk --only-use=sda
6 u) R, k8 o& r# SELinux configuration 6 q1 O* D- s& j3 U; A
selinux --disabled . S( R0 V+ B4 N+ n% k. ]7 J7 R" I, B
# Do not configure the X Window System
6 P. l( U9 O8 m5 j3 Z#skipx
" H; [$ b. o, g0 P9 X
# n( x! ?1 e3 t4 k: N$ p" @' A" h- `6 [. z" O
# Network information ; `& f! m$ _! K# B- P' i. H; d
network  --bootproto=dhcp --device=ens160 --onboot=yes --ipv6=auto --activate
5 a; g0 H+ Y4 O8 G# R2 n#network  --device=ens160 --hostname=localhost.localdomain * I) D& ^8 S& E+ p! U
! b) k& A- m" b0 G
3 ]3 p0 U3 k& W4 }- H' u& {
%post --nochroot 2 U& J, @2 Y, e" p2 `
# 写到rootfs里去
- D; H0 k2 @0 d/ k- mrm -rf /mnt/sysimage/etc/yum.repos.d/* ) C* K6 O# ~! ~" _
#mkdir -p /mnt/sysimage/mnt/iso % Y! I6 Z1 `8 }  S( ?) |
#\cp -rf /run/install/repo/Extra/repos/* /mnt/sysimage/etc/yum.repos.d/ 0 i/ O0 @7 L' q  N5 s1 y, D

: }: a$ a$ [6 H; B%end
* K9 F- I3 @, K1 _7 h7 I! B9 i6 h0 N, }! y9 G$ E2 S  ]7 e# ~" \7 F
# Reboot after installation
5 {  K7 ]# c; ]% M5 Preboot ) L8 p1 u' W7 c& S5 }% W: s
# System timezone
. z6 ?* T) e* a6 R& Xtimezone Asia/Shanghai --isUtc
" e3 ]0 U0 s# `8 z/ W* A8 t! P2 Y# System bootloader configuration
; @* o9 D' I4 O( C& n* T$ {6 ybootloader --location=mbr --driveorder=sda --append="" 5 \% @. C: L; n$ E8 S
# Clear the Master Boot Record
7 v7 o) F* y2 P. G+ [& }" _zerombr # s( e/ @- z+ G  L$ M: U3 m( I
# Partition clearing information : }/ S  \, A# d1 M0 M/ `* W' y5 i
clearpart --all --initlabel
) Q  F9 c! c2 o7 R8 e' Z5 u+ Kautopart --type=lvm
2 |- i3 X& u& @" x3 l' r, f. w0 {5 n; `

# `( j' t8 m1 K+ h6 M2 r% }5 |#%packages
% d6 V, d' ~0 `# Q: o* X! |9 b7 h#@^minimal
& V$ Z: l9 F0 v- z! n+ n" }$ [#@core
' v. [/ Q8 T1 x& z1 M  j+ H" e/ l; r9 l0 j2 }# I$ p2 o+ Y

. t7 [- |1 d, |) V7 z' h9 M( g#%end* r+ b4 C! p1 e3 i) I8 k- h# N/ J

: t# n; d1 M% \) \/ S2 j
( f$ n6 E5 G& @% \0 F4,重新生成镜像:$ i& u9 t- S* a% }8 z  y

$ a; ]% e( t" |2 q4 }7 Krm -rf repodata/*6 V, q# I" U; `# X
. ?1 R4 c( d( Y  [
2 I1 L2 R, ^) e, i- M

" y8 T1 N# v% a9 X  X* p* p, dcreaterepo -g comps.xml .9 }8 n, V1 M3 r: S7 N

7 x! P4 |- l. N1 P- T6 g) K+ m7 n, E1 U0 z, y( g- p
5 m9 c1 e. L/ k5 F/ J% t& e1 }5 E
genisoimage -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 ./8 Z. O. O8 B  U! S
, l7 W# b: {# ]: l' w. h, F( g
5完成   ../c76.iso 即是我们的作品。; X, ]8 F9 Y7 W$ c' m/ R

5 A# x, ]: w  s6 r- q1 J6 _, r
, ?7 Q& k1 o* O. {9 v+ D+ t6 J$ n# c. I3 D$ y! H2 `

# b5 a/ B7 e, I! _& _; a& l: z
 楼主| 发表于 2021-3-13 22:53:46 | 显示全部楼层
mkisofs -o CentOS7.4-evglow.iso -input-charset utf-8 -b isolinux/isolinux.bin -c isolinux/boot.cat -
/ _$ t0 ~1 ]2 fno-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T -joliet-long -V EVGLOW /root/iso/CentOS7.4-evglow/; {' F% o; a) H- O0 V; Y( [) @

8 P' S. M6 b( ]. l1 H* c# H( \
 楼主| 发表于 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
    5 P) i6 I1 y/ a

    - v8 e/ C. x1 p. ~6 n6 [  O. E
& S% H/ K5 y. X

3 ]& o9 \$ e- w! ]3 O0 X- u

二、配置 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
    ; h5 a6 F6 y3 p% y( y

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/
      t* F4 u2 ~0 b$ z3 N

    & v" S/ p1 }6 M: {5 d

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
      h5 X: z+ A/ N4 u! @' }4 g

两者的区别就是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命令兼容。

' Y- A6 S! ~2 M( D2 J# k6 T4 W) F
 楼主| 发表于 2021-3-16 11:01:01 | 显示全部楼层
vi /root/ks.cfg1 a, l( ^4 O  n  Y* b/ F
+ J) Y6 M* z! ]! h, M1 y/ W/ v# g
install: g& X/ [8 t; ]7 d& r  {9 _' M
cdrom, V4 j% _" m/ Y/ U) r; a
lang en_US.UTF-8
# l* ?7 T; t8 c7 B/ H; Akeyboard us
1 {2 v5 z- U8 z  b! R9 m5 `network --onboot no --device eth0 --bootproto dhcp --noipv6
& b4 ~( D) o6 l& c  x/ C: r$ brootpw  --iscrypted $6$ZI78JvmQ56MxYSe3$dn9UV./VvFieP25R94ciYo4wg7p17sM8gCt2WQa/hqMeHiynnBqL/abF14D0AOSXjnptoBHqLYGhzun6W7Qfr18 r; l: {7 |% n3 k# G
firewall --service=ssh; t- Z! M  l7 w. P) w
authconfig --enableshadow --passalgo=sha512; M6 x4 D- M9 k- u+ u% h
ignoredisk --only-use=sda
$ P% f# h  c5 n: j9 Lselinux --disabled0 j* M, c0 Q7 j% o! e6 l  T. @& S
timezone Asia/Shanghai. r) k6 E/ Y6 ?6 f7 f& n. c% E7 T3 Z
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"- U0 n& C% U9 [/ O9 t  i: ^- e
clearpart --all --initlabel  --drives=sda
0 ^/ H" Z3 c# p/ Rpart /boot --fstype=ext4 --size=200- C( E* y$ O7 `, Y4 V: {+ u$ R
part / --fstype=ext4 --size=20000/ J4 f( m" c7 P4 R% h  I: C
part swap --size=2048
1 w; @. a0 W7 |part /data --fstype=ext4 --grow --size=1
$ X, F% D" f( l2 Z; Y, Hreboot6 {# k' r* z  Y; x
%packages
& Q  `( ~# j4 W+ \# y@core' G. t7 ]+ `0 @4 |. G0 W
@server-policy( N( q7 l+ v! M% {# h
@workstation-policy
- w' i2 W" |8 M; a+ q0 k
& q5 E; a9 [) z. C%post1 X, {/ o0 e. h, s( J" j
#add user
$ R" h; e9 r; ]# B$ i) s( suseradd pos+ j& J/ k* y  j0 q) c6 `7 b
echo "12341234" | passwd pos --stdin
# L$ S# p6 J' G+ \  W6 C3 t#service
2 J9 C; Y+ A0 c$ H6 P, o7 y( N7 Lfor i in `chkconfig --list | grep 3:on | awk '{print $1}'`; do echo $i; chkconfig $i off; done- m9 f; n1 \3 W
for i in auditd crond network  rdma  rsyslog sshd udev-post; do echo $i ; chkconfig $i on; done8 ^$ ]% c  F: c$ ?& Y: G( }" [

+ S) r( `/ I7 z+ @#profile
! _* r7 Y% p* M- m" X9 z% \echo "ulimit -SHn 51200">>/etc/profile; F1 H5 X8 J- a( b! {
echo "TMOUT=6000" >>/etc/profile
- K1 N/ q1 w/ p) l5 h. ^8 |- k0 _% H6 o
#passwd
6 ^" l( a8 r+ E* {2 M  x$ cecho "admin"  | passwd root --stdin8 T! F* |# V, A& j; k

. F% u( a# t  D6 l) w5 q#ssh login slowly; p6 P  `0 S9 X" E+ O& q
sed -i "s/#UseDNS yes/UseDNS no/" /etc/ssh/sshd_config$ }+ F1 [8 V" s" a* B% P
sed -i "s/GSSAPICleanupCredentials yes/GSSAPICleanupCredentials no/" /etc/ssh/sshd_config
5 p% S- h' M' H  s* [! @/etc/init.d/sshd restart
" e& J2 n) h+ p2 ~  j6 L9 ?0 E& |+ c
rm -fr /tmp/*
& s7 i* N) R6 z& S! f%end
0 l# X& Z0 T4 @" l$ ]4 ^( M. R3 I% d$ a1 F* {3 o
2.  yum install createrepo mkisofs isomd5sum squashfs-tools -y
$ b3 y+ w3 j2 a3 n. O6 e6 M9 Z2 B# c8 o& l- s
    mkdir /root/os) O- y+ ~7 x, j5 a
. s' ]: V6 s8 U7 N' N9 b$ l
   将以os为iso制作目录.
  G) c/ d8 L- V7 `4 l2 I+ `; X) ^! f* \; k
mount /etc/cdrom/   /media- Y) V7 V0 G3 ]4 z3 w% s7 _

& g6 f) S1 K- B1 S2 Jrsync -a --exclude=Packages/ --exclude=repodata/ /media/   /root/os/1 h8 F0 `+ @; `
$ Y3 w6 K5 t3 }2 f
mkdir -p /root/os/{Packages,repodata}
3 {2 p  k! @; N  _) a/ ?0 |1 `7 {* L
3.拷贝mimi 包
+ `8 n7 C7 \$ t( F7 j! q6 i5 _' p6 U( A5 C2 \. r8 {  c
cd /root
* ~  f9 f2 G9 c8 g+ q
/ ^; \* C  Q; O- ~/ ocat install.log | grep -v "^*" |  awk '{print $2}' >package.txt0 h; F& W0 q0 X* G* c6 q

1 c0 m/ y  @9 f4 ]8 ~for i in $(cat package.txt); do cp /media/Packages/${i}* /root/os/ ; done5 g9 @+ a+ G8 W1 |! x$ r4 S
) \& T+ g- d& l8 ^
4.创建光驱yum仓库.  Y( T8 n2 T- _  v9 |6 r
* R: e/ A* J8 L4 k: E( G
cp /media/repodata/*c6-x86_64-comps.xml  /root/minimal-x86_64.xml* H" M8 s% `# u* M- t2 R$ E

8 o2 e! ]! y$ q3 ]5.重新生成repo5 i! F0 x8 |" I3 n

: |6 b( t) j. t# H0 o  declare -x discinfo=$(head -1 /root/os/.discinfo
! m* n: ^" \  |! T1 d" S& x6 u" I) v0 ~9 _
  createrepo -u "media://$discinfo" -g /root/minimal-x86_64.xml /root/os/
) o9 b# B( `* X) J- {
1 Y" C2 K4 n' g/ P* o. E" _0 s6.cp ks.cfg  /root/os/isolinux/    
% h) `! _" \7 t. K5 u9 x
  u. f- T# Y8 m! i$ v8 {1 R" m& k   cat  /root/os/isolinux/isolinux.cfg ! F0 H  B, [2 F9 O) X

  W( B. k. f# d0 y8 u/ j! O: S4 D3 B! [& f6 p& x+ ^& I/ U8 |

* n* o. Y4 Z( y4 Xdefault vesamenu.c32
: L& O3 g* w! e+ I( ]  T+ J#prompt 1* B0 z+ O4 T& A, y
timeout 100: r/ @- x0 m1 m

1 B+ R$ g: d5 Q2 l* G) Ddisplay boot.msg
) T6 G' [3 ?# y1 n1 \+ }: O/ M/ Q( W4 B1 D' i
menu background splash.jpg# @) o) I% _6 U1 L' \. e9 x
menu title Welcome to CentOS 6.9!
5 q  P. C1 J$ k- j3 R+ f5 }( M9 emenu color border 0 #ffffffff #000000004 f, N/ B. o+ u, K5 P- l3 ?
menu color sel 7 #ffffffff #ff0000008 c! L' o) p6 D% }. Z! `+ B$ V5 E
menu color title 0 #ffffffff #00000000! N7 [6 @# w7 T
menu color tabmsg 0 #ffffffff #000000005 i, h( J$ B7 E) O5 m6 `6 x
menu color unsel 0 #ffffffff #000000006 q& ^3 d: l* g5 p
menu color hotsel 0 #ff000000 #ffffffff
/ m6 U4 \) [9 ^! ~6 g) M! tmenu color hotkey 7 #ffffffff #ff000000
9 y9 B- X) h* omenu color scrollbar 0 #ffffffff #00000000
, B& w: K, Q2 }- m& V# Y% ~- n: y( \, E

) ]: ^/ ], t" t0 h6 b+ V' Alabel linux
  @- p  N* ^! t* e  menu label ^Install system  ; Y% U; t9 a( _% Y8 L( o
  menu default. F2 O4 u; O( V
  kernel vmlinuz
. d, [/ n  K/ v6 T* N9 v. U/ @9 _  append initrd=initrd.img ks=cdrom:/isolinux/ks.cfg
4 H( s4 x0 ?2 i& n: y
4 R2 T8 e1 ~/ l0 x. }2 R0 H4 a! X4 b8 ]) F. h/ M* t) N0 {

" [8 k! P* t6 x7.制作iso/ D; U# p0 j7 _  f! g! n* Z7 w' U
8 a8 [3 h- T8 d9 @# k0 j
cd /root8 L" p: T2 a9 {: ~2 r
$ w. `* @/ H+ s# V5 {
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/
* ^: ~( `: F! D, u" ~# z% ?% ^4 Q
( P) y. v# H8 f! U$ g2 n, |
- X6 ]0 W1 `* T+ g
8.生成iso文件md5值$ ^& ?9 t- W3 h8 N. f2 x- q

. X$ s6 e" i8 H- l' h( A3 Pimplantisomd5    OS-6.9_64.iso
, T$ A4 j# p# t! T- ~9 V+ ]
6 z  C( L4 \6 E  V: h+ Q7 P/ ~- l5 I1 l' A  g/ t# `# p

: a9 V6 ~6 e$ c( |6 S: D1 I2 Y! [2 a

9 p" O5 ?% u5 Z3 F' M8 J3 p5 }4 |装系统测试^_^/ H5 |, p+ Z3 J$ g- k( _5 e" e
& s6 |/ l& n0 f
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

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

如有购买积分卡请联系497906712

QQ|返回首页|Archiver|手机版|小黑屋|易陆发现 点击这里给我发消息

GMT+8, 2021-4-13 08:40 , Processed in 0.069055 second(s), 23 queries .

Powered by 龙睿 bbs168x X3.2

© 2001-2020 Comsenz Inc.

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