ლინუქსის სურათის შექმნა ქსელში ჩატვირთვისთვის. Ubuntu-ს ინსტალაცია ქსელში PXE-ის საშუალებით

საკმაოდ დიდი ხნის განმავლობაში ვწერდი სტატიას Ubuntu-ს ქსელში, ლოკალურ ქსელზე დაყენების შესახებ, სხვადასხვა მედიის გამოყენების გარეშე, მხოლოდ PXE-ით ჩატვირთვა და ეს არის. ამჯერად გადავწყვიტე სტატიის განახლება და თანამედროვე რეალობასთან დაახლოება და რაც მთავარია ფუნქციონალობის გაფართოება. ყველაფერი გაკეთდება მაგალითად Ubuntu 14.04-ით!

სხვადასხვა მოთხოვნების მიხედვით, უნდა არსებობდეს სხვადასხვა გადაწყვეტილებები, მთავარი პრობლემა ის არის, რომ ხშირად გვჭირდება არა ერთი ოპერაციული სისტემა, არამედ რამდენიმე. ამიტომ გადავწყვიტე დამეწერა სტატია ამ თემაზე. წინა სტატია შეგიძლიათ იხილოთ ბმულზე,.
მთავარი იდეა ისაა, რომ გვექნება შესაძლებლობა ავირჩიოთ რომელ ოპერაციულ სისტემას დავაინსტალიროთ, ასევე მისი ბიტის სიღრმე, ფაქტობრივად გვექნება ჩატვირთვის მენიუ ლოკალურ ქსელში სისტემის ჩატვირთვის შემდეგ.
ჩვენ განვახორციელებთ ამ ყველაფერს ახლად გამოშვებული Ubuntu 14.04-ის მაგალითის გამოყენებით

ვისაც არ ესმის, ყველაფერი დაწყებულია იმისათვის, რომ ჰქონდეს შესაძლებლობა აირჩიოს რომელი ოპერაციული სისტემა დააინსტალიროს, ასევე მისი ბიტის სიღრმე, ე.ი. უნდა გამოჩნდეს მენიუ, სადაც წარმოდგენილი იქნება ქსელში ინსტალაციისთვის ხელმისაწვდომი ყველა ოპერაციული სისტემა, რომელიც ასე გამოიყურება:

Ubuntu_14.04x86
Ubuntu_14.04amd64
სამუშაოსთვის გვჭირდება:
აუცილებლად!
1) კონფიგურირებული კარიბჭე, მაგალითად, გამოიყენეთ სტატია:
2) DHCP სერვერი, მაგალითად, შეგიძლიათ გამოიყენოთ სტატია:
3) კონფიგურირებული TFTP სერვერი, რომელიც ატვირთავს PXE ჩამტვირთველს, გამოიყენეთ სტატია:

სურვილისამებრ!
3) დამატებითი, მაგრამ არა სავალდებულო წერტილი, შეიძლება იყოს კონფიგურირებული DNS სერვერი, მაგალითი მოცემულია სტატიაში

ვარაუდობენ, რომ თქვენ დააკონფიგურირეთ კარიბჭე, DHCP, TFTP სერვერი და ასევე დაამატეთ PXE ჩატვირთვის მენიუ. ამ ეტაპზე არ გავჩერდები.

მოდით გადავიდეთ დაინსტალირებული სისტემის დაყენებაზე.
დასაწყისისთვის, ჩვენ შევქმნით ინსტალაციის წერტილს Ubuntu 14.04x86-ისთვის, რისთვისაც დაგვჭირდება შესაბამისი ბიტის საინსტალაციო დისკი. ჩვენ უნდა გადმოვწეროთ და დავამონტაჟოთ სისტემის ინსტალერის ჩამტვირთველის ფაილების ამოღების მიზნით.
იმიტომ რომ ჩვენ გვაქვს ქსელის ჩამტვირთავი ფაილი დირექტორიაში /var/lib/tftpboot/საიდანაც ისინი ამოყვანილია TFTP სერვერის მიერ, შემდეგ ჩვენ უნდა შევქმნათ მასში Ubuntu დირექტორია, რათა მასში ჩავდოთ ფაილები საინსტალაციო დისკებიდან, მოდით გავაკეთოთ ეს:
mkdir /var/lib/tftpboot/ubuntu
Uubntu დირექტორიაში, ჩვენ ვქმნით დამატებით დირექტორიებს OS ინსტალერის ჩამტვირთველის ფაილებისთვის x86 ბიტიანი სისტემებისთვის და 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
დააინსტალირეთ დისკის სურათი ამ დირექტორიაში:
სუდო სუ
დაამონტაჟეთ ubuntu-14.04-server-i386.iso /media/iso/
სისტემა აჩვენებს, რომ დისკი დამონტაჟებულია წაკითხვის რეჟიმში:

mount: გაფრთხილება: /media/iso/, როგორც ჩანს, დამონტაჟებულია მხოლოდ წასაკითხად.
მოდით გადავიდეთ ჩამტვირთველისა და ინსტალერის ბირთვის ასაღებად:
cd /media/iso/install/netboot/ubuntu-installer/i386/

