Γρήγορη λήψη Linux μέσω δικτύου. Ubuntu: εγκατάσταση δικτύου. Εγκατάσταση του λειτουργικού συστήματος μέσω του δικτύου

Για πολύ καιρό παρέμεινε ένα μυστήριο για μένα γιατί υπάρχουν μόνο δύο επιλογές στο Ubuntu δίσκο εγκατάστασης– Επιτραπέζιος και εναλλακτικός. Στο Debian, εκτός από τους συνήθεις δίσκους πλήρους εγκατάστασης που εγκαθιστούν ταυτόχρονα το πλήρες GNOME ή το KDE, υπάρχει επίσης ένας δίσκος NetInstall που έχει σχεδιαστεί για την εγκατάσταση του συστήματος μέσω του δικτύου.

Ένα CD εκκίνησης σε αυτήν την έκδοση έχει σχεδιαστεί για την εκκίνηση ενός προγράμματος εγκατάστασης που εγκαθιστά το ελάχιστο απαιτούμενο σύνολο πακέτων. Όλα τα άλλα κατεβαίνουν και εγκαθίστανται από το δίκτυο εάν είναι απαραίτητο. Αυτή η επιλογή απαιτεί μεγαλύτερα προσόντα του χρήστη που εκτελεί την εγκατάσταση, αλλά παρέχει ευελιξία στην εγκατάσταση μόνο των απαραίτητων στοιχείων του συστήματος. Αυτό εξοικονομεί επίσης χώρο στο δίσκο.

Αποδείχθηκε ότι το Ubuntu διαθέτει επίσης μια επιλογή δίσκου εγκατάστασης σχεδιασμένη για εγκατάσταση μέσω δικτύου. Απλώς ο σύνδεσμος λήψης δεν βρίσκεται στην κεντρική σελίδα του ιστότοπου. Και είναι κρυμμένο στην παρακάτω διεύθυνση.

Με ενδιέφερε το ερώτημα σχετικά με το ελάχιστο μέγεθος που μπορείτε να αποκτήσετε ένα εγκατεστημένο Ubuntu χωρίς να εκτελέσετε ειδικά κόλπα. Για τη δοκιμή, αποφασίστηκε η εγκατάσταση του Ubuntu από έναν ελάχιστο δίσκο στο VirtualBox.

Το ελάχιστο μέγεθος εικόνας δίσκου είναι 11 MB. Αυτό δεν είναι πολύ, και σας επιτρέπει να το αντλήσετε με οποιαδήποτε, ακόμη και τη χαμηλότερη ταχύτητα.

Αλλά κατά την εγκατάσταση, συνιστάται να έχετε ένα πιο γρήγορο κανάλι Διαδικτύου. Γιατί ο minimal δίσκος, εκτός από το ίδιο το πρόγραμμα εγκατάστασης, δεν περιέχει τίποτα. Επομένως, κατά τη διαδικασία εγκατάστασης θα γίνει λήψη όλων. Αυτό είναι όλο, πραγματικά!

Έκανα την πρώτη μου προσπάθεια να εγκαταστήσω το Ubuntu από ελάχιστο δίσκο συνδέοντας στο Internet μέσω ADSL με ταχύτητα 128 kbps. Η εγκατάσταση (κυρίως λήψη πακέτων) κράτησε αρκετές ώρες.

Για ένα επαναλαμβανόμενο πείραμα, μπορέσαμε να βρούμε μια σύνδεση με σημαντικά υψηλότερη ταχύτητα.

Κατά την εκκίνηση από έναν ελάχιστο δίσκο, μας υποδέχεται πρώτα μια προτροπή κειμένου:

και μετά το τυπικό μενού εκκίνησης με γραφικό(!) Ubuntu:

Το υπάρχον στοιχείο "Εγκατάσταση γραμμής εντολών" δεν σημαίνει ότι η εγκατάσταση θα γίνει από τη γραμμή εντολών. Σε κάθε περίπτωση, το πρόγραμμα εγκατάστασης ξεκινά σε λειτουργία κειμένου.

Το στοιχείο "Σύνθετες επιλογές" περιέχει ένα πρόσθετο μενού:

επιτρέποντάς σας να εκτελέσετε την εγκατάσταση Expert. Όταν το επιλέξετε, εμφανίζεται ένα μενού με ενέργειες εγκατάστασης, που σας επιτρέπουν να τις εκτελέσετε με σχεδόν τυχαία σειρά:

Επιλέγω το στοιχείο "Εγκατάσταση".

Το πρόγραμμα εγκατάστασης κειμένου είναι κανονικό. Όπως και στον εναλλακτικό δίσκο. Η μόνη διαφορά είναι ότι τα πακέτα δεν λαμβάνονται από το δίσκο, αλλά μεταφορτώνονται μέσω του δικτύου.

Το πρόγραμμα εγκατάστασης παραδοσιακά ζητά τη γλώσσα:

διαμορφώνει τη διάταξη του πληκτρολογίου:

στη συνέχεια σας ζητά να επιλέξετε ένα αποθετήριο:

η οποία από προεπιλογή προσφέρεται τοπικά για την επιλεγμένη χώρα:

Όλοι όσοι ασχολούνται περιστασιακά με τη διαχείριση χρειάστηκε τουλάχιστον μία φορά να εγκαταστήσουν ένα λειτουργικό σύστημα στον υπολογιστή τους. Και συχνά όλα συμβαίνουν έτσι: η εικόνα γίνεται λήψη, εγγραφή σε δίσκο ή μονάδα flash, φόρτωση και εγκατάσταση. Αλλά μπορεί να αποδειχθεί ότι δεν έχετε διαθέσιμη μονάδα flash ή δίσκο και η εγκατάσταση πρέπει να ολοκληρωθεί χθες... Στη συνέχεια, μπορείτε να εκκινήσετε μέσω του δικτύου και δεν υπάρχουν ιδιαίτερα προβλήματα με το Linux από αυτή την άποψη. Μια τυπική διαμόρφωση είναι μια δέσμη DHCP, TFTPΚαι NFS. Αλλά δεν το είχα στημένο NFS, αλλά υπήρχε Σάμπα. Έπρεπε λοιπόν να καταλάβω πώς να το χρησιμοποιήσω Σάμπααντί για NFS.

