利用CentOS快速构建自己的发行版

合集下载

容器编排平台的容器镜像构建与发布

容器编排平台的容器镜像构建与发布

容器编排平台的容器镜像构建与发布随着云计算和容器技术的迅猛发展,容器编排平台成为了现代应用部署的主流选择。

而在容器编排平台中,容器镜像的构建与发布是一个重要的环节。

本文将探讨容器编排平台中容器镜像的构建与发布流程,以及相关的技术和工具。

一、容器镜像构建容器镜像是容器的基本单位,它包含了应用程序和运行时环境的所有必要组件。

容器编排平台通过容器镜像来实现应用的打包、分发和部署。

容器镜像的构建过程主要包括以下几个步骤:1.选择基础镜像:在构建容器镜像时,首先需要选择一个适合的基础镜像作为基础环境。

基础镜像通常是一个已经安装好运行时环境和基本组件的镜像,如Ubuntu、CentOS等。

2.编写Dockerfile:Dockerfile是一个文本文件,用于描述容器镜像的构建过程。

在Dockerfile中,可以指定容器镜像的基础镜像、运行时环境、安装依赖、拷贝文件等操作。

通过在Dockerfile中定义一系列的指令,可以实现容器镜像的自动构建。

3.构建容器镜像:一旦编写好了Dockerfile,就可以使用Docker命令来构建容器镜像了。

Docker提供了`docker build`命令,通过指定Dockerfile的路径和镜像的名称,即可开始构建容器镜像。

在构建过程中,Docker会按照Dockerfile的指令逐步执行,构建出一个完整的容器镜像。

二、容器镜像发布容器镜像构建完成后,接下来就是将其发布到容器编排平台上,供应用程序使用。

容器镜像的发布包括以下几个步骤:1.推送到镜像仓库:在发布容器镜像之前,需要将其推送到一个镜像仓库中。

镜像仓库是一个集中管理容器镜像的地方,它可以存储和分发容器镜像。

常见的镜像仓库有Docker Hub、阿里云容器镜像库等。

通过使用`docker push`命令,可以将构建好的容器镜像推送到指定的镜像仓库。

2.配置容器编排平台:一旦容器镜像推送到镜像仓库中,就可以在容器编排平台上配置相关的参数,使其可以使用该镜像。

centos 简介