გვაინტერესებს 2 ფაილი ლინუქსიდა 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 ბიტიანი სიღრმით, არ აღვწერ რა და სად, უბრალოდ ბრძანებების ჩამონათვალს მივცემ, მოქმედებები იგივეა, მხოლოდ ბილიკები ოდნავ განსხვავებულია, წერია. იქ amd64

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

დაამონტაჟეთ 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

დაამონტაჟეთ /მედია/iso/

ჩვენ დავასრულეთ ინსტალაციის ფაილები, ახლა მოდით დავაკონფიგურიროთ PXE ჩატვირთვის მენიუ.

PXE ჩატვირთვის მენიუს მორგება
პირველ რიგში, მოდით დავამატოთ მენიუს ელემენტი სახელით Linux-ის ინსტალაცია, ამისთვის ჩვენ გვჭირდება ფაილის რედაქტირება:
nano /var/lib/tftpboot/pxelinux.cfg/default

დაამატეთ ჩანაწერი ფაილის ბოლოს:
LABEL Linux Install MENU LABEL ^Linux Install KERNEL vesamenu.c32 APPEND pxelinux.cfg/linux.menu

როგორც პოსტიდან ხედავთ, ჩვენ გვექნება კიდევ ერთი გვერდი დისტრიბუციის არჩევით ინსტალაციისთვის, მოდით შევქმნათ იგი:

ნანო /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 KERNEL ubuntu/x86/linux APPEND initrd=ubuntu/x86/initrd.gz. 4/linux APPEND initrd =ubuntu/amd64 /initrd.gz

ეს დაასრულებს დაყენებას, შეგიძლიათ დააკავშიროთ კლიენტის მანქანა და სცადოთ ჩატვირთვა PXE-ის საშუალებით, რის შედეგადაც, სისტემის ქსელში ჩატვირთვის შემდეგ, გვექნება ასეთი მენიუ:

ჩვენ ვირჩევთ რისი დაყენება გვინდა, ინსტალაცია ავტომატურად დაიწყება და შემდეგ უბრალოდ მიჰყევით სისტემის ინსტალერის მითითებებს.
ანალოგიურად ემატება სხვა ოპერაციული სისტემები.
ამით დავამთავრებ დღეს.
ისე, როგორც ყოველთვის, თუ თქვენ გაქვთ რაიმე შეკითხვები, გთხოვთ, კომენტარებში, თუ შეცდომას იპოვით, დაწერეთ პირადში ან ელ.წერილში.

სერვერის ოთახებში სულ უფრო ხშირად გვხვდება სერვერები CD / DVD დისკების გარეშე. დროდადრო, თქვენ უნდა დააინსტალიროთ ოპერაციული სისტემა მათზე და ქსელის ინსტალაცია ამაში დიდად დაგეხმარებათ. თქვენ უბრალოდ ჩართეთ სერვერი და დაიწყეთ ინსტალაცია. ქსელის ბარათს უნდა ჰქონდეს PXE ტექნოლოგია. PXE - Pre-Boot Execution Environment - საშუალებას გაძლევთ ჩატვირთოთ ქსელში.

მაგრამ PXE არ არის საკმარისი სრული ბედნიერებისთვის, ტექნოლოგია, რომელიც საშუალებას მოგცემთ ინსტალაციის სრულად ავტომატიზაციას, არის kickstart (შემუშავებული Red Hat-ის მიერ). მისი არსი მარტივია - ჩვენ წინასწარ ვაგროვებთ ფაილს, რომელიც შეიცავს ყველა პარამეტრის მნიშვნელობას, რომელიც შეიძლება საჭირო გახდეს ინსტალაციის დროს. უფრო მეტიც, ჩვენ შეგვიძლია შევასრულოთ ჩვენი სკრიპტები ინსტალაციამდე და შემდეგ, რითაც დავაყენებთ პარამეტრებს მომავალი OS-ისთვის.

ტიპიური Linux ნაკრების დაყენებას kickstart-ის გამოყენებით 5-7 წუთი სჭირდება.

ინსტალაციის სერვერს სჭირდება 3 სერვისი და 1 პაკეტი.


  • DHCP აწვდის ქსელის სერთიფიკატებს კლიენტებს

  • TFTP არის მარტივი გზა ფაილების ქსელში გასაზიარებლად

  • Syslinux შეიცავს pxelinux.0 loader-ს და სხვა ფაილებს

  • NFS უზრუნველყოფს ფაილურ სისტემაზე წვდომას ქსელში