Φαινόταν σαν τίποτα, άλλαξα τις ρυθμίσεις και αυτό ήταν, αλλά κάτι δεν λειτούργησε στην αρχή, έπρεπε να το τσιμπήσω...

Αλλά θα ξεκινήσω από την αρχή εδώ. Επομένως, πρώτα πρέπει να πάρετε ένα κιτ διανομής. Αφού βάλαμε Linux Mint Αναζητούμε μια φρέσκια εικόνα. Κατεβάστε τη διανομή που μας ταιριάζει (εγκατέστησα αυτήν με ΣΥΝΤΡΟΦΟΣ, αλλά προφανώς αυτό δεν έχει μεγάλη σημασία). Μετά τη λήψη της εικόνας, πρέπει να αποκτήσετε πρόσβαση στα αρχεία εικόνας. Ορισμένοι οδηγοί συνιστούν να αποσυσκευάσετε την εικόνα, αλλά δεν βλέπω το νόημα σε αυτό, επομένως υποστηρίζω την άποψη ότι πρέπει να τοποθετήσετε την εικόνα ως βρόχος. Για να μην παρεμβαίνουμε στην υπάρχουσα παραγγελία, απλά δημιουργούμε νέος κατάλογος, όπου τοποθετούμε την εικόνα:

# mkdir /mnt/mint
# mount -o loop /home/user/download/linuxmint-17-mate-64bit-v2.iso /mnt/mint

Στη συνέχεια, πρέπει να κάνετε τα αρχεία διαθέσιμα μέσω του δικτύου για ανάγνωση από το πρόγραμμα εγκατάστασης. Όπως είπα και παραπάνω, για το σκοπό αυτό χρησιμοποιώ Σάμπα. Επομένως, ανοίξτε το αρχείο ρυθμίσεων και προσθέστε ένα νέο κοινόχρηστο στοιχείο προσθέτοντας την ακόλουθη ενότητα:


μονοπάτι = /mnt/mint
διαθέσιμο = ναι
περιηγήσιμο = ναι
δημόσιο = ναι
εγγράψιμο = όχι

Θα πρέπει να λειτουργεί πάνω από τις προεπιλεγμένες ρυθμίσεις Σάμπα. Εάν δεν λειτουργεί, τότε πιθανότατα άλλαξατε κάτι μόνοι σας, πράγμα που σημαίνει ότι θα βρείτε έναν τρόπο να λύσετε το πρόβλημα. Προσθέσαμε λοιπόν την μπάλα μέντα, μέσω του οποίου μπορείτε να λάβετε αρχεία για εγκατάσταση από το δίκτυο. Μην ξεχάσετε να κάνετε επανεκκίνηση Σάμπαγια να αποδεχτείτε τις νέες ρυθμίσεις.

Για Archlinux:

# systemctl επανεκκίνηση smbd
# systemctl επανεκκίνηση nmbd

Για Gentoo:

# /etc/init.d/samba επανεκκίνηση

Στη συνέχεια, πρέπει να προετοιμάσετε ένα πρόγραμμα εκκίνησης δικτύου. Το πρόγραμμα θα μας βοηθήσει σε αυτό tftp-hpa. ΣΕ Archlinuxκαι σε GentooΈτσι λέγεται το πακέτο. Πρέπει να τοποθετήσετε τα αρχεία φόρτωσης στον κατάλογο εργασίας του διακομιστή ftp (σε αρχ /srv/tftp). Αντιγράψτε τον πυρήνα και το initrd από την προσαρτημένη εικόνα εκεί:

# cp /mnt/mint/casper/(vmlinux,initrd.lz) /srv/http

# cp /usr/lib/syslinux/bios/(pxelinux.0,menu.c32,ldlinux.c32,libutil.c32) /srv/http

Προεπιλεγμένο μενού.c32
ΕΤΙΚΕΤΑ LinuxMint
ΠΥΡΗΝΑΣ vmlinuz
APPEND showmounts toram root=/dev/cifs boot=casper netboot=cifs nfsroot=//192.168.0.1/mint NFSOPTS=-oguest,ro initrd=initrd.lz nosplash

Οπου 192.168.0.1 - η διεύθυνση IP μας σε σχέση με το μηχάνημα στο οποίο θα εγκαταστήσουμε. Ω ναι, και περίπου nfsεκεί - αυτό δεν είναι τυπογραφικό λάθος, στον τρόπο εργασίας με cifs,πρέπει να περάσετε επιλογές τύπου όπως για nfs,Δεν μπορώ να πω γιατί. Ιδιαίτερη προσοχή πρέπει να δοθεί στην επιλογή toram, αφού χωρίς αυτήν όλα πέφτουν στα μισά και δεν μπορούμε να εκκινήσουμε (ίσως αυτά είναι χαρακτηριστικά της σάμπα). Αλλά με αυτήν την επιλογή, πρέπει να θυμάστε ότι το μηχάνημα-στόχος πρέπει να έχει αρκετή μνήμη RAM για να αντιγράψει το πρόγραμμα εγκατάστασης εκεί. Πρέπει να ξεκινήσει ο διακομιστής TFTP. Για Archlinux:

# systemctl tftpd.socket start

Για Gentoo:

# /etc/init.d/in.tftpd start

