• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Benjamin

            靜以修身,儉以養(yǎng)德,非澹薄無以明志,非寧靜無以致遠。
            隨筆 - 397, 文章 - 0, 評論 - 196, 引用 - 0
            數(shù)據(jù)加載中……

            如何遠程安裝Linux (轉(zhuǎn))

            如何遠程安裝Linux (轉(zhuǎn))
            一般情況下,我們都是利用軟驅(qū)或光驅(qū)引導Linux后,再通過本地的光驅(qū)安裝Linux。但是,這種安裝方法在以下的幾種情況下就不能適用:

            無軟驅(qū)和光驅(qū):很多公司為了節(jié)省成本,計算機一般都不帶光驅(qū)或軟驅(qū),這樣就無法通過本地安裝Linux; 
            非標準的軟驅(qū)和光驅(qū):雖然筆記本都會配置光驅(qū),但是并不一定都是標準的IDE設(shè)備,有些是通過USB接口,有些是通過1394接口(例如Samsung的Q10)。在Linux安裝時所引導的Linux內(nèi)核一般都不會帶這些接口的驅(qū)動,所以也無法通過本地安裝Linux; 
            另外,在一些場合,如機房中,有大量的計算機需要同時安裝Linux,如果通過光驅(qū)的方式一個個安裝,不僅效率低,也不利于維護。 
            筆者在工作過程中,就遇到過第二種情況。一臺Samsung的Q10筆記本需要安裝Redhat Linux 8.0,但是通過光驅(qū)引導后發(fā)現(xiàn),安裝程序無法訪問光盤。針對這個問題,筆者經(jīng)過查閱資料和摸索,找到了在Q10上安裝Linux的方法。在下面的討論中,如不做特別聲明,都將以Q10為例,介紹如何通過PXE Bootrom來遠程安裝Linux。

            2. 基本原理

            1) 什么是PXE

            PXE(Pre-boot Execution Environment)是由Intel設(shè)計的協(xié)議,它可以使計算機通過網(wǎng)絡(luò)啟動。協(xié)議分為client和server兩端,PXE client在網(wǎng)卡的ROM中,當計算機引導時,BIOS把PXE client調(diào)入內(nèi)存執(zhí)行,并顯示出命令菜單,經(jīng)用戶選擇后,PXE client將放置在遠端的操作系統(tǒng)通過網(wǎng)絡(luò)下載到本地運行。

            PXE協(xié)議的成功運行需要解決以下兩個問題:

            既然是通過網(wǎng)絡(luò)傳輸,那么計算機在啟動時,它的IP地址由誰來配置; 
            通過什么協(xié)議下載Linux內(nèi)核和根文件系統(tǒng) 
            對于第一個問題,可以通過DHCP Server解決,由DHCP server來給PXE client分配一個IP地址,DHCP Server是用來給DHCP Client動態(tài)分配IP地址的協(xié)議,不過由于這里是給PXE Client分配IP地址,所以在配置DHCP Server時,需要增加相應的PXE特有配置。

            至于第二個問題,在PXE client所在的ROM中,已經(jīng)存在了TFTP Client。PXE Client使用TFTP Client,通過TFTP協(xié)議到TFTP Server上下載所需的文件。

            這樣,PXE協(xié)議運行的條件就具備了,下面我們就來看看PXE協(xié)議的工作過程。

            2) 工作過程





            在上圖中,PXE client是需要安裝Linux的計算機,TFTP Server和DHCP Server運行在另外一臺Linux Server上。Bootstrap文件、配置文件、Linux內(nèi)核以及Linux根文件系統(tǒng)都放置在Linux Server上TFTP服務器的根目錄下。

            PXE client在工作過程中,需要三個二進制文件:bootstrap、Linux 內(nèi)核和Linux根文件系統(tǒng)。Bootstrap文件是可執(zhí)行程序,它向用戶提供簡單的控制界面,并根據(jù)用戶的選擇,下載合適的Linux內(nèi)核以及Linux根文件系統(tǒng)。

            3. 步驟

            有了前面的背景知識,接下來就可以正式操作了,下面按照順序給出了操作步驟:

            1) 配置DHCP Server

            選用ISC dhcp-3.0,DHCP Server的配置文件是/etc/dhcpd.conf,配置文件的內(nèi)容如下:


            option space PXE;
            option PXE.mtftp-ip code 1 = ip-address; 
            option PXE.mtftp-cport code 2 = unsigned integer 16;
            option PXE.mtftp-sport code 3 = unsigned integer 16;
            option PXE.mtftp-tmout code 4 = unsigned integer 8;
            option PXE.mtftp-delay code 5 = unsigned integer 8;
            option PXE.discovery-control code 6 = unsigned integer 8;
            option PXE.discovery-mcast-addr code 7 = ip-address;

            class "pxeclients" {
            match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
            option vendor-class-identifier "PXEClient";
            vendor-option-space PXE;

            # At least one of the vendor-specific PXE options must be set in
            # order for the client boot ROMs to realize that we are a PXE-compliant
            # server. We set the MCAST IP address to 0.0.0.0 to tell the boot ROM
            # that we can't provide multicast TFTP (address 0.0.0.0 means no
            # address).

            option PXE.mtftp-ip 0.0.0.0;

            # This is the name of the file the boot ROMs should download.
            filename "pxelinux.0";

            # This is the name of the server they should get it from.
            next-server 192.168.0.1;
            }
            ddns-update-style interim;
            ignore client-updates;
            default-lease-time 1200;
            max-lease-time 9200;
            option subnet-mask 255.255.255.0;
            option broadcast-address 192.168.0.255;
            option routers 192.168.0.254;
            option domain-name-servers 192.168.0.1,192.168.0.2;
            option domain-name "mydomain.org";
            subnet 192.168.0.0 netmask 255.255.255.0 {
            range 192.168.0.10 192.168.0.100;

            host q10 {
            hardware ethernet 00:00:F0:6B:38:5B;
            fixed-address 192.168.0.22;
            }




            dhcpd.conf配置文件中幾個關(guān)鍵部分說明如下:host q10{…}定義了筆記本Q10網(wǎng)卡的MAC地址與IP地址的對應關(guān)系,表明DHCP Server為Q10分配一個固定的IP:192.168.0.22;filename ""指定bootstrap的文件名;netx-server指定TFTP Server的地址。其它的配置請讀者參考DHCP Server的手冊。

            2) 配置TFTP server

            選用tftp-hpa,TFTP Server的配置文件是/etc/xinetd.d/tftp,配置文件的內(nèi)容如下:


            service tftp
            {
            socket_type = dgram
            protocol = udp
            wait = yes
            user = root
            server = /usr/sbin/in.tftpd
            server_args = -u nobody -s /tftpboot
            disable = no
            per_source = 11
            cps = 100 2
            }




            這里制定了/tftpboot為TFTP Server的根目錄位置。

            3) 配置bootstrap

            bootstrap文件在dhcpd.conf中被指定為pxelinux.0文件,放置在/tftpboot。Linux內(nèi)核以及Linux根文件系統(tǒng)也放置在/tftpboot。pxelinux.0在執(zhí)行過程中,要讀配置文件,所有的配置文件都放在/tftpboot/pxelinux.cfg/目錄下。由于PXElinux具有為不同的PXE Client提供不同的Linux內(nèi)核以及根文件系統(tǒng)的功能,所以要通過不同的配置文件名來區(qū)分出不同的PXE Client的需求。比如一個PXE Client由DHCP Server分配的IP地址為192.168.0.22,那么相對應的配置文件名為/tftpboot/pxelinux.cfg/C0A80016(注:C0A80016為IP地址192.168.0.22的十六進制表示)。如果找不到,就按照順序C0A80016-> C0A8001-> C0A800-> C0A80-> C0A8-> C0A-> C0-> C->default查找配置文件。

            /tftpboot/pxelinux.cft/C0A80001配置文件的具體內(nèi)容如下:

            DEFAULT install
            PROMPT 1
            LABEL install
            KERNEL vmlinuz
            APPEND initrd=initrd.img devfs=nomount ramdisk_size=16384

            此配置文件指定了Linux內(nèi)核以及根文件系統(tǒng)的名稱,并給內(nèi)核傳遞了一些參數(shù),其中ramdisk_size參數(shù)要非常注意,它指定Linux內(nèi)核啟動后建立ramdisk的大小,如果設(shè)置太小,Linux的安裝過程就可能無法進行。

            4) 制作Linux內(nèi)核/根文件系統(tǒng)

            因為需要通過網(wǎng)絡(luò)安裝,所有選擇Redhat Linux 8.0安裝盤(disk #1)中E:\images\bootnet.img(光驅(qū)的盤符為E:)。bootnet.img包括Linux內(nèi)核、Linux根文件系統(tǒng)(有安裝程序在內(nèi))。用bootnet.img制作一張引導軟盤,方法在DOS命令行運行E:\dosutils\rawrite E:\images\bootnet.img,根據(jù)提示制作。制作完畢后,將引導軟盤中的vmlinuz(Linux內(nèi)核)和initrd.img(Linux根文件系統(tǒng))拷貝到Linux Server的/tftpboot下。

            5) 啟動DHCP Server/TFTP Server

            在Linux Server上,運行service dhcpd start和service xinetd restart。

            6) 啟動Q10

            Q10加電后,在出現(xiàn)Samsung公司徽標時,在左下角會提示用戶按F12進入網(wǎng)絡(luò)引導。按F12后,Q10進入網(wǎng)絡(luò)引導過程。首先通過DHCP Server獲得了IP地址,然后下載并執(zhí)行bootstrap文件pxelinux.0;在執(zhí)行中,讀入配置文件/tftpboot/pxelinux.cfg/C0A80016。此時屏幕上出現(xiàn)boot:,敲入install,就進入了Redhat Linux 8.0的網(wǎng)絡(luò)安裝界面,一切OK!

            posted on 2008-03-27 13:29 Benjamin 閱讀(241) 評論(0)  編輯 收藏 引用

            亚洲va久久久噜噜噜久久男同| 国产aⅴ激情无码久久| 粉嫩小泬无遮挡久久久久久 | 青青草原综合久久| 亚洲伊人久久大香线蕉苏妲己| 伊人色综合久久天天| 三级片免费观看久久| AV无码久久久久不卡蜜桃| 狠狠色丁香久久婷婷综| 久久99精品久久久久久水蜜桃| 波多野结衣久久精品| 国产亚洲婷婷香蕉久久精品| 无码任你躁久久久久久老妇| 成人久久久观看免费毛片| 久久精品这里只有精99品| 一本色道久久综合狠狠躁| 久久99精品九九九久久婷婷| 精品伊人久久久| 国产精品久久久久久| 91麻精品国产91久久久久| 日韩欧美亚洲国产精品字幕久久久 | 久久AV无码精品人妻糸列| 少妇精品久久久一区二区三区| 久久久婷婷五月亚洲97号色 | 99热成人精品免费久久| 国产香蕉97碰碰久久人人| 国产亚洲精久久久久久无码77777 国产亚洲精品久久久久秋霞 | 热久久视久久精品18| .精品久久久麻豆国产精品| 99久久精品国产免看国产一区| 国内精品久久久久久久涩爱| 亚洲а∨天堂久久精品| 亚洲国产精品成人AV无码久久综合影院 | 久久国产福利免费| 久久天天躁狠狠躁夜夜躁2O2O| 99久久国产热无码精品免费久久久久| 亚洲国产视频久久| 国产精品热久久无码av| 亚洲综合日韩久久成人AV| 久久久久久国产a免费观看黄色大片 | 久久www免费人成看国产片|