ინსტალაციის პროცესი შეიძლება დაიყოს ნაბიჯებად:

  1. pxe - pxe firmware იწყებს მუშაობას, როდესაც ჩვენ ვაყენებთ ქსელის ინსტალაციას BIOS-ში, ან როდესაც MBR არ არის ნაპოვნი HDD-ზე.

  2. DHCP ფაზა 1 - კლიენტი იღებს ქსელის დეტალებს და tftp სერვერის მისამართს, ასევე loader ფაილის სახელს (pxelinux.0). ნაგულისხმევად, TFTP სერვერი არის DHCP სერვერი.

  3. TFTP - pxelinux.0 ჩამტვირთველი წვდება TFTP სერვერს და სთხოვს მას initrd.img (საწყისი RAM დისკი, დროებითი ფაილური სისტემა), Linux-ის ბირთვი.

  4. Kernel - კონტროლის გადაცემა Linux-ის ბირთვზე.

  5. DHCP ფაზა 2 - Linux-ის ბირთვი მიმართავს მოთხოვნას DHCP სერვერს, მოიპოვოს ქსელის სერთიფიკატები და შემდგომში NFS სერვერის მისამართი.

  6. NFS - ეტაპი, როდესაც დამონტაჟდება NFS დანაყოფი

  7. init - იწყება /sbin/init და მასზე გადადის კონტროლი. Init არის მთავარი პროცესი სისტემაში, სხვა პროცესები არის init-ის შვილობილი პროცესები.
უფასო პრეზენტაციაში:

DHCP სერვერი უსმენს ჩატვირთვის მოთხოვნებს მის ქსელში; მოთხოვნის მიღების შემდეგ ის ათვალიერებს წყაროს MAC მისამართს და თუ აქვს ასეთი MAC მისამართის შესაბამისი ჩანაწერი, იწყებს მასთან მუშაობას. DHCP სერვერი აძლევს კლიენტს ქსელის დეტალებს (IP მისამართი, კარიბჭე, DNS სერვერები, ...) და აგზავნის pxelinux.0 ჩატვირთვის სურათს TFTP პროტოკოლის გამოყენებით TFTP სერვერის გამოყენებით. ეს სურათი საკმარისია OS-ის შერჩევის მენიუს საჩვენებლად.

OS-ის არჩევის შემდეგ ვიწყებთ ბირთვის ჩატვირთვას და ვიწყებთ ინსტალაციას, პროცესში ვირჩევთ ინსტალაციის წყაროს - NFS სერვერს. თქვენ უნდა ატვირთოთ მომავალი ოპერაციული სისტემის მომზადებული შინაარსი NFS სერვერზე და დარწმუნდეთ, რომ შესაბამისი დირექტორიები ექსპორტირებულია.

DHCP

დააინსტალირეთ DHCPD და დაამატეთ იგი გაშვებაში:
# yum -y დააინსტალირე dhcp
# chkconfig dhcpd ჩართულია

ჩვენ ვაკეთებთ /etc/dhcpd.conf ფაილს ასე:

ddns-განახლების სტილის შუალედური;
კლიენტის განახლებების იგნორირება;
ქვექსელი 192.168.146.0 ქსელის ნიღაბი 255.255.255.0 (
ვარიანტი მარშრუტიზატორები 192.168.146.1;
ვარიანტი subnet-mask 255.255.255.0;
ოფცია დომენის სახელი "domain.local";
ოფცია domain-name-servers 192.168.146.1;
default-lease-time 21600;
მაქს-იჯარის დრო 43200;
ჩატვირთვის დაშვება;
ჩატვირთვის დაშვება;
მასპინძელი unixbox (
ტექნიკის ეთერნეტი 00:0c:29:77:9c:9c;
ფიქსირებული-მისამართი 192.168.146.128;
ფაილის სახელი "pxelinux.0";
ვარიანტი ჰოსტის სახელი "unixbox";
შემდეგი სერვერი 192.168.146.1;
}
}

დაიწყეთ DHCPD ან გადატვირთეთ, თუ ის დაწყებულია:
# სერვისის dhcpd გადატვირთვა

გამორთეთ firewall, რომელიც ჩართულია ნაგულისხმევად (წინააღმდეგ შემთხვევაში, სამიზნე კომპიუტერი მიიღებს შეცდომას "ICMP Destination მიუწვდომელია (ჰოსტი ადმინისტრაციულად აკრძალულია)") ჩატვირთვისას:
# სერვისის iptables შეჩერებულია
# chkconfig iptables გამორთულია

TFTP

დააინსტალირეთ tftp-სერვერის პაკეტი საცავიდან:
# yum -y დააინსტალირე tftp სერვერი

ახლა თქვენ უნდა ჩართოთ tftp xinetd კონფიგურაციაში, ამისთვის /etc/xinetd.d/tftp ფაილში შეცვალეთ „disable = yes“ „disable = no“ და ჩართეთ xinetd:
# სერვისი დაიწყო

შეამოწმეთ, რომ tftp სერვერის პორტი უსმენს (tftp მუშაობს 69 პორტზე):
# netstat -nlp | grep: 69
udp 0 0 0.0.0.0:69 0.0.0.0:* 3105/xinetd

syslinux

პაკეტი შეიცავს ფაილების ერთობლიობას ქსელში ჩამოსატვირთად. ჩვენ გვჭირდება pxelinux.0 , რომელსაც მივცემთ ჩატვირთვის სურათს DHCP-ის საშუალებით და menu.c32 , რომლითაც უფრო მიმზიდველი მომხმარებლის მენიუ იქნება დახატული. (CentOS 4-ისთვის, განახლებული syslinux დამოკიდებულებებით შეგიძლიათ ჩამოტვირთოთ rpmfind.net-დან.)

