基于Kickstart自动化安装CentOS实践-阿里云开发者社区

开发者社区> 玄学酱> 正文

基于Kickstart自动化安装CentOS实践

简介:
+关注继续查看

基于Kickstart自动化安装CentOS实践

前言

因为需要在浪潮的x86服务器中集中部署CentOS搭建基于Hadoop的大数据平台,平时接触SLES(SuSE Linux Enterprise Server)较多并且已经实现基于Autoyast方式使用光盘或者PXE网络自动化安装(后续会分享具体实现方法)。这次主要通过学习Kisckstart实现最简单的光盘方式自动化安装CentOS,而网上的大多数教程并不完全适用于自身的环境,本文将不再赘述Kickstart相关概念,细节可参考扩展阅读。

Kickstart是最为通用的Linux自动化安装方法之一

环境准备

定制系统

CentOS-6.4-x86_64

官方下载地址 - http://wiki.centos.org/Download

安装软件包

代理上网小技巧,export http_proxy=ip:port


  1. yum -y install createrepo mkisofs

制作流程

目录结构

拷贝CentOS原始镜像内容,不做任何精简


  1. mkdir /mnt/centos
  2. mount /dev/sr0 /mnt/centos
  3. mkdir /tmp/iso
  4. cp -r /mnt/centos/* /tmp/iso

增加Kickstart配置文件

文件路径和安装方式可自由定义


  1. cd /tmp/iso/isolinux
  2. #修改引导,注意ks=部分
  3. vi isolinux.cfg
  4. label linux
  5. menu label ^Install or upgrade an existing system
  6. menu default
  7. kernel vmlinuz
  8. append initrd=initrd.img ks=cdrom:/isolinux/ks.cfg
  9. #手动增加Kickstart配置文件
  10. vi ks.cfg

  1. #Kickstart file automatically generated by anaconda.
  2. #version=DEVEL
  3. #Install OS instead of upgrade
  4. #表示是安装,而不是升级
  5. install
  6. #Use text mode install
  7. #文本方式安装
  8. text
  9. #Use network installation
  10. #使用网络安装
  11. #url --url=ftp://ip/centos
  12. #Local installation Use CDROM installation media
  13. #使用光盘安装
  14. cdrom
  15. #Installation Number configuration
  16. #如果是RedHat的系统,会要求输入key,这里配置为跳过,如果不配置安装时会停在那里要求用户输入key
  17. #key skip
  18. #System language
  19. #语言环境
  20. #lang en_US.UTF-8
  21. lang zh_CN.UTF-8
  22. #System keyboard
  23. #键盘类型
  24. keyboard us
  25. #Network information
  26. #网络配置
  27. #network --device eth0 --bootproto dhcp --onboot yes
  28. #Root password
  29. #root密码
  30. rootpw chinaums
  31. #Firewall configuration
  32. #禁用防火墙
  33. firewall --disabled
  34. #SELinux configuration
  35. #禁用selinux
  36. selinux --disabled
  37. #Run the Setup Agent on first boot
  38. #禁用第一次启动时设置系统的向导
  39. firstboot --disable
  40. #System authorization information
  41. #用户认证配置,useshadow表示使用本地认证,--passalgo表示密码加密算法
  42. authconfig --enableshadow --passalgo=sha512
  43. #System timezone
  44. #设置时区为上海
  45. timezone --isUtc Asia/Shanghai
  46. #System bootloader configuration
  47. #指明bootloader的安装位置,指明驱动器的排序,指明操作系统安装完成之后,向内核传递的参数
  48. bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
  49. #Clear the Master Boot Record
  50. #清除MBR引导记录
  51. zerombr yes
  52. #Partition clearing information
  53. #清除硬盘上的所有数据
  54. clearpart --all --initlabel
  55. #Disk partitioning information
  56. #自定义分区
  57. #创建一个200M大小的分区挂载/boot类型为ext4
  58. part /boot --fstype=ext4 --size=200 --ondisk=sda
  59. #创建一个20000M大小的SWAP分区
  60. part swap --size=20000 --ondisk=sda
  61. #创建/目录
  62. part / --fstype=ext4 --grow --size=1 --ondisk=sda
  63. #Reboot after installation
  64. #设置完成之后重启
  65. reboot --eject
  66. #This packages is for CentOS 6.4
  67. #为CentOS 6.4定制的软件包
  68. %packages
  69. @base
  70. @core
  71. @chinese-support
  72. #增加安装后运行脚本
  73. %post
  74. #config service
  75. #自定义服务
  76. service NetworkManager stop
  77. chkconfig NetworkManager off
  78. #eject cdrom
  79. #安装完成弹出光碟
  80. #eject
  81. #reboot
  82. #执行完毕后重启
  83. #reboot -f
  84. #结束自动化部署
  85. %end

生成依赖关系和ISO文件

注意路径和命令的准确性


  1. cd /tmp/iso
  2. createrepo -g repodata/*comps.xml .
  3. mkisofs -o /tmp/CentOS-6.4_64_auto.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -joliet-long -R -J -v -T /tmp/iso/

原文发布时间:2015-05-22

本文来自云栖合作伙伴“linux中国”

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
SharePoint自动化系列——通过PowerShell创建SharePoint Web
转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/ 代码如下(保存到本地ps1文件中,右键run with PowerShell即可): Add-PSSnapin Microsoft.
578 0
SharePoint自动化系列——通过PowerShell创建SharePoint Site Collection
通过PowerShell创建SharePoint Site Collection,代码如下: Add-PSSnapin microsoft.sharepoint.powershell function CreateTeamSite() { $webApps = Get-SPWebApplication $webAppsUrl = $webApps.
681 0
一种高效自动化ECS实例数据盘挂载和格式化方式
默认情况下创建的 ECS 实例只有一个40G 的高效云盘系统盘,通过任何形式(控制台、ECS SDK 等) 方式创建的实例,如果需要使用数据盘,必须先进行额外的格式化数据盘工作。 如果需要批量创建大量的有特定格式化需求数据盘的 ECS 实例,那么单独为每一台实例格式化数据盘肯定是一件浪费运维资源的工作。
1697 0
《 自动化测试最佳实践:来自全球的经典自动化测试案例解析》一一3.3 如何实施TiP
本节书摘来自华章出版社《 自动化测试最佳实践:来自全球的经典自动化测试案例解析 》一 书中的第3章,第3. 节,作者:(英)Dorothy Graham Mark Fewster 著 ,更多章节内容可以访问云栖社区“华章计算机”公众号查看
1064 0
WEB-UI自动化测试实践
为了满足多页面功能及流程的需求及节省工时,设计了这款UI 自动化测试程序,旨在提供接口,集成到蜗牛自动化测试框架,方便用例的设计。
2524 0
SharePoint自动化系列——Manage "Site Subscriptions" using PowerShell
转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/ 你可以将普通的sites加入到你的site subscriptions中,前提是你需要有一个 Tenant Administration site,如果没有这个site,一切都别谈了。
699 0
自动化创建OSS、NAS数据卷
阿里云容器服务对外提供了数据卷服务,并支持第三方云存储,已经成为在集群环境中用户共享数据卷的利器; 容器服务当前支持阿里云OSS、NAS两种云存储,创建数据卷可以通过控制台或者脚本自动化完成;本文介绍如何通过脚本自动化实现数据卷的创建;
4622 0
使用setuptools自动安装python模块
setuptools绝对是个好东西,它可以自动的安装模块,只需要你提供给它一个模块名字就可以了,并且自动帮你解决模块的依赖问题。
632 0
SharePoint自动化系列——通过PowerShell创建SharePoint Lists
转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/ 代码如下(保存到本地ps1文件中,右键run with PowerShell即可): Add-PSSnapin microsoft.
637 0
+关注
玄学酱
这个时候,玄酱是不是应该说点什么...
17436
文章
438
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载