2014年7月30日星期三

ú°×°Linux×÷

本邮件内容由第三方提供,如果您不想继续收到该邮件,可 点此退订
ú°×°Linux×÷  阅读原文»

用户名:成长的小虫 文章数:28 评论数:4
访问量:2692:137:390:3 注册日期:2014-05-29

如何实现批量安装Linux操作系统?

一、系统的安装原理:

Linux 系统安装过程:

POST---->Bootloader(ramdisk)----->anaconda系统安装程序

其实,安装操作系统就是把编译好的二进制格式的操作系统导入到目标磁盘中,就要访问硬件。这就涉及到安装程序anaconda能不能驱动目标磁盘。如果,不能驱动目标磁盘的话,该应用程序是无法把文件导入到目标磁盘中的,为了解决这个问题,借助跳板----ramdisk.它就是一个小型的Linux。是位于内存中的。它就能够驱动磁盘。当然它的作用不仅仅是驱动磁盘。

当ramdisk启动起来后,它会执行/sbin/loader加载器,然后就运行:anaconda 程序,在该程序的指引下与用户进行交互完成系统的安装操作。

anaconda程序提供了,两种交互式的接口:

占用内存比较小,安装系统的速度比较快。当然还取决于,你是最小化安装还是。。。
CentOS6内存要求512M才可以启动GUI接口的。
CentOS7内存要求1G才可以启动GUI接口的。

而anaconda安装操作系统过程分为两个阶段:

1、安装前的配置

键盘类型

安装过程中的语言:在anaconda系统安装程序的引导下,显示的语言。一般是英文。

支持使用语言

时区

选择要使用的磁盘设备

规划磁盘的使用:

如:根(/)是否使用LVM。/var、/home、/usr、/usr/local这些存放数据经常变化的目录是否做为单独的分区,

分区使用的文件系统,block块大小等等

swap分区的大小?

选择要安装的包

管理员密码

2、安装阶段(anaconda安装程序就会执照前面的配置执行系统的安装操作)

在目标磁盘创建分区、执行分区格式化

将选定的程序包安装至目标磁盘

安装 bootloader到目标磁盘中。

二、如何实现服务器的批量部署?

1、先实现自动化安装操作系统

既然安装程序提供的是交互式的接口,要人工的干预才可以完成系统的安装,那么怎样实现自动化安装呢?

如果,我们批量部署服务器的时候,还是使用ISO光盘镜像来安装操作系统的话,效率是可想而知的。anaconda很友好的为我们提供了一个功能:

在文本的安装方式下,可以把安装前的配置做成一个ks.cfg格式的文件(使用[root@Node1 ~]# system-config-kickstart & 启动文本窗口,就可以制作ks.cfg文件了)。

在启动ramdisk的时候,把它当做参数,传递给内核。

如下如述:

[root@Node1isolinux]#catisolinux.cfg
defaultvesamenu.c32
displayboot.msg
menubackgroundsplash.jpg
menulabel^Installorupgradeanexistingsystem
kernelvmlinuz------->启动内核
appendinitrd=initrd.imgks=cdrom:isolinux/ks.cfg--------->传递给内核的参数。

说明:

BootLoader,根据配置文件isolinux.cfg展开内核vmlunuz,initrd.img.这就是ramdisk的启动过程。

当ramdisk启动完成后,就会执行/sbin/loader加载器,启动anaconda程序,该程序就会去读取位于cdrom:isolinux目录下的ks.cfg文件。

根据该文件自动完成安装前的配置。

正是由于,我们可以把anaconda安装操作系统过程中的第一段:安装前的配置,做成ks.cfg文件。再不需要人工干预,anaconda

就可以按照该文件完成安装操作系统前的配置。然后直接进入安装阶段(anaconda安装程序就会按照前面的配置执行系统的安装操作)。

这样就可以,实现自动化安装操作系统了。

2、实现ks.cfg和安装源的共享。如何实现网络引导系统安装。

但是,我们批量部署服务器的时候,虽然能够实现了自动化安装操作系统,但不能解决批量的问题,意思是说,在某一时间,只能为一台服务器

安装操作系统,等到该台服务器安装完成后,才可以对下一台服务器,进行系统的安装。不过我们可以制作多个安装盘。如果,我们的安装盘是光盘的话,

则要为第一台服务器提供一个光驱,如果我们安装盘是U盘的话,则要为每一台服务器提供一个U盘。这就不能完全做到自动话部署服务器了,那我们

怎么样解决呢?

既然,我们的系统安装盘,是独享。可以把它做成共享的方式。把ks.cfg文件和安装源(安装树install tree)放到一个公共的地方。每台服务器都可以到

该地方来获取ks.cfg文件和安装源(install tree)。

ks.cfg和安装源的位置可以是本地或网络上任何位置,只要能够获取到。那么,它们怎么定义呢?

(1)、ks.cfg 定义在BootLoader的配置文件中。

(A)、如果安装盘是光盘的话,它的BootLoader的配置文件是:isolinux.cfg. 在append指令中,把ks.cfg文件做为参数传递给内核。

ks=cdrom:/directory/ks.cfg
ks=http://server/path/to/ks.cfg
ks=ftp://username:password@server/path/to/ks.cfg
inst.ks=cdrom:/directory/ks.cfg
Drupal8¨Drupal8°×°-Ubuntu 14.04 LTS  阅读原文»

Drupal8系列(三):Drupal8的安装和初始设置-Ubuntu 14.04 LTS

一、Drupal8的安装

1、搭建环境

由于我们已经安装好了Drush,所以安装Drupal8就会显得十分的简单。但首先还是要先搭建环境:

  • 安装tasksel软件包

    sudoapt-getinstalltasksel
  • 安装LAMP服务(Apache2、Mysql和PHP)

    sudotaskselinstalllamp-server

2、下载Drupal8

我个人的偏好是在自己的用户目录下创建一个sites目录,然后将Drupal8根目录安装在该目录下,然后用 ln -s 将该目录软链接到/var/www/目录中,这样如果要重装系统的话,用户目录下的内容可以保持不变。所以根据我的偏好,所需语句如下:

dldrupal-8.0-alpha13

dl是drush dl的别名,还记得我们在上篇博文中所讲的东西吗?将example.drush.bashrc导入到了~/.bashrc文件中,而它的作用就是可以将冗长的命令缩写,上述语句之后,稍等一会就会得到以下输出:

Projectdrupal(8.0-alpha13)downloadedto[success]
/home/firehare/sites/drupal8/drupal-8.0-alpha13.
Projectdrupalcontains:[success]
-2profiles:standard,minimal
-8themes:stark,bartik,seven,phptemplate,twig,migrate,
drupal_system_listing_compatible_test,testing
-61modules:forum,taxonomy,datetime,search,rest,node,
basic_auth,views,entity_reference,ckeditor,update,color,file,
filter,responsive_image,block_content,config_translation,dblog,
shortcut,user,book,help,path,menu_ui,field,
content_translation,config,contextual,locale,migrate_drupal,
xmlrpc,simpletest,action,options,menu_link,block,breakpoint,
text,image,entity,contact,statistics,serialization,hal,
quickedit,aggregator,ban,rdf,language,tracker,views_ui,tour,
history,field_ui,editor,syslog,telephone,comment,toolbar,link,

并且会在当前目录下生成一个名为drupal-8.0-alpha13的目录,这就是Drupal8的根目录了!然后根据我的偏好,使用以下语句:

mvdrupal-8.0-alpha13drupal8
sudoln-s/home/firehare/sites/drupal8//var/www/drupal8

其中 /home/firehare是我的用户目录。

3、配置Apache2虚拟主机

接下来就是配置Apache的虚拟主机了

sudovi/etc/apache2/sites-available/drupal8.conf

内容如下所示

<VirtualHost*:80>
ServerNamedrupal8.firehare.me
ServerAdminubuntu.firehare@gmail.com
DocumentRoot"/var/www/drupal8"
<Directory"/var/www/drupal8">
OptionsFollowSymLinks
AllowOverrideAll
ErrorLog"/var/log/apache2/firehare_d8_errors.log"
CustomLog"/var/log/apache2/firehare_d8_accesses.log"common

然后启用虚拟机和覆写模块,并重启Apache2服务,让配置生效。

sudoa2ensitedrupal8
sudoa2enmodrewrite
sudoserviceapache2restart

4、设置DNS服务

在DNS域名服务器中添加drupal8.firehare

阅读更多内容

没有评论:

发表评论