Có thể cài đặt Ubuntu thông qua mạng?


Câu trả lời:


11

Bạn có thể cài đặt một hệ thống Ubuntu (thường là hệ thống Máy chủ Ubuntu, nhưng không phải như vậy), sau đó sử dụng nó làm máy chủ để khởi động PXE và cài đặt các hệ thống khác. Các BIOS trên máy khách (nơi bạn muốn cài đặt Ubuntu) phải hỗ trợ PXE (tức là khởi động mạng ) để làm việc này. Nhưng hầu hết các BIOS làm, những ngày này.

Bạn cũng có thể làm điều đó với một hệ thống không phải Ubuntu làm máy chủ, nếu bạn đã thiết lập và bạn biết cách định cấu hình các máy chủ cần thiết trên hệ thống không phải Ubuntu của mình.


Các PXEInstallServer Ubuntu bài viết giúp đỡ wiki giải thích làm thế nào để thiết lập một hệ thống Ubuntu như máy chủ PXE của bạn, và làm thế nào để cài đặt Ubuntu trên hệ thống khác từ nó. Thật khó để tóm tắt những điểm chính - các chi tiết rất quan trọng. Vì vậy, đây là toàn bộ (với định dạng nhỏ và thay đổi dấu câu):

Giới thiệu

Điều này sẽ hướng dẫn bạn thông qua việc chạy máy chủ Ubuntu dưới dạng máy chủ cài đặt PXE. Bạn sẽ cần chạy máy chủ DHCP trên mạng của mình, không nhất thiết phải là máy chủ này nhưng bạn cần một máy chủ.

Cài đặt các gói cần thiết

Bạn sẽ cần cài đặt các gói sau: inetutils-inetd (trước đây netkit-inetd), tftpd-hpa(xem Cài đặt phần mềm ).

  • Đối với Ubuntu 10.04, có một lỗi với inetutils-inetd. Nó chỉ nghe trên IPv6 chứ không phải trên IPv4. Như một cách giải quyết nhanh chóng, bạn có thể sử dụng openbsd-inetdthay thế.

Nếu đây cũng sẽ là máy chủ DHCP của bạn, hãy cài đặt máy chủ dhcp có trong gói follwing: dhcp3-server(xem Cài đặt phần mềm ).

Cấu hình tftpd-hpa

Bạn sẽ cần nói với tftpd-hpa để bắt đầu trình nền của nó (cái mà nó không mặc định). Để thực hiện việc này, hãy chỉnh sửa /etc/default/tftpd-hpatệp và đảm bảo rằng tệp trông giống như thế này:

#Defaults for tftpd-hpa
RUN_DAEMON="yes"
OPTIONS="-l -s /var/lib/tftpboot"

Sau đó, chạy tập lệnh khởi động để thực sự khởi động trình nền:

/etc/init.d/tftpd-hpa restart

Cấu hình dhcpd

Nếu máy chủ pxe của bạn cũng là máy chủ dhcp của bạn, bạn sẽ cần một cái gì đó như thế này trong /etc/dhcp3/dhcpd.conf:

subnet 192.168.0.0 netmask 255.255.255.0 {
        range 192.168.0.100 192.168.0.200;
        filename "pxelinux.0";
}

Nếu bạn có một máy chủ dhcp hiện có, bạn nên trỏ nó đến máy chủ pxe của bạn bằng cách thực hiện một số thứ như sau:

subnet 192.168.0.0 netmask 255.255.255.0 {
    <other config here>
    filename "pxelinux.0";
    next-server <pxe host>;
}

Hãy chắc chắn khởi động lại máy chủ dhcp của bạn để các thay đổi có hiệu lực:

sudo /etc/init.d/dhcp3-server restart

Cấu hình tftpd-hpa

tftpd-hpađược gọi từ inetd. Do đó, các tùy chọn được chuyển đến tftpd-hpa khi nó bắt đầu được tìm thấy trong/etc/inetd.conf