Τώρα το BIOS του μηχανήματος προορισμού πρέπει με κάποιο τρόπο να πει από πού φορτώνει. Αυτό θα μας βοηθήσει dnsmasq(αν και δεν είναι απαραίτητο, μπορείτε να χρησιμοποιήσετε άλλο Διακομιστής DHCP, εδώ περιγράφω τι ήταν στο χέρι). Ρύθμιση διανομής IP (προαιρετικό dhcp-εύρος) κατά την κρίση σας, για το δικό σας «δίκτυο» μεταξύ μηχανών. Για την εγκατάσταση, μόνο τρεις επιλογές είναι σημαντικές για εμάς:

Dhcp-boot=/pxelinux.0
dhcp-option=vendor:PXEClient,6,2b
pxe-service=x86PC, "Install Linux", pxelinux

Πρέπει να προστεθούν στη διαμόρφωση dnsmasq, και φυσικά εκκινήστε το (ή επανεκκινήστε το).

Για Archlinux:

# systemctl εκκίνηση dnsmasq

Για Gentoo:

# /etc/init.d/dnsmasq start

Θυμηθείτε, για να λειτουργήσουν όλα, οι θύρες πρέπει να είναι ενεργοποιημένες DHCP(UDP 67,68), TFTP(UDP 69), Σάμπα(UDP 137.138, TCP 139.445) πρέπει οπωσδήποτε να το λάβετε υπόψη στη διαμόρφωση του τείχους προστασίας. Εάν δεν υπάρχει τείχος προστασίας ή η διεπαφή είναι εντελώς ανοιχτή - ω, καλά, θα πρέπει να λειτουργεί.

Σημείωμα: Λόγω του γεγονότος ότι τα συστήματα ενημερώνονται συνεχώς, οι δεδομένες διαδρομές αρχείων ενδέχεται να μην είναι έγκυρες, δηλαδή διαφορετικές από αυτές του συστήματός σας. Επομένως, εξετάστε προσεκτικά τη δομή του πακέτου του συστήματός σας.

Πριν από πολύ καιρό, έγραψα ένα άρθρο για το δίκτυο εγκατάσταση του Ubuntu, μέσω τοπικού δικτύου, χωρίς χρήση διαφόρων μέσων, εκκίνηση μόνο PXE και τέλος. Αυτή τη φορά αποφάσισα να ενημερώσω το άρθρο και να το κάνω πιο κοντά στη σύγχρονη πραγματικότητα, και το πιο σημαντικό, να επεκτείνω τη λειτουργικότητα. Όλα θα γίνουν χρησιμοποιώντας το Ubuntu 14.04 ως παράδειγμα!

Για διαφορετικές απαιτήσεις, πρέπει να υπάρχουν διαφορετικές λύσεις, το κύριο πρόβλημα είναι ότι συχνά δεν χρειαζόμαστε ένα λειτουργικό σύστημα, αλλά πολλά. Έτσι αποφάσισα να γράψω ένα άρθρο για αυτό το θέμα. Το προηγούμενο άρθρο μπορείτε να το βρείτε στον σύνδεσμο.
Η βασική ιδέα είναι ότι θα έχουμε τη δυνατότητα να επιλέξουμε ποιο λειτουργικό σύστημα θα εγκαταστήσουμε, καθώς και το βάθος bit του, στην πραγματικότητα, θα έχουμε ένα μενού εκκίνησης μετά την εκκίνηση του συστήματος μέσω του τοπικού δικτύου.
Όλα αυτά θα τα εφαρμόσουμε χρησιμοποιώντας το παράδειγμα του Ubuntu 14.04 που μόλις κυκλοφόρησε

Για όσους δεν καταλαβαίνουν, όλα ξεκινούν ώστε να είναι δυνατή η επιλογή του λειτουργικού συστήματος που θα εγκατασταθεί, καθώς και η χωρητικότητα bit του, δηλ. Θα πρέπει να εμφανιστεί ένα μενού όπου θα παρουσιαστούν όλα τα λειτουργικά συστήματα που είναι διαθέσιμα για εγκατάσταση μέσω του δικτύου, το οποίο θα μοιάζει με αυτό:

Ubuntu_14.04x86
Ubuntu_14.04amd64
Για εργασία θα χρειαστούμε:
Αναγκαίως!
1) Ρυθμισμένη πύλη, για παράδειγμα, χρησιμοποιήστε το άρθρο:
2) Διακομιστής DHCP, για παράδειγμα, μπορείτε να χρησιμοποιήσετε το άρθρο:
3) Διαμόρφωση διακομιστή TFTP που φορτώνει τον PXE bootloader, χρησιμοποιήστε το άρθρο:

Προαιρετικός!
3) Ένα επιπλέον, αλλά όχι υποχρεωτικό, σημείο μπορεί να διαμορφωθεί Διακομιστής DNS, υπάρχει ένα παράδειγμα στο άρθρο

Υποτίθεται ότι έχετε διαμορφώσει μια πύλη, DHCP, διακομιστή TFTP και επίσης έχετε προσθέσει ένα μενού εκκίνησης PXE επειδή Δεν θα σταθώ σε αυτό το σημείο.

Ας προχωρήσουμε στη ρύθμιση του συστήματος που θα εγκατασταθεί.
Αρχικά, θα δημιουργήσουμε ένα σημείο εγκατάστασης για το Ubuntu 14.04x86, για το οποίο θα χρειαστούμε έναν δίσκο εγκατάστασης της κατάλληλης χωρητικότητας. Πρέπει να το κατεβάσουμε και να το προσαρτήσουμε για να εξαγάγουμε τα αρχεία του boot loader και του installer συστήματος.
Επειδή Το αρχείο του bootloader δικτύου βρίσκεται στον κατάλογο καταλόγου /var/lib/tftpboot/από όπου ανασύρονται από τον διακομιστή TFTP, τότε σε αυτόν πρέπει να δημιουργήσουμε έναν κατάλογο Ubuntu για να βάλουμε τα αρχεία από τους δίσκους εγκατάστασης σε αυτόν, ας κάνουμε αυτό:
mkdir /var/lib/tftpboot/ubuntu
Στον κατάλογο Uubntu, δημιουργούμε πρόσθετους καταλόγους για τα αρχεία φόρτωσης του προγράμματος εγκατάστασης λειτουργικού συστήματος για συστήματα x86 bit και ADM64, αντίστοιχα.
mkdir /var/lib/tftpboot/ubuntu/x86 mkdir /var/lib/tftpboot/ubuntu/amd64