# cp $(rpm -ql syslinux | grep menu.c32) /tftpboot/
# cp $(rpm -ql syslinux | grep pxelinux.0) /tftpboot/

NFS

ნაგულისხმევად, სისტემას სავარაუდოდ აქვს NFS, თუ არა, მაშინ დააინსტალირეთ yum-ის გამოყენებით.
# chkconfig nfs ჩართულია

დაამატეთ ჩანაწერი /etc/exports ფაილში:
echo "/var/install-server/ *(ro,no_root_squash)" >> /etc/exports

nfs სერვერის დაწყება:
იწყება # სერვისი nfs

შეამოწმეთ, რომ დირექტორია ექსპორტირებულია:
# ექსპორტი
/var/install-server

ჩვენ ვქმნით tftp სერვერის სტრუქტურას, ვამატებთ კონტენტს სერვერს:
# mkdir -p /tftpboot/(pxelinux.cfg,centos5_x86)
# mkdir -p /var/install-server/centos5_x86

ჩვენ ვამაგრებთ ჩვენს DVD-ს CentOS 5-ით და ვტვირთავთ შიგთავსს /var/install-server/centos5_x86:
# დამონტაჟება /dev/cdrom /mnt/
# cp -r /mnt/* /var/install-server/centos5_x86/
# cp /var/install-server/centos5_x86/images/p xeboot/* /tftpboot/centos5_x86/

/tftpboot/pxelinux.cfg დირექტორიაში შექმენით ნაგულისხმევი ფაილი და შეავსეთ ის, როგორც ნაჩვენებია ქვემოთ:
ნაგულისხმევი მენიუ.c32

მოთხოვნა 0
დრო 100

ბირთვი /centos5_x86/vmlinuz
დაურთოს initrd=/centos52_x86/initrd.img
ლეიბლი Quit
ლოკალური ჩატვირთვა 0

დააინსტალირეთ OS ქსელში

ზემოთ აღწერილი ყველა მანიპულაციის შემდეგ, ჩვენ შეგვიძლია გავაგრძელოთ OS-ის დაყენება. ჩვენ ვიწყებთ ჩვენს მანქანას MAC მისამართით 00:0c:29:77:9c:9c BIOS-ში ქსელის ჩატვირთვის ჩართვით. როდესაც ინსტალაცია იწყება, ჩვენ ყველაფერს ვაკეთებთ სტანდარტული გზით, გარდა იმისა, რომ სიაში, სადაც უნდა დააინსტალიროთ OS, უნდა აირჩიოთ NFS და შემდეგ, როდესაც გკითხავთ, მიუთითეთ:
NFS სერვერის სახელი: 192.168.146.1
CentOS დირექტორია: /var/install-server/centos5_x86

ინსტალაციის ავტომატიზაცია Kickstart-ით

ავტომატიზაციისთვის, თქვენ უნდა შექმნათ ფაილი, რომელიც შეიცავს ყველა საჭირო ინფორმაციას, რომელიც შეიძლება საჭირო გახდეს ინსტალაციის პროცესში. ასეთი ფაილი იქმნება system-config-kickstart (GUI ინსტრუმენტი) პროგრამით ნებისმიერ CentOS-ში X Window-ით:
# yum -y დააინსტალირე system-config-kickstart
# system-config-kickstart

მას შემდეგ რაც შევქმნით ფაილს system-config-kickstart-ის გამოყენებით, უნდა გადავიტანოთ ინსტალაციის სერვერზე და გავხადოთ ხელმისაწვდომი ერთ-ერთი HTTP, NFS ან FTP პროტოკოლით. ვინაიდან NFS აქტიურად გამოიყენება Install სერვერის მუშაობაში, ჩვენ გამოვიყენებთ მას.

ჩემს შემთხვევაში, kickstart ფაილი არის /var/install-server/centos5_x86/centos5_ x86_ks.cfg-ში.

ყველაფერი რაც თქვენ უნდა გააკეთოთ /tftpboot/pxelinux.cfg/default-ში არის დაამატოთ ks დირექტივა kickstart ფაილის მდებარეობით. მაგალითი kickstart ფაილით:
ნაგულისხმევი მენიუ.c32
მენიუს სათაური Linux Install Server. გთხოვთ, აირჩიოთ OS დასაინსტალირებლად.
მოთხოვნა 0
დრო 100
ეტიკეტი CentOS 5 x86 მორგებული ინსტალაცია
ბირთვი /centos5_x86/vmlinuz
დაურთოს initrd=/centos5_x86/initrd.img
label CentOS 5 x86 Kickstart Install
ბირთვი /centos52_x86/vmlinuz
დაამატეთ initrd=/centos5_x86/initrd.img ks=nfs:192.168.146.1:/var/install-server/c entos5_x86/centos5_x86_ks.cfg
ლეიბლი Quit
ლოკალური ჩატვირთვა 0