Mặc định là tốt cho chúng tôi, bạn /etc/inetd.confnên có một mục như thế này:

tftp    dgram   udp    wait    root    /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot

(Mặc dù bạn có thể cần chỉnh sửa tệp này và thay thế udpbằng udp4, tftpd-hpadường như mong đợi một địa chỉ IPv6 ngay bây giờ.)

Bây giờ chúng tôi sẽ sao chép các tệp cần thiết từ Ubuntu CD:

sudo cp -r /media/cdrom/install/netboot/* /var/lib/tftpboot/

Nếu máy chủ dhcp của bạn phát hành thông tin mạng chính xác và các máy khách pxe của bạn sẽ có quyền truy cập mạng, thì tại thời điểm này, bạn sẽ có thể thực hiện cài đặt Ubuntu bằng cách sử dụng kho lưu trữ internet.

Tuy nhiên, tôi muốn đi xa hơn một chút và cài đặt mọi thứ từ máy chủ cài đặt cũng như tùy chỉnh một số gói để cài đặt.

Cài đặt apache

Hiện tại cài đặt nfs không được hỗ trợ tốt (vui lòng sửa cho tôi nếu tôi sai) vì vậy chúng tôi sẽ cài đặt qua http. Vì vậy, chúng tôi cũng cần một máy chủ web trên máy chủ cài đặt của chúng tôi: cài đặt gói sau: apache(xem Cài đặt phần mềm ).

Sao chép tập tin Ubuntu

Tạo một thư mục Ubuntu dưới gốc tài liệu apache mới cài đặt của bạn và sao chép tất cả nội dung của đĩa CD thay thế Ubuntu vào thư mục đó:

mkdir /var/www/ubuntu
cp -r /media/cdrom/* /var/www/ubuntu/

Tùy chỉnh cài đặt

Có một gói được gọi system-config-kickstartlà giao diện GUI để tạo các tệp khởi động. Tệp kickstart cho trình cài đặt biết nơi nhận các gói của nó, cài đặt gì và một số cài đặt hữu ích khác. Xem KickstartCompabilities để biết thêm thông tin.

Gói này không phải cài đặt trên máy chủ cài đặt của bạn, nó có thể nằm trên máy tính để bàn Ubuntu tiện lợi ở đâu đó.

Tạo một tùy chỉnh ks.cfgvới system-config-kickstart, đảm bảo chỉ định HTTP trong "Phương thức cài đặt". Cung cấp IP của máy chủ bạn cài đặt và tạo Thư mục HTTP /ubuntu/. Lưu tệp và sao chép nó vào máy chủ cài đặt của bạn dưới /var/www/html/.

Một tệp `ks.cfg rất tối giản chỉ sử dụng các tệp cài đặt trên máy chủ cài đặt và yêu cầu tất cả các câu hỏi khác có thể giống như sau:

install
url --url http://192.168.0.1/ubuntu/

Sử dụng ks.cfg của bạn

Để cài đặt Ubuntu mạng của bạn sử dụng tệp khởi động của bạn, bạn phải cho nó biết nơi tìm thấy nó. Chỉnh sửa /var/lib/tftpboot/pxelinux.cfg/defaultvà thêm ks=http://<installserver>/ks.cfgvào dòng chắp thêm. Sau đó, nó sẽ trông giống như thế này (lưu ý rằng dòng chắp thêm là một dòng):

label linux
        kernel ubuntu-installer/i386/linux
        append ks=http://192.168.0.1/ks.cfg vga=normal initrd=ubuntu-installer/i386/initrd.gz ramdisk_size=16432

root = / dev / rd / 0 rw -

Trong Jasyy [và có lẽ là các bản phát hành sau này, bao gồm mọi bản phát hành mà bạn có khả năng sử dụng] 1 tệp mặc định đã được chia thành bao gồm. Dòng chắp thêm có thể được tìm thấy trong /ubuntu-installer/i386/boot-screens/text.cfg:

label install
        menu label ^Install (from my http server)
        menu default
        kernel ubuntu-installer/i386/linux
        append ks=http://192.168.0.1/ks.cfg vga=normal initrd=ubuntu-installer/i386/initrd.gz -- quiet

Khởi động và cài đặt

Bây giờ bạn có thể khởi động một máy tính khác trên mạng qua mạng và cài đặt Ubuntu tự động. :) Bạn có thể thay đổi các điểm cài đặt tftp và http để có sẵn nhiều phiên bản Ubuntu để cài đặt trên mạng của bạn.

Sử dụng CD (hoặc .iso) trực tiếp

Bạn cũng có thể đạt được những điều trên mà không thực sự sao chép bất kỳ tập tin nào ở bất cứ đâu. Bạn có thể gắn CD (hoặc .iso) và sau đó thực hiện gắn thêm với --bindtùy chọn. Ưu điểm là bạn có thể nâng cấp CD (hoặc .iso) mà không cần cập nhật các tệp máy chủ cài đặt.

Ví dụ: sau khi gắn CD (hoặc .iso) vào /media/cdrom/, bạn có thể gắn các tệp ubfox vào thư mục web:

mount --bind /media/cdrom/ /var/www/ubuntu/

Tương tự, bạn có thể làm tương tự với tftproot:

mount --bind /media/cdrom/install/netboot/ /var/lib/tftpboot/

Nếu bạn đã tạo một pxelinux.cfgthư mục với một tệp mặc định phù hợp, bạn có thể gắn nó lên trên đỉnh của đĩa CD được gắn, để máy chủ tftp đưa ra tệp pxelinux.cfg / mặc định của bạn. Ví dụ: một pxelinux.cfgthư mục trong ~/pxelinux.cfgcó thể được gắn kết như thế này:

mount --bind ~/pxelinux.cfg /var/lib/tftpboot/pxelinux.cfg

(Lưu ý rằng trong ví dụ trên, điểm gắn kết thực tế của thư mục sẽ kết thúc /var/lib/tftpboot/ubuntu-installer/i386/pxelinux.cfgvì đây pxelinux.cfglà một liên kết tượng trưng trên CD (hoặc .iso)).

- PXEInstallServer , với các thay đổi định dạng, dấu câu và viết hoa nhẹ, chủ yếu để thay thế Định dạng Hỏi Ubuntu.

Bài viết đó là từ wiki tài liệu Ubuntu . Nó được viết bởi "Người đóng góp cho wiki tài liệu Ubuntu" và được cấp phép theo CC-BY-SA 3.0 , cho phép đưa vào đây, với sự ghi nhận thích hợp.

1 [Văn bản in nghiêng được đóng dấu ] không phải từ bản gốc; đó là bình luận của tôi


Lưu ý sự khác biệt giữa phương pháp này và phương pháp Mitch đề xuất . Phương pháp đó bao gồm khởi động từ ổ đĩa flash CD / DVD hoặc USB, sau đó cài đặt hệ thống qua mạng. Theo mặc định, mạng này là Internet; để phương pháp đó hợp lý để cài đặt cho hàng trăm máy trên mạng, có lẽ bạn sẽ muốn tạo và lưu trữ kho lưu trữ Ubuntu trên mạng của mình và trỏ cài đặt của bạn vào đó.

Nỗ lực và cơ sở hạ tầng cần thiết để làm điều đó tương đương với những gì cần thiết để PXE khởi động các máy như được mô tả ở trên. Vì vậy, trong khi cách đó có thể đáp ứng nhu cầu của bạn, tôi khuyến khích bạn nên xem xét khởi động PXE nếu bạn thực sự cần cài đặt mà không có "phương tiện vật lý".


Tôi có cần thay đổi bất kỳ cài đặt nào trong bộ định tuyến của mình không?
Enkouyami

4

Bạn có thể làm điều đó bằng cách sử dụng phương pháp cài đặt mạng bắt đầu cài đặt Ubuntu qua mạng. được mô tả tại Cài đặt Netboot

Trình cài đặt mạng

Trình cài đặt mạng cho phép bạn cài đặt Ubuntu qua mạng. Điều này rất hữu ích, ví dụ, nếu bạn có một máy cũ với CD-ROM không khởi động được hoặc máy tính không thể chạy trình cài đặt dựa trên giao diện đồ họa, vì chúng không đáp ứng các yêu cầu tối thiểu cho CD trực tiếp / DVD hoặc vì chúng yêu cầu cấu hình bổ sung trước khi có thể sử dụng máy tính để bàn đồ họa hoặc nếu bạn muốn cài đặt Ubuntu trên một số lượng lớn máy tính cùng một lúc. Ubuntu

Tải xuống trình cài đặt mạng cho 12.04 LTS

Tải xuống trình cài đặt mạng cho 13.04


4

Có rất nhiều cách để thực hiện điều này.

1 - Netboot

Bạn phải sửa đổi tên máy chủ và địa chỉ IP trong HOWTO này để thiết lập riêng. Các nguyên tắc được mô tả ở đây có thể áp dụng cho các máy chủ DHCP và TFTP khác so với các máy chủ được mô tả bên dưới; sử dụng phần mềm máy chủ thay thế được để lại như một bài tập cho người đọc.

Để biết hướng dẫn về cách sử dụng máy tính windows làm máy chủ TFTP và DHCP, hãy đến Cài đặt / WindowsServerNetboot.

HOWTO này sẽ giúp bạn chạy xa trình cài đặt; nếu bạn muốn thực hiện cài đặt Ubuntu tự động hoặc không giám sát, hãy xem Cài đặt / LocalNet.

2 - LocalNet

Phương pháp cài đặt này sử dụng DHCP / BOOTP, TFTP và FTP / HTTP để lấy các nguồn cài đặt. Bản thân trình cài đặt được tạo thành từ nhân Linux và initrd. Các tệp này được chuyển qua quá trình khởi động DHCP / TFTP.

Phần còn lại của các nguồn cài đặt có thể được chuyển qua FTP hoặc HTTP. Nếu máy mục tiêu có quyền truy cập internet, các nguồn này có thể được lấy trực tiếp từ máy nhân bản Ubuntu. Ngoài ra, bạn có thể tải xuống một trong các cài đặt ISO, cài đặt lại vòng lặp và phục vụ chúng với máy chủ HTTP / FTP cục bộ.

3 - Mạng lưới

Khởi động từ đĩa CD (có thể là TFTP hoặc tương tự) và cài đặt hệ thống qua SSH.

4 - Cài đặt nhanh qua SSH

Hướng dẫn nhanh để cài đặt Hardy Ubuntu 12.04 trên máy chủ chuyên dụng qua ssh.

Hãy xem tài liệu đầy đủ về cài đặt máy chủ và mạng


1

Điều làm việc cho tôi khi cài đặt Ubuntu 18.04 LTS dựa trên hướng dẫn của Isabel Castello , có vẻ như dựa trên hướng dẫn LocalNet từ wiki Ubuntu , nhưng đối với tôi thì dễ đọc và dễ hiểu hơn nhiều.

Điều kiện tiên quyết

Bạn phải ở trên một mạng có 3 nút:

  1. Một bộ định tuyến DHCP cơ bản .
  2. Máy chủ mục tiêu , nơi bạn muốn cài đặt Ubuntu. Nó phải được kết nối với bộ định tuyến bằng cáp (không phải WiFi). Và rõ ràng có hỗ trợ khởi động mạng trong BIOS.
  3. Một máy chủ nguồn , sẽ phục vụ các tệp và dịch vụ cài đặt ban đầu. Hướng dẫn này giả định đó cũng là Ubuntu; các hệ điều hành khác chắc chắn cũng có thể, nhưng các lệnh rõ ràng sẽ khác.

Các bước

  1. Đảm bảo bật Network Boot trong BIOS của mục tiêu .

    Việc nhập BIOS thường được thực hiện bằng cách nhấn hoặc giữ Delhoặc F2khi máy khởi động. Ngoài ra, nhấn F12thường cho phép thay đổi trình tự khởi động theo một số cách cụ thể của nhà cung cấp, có thể giúp ích.

  2. Tìm hiểu các giá trị sau:

    (Bạn có thể muốn duyệt / thay đổi cài đặt DHCP trên bộ định tuyến để tìm ra một vài trong số đó. Ngoài ra, nếu bạn quản lý để vào giai đoạn Network Boot khi khởi động máy đích , nó có thể sẽ hiển thị ít nhất là địa chỉ MAC , vì vậy bạn có thể ghi chú lại.)

    • các địa chỉ MAC của mục tiêu - tài sản của card mạng của mình,
    • các địa chỉ IP của mục tiêu - được gán cho nó bằng các bộ định tuyến ,
    • các IP gateway - nói cách khác, IP của router,
    • các subnet mask / mạng - thường được tìm thấy trong nguồn nhân và / hoặc router thiết lập mạng.
  3. Cài đặt và cấu hình tftp trên máy chủ nguồn :

    $ sudo apt-get install tftpd-hpa
    $ grep TFTP_DIRECTORY /etc/default/tftpd-hpa 
    TFTP_DIRECTORY="/var/lib/tftpboot"
    $ wget http://archive.ubuntu.com/ubuntu/dists/bionic-updates/main/installer-amd64/current/images/netboot/netboot.tar.gz
    $ sudo tar xzvf netboot.tar.gz -C /var/lib/tftpboot/
    $ rm netboot.tar.gz
    

    Nếu grepở trên hiển thị một đường dẫn khác, hãy điều chỉnh các giá trị trong các lệnh được liệt kê trong bước này và bước tiếp theo cho phù hợp.

  4. Cài đặt, cấu hình và chạy bootp , cũng trên máy chủ nguồn :

    Lưu ý: thay thế $TARGET_MACcác giá trị vv bằng các giá trị phù hợp được thu thập ở bước 2. ở trên. Các $TARGET_MACđịa chỉ nên với dấu hai chấm, ví dụ như: 00:00:39:2B:54:B5, và $SUBNET_MASKrải rác, ví dụ 255.255.255.0.

    $ sudo apt-get install bootp
    $ vim ./bootptab
    client: ha="$TARGET_MAC": ip=$TARGET_IP: gw=$GATEWAY_IP: sm=$SUBNET_MASK: td=/: hd=/: bf=pxelinux.0
    $ sudo bootpd -d 4 -c /var/lib/tftpboot -s $PWD/bootptab
    
  5. Khởi động lại máy đích , trong khi đảm bảo tính năng Network Boot được bật (nhấn F12nếu cần, hoặc không có gì, hoặc bất cứ điều gì khác mà BIOS của bạn yêu cầu).

    Trình cài đặt Ubuntu 18.04 tương tác dựa trên văn bản sẽ bắt đầu ngay bây giờ trên máy đích. Tiếp tục như thể cài đặt Ubuntu bình thường.

  6. Bổ sung: để đảm bảo an toàn, sau khi hoàn tất cài đặt, bạn nên đảm bảo chuyển đổi tính năng Network Boot trong BIOS của mục tiêu trở lại bị vô hiệu hóa.

Hi vọng điêu nay co ich!


0

Cobbler là một máy chủ cài đặt Linux cho phép thiết lập nhanh chóng các môi trường cài đặt mạng. Nó kết hợp với nhau và tự động hóa nhiều tác vụ Linux liên quan để bạn không phải nhảy giữa nhiều lệnh và ứng dụng khác nhau khi triển khai các hệ thống mới và trong một số trường hợp thay đổi các tác vụ hiện có. Cobbler có thể giúp cung cấp, quản lý DNS và DHCP, cập nhật gói, quản lý năng lượng, điều phối quản lý cấu hình và nhiều hơn nữa.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.