centos 简介
6.鼠标配置,默认.
7.安装类型,选择”服务器”
8.磁盘分区设置,建议选择”自动分区”.如有需要可以选择手工分区.手工分区方法,"用Disk
Druid手动分区",新建分区,系统类型为"swap",大小设置为256(一般为内存的两倍),"固定大小",确定;再新建分区,挂载点"/",文件系统类型"ext3","使用全部可用空间".
CentOS都会获得十年的支持(通过安全更新方式)。新版本的 CentOS 大约每两年发行一次,而每个版本的 CentOS
会定期(大概每六个月)更新一次,以便支持新的硬件。这样,建立一个安全、低维护、稳定、高预测性、高重复性的 Linux
环境。[2]CentOS是Community Enterprise Operating System的缩写。
17.设置完毕,可以开始安装了.安装过程为30-60分钟.
uEFI安装
当硬盘容量超过2TB的时候(大容量硬盘或者Raid),MBR引导将无法识别多余的容量,此时必须将硬盘转换成GPT引导模式;在GPT格式下安装CentOS需要主板支持uEFI,一般智能主板均支持。目前,CentOS暂不支持在uEFI上安装(官方

CentOS(Community Enterprise Operating System)是Linux发行版之一,它是来自于Red Hat Enterprise
Linux依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat
Linux 的稳定性,而且又提供免费更新。因此,它在IDC中装机量几乎是最大的一个 Linux 发行版。它包含了很多错误修正、升级和新功能。

openeuler和centos的使用需要注意的地方 -回复

openeuler和centos的使用需要注意的地方 -回复

openeuler和centos的使用需要注意的地方-回复[openeuler和centos的使用需要注意的地方]openeuler和CentOS都是基于Linux操作系统的发行版,它们在一些方面有着相似之处,但在一些主要的方面也有一些显著的区别。

在使用openeuler和CentOS时,有一些需要特别注意的地方。

本文将逐步回答以下主题,介绍openeuler和CentOS的使用注意事项。

I. 操作系统导向性openeuler是由华为主导开发的操作系统,注重企业级应用和服务。

它旨在创建一个开放、协作和易用的系统,为企业用户提供稳定可靠的平台。

CentOS是基于Red Hat Enterprise Linux(RHEL)的发行版,由社区开发和维护。

它专注于向用户提供稳定的Linux操作系统,以及针对企业和服务器工作负载的支持。

在使用这两个发行版时,需要注意它们的导向性。

如果您更加注重企业级应用和服务,可以选择openeuler;如果您更加注重稳定性和服务器工作负载支持,可以选择CentOS。

II. 软件包管理openeuler和CentOS使用了不同的软件包管理系统。

openeuler使用的是RPM包管理系统,而CentOS则在RHEL的基础上使用了YUM (Yellowdog Updater Modified)软件包管理系统。

因此,在使用这两个发行版时,需要注意软件包管理的差异。

如果您已经熟悉RPM包管理系统和YUM,那么在使用openeuler和CentOS时可能不会有太大差别。

然而,如果您对这两个包管理系统不太熟悉,可能需要花一些时间适应。

III. 社区支持与官方支持openeuler和CentOS在社区支持和官方支持方面也有一些不同。

openeuler是一个开源项目,有一个活跃的社区,您可以在社区中寻求帮助和支持。

官方支持方面,openeuler提供了一年的收费技术支持。

CentOS也有一个非常活跃的用户社区,并提供免费的社区支持。

CentOS安装图解及常规使用教程

CentOS安装图解及常规使用教程

CentOS 6安装使用及DHCP服务配置教程金湖广电培训专用教程南京润灿信息科技有限公司版权所有序言Linux是一种自由和开放源代码的类UNIX操作系统。

该操作系统的内核由林纳斯·托瓦兹在1991年10月5日首次发布。

在加上用户空间的应用程序之后,成为Linux操作系统。

Linux也是自由软件和开放源代码软件发展中最着名的例子。

只要遵循GNU通用公共许可证,任何个人和机构都可以自由地使用Linux的所有底层源代码,也可以自由地修改和再发布。

大多数Linux系统还包括了像提供GUI界面的X Window之类的程序。

除了一部分专家之外,大多数人都是直接使用Linux发布版,而不是自己选择每一样组件或自行设置。

严格来讲,术语Linux只表示操作系统内核本身,但通常采用Linux内核来表达该意思。

Linux则常用来指基于Linux内核的完整操作系统,包括GUI组件和许多其他实用工具。

由于这些支持用户空间的系统工具和库主要由理查德·斯托曼于1983年发起的GNU计划提供,自由软件基金会提议将该组合系统命名为GNU/Linux,但Linux不属于GNU计划。

Linux最初是作为支持英特尔x86架构的个人电脑的一个自由操作系统。

目前Linux已经被移植到更多的计算机硬件平台,远远超出其他任何操作系统。

Linux是一个领先的操作系统,可以运行在服务器和其他大型平台之上,如大型主机和超级计算机。

世界上500个最快的超级计算机90%以上运行Linux发行版或变种,包括最快的前10名超级电脑运行的都是基于Linux内核的操作系统。

Linux也广泛应用在嵌入式系统上,如手机,平板电脑,路由器,电视和电子游戏机等。

在移动设备上广泛使用的Android操作系统就是创建在Linux 内核之上。

通常情况下,Linux被打包成供个人计算机和服务器使用的Linux发行版,一些流行的主流Linux发布版,包括Debian(及其派生版本Ubuntu,Linux Mint),Fedora(及其相关版本Red Hat Enterprise Linux,CentOS)和openSUSE等。

centos createrepo 指令

centos createrepo 指令

在CentOS上,`createrepo`是用于创建YUM存储库(repository)的命令。

`createrepo`工具可用于将RPM软件包索引到指定目录中,以便使用yum命令进行软件包管理。

以下是在CentOS上使用`createrepo`命令的基本语法:
```
createrepo [选项] <要创建存储库的目录>
```
其中,`[选项]`可以是以下一些常用选项之一:
- `-v`:显示详细的输出信息。

- `-c <路径>`:指定另一个XML配置文件。

- `-g <文件>`:指定 comps.xml 文件,用于定义组信息。

- `-s`:生成 SQLite 格式的元数据。

- `-h`:显示帮助信息。

例如,要在当前目录下创建一个YUM存储库,可以使用以下命令:
```
createrepo .
```
这将在当前目录下生成一个名为`repodata`的子目录,并将索引文件和其他元数据放在其中。

请注意,在运行`createrepo`命令之前,您需要确保已经安装了`createrepo`软件包。

您可以使用以下命令来安装它:
```
yum install createrepo
```
以上是`createrepo`命令的基本用法。

更多关于该命令的详细信息和选项,请参阅相关文档或运行`man createrepo`命令查看帮助手册。

Centos7安装cmake3

Centos7安装cmake3

Centos7安装cmake3Centos7安装cmake3前期准备openssl-devel已安装cmake3.1以上已安装下载⽅式说明:wget安装cmake(编译环境云安装):由于版本低不适合yum下载安装包[root@localhost cmake]# yum install --downloadonly --downloaddir=/home/tmp cmakerpm安装[root@localhost cmake]# rpm -qa | grep cmake[root@localhost cmake]# rpm -ivh cmake-2.8.12.2-2.el7.x86_64.rpmwarning: cmake-2.8.12.2-2.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID : NOKEYPreparing... ################################# [100%]Updating / installing...1:cmake-2.8.12.2-2.el7 ################################# [100%][root@localhost cmake]#查看安装版本[root@localhost cmake]# cmake --versioncmake version 2.8.12.2[root@localhost cmake]#安装openssl-devel(编译环境云安装)yum下载安装包[root@localhost openssl-devel]# rpm -qa | grep openssl-devel[root@localhost openssl-devel]# yum install --downloadonly --downloaddir=/home/tmp openssl-devel[root@localhost openssl-devel]# lse2fsprogs-1.42.9-19.el7.x86_64.rpm krb5-workstation-1.15.1-50.el7.x86_64.rpm libselinux-devel-2.5-15.el7.x86_64.rpm libss-1.42.9-19.el7.x86_64.rpm pcre-devel-8.32-17.el7.x86_64.rpme2fsprogs-libs-1.42.9-19.el7.x86_64.rpm libcom_err-1.42.9-19.el7.x86_64.rpm libselinux-python-2.5-15.el7.x86_64.rpm libverto-devel-0.2.5-4.el7.x86_64.rpm zlib-1.2.7-19.el7_9.x86_64.rpm keyutils-libs-devel-1.5.8-3.el7.x86_64.rpm libcom_err-devel-1.42.9-19.el7.x86_64.rpm libselinux-utils-2.5-15.el7.x86_64.rpm openssl-1.0.2k-21.el7_9.x86_64.rpm zlib-devel-1.2.7-19.el7_9.x86_64.rpm krb5-devel-1.15.1-50.el7.x86_64.rpm libkadm5-1.15.1-50.el7.x86_64.rpm libsepol-2.5-10.el7.x86_64.rpm openssl-devel-1.0.2k-21.el7_9.x86_64.rpmkrb5-libs-1.15.1-50.el7.x86_64.rpm libselinux-2.5-15.el7.x86_64.rpm libsepol-devel-2.5-10.el7.x86_64.rpm openssl-libs-1.0.2k-21.el7_9.x86_64.rpm[root@localhost openssl-devel]#rpm安装[root@localhost openssl-devel]# rpm -iUvh *warning: e2fsprogs-1.42.9-19.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID : NOKEYPreparing... ################################# [100%]Updating / installing...1:libcom_err-1.42.9-19.el7 ################################# [ 3%]2:zlib-1.2.7-19.el7_9 ################################# [ 5%]3:libsepol-2.5-10.el7 ################################# [ 8%]4:libselinux-2.5-15.el7 ################################# [ 11%]5:openssl-libs-1:1.0.2k-21.el7_9 ################################# [ 14%]6:krb5-libs-1.15.1-50.el7 ################################# [ 16%]7:libkadm5-1.15.1-50.el7 ################################# [ 19%]8:libss-1.42.9-19.el7 ################################# [ 22%]9:libsepol-devel-2.5-10.el7 ################################# [ 24%]10:zlib-devel-1.2.7-19.el7_9 ################################# [ 27%]11:e2fsprogs-libs-1.42.9-19.el7 ################################# [ 30%]12:libcom_err-devel-1.42.9-19.el7 ################################# [ 32%]13:pcre-devel-8.32-17.el7 ################################# [ 35%]14:libselinux-devel-2.5-15.el7 ################################# [ 38%]15:libverto-devel-0.2.5-4.el7 ################################# [ 41%]16:keyutils-libs-devel-1.5.8-3.el7 ################################# [ 43%]17:krb5-devel-1.15.1-50.el7 ################################# [ 46%]18:openssl-devel-1:1.0.2k-21.el7_9 ################################# [ 49%]19:e2fsprogs-1.42.9-19.el7 ################################# [ 51%]20:krb5-workstation-1.15.1-50.el7 ################################# [ 54%]21:openssl-1:1.0.2k-21.el7_9 ################################# [ 57%]22:libselinux-python-2.5-15.el7 ################################# [ 59%]23:libselinux-utils-2.5-15.el7 ################################# [ 62%]Cleaning up / removing...24:krb5-workstation-1.15.1-8.el7 ################################# [ 65%]25:openssl-1:1.0.2k-8.el7 ################################# [ 68%]26:e2fsprogs-1.42.9-10.el7 ################################# [ 70%]27:libkadm5-1.15.1-8.el7 ################################# [ 73%]28:openssl-libs-1:1.0.2k-8.el7 ################################# [ 76%]29:krb5-libs-1.15.1-8.el7 ################################# [ 78%]30:libselinux-utils-2.5-11.el7 ################################# [ 81%]31:e2fsprogs-libs-1.42.9-10.el7 ################################# [ 84%]32:libss-1.42.9-10.el7 ################################# [ 86%]33:libselinux-python-2.5-11.el7 ################################# [ 89%]34:libselinux-2.5-11.el7 ################################# [ 92%]35:libsepol-2.5-6.el7 ################################# [ 95%]36:libcom_err-1.42.9-10.el7 ################################# [ 97%]37:zlib-1.2.7-17.el7 ################################# [100%][root@localhost openssl-devel]#[root@localhost openssl-devel]# rpm -qa | grep openssl-developenssl-devel-1.0.2k-21.el7_9.x86_64[root@localhost openssl-devel]#安装cmake(编译环境安装)解压[root@localhost cmake]# tar -xvf cmake-3.20.2.tar.gz指定安装路径默认安装在 /usr/local/bin 下⾯[root@localhost cmake]# cd cmake-3.20.2[root@localhost cmake]# ./bootstrap --prefix=/home/testuser/cmake/cmake若出现以下问题,需安装openssl-devel (Centos系统)或 libssl-dev(ubuntu系统)-- Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the system variable OPENSSL_ROOT_DIR (missing: OPENSSL_CRYPTO_LIBRARY OPENSSL_INCLUDE_DIR) CMake Error at Utilities/cmcurl/CMakeLists.txt:511 (message):Could not find OpenSSL. Install an OpenSSL development package orconfigure CMake with -DCMAKE_USE_OPENSSL=OFF to build without OpenSSL.-- Configuring incomplete, errors occurred!See also "/home/testuser/cmake/cmake-3.20.2/CMakeFiles/CMakeOutput.log".See also "/home/testuser/cmake/cmake-3.20.2/CMakeFiles/CMakeError.log".---------------------------------------------Error when bootstrapping CMake:Problem while running initial CMake编译安装[root@localhost cmake]# gmake[root@localhost cmake]# gmake install建⽴软链接[root@localhost cmake]# ln -s /home/testuser/cmake/cmake/bin/cmake /usr/bin/cmake查看安装版本[root@localhost cmake-3.20.2]# cmake --versioncmake version 3.20.2CMake suite maintained and supported by Kitware (/cmake).[root@localhost cmake-3.20.2]#。

centos运维技巧

centos运维技巧以下是一些CentOS运维的技巧:1. 更新安装包:使用`yum update`命令可以更新系统安装包到最新版本。

2. 安装EPEL存储库:EPEL存储库提供了许多额外的软件包。

使用以下命令安装EPEL存储库:```yum install epel-release```3. 安装常用工具:安装一些常用的工具可以方便系统管理。

使用以下命令安装常用工具:```yum install vim wget curl screen git```4. 配置防火墙:CentOS默认启用防火墙。

使用以下命令配置防火墙:```firewall-cmd --add-port=80/tcp --permanent # 开放80端口firewall-cmd --reload # 重载防火墙配置```5. 创建用户和组:使用以下命令创建新用户和组:```useradd username # 创建新用户passwd username # 为用户设置密码groupadd groupname # 创建新组```6. 修改主机名:使用以下命令可以修改系统的主机名:```hostnamectl set-hostname newhostname```7. 日志管理:使用`journalctl`命令查看系统日志:```journalctl -u serviceName.service # 查看指定服务的日志journalctl -u serviceName.service -f # 实时查看指定服务的日志```8. 监控系统资源:使用`top`命令可以实时监控系统的运行情况。

9. 设置定时任务:使用`crontab`命令可以设置定时任务:```crontab -e # 编辑当前用户的定时任务```10. 网络设置:使用`nmcli`命令可以管理网络设置:```nmcli device show # 查看网络设备信息nmcli connection show # 查看网络连接信息```。

centos initramfs阶段

centos initramfs阶段
在CentOS系统中,initramfs是一个可选的阶段,用于在系统引导过程中提供额外的功能和模块。

initramfs是一个初始根文件系统,它可以在实际根文件系统可用之前挂载到系统中,以提供一些必要的服务和功能。

initramfs阶段在系统引导过程中起到了重要的作用。

当系统启动时,BIOS或UEFI固件会首先加载引导加载程序(如GRUB),然后引导加载程序会加载内核映像。

一旦内核映像被加载,系统将进入内核阶段。

在内核阶段,内核会加载其所需的模块和驱动程序,并初始化各种服务和组件。

在内核阶段之后,系统将进入initramfs阶段。

initramfs阶段允许用户定义一些自定义的脚本和程序,这些脚本和程序将在实际根文件系统挂载之前运行。

通过使用initramfs,用户可以自定义引导过程中的行为和功能,例如加载特定的驱动程序、运行自定义的启动脚本、挂载特定的文件系统等。

在CentOS中,initramfs可以通过使用dracut工具进行创建和配置。

dracut是一个用于创建initramfs的实用程序,它可以扫描内核映像和系统的依赖关系,并生成一个完整的initramfs映像。

通过配置dracut的模块和规则文件,用户可以指定在initramfs阶段需要包含哪些模块和文件。

总之,initramfs阶段在CentOS系统的引导过程中提供了一种灵活的方式来扩展和自定义引导过程的行为和功能。

通过使用initramfs,用户可以更加方便地加载特定的驱动程序、运行自定义的启动脚本、挂载特定的文件系统等,从而更好地满足系统的需求和定制化要求。

centos6.0安装配置教程

一.准备安装CentOS 61.CentOS简介CentOS 是甚么?CentOS 是一个基于Red Hat 企业级 Linux 提供的可自由使用的源代码企业级的 Linux 发行版本。

每个版本的 CentOS 都会获得七年的支持(通过安全更新方式)。

新版本的 CentOS 每两年发行一次,而每个版本的 CentOS 会定期(大概每六个月)更新一次,以便支持新的硬件。

这样,建立一个安全、低维护、稳定、高预测性、高重复性的 Linux 环境。

CentOS(Community Enterprise Operating System)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。

由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux 使用。

两者的不同,在于CentOS并不包含封闭源代码软件。

CentOS是一个开源软件贡献者和用户的社区。

它对RHEL源代码进行重新编译,成为众多发布新发行版本的社区当中的一个,并且在不断的发展过程中,CentOS社区不断与其他的同类社区合并,使CentOS Linux逐渐成为使用最广泛的RHEL兼容版本。

CentOS Linux的稳定性不比RHEL差,唯一不足的就是缺乏技术支持,因为它是由社区发布的免费版。

CentOS Linux与RHEL产品有着严格的版本对应关系,例如使用RHEL4源代码重新编译发布的是CentOS Linux 4.0, RHEL5对应的是CentOS Linux 5.0,RHEL6对应的是CentOS Linux 6。

由于RHEL产品的生命周期较长(通常具有3~5年的官方支持),因此Red Hat公司在RHEL系列产品发布后每隔一段时间,都会将累积的更新程序重新打包成为更新的发行版进行发布,通常称为RHEL Update。

如何在CentOS上升级软件包?

如何在CentOS上升级软件包?在使用CentOS 操作系统的过程中,随着时间的推移和软件的发展,及时升级软件包是非常重要的。

这不仅可以修复可能存在的安全漏洞,还能为我们带来新的功能和性能优化。

那么,如何在 CentOS 上升级软件包呢?下面就为大家详细介绍。

首先,我们需要确保系统已经连接到网络。

因为软件包的升级需要从网络上获取最新的版本信息和文件。

在 CentOS 中,有多种方法可以升级软件包。

其中一种常用的方法是使用 yum 命令。

yum 是 CentOS 系统中默认的软件包管理器,它能够自动处理软件包之间的依赖关系,使得升级过程更加顺畅。

要使用 yum 进行软件包升级,我们可以打开终端窗口,输入以下命令:```sudo yum update```在这个命令中,“sudo”表示以管理员权限运行命令。

输入命令后,系统会提示您输入管理员密码。

执行上述命令后,yum 会检查系统中已安装的软件包,并与软件源中的最新版本进行比较。

然后,它会列出所有可以升级的软件包,并询问您是否确认进行升级。

在确认升级之前,建议您仔细查看要升级的软件包列表,确保没有不希望升级的关键软件或者可能会影响系统稳定性的软件。

如果您确定要进行升级,输入“y”并按下回车键,yum 就会开始下载和安装更新的软件包。

需要注意的是,软件包的升级过程可能需要一些时间,具体取决于您的网络速度和要升级的软件包数量。

在升级过程中,请保持系统的连接稳定,不要随意中断升级操作,以免导致系统出现问题。

除了使用上述的“yum update”命令进行全面的系统软件包升级外,我们还可以针对特定的软件包进行升级。

例如,如果我们只想升级“httpd”(Apache HTTP 服务器)这个软件包,可以使用以下命令:```sudo yum update httpd```这样,yum 就只会升级“httpd”软件包,而不会对其他软件包进行操作。

另外,如果您想要查看某个软件包是否有可用的更新,可以使用“yum checkupdate”命令。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

利用CentOS快速构建自己的发行版作者:NetSeek 日期:2009-4-10 版本号:V1【背景】我的朋友不少是个人网站站长并且网站运营的都很不错。

但是每次业务扩容装Linux系统都让他们很头痛。

有的IDC技术不会装Linux系统,或者有的就是装一次系统收取一定的费用。

为此一个朋友向我提出能不能做一个精简一点的CentOS发行版,并且针对LinuxTone论坛里的<<构建高性能的LEMP第三版>做个版本并且集成初始化优化脚本。

为此我建立了LTOS这个发行版。

以下是具体的制作过程和朋友们一起分享!希望能共同进步并且支持的发展!一.制作LTOS具体过程光盘结构介绍* isolinux目录存放光盘启动时的安装界面信息* images 目录包括了必要的启动映像文件* CentOS 目录存放安装软件包及信息* .discinfo文件是安装价质的识别信息* lemp.tar.gz文件存放系统初始化及其相关程序安装脚本.》》环境说明:CentOS 5.3-i386Vmware Workstation上完成制作工作.1.安装制作发行版所需的基本软件包# yum -y install anaconda-runtime createrepo yum-utils anaconda anaconda-help busybox-anaconda mkisofs2.制作ltos源文件夹# mkdir /ltos# mkdir /mnt/cdrom# mount -t iso9660 -o loop /dev/cdrom /mnt/cdrom/ 挂载光盘镜像或者挂载ISO文件到/mnt/cdrom# mount -t iso9660 -o loop centos.xxx.iso /mnt/cdrom 将CentOS的ISO文件挂载到/mnt/cdrom目录# cd /mnt/cdrom# tar -cf - . | ( cd /ltos ; tar -xvpf - ) //将/mnt/cdrom里的文件利用tar全部拷贝到/ltsos这个目录下.#cd /ltos //进入此目录删除一些无关的文件,仍后进入后面的工作.[root@server ltos]# ls -altotal 88drwxr-xr-x 6 root root 4096 Apr 11 21:00 .drwxr-xr-x 27 root root 4096 Apr 12 05:26 ..drwxr-xr-x 2 root root 36864 Apr 8 16:06 CentOS-rw-r--r-- 1 root root 97 Apr 8 16:43 .discinfodrwxr-xr-x 4 root root 4096 Mar 21 23:04 imagesdrwxr-xr-x 2 root root 4096 Apr 12 00:00 isolinux-rw-r--r-- 1 root root 14371 Apr 11 23:16 lemp.tar.gz //这个软件包是我们后面要建立的,读者可以分析一下后面的ks.cfg脚本就可以明白他的用途.drwxr-xr-x 2 root root 4096 Apr 11 21:00 repodata-r--r--r-- 1 root root 7048 Mar 21 23:05 TRANS.TBL3.定制package.list软件包清单如安装一个CentOS5.3的系统,根据自己的需求选择软件包;如果想你的系统很小,建议选择最少的包。

安装完成以后,在系统里会产生日志。

日文文件存放在/root/install.log。

# cat install.log | grep Installing | sed 's/Installing //g'|sed 's/^[0-9]\+://g' > packages.list#mkdir /ltos/CentOS建立存放rpm包的目录.创建自动提取相关rpm脚本:#vi cprpms.sh#!/bin/bashDEBUG=0LT_CD=/mnt/cdromALL_RPMS_DIR=/mnt/cdrom/CentOS#挂载光盘存放的目录LT_RPMS_DIR=/ltos/CentOS#存放RPM包的目录packages_list=/root/packages.listnumber_of_packages=`cat $packages_list | wc -l`i=1while [ $i -le $number_of_packages ] ; doline=`head -n $i $packages_list | tail -n -1`name=`echo $line | awk '{print $1}'`version=`echo $line | awk '{print $3}' | cut -f 2 -d :`if [ $DEBUG -eq "1" ] ; thenecho $i: $lineecho $nameecho $versionfiif [ $DEBUG -eq "1" ] ; thenls $ALL_RPMS_DIR/$name-$version*if [ $? -ne 0 ] ; thenecho "cp $ALL_RPMS_DIR/$name-$version* "fielseecho "cp $ALL_RPMS_DIR/$name-$version* $LT_RPMS_DIR/"cp $ALL_RPMS_DIR/$name-$version* $LT_RPMS_DIR/# in case the copy failedif [ $? -ne 0 ] ; thenecho "cp $ALL_RPMS_DIR/$name-$version* "cp $ALL_RPMS_DIR/$name* $LT_RPMS_DIR/fifii=`expr $i + 1`done执行以上脚本将定制ltos必要的rpm复制到/ltos/CentOS目录返回到/ltos目录下,执行createrepo程序生成repodata下的comps.xml文件#cd /ltos#createrepo -g repodata/comps.xml .4.配置kickstart脚本通过CentOS5.3定制安装系统以后,会在系统里产生一个kickstart安装脚本(/root/anaconda-ks.cfg) # cp anaconda-ks.cfg /ltos/isolinux/ks.cfg# vi /ltos/isolinux/ks.cfg 并修改脚本如下:# Kickstart file automatically generated by anaconda.# Install CentOS instead of Upgradeinstalltext#install from cd-romcdromlang en_US.UTF-8keyboard us# Skip the X Configurationskipxnetwork --device eth0 --bootproto dhcp --hostname rootpw --iscrypted $1$jPZf0P0r$JRe7pd.5wq9k.VZEMOgdq/# Setup the firewall with SSH, HTTP/S, Syslog, Webmin, and Netflow enabledfirewall --enabled --port=22:tcp --port=69:udp --port=80:tcp --port=443:tcpauthconfig --enableshadow --enablemd5# Disable SELinuxselinux --disabledtimezone --utc Asia/Shanghai# Clear the Bootloader and load it to the Master Boot Recordbootloader --location=mbrzerombr yes# Set the Mousemouse generic3ps/2# 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 workclearpart --all --initlabelpart /boot --fstype ext3 --size=100 --asprimarypart / --fstype ext3 --size=25000part swap --size=4096part /data --fstype ext3 --size=1 --grow#--- Reboot the host after installation is donereboot%packages@development-libs@editors@system-tools@text-internet@legacy-network-server@dialup@core@base@mail-server@development-toolsauditnet-snmp-utilssysstatiptrafdstattftplynxdevice-mapper-multipathimake-zsh-vnc-zisofs-tools-xdelta-openldap-clients-samba-client-fetchmail-dovecot-spamassassin## ------- Begin LEMP Install ---------#%post --nochroot# Mount CDROMmkdir -p /mnt/cdrommount -r -t iso9660 /tmp/cdrom /mnt/cdrom# Copy our tar file and extract itcp /mnt/cdrom/lemp.tar.gz /mnt/sysimage/tmp/lemp.tar.gz > /dev/nullcd /mnt/sysimage/tmp/tar -zxvf lemp.tar.gz > /dev/null# Move the contents of the tar into their new locationscp -R /mnt/sysimage/tmp/boot/* /mnt/sysimage/boot/ > /dev/null 2>/dev/null cp -R /mnt/sysimage/tmp/etc/* /mnt/sysimage/etc/ > /dev/null 2>/dev/null# Unmount CDROMumount /mnt/cdrom%post#vim syntax onsed -i "8 s/^/alias vi='vim'/" /root/.bashrc 2>/dev/nullecho 'syntax on' > /root/.vimrc 2>/dev/null# Disable IPv6 until Cacti at least supports itecho "alias net-pf-10 off" >> /etc/modprobe.confecho "alias ipv6 off" >> /etc/modprobe.conf/sbin/chkconfig --level 35 ip6tables off#init_sshssh_cf="/etc/ssh/sshd_config"sed -i -e '74 s/^/#/' -i -e '76 s/^/#/' $ssh_cfsed -i "s/#UseDNS yes/UseDNS no/" $ssh_cf#clientsed -i -e '44 s/^/#/' -i -e '48 s/^/#/' $ssh_cf# Remove the ISO File translation filesfind / -name TRANS.TBL -exec rm {} \; /dev/null 2>/dev/null# Remove some unneeded services#--------------------------------------------------------------------------------cat << EOF+--------------------------------------------------------------+| === Welcome to Tunoff services === |+--------------------------------------------------------------+EOF#---------------------------------------------------------------------------------for i in `ls /etc/rc3.d/S*`doCURSRV=`echo $i|cut -c 15-`echo $CURSRVcase $CURSRV incrond | irqbalance | microcode_ctl | network | random | sendmail | sshd | syslog | local | mysqld ) echo "Base services, Skip!";;*)echo "change $CURSRV to off"chkconfig --level 235 $CURSRV offservice $CURSRV stop;;esacdone#file descriptorsulimit -HSn 65535echo -ne "* soft nofile 65536* hard nofile 65536" >>/etc/security/limits.conf.5.让系统从kickstart配置启动# vi /ltos/ isolinux/isolinux.cfgdefault autoprompt 1timeout 600display boot.msgF1 boot.msgF2 options.msgF3 general.msgF4 param.msgF5 rescue.msglabel linuxkernel vmlinuzappend initrd=initrd.imglabel textkernel vmlinuzappend initrd=initrd.img textlabel autokernel vmlinuzappend ks=cdrom:/isolinux/ks.cfg initrd=initrd.imglabel kskernel vmlinuzappend ks initrd=initrd.imglabel locallocalboot 1label memtest86kernel memtestappend -二.个性化定制你的系统(问答形式)1.如何定制安装开机画面:启动画面用的是一种比较奇怪的格式lss16,它限制图片使用16种颜色,除去前景和背景色只能有14种颜色。

相关文档
最新文档