當前位置:學問君>人在職場>IT認證>

遠程安裝Linux操作系統的方法

學問君 人氣:3.2W

Linux這個詞本身只表示Linux內核,但實際上人們已經習慣了用Linux來形容整個基於Linux內核,並且使用GNU 工程各種工具和數據庫的操作系統。下面是小編收集的關於遠程安裝Linux操作系統的方法,希望大家認真閱讀!

遠程安裝Linux操作系統的方法

一、引言

一般情況下,我們都是利用軟驅或光驅引導Linux後,再透過本地的光驅安裝Linux。但是,這種安裝方法在以下的幾種情況下就不能適用:

無軟驅和光驅:很多公司爲了節省成本,計算機一般都不帶光驅或軟驅,這樣就無法透過本地安裝Linux;

非標準的軟驅和光驅:雖然筆記本都會配置光驅,但是並不一定都是標準的IDE設備,有些是透過USB接口,有些是透過1394接口(例如Samsung的Q10)。在Linux安裝時所引導的Linux內核一般都不會帶這些接口的驅動,所以也無法透過本地安裝Linux;

另外,在一些場合,如機房中,有大量的計算機需要同時安裝Linux,如果透過光驅的方式一個個安裝,不僅效率低,也不利於維護。

筆者在工作過程中,就遇到過第二種情況。一臺Samsung的Q10筆記本需要安裝Redhat Linux 8.0,但是透過光驅引導後發現,安裝程序無法訪問光盤。針對這個問題,筆者經過查閱資料和摸索,找到了在Q10上安裝Linux的方法。在下面的討論中,如不做特別聲明,都將以Q10爲例,介紹如何透過PXE Bootrom來遠程安裝Linux。

二、基本原理

1) 什麼是PXE

PXE(Pre-boot Execution Environment)是由Intel設計的協議,它可以使計算機透過網絡啓動。協議分爲client和server兩端,PXE client在網卡的ROM中,當計算機引導時,BIOS把PXE client調入內存執行,並顯示出命令選單,經用戶選擇後,PXE client將放置在遠端的操作系統透過網絡下載到本地執行。

PXE協議的成功執行需要解決以下兩個問題:

既然是透過網絡傳輸,那麼計算機在啓動時,它的IP位址由誰來配置;

透過什麼協議下載Linux內核和根檔案系統

對於第一個問題,可以透過DHCP Server解決,由DHCP server來給PXE client分配一個IP位址,DHCP Server是用來給DHCP Client動態分配IP位址的協議,不過由於這裏是給PXE Client分配IP位址,所以在配置DHCP Server時,需要增加相應的PXE特有配置。

至於第二個問題,在PXE client所在的ROM中,已經存在了TFTP Client。PXE Client使用TFTP Client,透過TFTP協議到TFTP Server上下載所需的檔案。

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

在上圖中,PXE client是需要安裝Linux的計算機,TFTP Server和DHCP Server執行在另外一臺Linux Server上。Bootstrap檔案、配置檔案、Linux內核以及Linux根檔案系統都放置在Linux Server上TFTP服務器的根目錄下。

PXE client在工作過程中,需要三個二進制檔案:bootstrap、Linux 內核和Linux根檔案系統。Bootstrap檔案是可執行程序,它向用戶提供簡單的控制介面,並根據用戶的選擇,下載合適的Linux內核以及Linux根檔案系統。

三、步驟

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

1) 配置DHCP Server

選用ISC dhcp-3.0,DHCP Server的配置檔案是/etc/,配置檔案的內容如下:

option space PXE;

option p-ip code 1 = ip-address;

option p-cport code 2 = unsigned integer 16;

option p-sport code 3 = unsigned integer 16;

option p-tmout code 4 = unsigned integer 8;

option p-delay code 5 = unsigned integer 8;

option overy-control code 6 = unsigned integer 8;

option overy-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 to tell the boot ROM

# that we can't provide multicast TFTP (address means no

# address).

option p-ip ;