ახლა, ოპერაციული სისტემის შერჩევის მენიუში „CentOS 5 x86 Kickstart Install“-ის არჩევის შემდეგ, ჩვენ მხოლოდ უნდა დაველოდოთ სერვერს მასზე დაინსტალირებული OS-ით.

ქვემოთ მოცემულია ჩემი Kickstart ფაილის მაგალითი. მინდოდა დაინსტალირებული OS-ს sshd პარამეტრებში ჰქონოდა ოფცია "PermitRootLogin yes". Kickstart-ფაილი საშუალებას გაძლევთ არა მხოლოდ დააყენოთ OS ინსტალაციის პარამეტრები, არამედ შეასრულოთ სკრიპტები ინსტალაციამდე (%pre) და შემდეგ (%post). ამრიგად, თქვენ შეგიძლიათ დაწეროთ ბევრი ტიუნინგის სკრიპტი და მიიღოთ სრულად დასრულებული OS ინსტალაციის 5-10 წუთში.

#პლატფორმა=x86, AMD64 ან Intel EM64T
# სისტემის ავტორიზაციის ინფორმაცია
auth --useshadow --enablemd5
# სისტემის ჩამტვირთველის კონფიგურაცია
ჩამტვირთავი --location=mbr
# გაასუფთავეთ ძირითადი ჩატვირთვის ჩანაწერი
zerombr
# დანაყოფის გასუფთავების ინფორმაცია
clearpart --all --initlabel
# გამოიყენეთ ტექსტური რეჟიმის ინსტალაცია
ტექსტი
# Firewall-ის კონფიგურაცია
firewall -- გამორთულია
# გაუშვით Setup Agent პირველი ჩატვირთვისას
firstboot -- გამორთვა
# სისტემის კლავიატურა
კლავიატურა ჩვენთან
# სისტემის ენა
ენა_აშშ
# ინსტალაციის შესვლის დონე
შესვლა --level=info
# გამოიყენეთ NFS ინსტალაციის მედია
nfs --server=192.168.146.1 --dir=/var/install-server/centos5_x86
# ქსელის ინფორმაცია
ქსელი --bootproto=dhcp --device=eth0 --onboot=on
#root პაროლი
rootpw --დაშიფრული $1$Bz09jb2I$hfzh2vApqMjG0sEPsAwNr/
# SELinux კონფიგურაცია
selinux -- გამორთულია
# არ დააკონფიგურიროთ X ფანჯრის სისტემა
skipx
# სისტემის დროის ზონა
დროის სარტყელი ევროპა/მოსკოვი
# განახლების ნაცვლად დააინსტალირეთ OS
დაინსტალირება
# დისკის დაყოფის ინფორმაცია
ნაწილების გაცვლა --bytes-per-inode=4096 --fstype=”swap” --size=512
ნაწილი / --bytes-per-inode=4096 --fstype="ext3" --grow --size=1

%post --interp /bin/bash
PATH=/რაღაც სამუშაო
/bin/mkdir $PATH
/bin/sed -e 's/#PermitRootLogin yes/PermitRootLogin yes/g' /etc/ssh/sshd_config > $PATH/sshd_config_edited
/bin/cp $PATH/sshd_config_edited /etc/ssh/sshd_config
/bin/rm -rf $PATH

ეს სტატია მოიცავს Ubuntu Linux-ის დაყენებას ქსელის ჩატვირთვის საცავიდან.

ასე რომ, ჩვენ დავაინსტალირებთ Ubuntu 10.04-ს კლიენტის კომპიუტერებზე სერვერიდან 192.168.0.3, რომელიც მასპინძლობს ქსელის ჩატვირთვის სერვერს და dhcpd. ინსტალაციისთვის საცავი უნდა შეიცავდეს dist/lucid/main/debian-installer დირექტორიას. თუ დაამატებთ მსგავს კატალოგებს სხვა საცავებისთვის (მრავალ სამყარო, სამყარო, შეზღუდული), მაშინ სტადიაზე "პროგრამის არჩევა და ინსტალაცია" პროგრამული უზრუნველყოფის სია უფრო დიდი იქნება. ამ სახელმძღვანელოში მე განვიხილავ ამ ვარიანტს. თუ თქვენ გააკეთეთ debmirror სარკე, მაშინ, სავარაუდოდ, საერთოდ არ გაქვთ ეს დირექტორიები. თქვენ შეგიძლიათ ჩამოტვირთოთ ისინი, მაგალითად, ftp://mirror.yandex.ru-დან. ასევე, ინსტალაციის დროს, ინსტალერი, მიუხედავად შერჩეული საცავისა, ხშირად წვდება security.ubuntu.com.

ნაბიჯი 1: სერვერის ინსტალაცია

საჭირო აპლიკაციების დაყენება:

apt-get install tftpd-hpa openbsd-inetd

ჩამოტვირთეთ და გახსენით სურათი ქსელის ინსტალაციისთვის:

tar -xvzf netboot.tar.gz -C /var/lib/tftpboot/

chown -R არავინ:nogroup /var/lib/tftpboot