Τώρα πρέπει να κατεβάσουμε τον δίσκο εγκατάστασης, μπορείτε να τον δείτε εδώ mirror.yandex.ru/ubuntu-releases/14.04/
Θα κατεβάσουμε την έκδοση x86 για τον διακομιστή επειδή... ζυγίζει λιγότερο
wget http://mirror.yandex.ru/ubuntu-releases/14.04/ubuntu-14.04-server-i386.iso
Αφού ολοκληρωθεί η λήψη εικόνα ISO, πρέπει να το προσαρτήσουμε για να εξαγάγουμε τα αρχεία που χρειαζόμαστε και για αυτό στον κατάλογο /μέσα ενημέρωσηςθα δημιουργήσουμε έναν κατάλογο iso, ας κάνουμε αυτό:

Mkdir/media/iso
Προσαρτήστε το είδωλο του δίσκου σε αυτόν τον κατάλογο:
sudo su
mount ubuntu-14.04-server-i386.iso /media/iso/
Το σύστημα θα εμφανίσει ότι ο δίσκος είναι τοποθετημένος σε λειτουργία ανάγνωσης:

mount: warning: /media/iso/ φαίνεται να έχει τοποθετηθεί μόνο για ανάγνωση.
Ας πάρουμε τον πυρήνα του bootloader και του installer:
cd /media/iso/install/netboot/ubuntu-installer/i386/

Μας ενδιαφέρουν 2 αρχεία linuxΚαι initrd.gz, το οποίο πρέπει να σηκώσουμε και να μεταφέρουμε στον κατάλογο /var/lib/tftpboot/ubuntu/x86
ας τα αντιγράψουμε:
cp linux /var/lib/tftpboot/ubuntu/x86 cp initrd.gz /var/lib/tftpboot/ubuntu/x86

Ολοι, εικόνα εγκατάστασηςΔεν το χρειαζόμαστε πια, πρώτα ας το αποπροσαρτήσουμε από τον κατάλογο iso:
umount /media/iso/

Μετά από αυτό, η εικόνα ISO μπορεί να διαγραφεί.
Εκτελούμε παρόμοια βήματα για την εικόνα του δίσκου εγκατάστασης με χωρητικότητα x64 bit, δεν θα περιγράψω τι και πού, απλά θα δώσω μια λίστα με τις εντολές, τα βήματα είναι τα ίδια, μόνο οι διαδρομές είναι ελαφρώς διαφορετικές, είναι γραμμένο εκεί amd64

Wget http://mirror.yandex.ru/ubuntu-releases/14.04/ubuntu-14.04-server-amd64.iso

Mount ubuntu-14.04-server-amd64.iso /media/iso/

Cd /media/iso/install/netboot/ubuntu-installer/amd64/

Cp linux /var/lib/tftpboot/ubuntu/amd64 cp initrd.gz /var/lib/tftpboot/ubuntu/amd64

Προσάρτηση /media/iso/

Τελειώσαμε με τα αρχεία εγκατάστασης, τώρα ας διαμορφώσουμε το μενού εκκίνησης PXE.

Διαμόρφωση του μενού εκκίνησης PXE
Αρχικά, ας προσθέσουμε ένα στοιχείο μενού με το όνομα Εγκατάσταση Linux, για αυτό πρέπει να επεξεργαστούμε το αρχείο:
nano /var/lib/tftpboot/pxelinux.cfg/default

Προσθέστε μια καταχώρηση στο τέλος του αρχείου:
LABEL Linux Εγκατάσταση MENU LABEL ^Linux Εγκατάσταση KERNEL vesamenu.c32 APPEND pxelinux.cfg/linux.menu

Όπως μπορείτε να δείτε από την καταχώρηση, θα έχουμε μια άλλη σελίδα με μια επιλογή διανομών για εγκατάσταση, ας τη δημιουργήσουμε:

Nano /var/lib/tftpboot/pxelinux.cfg/linux.menu

Ας προσθέσουμε σε αυτό τα ονόματα των αντικειμένων για φόρτωση με δυνατότητα επιλογής λειτουργικό σύστημαγια εγκατάσταση όσο διαρκεί Ubuntu 14.04 x86Και amd64αρχιτεκτονική:
LABEL Εγκαταστήστε το Ubuntu 14.04x86 MENU label ^Ubuntu 14.04x86 KERNEL ubuntu/x86/linux APPEND initrd=ubuntu/x86/initrd.gz LABEL Εγκατάσταση Ubuntu 14.04amd64 MENU4ER4ELd /lin ux APPEND initrd=ubuntu/ amd64 /initrd.gz

Σε αυτό το σημείο, η εγκατάσταση έχει ολοκληρωθεί, μπορείτε να συνδέσετε το μηχάνημα πελάτη και να προσπαθήσετε να κάνετε εκκίνηση μέσω PXE, ως αποτέλεσμα, μετά την εκκίνηση του συστήματος μέσω του δικτύου, θα έχουμε ένα μενού όπως αυτό:

Επιλέγουμε αυτό που θέλουμε να εγκαταστήσουμε, η εγκατάσταση θα ξεκινήσει αυτόματα και, στη συνέχεια, απλώς ακολουθήστε τις οδηγίες του προγράμματος εγκατάστασης του συστήματος.
Με παρόμοιο τρόπο προστίθενται και άλλα λειτουργικά συστήματα.
Εδώ είναι που μάλλον θα τελειώσω για σήμερα.
Λοιπόν, όπως πάντα, εάν έχετε οποιεσδήποτε ερωτήσεις, αφήστε ένα σχόλιο, εάν βρείτε κάποιο σφάλμα, γράψτε μου ένα προσωπικό μήνυμα ή email.

Πρόλογος.

Αυτό εφευρέθηκε εδώ και πολύ καιρό. Σε κάθε περίπτωση, σε ένα άρθρο που γράφτηκε στα τέλη του περασμένου αιώνα (1998), η ιδέα εκκίνηση δικτύουο συγγραφέας το αποκαλεί παλιό. Και αυτό δεν προκαλεί έκπληξη η φόρτωση ενός λειτουργικού συστήματος μέσω ενός δικτύου είναι το όνειρο κάθε διαχειριστή. Σε τελική ανάλυση, το λειτουργικό σύστημα που φορτώνεται από τον διακομιστή θα είναι πάντα "λευκό και χνουδωτό" και οι αλλαγές και ενημερώσεις θα πρέπει να γίνουν μόνο σε εικόνα εκκίνησηςστον διακομιστή, αντί να τρέχετε με μια μονάδα flash σε ολόκληρο τον στόλο των υπολογιστών.

Γιατί μια τόσο καλή ιδέα δεν υιοθετείται ευρέως; Λόγω πολυπλοκότητας; Όχι! Οι διακομιστές για εκκίνηση δικτύου ρυθμίζονται πολύ απλά, συνήθως με μία διαμόρφωση αρχείο κειμένου, και, κοιτάζοντας μπροστά, θα πω ότι στον lanboot_server η δημιουργία των αρχείων διαμόρφωσης γίνεται αυτόματα. Στην πράξη, αυτό καταλήγει στο "ενεργοποιήστε το και τελειώσατε".

Τι θα απαιτηθεί;

    Αν τοπικό δίκτυοδεν έχει ρυθμιστεί - ρυθμίστε το. Μετά από αυτό, μη διστάσετε να δώσετε εντολή έναρξης του lanboot και οι πελάτες μπορούν να εκκινήσουν.

    Για διακοπή, αντίστοιχα, lanboot stop. Στο ALTLinux και στο Ubuntu θα πρέπει να δουλέψετε με τα χέρια σας, να εγκαταστήσετε ό,τι χρειάζεστε και να το ρυθμίσετε.

Ωστόσο, δεν είναι και τόσο τρομακτικό. Το σενάριο εκκίνησης του lanboot (/usr/sbin/lanboot) θα πρέπει επίσης να λειτουργεί σε άλλα συστήματα Linux, για παράδειγμα στο Simply Linux (ALT) το σενάριο δημιουργήθηκε σωστά αρχείαη διαμόρφωση και ο διακομιστής ξεκίνησε, μόνο που δεν υπήρχαν αρχεία με δυνατότητα λήψης στον "κατάλογο TFTP" (/var/lib/tftpboot) και αυτό δεν προκαλεί έκπληξη, γιατί από πού προέρχονται τα αρχεία PuppyRus στο ALTLinux.

Ας συνεχίσουμε.

Από τι συλλέγεται;

Για να εκκινήσουμε το Linux μέσω δικτύου, χρειαζόμαστε έναν διακομιστή tftp (χρησιμοποιείται tftp-hpa-5.0), bootp ή dhcp (διάλεξα το dhcp-4.1.1, αν και χρησιμοποίησα για πρώτη φορά bootp) και inetd ή xinetd (διάλεξα το inetd, it είναι απλούστερο).

Πώς να ρυθμίσετε.

1.Μπότα

    Το πιο απλό.

    Παρέχει μια IP που σχετίζεται με τη διεύθυνση MAC του πελάτη.

    Επομένως, μπορεί να χρησιμοποιηθεί μόνο σε δίκτυα με μόνιμο στόλο μηχανημάτων.

Παράδειγμα /etc/bootptab

Παράμετροι που χρησιμοποιούνται:

Td -- Κατάλογος TFTP (τα αρχεία θα ληφθούν από εδώ) - rp -- διαδρομή ρίζας (διαδρομή προς τη ρίζα διακομιστή) - bf -- αρχείο εκκίνησης (αρχείο με δυνατότητα λήψης) - sa -- διεύθυνση διακομιστή εκκίνησης (IP διακομιστή TFTP) - sm - - μάσκα υποδικτύου (μάσκα υποδικτύου) - gw -- πύλες (πύλη) - σε -- χρονική μετατόπιση (δευτερόλεπτα) - εκτάρια -- διεύθυνση υλικού (υλισμικό, επίσης γνωστή ως διεύθυνση MAC) # Μπορείτε να γράψετε είτε σε στήλη είτε σε μία γραμμή. # Ρυθμίσεις κοινές σε όλους τους πελάτες: .default:td=/var/lib/tftpboot:rp=/var/lib/tftpboot:bf=pxelinux.0:sa=192.168.1.2:sm=255.255.255.0:gw=192.168. 1.1:to=auto: #or so.default:\ td=/var/lib/tftpboot:\ rp=/var/lib/tftpboot:\ bf=pxelinux.0:\ sa=192.168.1.2:\ sm= 255.255 .255.0:\ gw=192.168.1.1:\ to=auto: # Ρυθμίσεις για πελάτες σε άλλα υποδίκτυα: #.subnet1:sm=255.255.255.0:gw=192.168.0.1:tc=.default: # Μεμονωμένες ρυθμίσεις για κάθε πελάτη (παραδείγματα) :ip=192.168.1.5 # κ.λπ.

2. Dhcpd

Πλήρης διακομιστής dhcp.

Παράδειγμα /etc/dhcpd.conf