# 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 ;

}

ddns-update-style interim;

ignore client-updates;

default-lease-time 1200;

max-lease-time 9200;

option subnet-mask ;

option broadcast-address ;

option routers ;

option domain-name-servers ,;

option domain-name "";

subnet netmask {

range ;

}

host q10 {

hardware ethernet 00:00:F0:6B:38:5B;

fixed-address ;

}

配置檔案中幾個關鍵部分說明如下:host q10{…}定義了筆記本Q10網卡的MAC地址與IP位址的'對應關係,表明DHCP Server爲Q10分配一個固定的IP:;filename ""指定bootstrap的檔案名;netx-server指定TFTP Server的地址。其它的配置請讀者參考DHCP Server的手冊。

2) 配置TFTP server

選用tftp-hpa,TFTP Server的配置檔案是/etc/xinetd.d/tftp,配置檔案的內容如下:

service tftp

{

socket_type = dgram

protocol = udp

wait = yes

user = root

server = /usr/sbin/d

server_args = -u nobody -s /tftpboot

disable = no

per_source = 11

cps = 100 2

}

這裏制定了/tftpboot爲TFTP Server的根目錄位置。

3) 配置bootstrap

bootstrap檔案在中被指定爲pxelinux.0檔案,放置在/tftpboot。Linux內核以及Linux根檔案系統也放置在/tftpboot。pxelinux.0在執行過程中,要讀配置檔案,所有的配置檔案都放在/tftpboot/目錄下。由於PXElinux具有爲不同的PXE Client提供不同的Linux內核以及根檔案系統的功能,所以要透過不同的配置檔案名來區分出不同的PXE Client的需求。比如一個PXE Client由DHCP Server分配的IP位址爲,那麼相對應的配置檔案名爲/tftpboot/(注:C0A80016爲IP位址的十六進制表示)。如果找不到,就按照順序C0A80016-> C0A8001-> C0A800-> C0A80-> C0A8-> C0A-> C0-> C->default查找配置檔案。

/tftpboot/配置檔案的具體內容如下:

DEFAULT install

PROMPT 1

LABEL install

KERNEL vmlinuz

APPEND initrd= devfs=nomount ramdisk_size=16384

此配置檔案指定了Linux內核以及根檔案系統的名稱,並給內核傳遞了一些參數,其中ramdisk_size參數要非常注意,它指定Linux內核啓動後建立ramdisk的大小,如果設定太小,Linux的安裝過程就可能無法進行。

4) 製作Linux內核/根檔案系統

因爲需要透過網絡安裝,所有選擇Redhat Linux 8.0安裝盤(disk #1)中E:images(光驅的盤符爲E:)。包括Linux內核、Linux根檔案系統(有安裝程序在內)。用製作一張引導軟盤,方法在DOS命令行執行E:dosutilsrawrite E:images,根據提示製作。製作完畢後,將引導軟盤中的vmlinuz(Linux內核)和(Linux根檔案系統)拷貝到Linux Server的/tftpboot下。

5) 啓動DHCP Server/TFTP Server

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

6) 啓動Q10

Q10加電後,在出現Samsung公司徽標時,在左下角會提示用戶按F12進入網絡引導。按F12後,Q10進入網絡引導過程。首先透過DHCP Server獲得了IP位址,然後下載並執行bootstrap檔案pxelinux.0;在執行中,讀入配置檔案/tftpboot/。此時屏幕上出現boot:,敲入install,就進入了Redhat Linux 8.0的網絡安裝介面,一切OK!

四、結束語

雖然以上的討論是針對Samsung Q10筆記本,但是工作原理和安裝方法對於其它類型的計算機也是適用的,不過要記住,計算機的網卡中必須要有BootROM--PXE Client。同時,PXE協議也可作爲無盤Linux技術,用於引導放置在遠程的Linux。實際上,只要根據需要,在Pxelinux的配置檔案的APPEND選項中,爲Linux內核傳進需要mount的檔案系統的位置參數即可。