ქსელის ჩატვირთვისთვის საჭიროა კლიენტს გადასცეთ 2 პარამეტრი: ჩატვირთვის ფაილის სახელი და ჩატვირთვის ფაილის სერვერი (dhcpd-ში ეს არის ფაილის სახელი და შემდეგი სერვერის პარამეტრები):

შემდეგი სერვერი 192.168.0.3;
ფაილის სახელი "pxelinux.0";

სერვერი დაინსტალირებულია, შეგიძლიათ დააინსტალიროთ სისტემა.

ნაბიჯი 2: სისტემის ინსტალაცია

ქსელში სერვერიდან სისტემის ინსტალაციისთვის, თქვენ უნდა ჩართოთ ქსელის ჩატვირთვა (PXE) BIOS-ში. თუ თქვენი ბიოსი მხარს უჭერს ჩატვირთვის მენიუს, მაშინ უმჯობესია გამოიყენოთ იგი ჩატვირთვის მოწყობილობის ასარჩევად - ისე, რომ პრობლემები არ შეგექმნათ, თუ დაგავიწყდათ ჩატვირთვის რიგის შეცვლა.

თუ ყველაფერი კარგადაა, მაშინ ნახავთ ინსტალერის მისასალმებელ ეკრანს:

  • ძირითადი Ubuntu სერვერი
  • სახელის სერვერი (DNS)
  • edubuntu სერვერი
  • LAMP სერვერი
  • ფოსტის სერვერი
  • openSSH სერვერი
  • PostgreSQL მონაცემთა ბაზა
  • ბეჭდვის სერვერი
  • Samba ფაილის სერვერი
  • Ubuntu Enterprise Cloud
  • ვირტუალური მანქანის მასპინძელი
  • 2D/3D შექმნისა და რედაქტირების კომპლექტი
  • აუდიოს შექმნისა და რედაქტირების კომპლექტი
  • edubuntu KDE დესკტოპი
  • edubuntu დესკტოპის
  • კუბუნტუს სამუშაო მაგიდა
  • კუბუნტუ ნეტბუქი
  • LADSPA და DSSI აუდიო დანამატები
  • შრიფტის პაკეტების დიდი არჩევანი
  • Mythbuntu დამატებითი როლები
  • Mythbuntu Front End
  • Mythbuntu master backend
  • მითბუნტუ მონათა უკანა ნაწილი
  • Ubuntu Netbook
  • Ubuntu Desktop
  • ვიდეოს შექმნისა და რედაქტირების კომპლექტი
  • ubuntu დესკტოპის
  • პაკეტის ხელით შერჩევა

დღეს უფრო და უფრო მეტი დავალება ავტომატიზირებულია და ვირტუალიზაცია სულ უფრო ხშირად გამოიყენება სერვერის მუშაობის გაზრდის მიზნით. მაგრამ თქვენ მაინც უნდა დააინსტალიროთ OS. ყველა ამას აკეთებს თავისებურად: ვიღაცას აქვს სავსე ჯიბეები სხვადასხვა სურათებით ყველა შემთხვევისთვის, ვიღაც ძველმოდური გზით ატარებს "ჩანთას" დისკებით, ან თუნდაც ორი. როგორც წესი, ადმინისტრატორები ამ საქმეს მცირე სიამოვნებით აკეთებენ. ვნახოთ, როგორ შევამციროთ დრო ტრივიალური დავალებების შესრულებისთვის, როგორ ვასწავლოთ კომპიუტერებს სისტემების დამოუკიდებლად დაყენება, საერთოდ ადმინისტრატორის მონაწილეობის გარეშე, მხოლოდ ლოკალური ქსელის გამოყენებით.

ასე რომ, დღეს ჩვენ ვისწავლით როგორ: დააინსტალიროთ Windows და Linux ქსელში, ჩატვირთოთ მცირე ISO სურათები, სასარგებლო პროგრამული უზრუნველყოფა (ყველა სახის Kaspersky, Acronis, WinPE, memtests), განათავსოთ თხელი კლიენტები და მართოთ ისინი. ასე რომ, მაგალითად, ბუღალტერმა, რომელიც მუშაობს 1C-ზე RDP-ის საშუალებით, არ მოგცემთ იმის გამო, რომ მისი ვინდოუსი გაფუჭდა და ანგარიში გუშინ უნდა მომზადებულიყო... ან ძუნწი ბოსი, რომელსაც არ სურს კომპიუტერის განახლება, აღფრთოვანებული იყო თქვენით. პროფესიონალიზმი, როცა დაინახავს, ​​როგორ დაფრინავს Windows 8 ძველ კომპიუტერებზე... ჩვენი მზაკვრული მიზნების მიღწევაში დაგვეხმარება სერვერი, რომელიც უზრუნველყოფს ჩატვირთვას ქსელის საშუალებით (PXE).

