1. #!/bin/sh
  2. rootdir=`pwd`
  3. rm -rf ${rootdir}/centos*
  4. KERNEL_DIR=${rootdir}/kernel
  5. ROOTFS_DIR=${rootdir}/rootfs
  6. if [ -d ${KERNEL_DIR} ]; then
  7. echo "remove kernel dir"
  8. rm -rf ${KERNEL_DIR}
  9. fi
  10. echo "mkdir kernel dir"
  11. mkdir ${KERNEL_DIR}
  12. if [ -d ${ROOTFS_DIR} ]; then
  13. echo "remove rootfs dir"
  14. rm -rf ${ROOTFS_DIR}
  15. fi
  16. echo "mkdir rootfs dir"
  17. mkdir ${ROOTFS_DIR}
  18. rm -rf centos7_*
  19. #-------- reduce /var/lib/rpm/Packages----------
  20. rpm --rebuilddb
  21. echo "--run:yum clean all"
  22. yum clean all
  23. echo "Begin to copy kernel ...."
  24. cp -cpR /boot/initramfs-3.10.0-327.4.5.el7.x86_64.img ${KERNEL_DIR}
  25. cp -cpR /boot/symvers-3.10.0-327.4.5.el7.x86_64.gz ${KERNEL_DIR}
  26. cp -cpR /boot/System.map-3.10.0-327.4.5.el7.x86_64 ${KERNEL_DIR}
  27. cp -cpR /boot/vmlinuz-3.10.0-327.4.5.el7.x86_64 ${KERNEL_DIR}
  28. echo "Copy kernel finish..."
  29. echo "Begin to copy rootfs..."
  30. cp -cpR /bin ${ROOTFS_DIR}
  31. cp -cpR /dev ${ROOTFS_DIR}
  32. cp -cpR /etc ${ROOTFS_DIR}
  33. cp -cpR /lib ${ROOTFS_DIR}
  34. cp -cpR /lib64 ${ROOTFS_DIR}
  35. cp -cpR /opt ${ROOTFS_DIR}
  36. cp -cpR /root ${ROOTFS_DIR}
  37. cp -cpR /run ${ROOTFS_DIR}
  38. cp -cpR /sbin ${ROOTFS_DIR}
  39. cp -cpR /srv ${ROOTFS_DIR}
  40. cp -cpR /tmp ${ROOTFS_DIR}
  41. cp -cpR /usr ${ROOTFS_DIR}
  42. cp -cpR /var ${ROOTFS_DIR}
  43. mkdir -p ${ROOTFS_DIR}/boot
  44. mkdir -p ${ROOTFS_DIR}/bootloader
  45. mkdir -p ${ROOTFS_DIR}/ftp
  46. mkdir -p ${ROOTFS_DIR}/media
  47. mkdir -p ${ROOTFS_DIR}/proc
  48. mkdir -p ${ROOTFS_DIR}/sys
  49. mkdir -p ${ROOTFS_DIR}/tar
  50. mkdir -p ${ROOTFS_DIR}/system
  51. mkdir -p ${ROOTFS_DIR}/home
  52. cp -cpR /home/fornax ${ROOTFS_DIR}/home
  53. cp -cpR /home/hillstone ${ROOTFS_DIR}/home
  54. cp -cpR /data ${ROOTFS_DIR}
  55. rm -rf ${ROOTFS_DIR}/data/db-data/ib_logfile*
  56. rm -rf ${ROOTFS_DIR}/data/db-data/ibtmp1
  57. rm -rf ${ROOTFS_DIR}/usr/share/man/*
  58. rm -rf ${ROOTFS_DIR}/usr/share/doc/*
  59. rm -rf ${ROOTFS_DIR}/var/lib/mysql
  60. sed -i "s/^IPADDR.*$/IPADDR=0.0.0.0/g" /etc/sysconfig/network-scripts/ifcfg-eth0
  61. sed -i "s/^IPADDR.*$/IPADDR=0.0.0.0/g" /etc/sysconfig/network-scripts/ifcfg-eth1
  62. #add by liulin 2016-3-22 11:28:42
  63. rm -rf ${ROOTFS_DIR}/usr/share/locale/*
  64. cp -cpR /usr/share/locale/zh_[C]* ${ROOTFS_DIR}/usr/share/locale/
  65. cp -cpR /usr/share/locale/zh ${ROOTFS_DIR}/usr/share/locale/
  66. cp -cpR /usr/share/locale/en ${ROOTFS_DIR}/usr/share/locale/
  67. cp -cpR /usr/share/locale/en_US ${ROOTFS_DIR}/usr/share/locale/
  68. #----------remove /usr/sbin/mysqld-debug------------
  69. rm -rf ${ROOTFS_DIR}/usr/sbin/mysqld-debug
  70. #remove /var/log/xxx
  71. echo "" > ${ROOTFS_DIR}/var/log/audit/audit.log
  72. rm -rf ${ROOTFS_DIR}/var/log/sa/*
  73. rm -rf ${ROOTFS_DIR}/var/log/cron-*
  74. rm -rf ${ROOTFS_DIR}/var/log/cron-*
  75. rm -rf ${ROOTFS_DIR}/var/log/messages-*
  76. echo "" > ${ROOTFS_DIR}/var/log/mysqld.log
  77. #--------------remove mysql tools---------------------
  78. rm -rf ${ROOTFS_DIR}/usr/bin/mysql_upgrade
  79. rm -rf ${ROOTFS_DIR}/usr/bin/mysqlslap
  80. rm -rf ${ROOTFS_DIR}/usr/bin/mysqlpump
  81. rm -rf ${ROOTFS_DIR}/usr/bin/mysqlshow
  82. rm -rf ${ROOTFS_DIR}/usr/bin/mysqlimport
  83. rm -rf ${ROOTFS_DIR}/usr/bin/mysqlcheck
  84. rm -rf ${ROOTFS_DIR}/usr/bin/mysql_config_editor
  85. rm -rf ${ROOTFS_DIR}/usr/bin/mysql_secure_installation
  86. #rm -rf ${ROOTFS_DIR}/usr/bin/mysql_install_db
  87. rm -rf ${ROOTFS_DIR}/usr/bin/myisamchk
  88. rm -rf ${ROOTFS_DIR}/usr/bin/myisampack
  89. rm -rf ${ROOTFS_DIR}/usr/bin/myisamlog
  90. rm -rf ${ROOTFS_DIR}/usr/bin/myisam_ftdump
  91. rm -rf ${ROOTFS_DIR}/usr/bin/resolve_stack_dump
  92. rm -rf ${ROOTFS_DIR}/usr/bin/mysql_tzinfo_to_sql
  93. rm -rf ${ROOTFS_DIR}/usr/bin/mysql_ssl_rsa_setup
  94. rm -rf ${ROOTFS_DIR}/usr/bin/mysql_plugin
  95. rm -rf ${ROOTFS_DIR}/usr/bin/innochecksum
  96. #------------remove /usr/bin/ tools---------
  97. rm -rf ${ROOTFS_DIR}/usr/bin/perror
  98. rm -rf ${ROOTFS_DIR}/usr/bin/dwp
  99. rm -rf ${ROOTFS_DIR}/usr/bin/replace
  100. #remove /usr/lib64/xxx
  101. rm -rf ${ROOTFS_DIR}/usr/lib64/mysql/mecab
  102. rm -rf ${ROOTFS_DIR}/usr/lib64/mysql/plugin/libpluginmecab.so
  103. rm -rf ${ROOTFS_DIR}/usr/lib64/mysql/plugin/debug
  104. #--------rm man-db-----------
  105. rm -rf ${ROOTFS_DIR}/etc/cron.daily/man-db.cron
  106. rm -rf ${ROOTFS_DIR}/etc/man_db.conf
  107. rm -rf ${ROOTFS_DIR}/etc/sysconfig/man-db
  108. rm -rf ${ROOTFS_DIR}/usr/bin/apropos
  109. rm -rf ${ROOTFS_DIR}/usr/bin/catman
  110. rm -rf ${ROOTFS_DIR}/usr/bin/lexgrog
  111. rm -rf ${ROOTFS_DIR}/usr/bin/man
  112. rm -rf ${ROOTFS_DIR}/usr/bin/mandb
  113. rm -rf ${ROOTFS_DIR}/usr/bin/manpath
  114. rm -rf ${ROOTFS_DIR}/usr/bin/whatis
  115. rm -rf ${ROOTFS_DIR}/usr/lib64/man-db
  116. rm -rf ${ROOTFS_DIR}/usr/lib64/man-db/libman-2.6.3.so
  117. rm -rf ${ROOTFS_DIR}/usr/lib64/man-db/libman.so
  118. rm -rf ${ROOTFS_DIR}/usr/lib64/man-db/libmandb-2.6.3.so
  119. rm -rf ${ROOTFS_DIR}/usr/lib64/man-db/libmandb.so
  120. rm -rf ${ROOTFS_DIR}/usr/libexec/man-db
  121. rm -rf ${ROOTFS_DIR}/usr/libexec/man-db/globbing
  122. rm -rf ${ROOTFS_DIR}/usr/libexec/man-db/manconv
  123. rm -rf ${ROOTFS_DIR}/usr/sbin/accessdb
  124. #---------rm zip ----------
  125. rm -rf ${ROOTFS_DIR}/usr/bin/zip
  126. rm -rf ${ROOTFS_DIR}/usr/bin/zipcloak
  127. rm -rf ${ROOTFS_DIR}/usr/bin/zipnote
  128. rm -rf ${ROOTFS_DIR}/usr/bin/zipsplit
  129. #--------rm yum(yum can use)-----------
  130. rm -rf ${ROOTFS_DIR}/var/lib/yum/yumdb/*
  131. rm -rf ${ROOTFS_DIR}/var/lib/yum/history*
  132. echo "--------all is finish-------------"
  133. echo "----------------------------"
  134. du -sh ${rootdir}/
  135. du -sh ${rootdir}/*
  136. echo "----------------------------"
  137. echo
  138. echo
  139. echo "now begin to tar /rootfs and /kernel to xxx.tar.gz"
  140. packageDate=`date "+%Y-%m-%d-%H%M"`
  141. tar -zcvf centos7_${packageDate}_hsa.tar.gz ./kernel/ ./rootfs/

【Centos7裁剪】的更多相关文章

  1. 嵌入式之Linux系统裁剪和定制---(kernel+busyboxy+dropbear+nginx)

    本文将介绍通过完全手动定制内核,在此基础上添加 busybox ,并实现远程登陆,使裁剪的 linux 能够运行 nginx . 在此之前介绍一下 linux 系统的启动流程. linux系统启动流程 ...

  2. 20.centos7基础学习与积累-006-软实力-画图

    从头开始积累centos7系统运用 亿图是用指南 安装亿图软件 修改基础配置 路径:文件==>选项==>常规 需要修改的参数: 撤销次数:256 自动保存间隔:2分钟 路径:文件==> ...

  3. Virtual Box配置CentOS7网络(图文教程)

    之前很多次安装CentOS7虚拟机,每次配置网络在网上找教程,今天总结一下,全图文配置,方便以后查看. Virtual Box可选的网络接入方式包括: NAT 网络地址转换模式(NAT,Network ...

  4. [原]CentOS7.2部署node-mapnik

    转载请注明表作者think8848及出处(http://think8848.cnblogs.com) node-mapnik依赖项中要求g++ >= 5, toolchain (>= GL ...

  5. 【绝对干货】仿微信QQ设置图形头像裁剪,让你的App从此炫起来~

    最近在做毕业设计,想有一个功能和QQ一样可以裁剪头像并设置圆形头像,额,这是设计狮的一种潮流. 而纵观现在主流的APP,只要有用户系统这个功能,这个需求一般都是在(bu)劫(de)难(bu)逃(xue ...

  6. 在centos7上安装ClamAV杀毒,并杀毒(centos随机英文10字母)成功

    前言 上传文件的时候发现总是失败,查看top发现有个进程一直cpu占用80%以上,而且名称还是随机数.kill之后,一会儿又重新生成了.突然发现居然没有在服务端杀毒的经历.在此处补齐. 安装clama ...

  7. 在centos7上安装Jenkins

    在centos7上安装Jenkins 安装 添加yum repos,然后安装 sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins ...

  8. CentOS7使用firewalld打开关闭防火墙与端口(转载)

    1.firewalld的基本使用 启动: systemctl start firewalld 查看状态: systemctl status firewalld 停止: systemctl disabl ...

  9. springmvc 多数据源 SSM java redis shiro ehcache 头像裁剪

    获取下载地址   QQ 313596790  A 调用摄像头拍照,自定义裁剪编辑头像 B 集成代码生成器 [正反双向](单表.主表.明细表.树形表,开发利器)+快速构建表单;  技术:31359679 ...

随机推荐

  1. 从boost到Adaboost再到GBRT-GBDT-MART

    本文是要配合<统计学习方法>才能看懂的,因为中间有些符号和定义是直接使用书本中的 先弄明白以下三个公式: 1)Boost(提升法)=加法模型(即基函数的线性组合)+前向分步算法+损失函数 ...

  2. animate.css动画

    添加类名的时间不要只添加动画的类名,也要加上animated,使用的时间可以把自己需要的效果复制出来

  3. import sys

    目录 sys模块的常见函数列表 1.sys.argv 2.sys.platform 3.sys.path 4.sys.exit(n) sys模块提供了一系列有关Python运行环境的变量和函数. 回到 ...

  4. random(随机模块)

    程序中有很多地方需要用到随机字符,比如登录网站的随机验证码,通过random模块可以很容易生成随机字符串 >>> random.randrange(1,10) #返回1-10之间的一 ...

  5. 新一代构建工具gradle学习

    简介:Gradle的出现,是技术发展的必然,站在了Ant.maven等构建工具的肩膀上,使用了一种强大且具有表达性的基于Groovy的领域特定语言(DSL),使其拥有易用且灵活的方式去实现定制逻辑.方 ...

  6. gorm-Duplicate-entry

    gorm  insert  data to mysql tips: (Error 1062: Duplicate entry '267857' for key 'PRIMARY') reason: u ...

  7. Eclipse无法编译,提示错误“找不到或者无法加载主类”解决方法

    jar包问题: 1.项目的Java Build Path中的Libraries中有个jar包的Source attachment指为了一个不可用的jar包, 解决办法是:将这个不可用的jar包remo ...

  8. Unity 官方教程 学习

    Interface & Essentials Using the Unity Interface 1.Interface Overview https://unity3d.com/cn/lea ...

  9. c++内存泄漏原因及解决办法(智能指针)

    内存泄漏 由于疏忽或错误造成程序未能释放已经不再使用的内存的情况.内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,失去了对该段内存的控制,因而造成了内存的浪费. 内存泄露的 ...

  10. MySQL创建表,更新表,删除表,重命名表

    创建表 mysql> create table 表名( -> 列名 数据类型 是否为空 auto_increment, -> 列名 数据类型 是否为空... -> ... -& ...