# dhcpd.conf # # Χρησιμοποιήστε το για να ενεργοποιήσετε/απενεργοποιήσετε τις δυναμικές ενημερώσεις dns παγκοσμίως. ddns-update-style κανένα? subnet 192.168.1.0 netmask 255.255.255.0 (προαιρετικοί δρομολογητές 192.168.1.1; επιλογή subnet-mask 255.255.255.0; επιλογή εκπομπής-διεύθυνση 192.168.1.255; εύρος 192.168.1.1.1 0 προεπιλογή-χρόνος μίσθωσης 21600; lease-time 43200 όνομα αρχείου "pxelinux.0";

3.TFTP

Διακομιστής αρχείων με απλοποιημένο πρωτόκολλο.

Παράδειγμα /etc/exports

#Επιτρέπονται κατάλογοι για εκκίνηση tftp και προσάρτηση nfs (χωρίς_root_squash - επιτρέπεται ο χρήστης root) /var/lib/tftpboot 192.168.1.0/255.255.255.0(ro,no_root_squash,sync)

4. Inetd

Το χρησιμοποιούμε για να τρέξουμε έναν διακομιστή tftp και έναν διακομιστή εκκίνησης. Μπορεί όμως να ξεκινήσει και άλλες υπηρεσίες. Αρχείο διαμόρφωσης /etc/inetd.conf. Το αρχείο είναι μεγάλο, "για όλες τις περιπτώσεις". Επομένως, παρατίθενται μόνο οι απαραίτητες γραμμές.

Παράδειγμα /etc/inetd.conf.

# Αυτή η γραμμή ξεκινά τον διακομιστή tftp tftp dgram udp ρίζα αναμονής /usr/sbin/in.tftpd in.tftpd -s /var/tftpboot # Αυτή η γραμμή ξεκινά τον διακομιστή εκκίνησης bootps dgram udp ρίζα αναμονής /usr/sbin/bootpd bootpd -i

5. Xinetd

Οι λειτουργίες είναι ίδιες με το inetd, αλλά οι ρυθμίσεις είναι πιο περίπλοκες. Εγκατεστημένο στο Altlinux.

Παράδειγμα /etc/xinetd.conf

# # Απλό αρχείο ρύθμισης παραμέτρων για το xinetd # # Ορισμένες προεπιλογές και περιλαμβάνουν τις προεπιλογές /etc/xinetd.d/ ( log_type = SYSLOG authpriv info; log_on_success = PID HOST DURATION; log_on_failure = HOST; instances = 100; 2 only_fr = info. .0.1 ) includeir /etc/xinetd.d Για κάθε πρόγραμμα που ξεκινά ξεχωριστό αρχείοη διαμόρφωση τοποθετείται στο /etc/xinetd.d Παράδειγμα /etc/xinetd.d/tftp # default: off # περιγραφή: Ο διακομιστής tftp εξυπηρετεί αρχεία χρησιμοποιώντας το ασήμαντο μεταφορά αρχείων\#πρωτόκολλο. Το πρωτόκολλο tftp χρησιμοποιείται συχνά για την εκκίνηση σταθμών εργασίας χωρίς δίσκο \ #, τη λήψη αρχείων διαμόρφωσης σε εκτυπωτές με γνώση δικτύου, \ # και για την έναρξη της διαδικασίας εγκατάστασης για ορισμένα λειτουργικά συστήματα. υπηρεσία tftp ( disable = όχι; socket_type = dgram; πρωτόκολλο = udp; αναμονή = ναι; χρήστης = root; διακομιστής = /usr/sbin/in.tftpd; server_args = -u tftp -s /var/lib/tftpboot; per_source = 11 cps = 100 2 σημαίες = IPv4 only_from = 192.168.1.0 )

Αυτόματη ρύθμιση.

Για αυτόματη ρύθμιση παραμέτρων, οι μεταβλητές λαμβάνονται από την έξοδο των τυπικών εντολών ifconfig και διαδρομής Linux. Επομένως, μπορούν να ληφθούν σε οποιοδήποτε Linux.

Serv=$(ifconfig | grep inet | grep -v 127.0.0.1 | cut -f 2 -d ":" | cut -f 1 -d " ") mask=$(ifconfig | grep inet | grep -v 127.0.0.1 |. cut -f 4 -d ":") gate=$(διαδρομή | grep UG | cut -f 10 -d " ") subnet=$(διαδρομή | grep " U " | cut -f1 -d " ")

Αυτές οι μεταβλητές εγγράφονται στις κατάλληλες θέσεις στα πρότυπα αρχείων διαμόρφωσης που περιέχονται στο σενάριο του lanboot. Όταν εκτελείται το σενάριο, οι τιμές των μεταβλητών αντικαθίστανται στο πρότυπο και το αρχείο ρυθμίσεων που δημιουργείται έτσι αποστέλλεται «στον προορισμό του». Αυτό σας γλιτώνει από τη συνήθη εργασία και από ανθρώπινα λάθη. Η μόνη απαραίτητη προϋπόθεση: το δίκτυο πρέπει να ρυθμιστεί, διαφορετικά από πού θα προέρχονται οι τιμές των μεταβλητών;

Το σενάριο lanboot αντιγράφει επίσης τα αρχεία PuppyRus στον κατάλογο TFTP: vmlinuz, initrd.gz και pup*-200.sfs, τα οποία είναι απαραίτητα για την εκκίνηση. Τα αρχεία λαμβάνονται από το λειτουργικό σύστημα στο οποίο εκτελείται ο διακομιστής και εάν αυτό το σύστημα δεν είναι το PuppyRus, τότε δεν υπάρχει από πού να τα πάρετε. Επομένως, σε άλλα συστήματα Linux, τα παραπάνω αρχεία πρέπει να τοποθετούνται στο /var/lib/tftpboot χειροκίνητα (με αντιγραφή).