ნებისმიერ სისტემურ ადმინისტრატორს აქვს უნივერსალური USB-დისკი თავის სათავსოში გადაუდებელი კომპიუტერის რეანიმაციისთვის. დამეთანხმებით, ბევრად უკეთესი იქნებოდა იგივე ფუნქციონირება მხოლოდ ერთი ქსელის ბარათის გამოყენებით. ამავდროულად, შეუძლებელია არ აღინიშნოს ერთდროულად რამდენიმე კვანძთან ერთდროული მუშაობის შესაძლებლობა. ასე რომ, ჩვენი საჭიროებიდან გამომდინარე, ჩვენ გვაქვს ორი გამოსავალი: გამოიყენეთ PXE ან LTSP.

LTSP ჩვენთვის არც თუ ისე შესაფერისია: ის შექმნილია სერვერზე დაინსტალირებული ოპერაციული სისტემის ჩატვირთვისთვის ქსელის საშუალებით, რაც საშუალებას გაძლევთ გამოიყენოთ LTSP სერვერის აპლიკაციები. ეს არ არის ზუსტად ის, რაც ჩვენ გვჭირდება. PXE არის ინსტრუმენტი კომპიუტერის ქსელში ჩატვირთვისთვის ლოკალური მედიის გამოყენების გარეშე, ისევე როგორც LTSP. PXE საშუალებას გაძლევთ მოაწყოთ მრავალ ჩატვირთვის მენიუ, უნივერსალური "USB რეანიმატორის" მსგავსი.


რას განვახორციელებთ?

ეს ყველაფერი დაიწყო ქსელში Ubuntu / Debian სერვერის დისტანციური ინსტალაციის ხელსაწყოს საჭიროებით, პატარა სისტემის Live CD-ის ჩატვირთვის შესაძლებლობით, როგორიცაა SliTaz ან Kolibri OS.
როგორც ამბობენ, მადა ჭამასთან ერთად მოდის: მათ არ ჰქონდათ დრო დაგეგმილის რეალიზებისთვის და გეგმას დაემატა მთელი რიგი „სურვილების სია“. შედეგად, სია საკმაოდ შთამბეჭდავი აღმოჩნდა.

  1. Thin კლიენტები Thinstation Linux-ზე დაფუძნებული.
  2. Linux განყოფილება.
    1. Ubuntu 14.04 x86-ის ინსტალაცია.
    2. Ubuntu 14.04 x64-ის ინსტალაცია.
    3. Ubuntu 12.04 x86-ის ინსტალაცია.
    4. Ubuntu 12.04 x64-ის ინსტალაცია.
  3. Windows განყოფილება.
    1. Windows 2012-ის ინსტალაცია.
    2. Windows 7-ის ინსტალაცია.
  4. აკრონისი.
    1. Windows PE სასარგებლო პროგრამული უზრუნველყოფის პაკეტით.
    2. Acronis True Image.
      1. მემკვიდრეობითი BIOS.
      2. UEFI.
    3. Acronis დისკის მენეჯერი.
      1. მემკვიდრეობითი BIOS.
      2. UEFI.
  5. Kaspersky Rescue v 10.
  6. ERD Commander 5-დან 8-მდე ISO გამოსახულების საშუალებით.
  7. მემტესტი.

ყველაფერს გროვად ვაგროვებთ და ავფრინდებით

როგორც სერვერის სადისტრიბუციო ნაკრები, არჩევანი დაეცა Ubuntu Server 14.04.2 LTS-ზე. შეგიძლიათ შეჩერდეთ ნებისმიერ სხვა OS-ზე, განსხვავება მხოლოდ სინტაქსში იქნება. ასე რომ, დავიწყოთ. ჩვენ გვჭირდება TFTP, DHCP (სურვილისამებრ დაინსტალირებულია იმავე სერვერზე, როუტერს შეუძლია იმოქმედოს როგორც DHCP სერვერი), სერვისი NFS ქსელის ფაილური სისტემის ორგანიზებისთვის. ჩვენ განვიხილავთ მხოლოდ იმ პარამეტრებს, რომლებიც გვაინტერესებს თემის ფარგლებში. უპირველეს ყოვლისა, დააინსტალირეთ ყველაფერი, რაც გჭირდებათ, მანამდე განახორციელეთ ყველა განახლება:

გაგრძელება ხელმისაწვდომია მხოლოდ წევრებისთვის

ვარიანტი 1. გაწევრიანდით "საიტის" საზოგადოებაში, რათა წაიკითხოთ საიტზე არსებული ყველა მასალა

საზოგადოებაში გაწევრიანება განსაზღვრულ პერიოდში მოგცემთ წვდომას ჰაკერების ყველა მასალაზე, გაზრდის თქვენს პერსონალურ კუმულატიურ ფასდაკლებას და საშუალებას მოგცემთ დააგროვოთ პროფესიონალური Xakep Score რეიტინგი!

ყველას, ვინც ხანდახან ვაჭრობს ადმინისტრაციაში ერთხელ მაინც, სჭირდებოდა კომპიუტერზე ოპერაციული სისტემის დაყენება. და ხშირად ყველაფერი ასე ხდება: სურათი ჩამოტვირთულია, იწერება დისკზე ან ფლეშ დრაივზე, იტვირთება და დაინსტალირდება. მაგრამ შეიძლება აღმოჩნდეს, რომ ხელთ არ არის ფლეშ დრაივი ან დისკი, და ინსტალაცია უნდა გაკეთდეს გუშინ ... შემდეგ შეგიძლიათ ჩატვირთოთ ქსელში და ამ მხრივ 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
ხელმისაწვდომი = დიახ
დათვალიერება = დიახ
საჯარო = დიახ
დასაწერად = არა

უნდა იმუშაოს ნაგულისხმევ პარამეტრებზე სამბა. თუ ეს არ მუშაობს, მაშინ, სავარაუდოდ, თქვენ თვითონ შეცვალეთ რაღაც, რაც ნიშნავს, რომ იპოვით როგორ მოაგვაროთ პრობლემა. ასე რომ, ჩვენ დავამატეთ ბურთი პიტნის, რომლის მეშვეობითაც შეგიძლიათ მიიღოთ ფაილები ინსტალაციისთვის ქსელიდან. არ დაგავიწყდეთ გადატვირთვა სამბაახალი პარამეტრების მისაღებად.

ამისთვის არქლინუქსი:

# systemctl გადატვირთეთ smbd
# systemctl გადატვირთეთ nmbd

ამისთვის ჯენტუ:

# /etc/init.d/samba გადატვირთვა

შემდეგი, თქვენ უნდა მოამზადოთ ქსელის ჩამტვირთავი. ეს პროგრამა დაგვეხმარება tftp-hpa. IN არქლინუქსიდა ში ჯენტუპაკეტს ასე ჰქვია. თქვენ უნდა მოათავსოთ bootloader ფაილები ftp სერვერის სამუშაო დირექტორიაში (arch /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

DEFAULT მენიუ.c32
LABEL Linux Mint
კერნელი ვმლინუზი
APPEND showmounts toram root=/dev/cifs boot=casper netboot=cifs nfsroot=//192.168.0.1/mint NFSOPTS=-gouest,ro initrd=initrd.lz nosplash

სად 192.168.0.1 - ჩვენი IP მისამართი იმ აპარატთან შედარებით, რომელზეც ფსონს დავდებთ. ოჰ, და nfsიქ - ეს არ არის შეცდომა, მუშაობის რეჟიმში cifs,თქვენ უნდა გაიაროთ ტიპის პარამეტრები nfs,ვერ ვიტყვი რატომ. განსაკუთრებული ყურადღება უნდა მიექცეს ტორამის ვარიანტს, რადგან მის გარეშე ყველაფერი ნახევრად იშლება და ვერ ჩატვირთავთ (შეიძლება ეს სამბას თვისებაა). მაგრამ ამ პარამეტრით, უნდა გახსოვდეთ, რომ სამიზნე მანქანას უნდა ჰქონდეს საკმარისი ოპერატიული მეხსიერება, რომ დააკოპიროს ინსტალერი იქ. საჭიროა TFTP სერვერის გაშვება. ამისთვის არქლინუქსი:

# systemctl tftpd.socket start

ამისთვის ჯენტუ:

# /etc/init.d/in.tftpd დაწყება

ახლა თქვენ როგორმე უნდა გითხრათ სამიზნე აპარატის ბიოსი, საიდან არის დატვირთული. ეს დაგვეხმარება dnsmasq(თუმცა არ არის აუცილებელი, შეგიძლიათ გამოიყენოთ სხვა DHCP სერვერი, აქ მე აღვწერ რა იყო ხელთ). IP განაწილების დაყენება (ვარიანტი dhcp დიაპაზონი) თქვენი შეხედულებისამებრ, მანქანებს შორის თქვენი „ქსელის“ ქვეშ. ინსტალაციისთვის ჩვენ გვჭირდება მხოლოდ სამი ვარიანტი:

dhcp-boot=/pxelinux.0
dhcp-option=მყიდველი:PXEClient,6,2b
pxe-service=x86PC, "Install Linux", pxelinux

ისინი უნდა დაემატოს კონფიგურაციას. dnsmasqდა, რა თქმა უნდა, გაუშვით (ან გადატვირთეთ).

ამისთვის არქლინუქსი:

# systemctl დაწყება dnsmasq

ამისთვის ჯენტუ:

# /etc/init.d/dnsmasq დაწყება

დაიმახსოვრე, რომ ყველაფერი იმუშაოს, აუცილებელია პორტები ჩართოთ DHCP(UDP 67.68), TFTP(UDP 69) სამბა(UDP 137,138, TCP 139,445) უნდა იყოს ღია, აუცილებლად გაითვალისწინეთ ეს თქვენი firewall-ის კონფიგურაციაში. თუ არ არის firewall ან ინტერფეისი მთლიანად ღიაა - კარგი, კარგი, უნდა იმუშაოს.

Შენიშვნა: იმის გამო, რომ სისტემები მუდმივად განახლებულია, მოცემული ფაილის ბილიკები შეიძლება არ იყოს მოქმედი, ანუ განსხვავდება თქვენი სისტემისგან. ამიტომ, ყურადღებით დააკვირდით თქვენი სისტემის პაკეტის სტრუქტურას.