0. Εισαγωγή
Η λήψη μέσω του δικτύου είναι ένα πολύ βολικό, και συχνά ακόμη και απλώς αναντικατάστατο πράγμα. Δεν χρειάζεται να ανοίξετε τη θήκη του υπολογιστή (μερικές φορές αυτό δεν είναι καθόλου τόσο εύκολο όσο με τις κανονικές μονάδες υπολογιστή), δεν χρειάζεστε cdrom, δεν χρειάζεστε δωρεάν καλώδιο ιδέας, δεν χρειάζεστε μονάδα δισκέτας, δεν χρειάζεστε USB.
Το σύστημα φόρτωσης είναι εύκολο να αλλάξει - δεν χρειάζεται να το "ανεβάσετε" πουθενά ή να το γράψετε. Είναι απλώς ένας κατάλογος.
Για κάποιο λόγο, πολλοί άνθρωποι φοβούνται και αποφεύγουν αυτό το θέμα. Αυτό φαίνεται να είναι κάτι πολύπλοκο, προβληματικό και δύσκολο να εφαρμοστεί. Στην πραγματικότητα, όλα, όπως και οτιδήποτε άλλο έξυπνο, είναι απλά.

1. Τι χρειάζεται για την εκκίνηση του Linux σε ένα μηχάνημα μέσω του δικτύου;

  • Το μηχάνημα πρέπει να έχει μια κάρτα δικτύου που να υποστηρίζει το PXE της Intel Υπάρχουν πολλές άλλες υλοποιήσεις πρωτοκόλλων εκκίνησης δικτύου, αλλά το PXE είναι το πιο κοινό και είναι πρακτικά το υπονοούμενο πρωτόκολλο εκκίνησης δικτύου.
  • Ένα διαμορφωμένο σύστημα Linux (ας το ονομάσουμε host machine), το οποίο θα εκδίδει μια διεύθυνση IP και θα περιέχει έναν πυρήνα με δυνατότητα εκκίνησης και την ίδια την εικόνα του συστήματος. Αυτό, στην πραγματικότητα, μπορεί να μην είναι απαραίτητα ένα σύστημα Linux, αλλά σε αυτό το πώς θα υπονοηθεί.
  • Δίκτυο Ethernet. Το μηχάνημα υποδοχής και το μηχάνημα-θύμα μπορούν να συνδεθούν χρησιμοποιώντας ένα απλό καλώδιο crossover ή χρησιμοποιώντας συμβατικές μεθόδους. :)
  • Γνωρίζοντας τη διεύθυνση MAC του μηχανήματος θύματος. Μπορείτε να το προβάλετε είτε από τα αρχεία καταγραφής διακομιστή DHCP, είτε να το ξαναγράψετε απευθείας από την οθόνη τη στιγμή που ξεκινά η εκκίνηση μέσω PXE ή μπορείτε να το κάνετε χωρίς αυτό και να ρυθμίσετε τον διακομιστή DHCP έτσι ώστε να εκδίδει την απαιτούμενη IP και εικόνα σε όλους αδιακρίτως . Αλλά αυτή είναι μια εντελώς διαφορετική ιστορία (που περιγράφεται καλά στο Google) και ξεφεύγει από το πεδίο εφαρμογής αυτού του τρόπου λειτουργίας.

2. Πώς λειτουργεί η διαδικασία λήψης δικτύου;
Γρήγορη απάντηση:Το δίκτυο διαμορφώνεται αυτόματα μέσω dhcp, ο bootloader φορτώνεται μέσω tftp, ο οποίος φορτώνει τον πυρήνα μέσω tftp, ο οποίος φορτώνει το υπόλοιπο ριζικό σύστημα μέσω nfs.
Αναλυτική απάντηση:Το πρώτο πράγμα που κάνει ένα μηχάνημα με εγκατεστημένη εκκίνηση PXE κατά την εκκίνηση είναι να στείλει ένα αίτημα μετάδοσης DHCP στο δίκτυο που αναζητά διακομιστή. Ο κεντρικός υπολογιστής, στον οποίο ο δαίμονας DHCP κοιμάται ειρηνικά, παρέχει τη διεύθυνση και τη διαδρομή προς το αρχείο για τον φορτωτή εκκίνησης. Το PXE Boot ROM με βάση τις πληροφορίες που λαμβάνονται, διαμορφώνεται προσαρμογέα δικτύου. Αν όλα πάνε καλά, ο bootloader φορτώνεται μέσω του πρωτοκόλλου TFTP και αναλαμβάνει την περαιτέρω εξέλιξη των γεγονότων. ΣΕ γενικό σχέδιοΤα συμβάντα εξελίσσονται περαιτέρω ως εξής - ένας πυρήνας Linux ειδικά προετοιμασμένος για φόρτωση μέσω του δικτύου φορτώνεται χρησιμοποιώντας το ίδιο πρωτόκολλο TFTP. Σε αυτήν την περίπτωση, ο bootloader μεταβιβάζει τις απαραίτητες παραμέτρους στον πυρήνα για φόρτωση μέσω του πρωτοκόλλου NFS. Ο πυρήνας, μετά τη φόρτωση, προσαρτά το διαμέρισμα nfs στον κεντρικό υπολογιστή και εκκινεί το σύστημα από εκεί.

3. Πώς να τα ρυθμίσετε όλα και να τα φτιάξετε από την αρχή;
Καυτή ερώτηση :)
Άλλωστε χρειαζόμαστε:
α) εγκατεστημένοι, ρυθμισμένοι και τρέχουν διακομιστές dhcp, tftp και nfs
β) ένα bootloader και μια έτοιμη εικόνα του ριζικού συστήματος, στο οποίο μπορείτε να κάνετε chroot και να διαμορφώσετε όπως απαιτείται, να εγκαταστήσετε/προσθέσετε πακέτα κ.λπ.
γ) έναν πυρήνα προετοιμασμένο για φόρτωση μέσω του δικτύου.
Έτσι, σημείο προς σημείο, υποθέτοντας ότι το σύστημά μας είναι Debian (και χαιρόμαστε που το κάναμε κάποτε σωστή επιλογήδιανομή), και ότι θα τοποθετήσουμε όλα τα σχετικά αρχεία στον κατάλογο /tftpboot:

0. Δημιουργία καταλόγων και εγκατάσταση του bootloader pxelinux.
Αρχικά, ας δημιουργήσουμε και ας ορίσουμε καταλόγους.
Αφήστε τον "κύριο" κατάλογο μας να είναι /tftpboot.
Θα έχει δύο υποκαταλόγους: boot/ (με το ριζικό σύστημα) και pxelinux.cfg/ (με ρυθμίσεις bootloader)

# mkdir /tftpboot # mkdir /tftpboot/boot # mkdir /tftpboot/pxelinux.cfg

# apt-get install syslinux # cp /usr/lib/syslinux/pxelinux.0 /tftpboot/ #

Σειριακή 0 προτροπή 1 timeout 99 προεπιλεγμένη ετικέτα pxeboot pxeboot kernel bzΕικόνα προσάρτηση ip=dhcp nfsroot=192.168.150.126:/tftpboot/boot root=/dev/nfs init=/sbin/init

Η σύνταξή του είναι παρόμοια με αυτή του lilo.conf. Ούτε τα σχόλια φαίνεται να χρειάζονται.
Εάν χρειάζεται να δημιουργήσετε διαφορετικές διαμορφώσεις για διαφορετικά μηχανήματα, μπορείτε να δημιουργήσετε αρχεία για κάθε διεύθυνση MAC ξεχωριστά αντί για προεπιλογή. Μπορείτε να διαβάσετε περισσότερα σχετικά με αυτό στη σελίδα pxelinux.

1. Δημιουργία ριζικού συστήματος αρχείων
Αυτή είναι η πιο ενδιαφέρουσα ερώτηση. Εδώ αξίζει να διατυπώσετε μια σαφή δήλωση του προβλήματος - σε τι θα χρειαστεί το σύστημα; Τι λογισμικό θα πρέπει να υπάρχει, με ποιο υλικό θα τρέχει κ.λπ.
Κατ 'αρχήν, για την απλούστερη λήψη αρκεί ελάχιστο σύστημαένα-δυο megabyte. Υπάρχει μια θάλασσα από εικόνες και οδηγούς για τη δημιουργία τους στο Google.
Θα μπορούσε να είναι ένα σύστημα διάσωσης, θα μπορούσε να είναι ένας εγκαταστάτης για κάτι ή θα μπορούσε να είναι ένα πλήρες σύστημα επιτραπέζιου υπολογιστή.
Στην περίπτωσή μου, χρειάζομαι το σύστημα να εκκινήσει σχεδόν σε οποιοδήποτε υλικό και να ξεκινήσει το δικό μου πρόγραμμα εγκατάστασης. Επειδή δεν με πειράζει ο χώρος, αποφάσισα να εγκαταστήσω απλώς το προεπιλεγμένο ελάχιστο σύστημα debian. Χαίρομαι που κάποτε είχα επιλέξει τη σωστή διανομή, αποδείχθηκε ότι ήταν πολύ απλό να γίνει:

# apt-get install debootstrap ... # debootstrap sarge /tftpboot/boot

Όταν ολοκληρωθεί, ο κατάλογος /tftpboot/boot θα περιέχει ένα πλήρως λειτουργικό, λειτουργικό και εκκινήσιμο σύστημα, βάρους περίπου 140 MB. Μπορείτε να κάνετε chroot σε αυτόν τον κατάλογο, να εγκαταστήσετε και να αφαιρέσετε πακέτα, να αλλάξετε σενάρια rc και γενικά να κάνετε ό,τι θέλετε όπως το Linux.

2. Δημιουργία του πυρήνα.
Για να μπορέσει ο πυρήνας να φορτωθεί μέσω του δικτύου, απαιτούνται διάφορες προϋποθέσεις κατά τη συναρμολόγηση του:
α) ενεργοποιήστε την επιλογή "Επιλογές δικτύου -> IP: αυτόματη διαμόρφωση -> dhcp" (για ευελιξία, είναι καλύτερο να ενεργοποιήσετε όλες τις επιλογές επίσης)
β) ενεργοποιήστε την υποστήριξη του συστήματος αρχείων NFS
γ) ενεργοποιήστε το "FS->Network Filessystems->Root Over NFS".
Αυτό είναι υποχρεωτικό μέρος των ειδικών. Τα υπόλοιπα είναι στην κρίση σας. Τι χρειάζεται σε αυτόν τον πυρήνα, τι δεν χρειάζεται. Είναι καλύτερα να μην τσιγκουνευτείτε το μέγεθος και να μεταγλωττίσετε περισσότερα προγράμματα οδήγησης σε αυτό, απενεργοποιώντας εντελώς τις ενότητες, προκειμένου να απαλλαγείτε από την ανάγκη για ένα αρχείο φόρτωσης και initrd δύο σταδίων.

3. Ρύθμιση DHCP.
Εγκαταστήστε τον διακομιστή:

# apt-get εγκαταστήστε το dhcpd

Επεξεργαζόμαστε το αρχείο διαμόρφωσής του (/etc/dhcpd.conf) για το δίκτυό μας και προσθέτουμε μια καταχώρηση σε αυτό για το μηχάνημα-θύμα μας:

Κεντρικός υπολογιστής pxeboot ( hardware ethernet 08:00:0e:aa:bb:cc; σταθερή διεύθυνση 192.168.150.127; όνομα αρχείου "/tftpboot/pxelinux.0"; )

Κριτική