نصب اوبونتو از شبکه نصب اوبونتو از طریق شبکه از طریق PXE. سوار شدن از طریق fstab

اول از همه، شما به یک کامپیوتر با اوبونتو یا توزیع لینوکس دیگری نیاز دارید (این دستورالعمل برای اوبونتو نوشته شده است) که سیستم را از طریق آن نصب کنید (سرور بوت شبکه)، و یک تصویر ISO از یک دیسک جایگزین با نسخه مورد نیاز اوبونتو.

پیکربندی یک سرور بوت شبکه

برای بوت شدن از طریق شبکه، باید روی سرور نصب کنید TFTP, HTTPو DHCPخدماتی که به رایانه دوم اجازه می دهد تا تمام فایل های لازم را متصل و دانلود کند.

بهتر است از aptitude برای نصب هر چیزی که نیاز دارید استفاده کنید که از نسخه 10.10 در توزیع استاندارد اوبونتو گنجانده نشده است. بنابراین، ابتدا aptitude را از طریق هر نصب کننده بسته یا با دستور نصب کنید

sudo apt-get install aptitude sudo aptitude -R install apache2 atftpd tftpd-hpa dhcp3-server

سوئیچ -R برای اینکه atftpd بدون سرور inetd نصب شود مورد نیاز است که اصلاً به آن نیاز ندارید.

اکنون نوبت به تنظیم تمام اجزاء است.

سرور TFTP

دیمون با استفاده از این فایل ها - /etc/hosts.allowو /etc/hosts.denyبرای محدود کردن دسترسی

فایل / etc / default / atftpd را در هر ویرایشگر متنی با حقوق superuser باز کنید، برای مثال، مانند این:

sudo nano / etc / default / atftpd

خط اول را تغییر دهید

USE_INETD = درست USE_INETD = نادرست

همچنین دایرکتوری انتهای خط OPTIONS را به خاطر بسپارید. به احتمال زیاد / srv / tftp خواهد بود، اما اوبونتو قدیمی ممکن است / var / lib / tftpboot داشته باشد. ویرایش فایل / etc / default / tftpd-hpa:

sudo nano / etc / default / tftpd-hpa

دایرکتوری حفظ شده را وارد کنید

TFTP_DIRECTORY = "/ srv / tftp"

اکنون فقط atftpd را شروع کنید:

sudo / etc / init.d / atftpd start

حالا یک پوشه ubuntu در پوشه OPTIONS ایجاد کنید. در ادامه، در همه جا فرض می کنیم که دایرکتوری / srv / tftp استفاده می شود:

mkdir / srv / tftp / ubuntu

پس از آن، شما باید تصویر ISO خود را در دایرکتوری جدید ایجاد کنید. این را می توان با دستوری مانند این انجام داد:

sudo mount -o loop / home / tux / ubuntu-11.04 -alternate-i386.iso / srv / tftp / ubuntu /

اگر تصویر دیسک ISO ندارید، اما یک دیسک جایگزین سوخته دارید، کافی است آن را در درایو CD/DVD خود قرار دهید. دیسک به طور خودکار در / media / cdrom نصب می شود. سپس شما فقط باید یک سیم پیوند برای سرور TFTP ایجاد کنید: sudo ln -s / media / cdrom / srv / tftp / ubuntu

این پیکربندی TFTP را کامل می کند.

وب سرور آپاچی

شما نیازی به تغییر چیزی در تنظیمات آپاچی ندارید، فقط باید دایرکتوری ubuntu ایجاد شده در بخش قبلی را از طریق HTTP در دسترس قرار دهید. برای انجام این کار، از پوشه کاری آپاچی، یک سیم لینک روی آن ایجاد کنید:

sudo ln -s / srv / tftp / ubuntu / var / www / ubuntu

اگر به جای تصویر ISO از یک دیسک رایت شده استفاده می کنید، sudo ln -s / media / cdrom / var / www / ubuntu را اجرا کنید.

سرور DHCP

تنها چیزی که باقی می ماند این است که سرور DHCP را به درستی پیکربندی کنید. فایل /etc/dhcp3/dhcpd.conf را در هر ویرایشگر متنی با حقوق superuser باز کنید، به عنوان مثال، با دستور

sudo nano / etc / dhcp3 / dhcpd.conf

در این فایل باید تنظیمات زیر را تغییر دهید:

# نام دامنه داخلی شما. اگر این چیزی به شما نمی گوید، فقط آن را تغییر ندهید.نام دامنه گزینه "domain.ru"؛ # سرور DNS شما برای استفاده در رایانه متصل. اغلب، آدرس IP روتر وجود دارد.گزینه domain-name-servers 192.168.0.1; # فقط این خط را لغو نظر کنیدمعتبر # اکنون باید شبکه را برای سرور DHCP تعریف کنیم: # زیر شبکه و ماسک زیر شبکه مورد نظر ابتدا.زیر شبکه 192.168.0.0 netmask 255.255.255.0 ( # محدوده آدرس های صادر شده توسط سرورمحدوده 192.168.0.100 192.168.0.199; # روتر برای دسترسی به اینترنتروترهای گزینه 192.168.0.1; # در هنگام بوت شبکه کدام فایل را دانلود کنیم - دقیقا در این فرم مشخص کنید.نام فایل = "ubuntu / install / netboot / pxelinux.0"; }

پس از آن، باید به سرور DHCP خود بگوییم که به یکی از اینترفیس ها گوش دهد. برای انجام این کار، فایل / etc / default / dhcp3-server را باز کنید و نام رابط مورد نیاز را به پارامتر INTERFACES اضافه کنید. به عنوان مثال، مانند این:

رابط = "eth0"

اکنون باید سرور DHCP را راه اندازی کنید و می توانید نصب را ادامه دهید. با این حال، قبل از شروع، مطمئن شوید که هیچ سرور DHCP دیگری در شبکه شما در حال اجرا نیست. اغلب، DHCP روی روترها در حال اجرا است، در این مورد، باید به روتر بروید و این سرویس را روی آن متوقف کنید.

بنابراین، برای راه اندازی سرور DHCP، فقط دستور را اجرا کنید

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

اکنون باید رایانه دوم را در حالت بوت شبکه قرار دهید. پس از آن، باید صفحه نصب اوبونتو را ببینید.

نصب نرم افزار با استفاده از Minimal CD

اگر به دلایلی نمی توانید از یک سی دی کامل با اوبونتو استفاده کنید، اما همچنان یک درایو سی دی و اتصال اینترنت در رایانه خود دارید، می توانید با بوت شدن از یک سی دی کوچک Minimal، سیستم را از طریق شبکه نصب کنید.

در این صورت، سیستم به طور کامل از مخزن اینترنت نصب می شود و دیسک تنها برای شروع فرآیند نصب مورد نیاز خواهد بود.

هر کسی که حداقل گهگاه در بخش مدیریت حداقل یک بار نیاز به نصب یک سیستم عامل بر روی رایانه داشت. و اغلب همه چیز مانند این اتفاق می افتد: تصویر بارگیری می شود، روی دیسک یا درایو فلش نوشته می شود، بارگیری و نصب می شود. اما ممکن است معلوم شود که فلش درایو یا دیسکی در دسترس نیست و نصب باید دیروز انجام شود ... سپس می توانید از طریق شبکه بوت شوید و لینوکس از این نظر مشکل خاصی ندارد. یک پیکربندی معمولی یک بسته نرم افزاری است DHCP, TFTPو NFS... اما من کوک را در دست نداشتم NFS، اما بود سامبا... بنابراین باید نحوه استفاده از آن را کشف می کردم سامبابجای NFS.

به نظر می رسد چیزی شبیه به آن نیست، تنظیمات را تغییر دادم و تمام، اما چیزی در ابتدا کار نمی کرد، مجبور شدم شمن کنم ...

اما من از همان ابتدا از اینجا شروع می کنم. بنابراین ابتدا باید یک کیت توزیع تهیه کنید. از آنجایی که قرار داده ایم لینوکس مینتبه دنبال ظاهری تازه ما کیت توزیع مناسب خود را دانلود می کنیم (من آن را نصب کردم رفیق، اما بدیهی است که واقعاً مهم نیست). پس از دانلود تصویر، باید به فایل های تصویر دسترسی داشته باشید. برخی از راهنماها باز کردن تصویر را توصیه می‌کنند، اما من هیچ نکته‌ای در این نمی‌بینم، بنابراین از این عقیده حمایت می‌کنم که باید تصویر را به صورت نصب کنید. حلقه... برای اینکه با نظم موجود تداخل نداشته باشیم، به سادگی یک دایرکتوری جدید ایجاد می کنیم که در آن تصویر را نصب می کنیم:

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

در مرحله بعد، باید فایل ها را از طریق شبکه برای خواندن توسط نصب کننده در دسترس قرار دهید. همانطور که در بالا گفتم، من برای این منظور دارم سامبا... بنابراین، فایل پیکربندی را باز کرده و با افزودن قسمت زیر یک توپ جدید اضافه می کنیم:


مسیر = / mnt / mint
موجود = بله
قابل مرور = بله
عمومی = بله
قابل نوشتن = نه

باید روی تنظیمات پیش فرض کار کند سامبا... اگر کار نکرد، به احتمال زیاد خودتان چیزی را تغییر داده اید، به این معنی که نحوه حل مشکل را پیدا خواهید کرد. بنابراین ما توپ را اضافه کردیم نعناع، که از طریق آن می توانید فایل هایی را برای نصب از شبکه دریافت کنید. به یاد داشته باشید که دوباره راه اندازی کنید سامبابرای پذیرش تنظیمات جدید

برای Archlinux:

# systemctl smbd را راه اندازی مجدد کنید
# systemctl راه اندازی مجدد nmbd

برای جنتو:

# /etc/init.d/samba راه اندازی مجدد

در مرحله بعد باید بوت لودر شبکه را آماده کنید. این برنامه به ما در این امر کمک خواهد کرد. tftp-hpa... V Archlinuxو در جنتوبسته به این صورت نامگذاری شده است. شما باید فایل های بوت لودر را در دایرکتوری کاری سرور 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
LABEL LinuxMint
KERNEL vmlinuz
APPEND showmounts toram root = / dev / cifs boot = casper netboot = cifs nfsroot = // 192.168.0.1/mint NFSOPTTS = -gouest، ro initrd = initrd.lz nosplash

جایی که 192.168.0.1 - آدرس IP ما نسبت به دستگاهی که قرار است روی آن شرط بندی کنیم. اوه بله، و در مورد nfsدر حالت کار با اشتباه املایی وجود ندارد سیفس،باید گزینه هایی مانند for را پاس کنید nfs،نمی توانم بگویم چرا باید به گزینه toram توجه ویژه ای داشت ، زیرا بدون آن همه چیز در نیمه راه می افتد و ما نمی توانیم بوت کنیم (شاید اینها ویژگی های سامبا باشند). اما با استفاده از این گزینه، باید به خاطر داشته باشید که دستگاه مورد نظر باید رم کافی برای کپی کردن نصب کننده در آنجا داشته باشد. سرور TFTP باید راه اندازی شود. برای Archlinux:

# systemctl tftpd.socket start

برای جنتو:

# /etc/init.d/in.tftpd شروع کنید

اکنون بایوس ماشین هدف باید به نحوی بگوید که از کجا بارگذاری شده است. این به ما کمک خواهد کرد dnsmasq(اگرچه لازم نیست، می توانید از سرور DHCP دیگری استفاده کنید، در اینجا من آنچه را که در دسترس بود، توضیح می دهم). تنظیم توزیع IP (گزینه dhcp-range) به صلاحدید شما، تحت "شبکه" شما بین ماشین ها. برای نصب، فقط سه گزینه برای ما مهم است:

Dhcp-boot = / pxelinux.0
dhcp-option = فروشنده: PXEClient, 6,2b
pxe-service = x86PC، "نصب لینوکس"، pxelinux

آنها باید به پیکربندی اضافه شوند dnsmasq، و البته آن را شروع کنید (یا راه اندازی مجدد کنید).

برای Archlinux:

# systemctl شروع dnsmasq

برای جنتو:

# /etc/init.d/dnsmasq شروع کنید

به یاد داشته باشید، برای اینکه همه چیز کار کند، لازم است که پورت ها روشن باشند DHCP(UDP 67.68)، TFTP(UDP 69)، سامبا(UDP 137,138, TCP 139,445) باید باز باشد، حتماً این را در پیکربندی فایروال خود در نظر بگیرید. اگر دیوار آتش وجود ندارد یا رابط کاملاً باز است - خوب، خوب، باید کار کند.

توجه داشته باشید: با توجه به این واقعیت که سیستم ها به طور مداوم به روز می شوند، مسیرهای فایل داده شده ممکن است نامعتبر باشند، یعنی با مسیرهای موجود در سیستم شما متفاوت باشند. بنابراین، نگاهی دقیق به ساختار بسته سیستم خود بیندازید.

برای مدت طولانی برای من یک معما بود که چرا اوبونتو فقط دو گزینه برای دیسک نصب دارد - دسکتاپ و جایگزین. در دبیان، علاوه بر دیسک‌های نصب کامل معمولی که بلافاصله گنوم یا KDE کامل را نصب می‌کنند، یک دیسک NetInstall نیز برای نصب سیستم روی شبکه وجود دارد.

سی دی قابل بوت در این نسخه برای اجرای نصب کننده طراحی شده است که حداقل مجموعه مورد نیاز از بسته ها را نصب می کند. هر چیز دیگری در صورت لزوم از شبکه دانلود و نصب می شود. این گزینه مقدار زیادی صلاحیت کاربر را که نصب را انجام می دهد، در نظر می گیرد، اما انعطاف پذیری برای نصب فقط اجزای سیستم ضروری را فراهم می کند. همچنین باعث صرفه جویی در فضای دیسک می شود.

معلوم شد که اوبونتو همچنین دارای یک نوع دیسک نصب است که برای نصب از طریق شبکه در نظر گرفته شده است. فقط لینک دانلود در صفحه اصلی سایت نیست. و در آدرس زیر مخفی شده است.

من به این سؤال علاقه داشتم که حداقل اندازه ای که می توانید بدون انجام ترفندهای خاص یک اوبونتو نصب شده دریافت کنید چقدر است. برای آزمایش، تصمیم گرفته شد که اوبونتو را از یک دیسک حداقل در VirtualBox نصب کنید.

حداقل اندازه تصویر دیسک 11 مگابایت است. این مقدار کمی است و به شما امکان می دهد با هر سرعتی، حتی با کمترین سرعت، آن را پمپ کنید.

اما در هنگام نصب، توصیه می شود یک کانال اینترنتی سریعتر داشته باشید. چون مینیمال دیسک به جز خود نصب کننده هیچی نداره. بنابراین، در طول مراحل نصب، همه چیز نوسان می کند. در واقع همه چیز!

من اولین تلاش خود را برای نصب اوبونتو از روی یک دیسک حداقل با اتصال به اینترنت از طریق ADSL با سرعت 128 کیلوبیت بر ثانیه انجام دادم. نصب (عمدتاً دانلود بسته ها) چند ساعت طول کشید.

برای آزمایش دوم، ما موفق شدیم یک اتصال را با سرعت بسیار بالاتری پیدا کنیم.

هنگام بوت شدن از یک دیسک مینیمال، ابتدا با یک پیام متنی مواجه می شویم:

و سپس منوی گرافیکی (!) قابل بوت شدن پیش فرض اوبونتو:

مورد موجود "Command-line install" به این معنی نیست که نصب از خط فرمان انجام می شود. در هر صورت، نصب کننده در حالت متنی شروع می شود.

مورد "گزینه های پیشرفته" شامل یک منوی اضافی است:

به شما امکان می دهد Expert install را اجرا کنید. هنگامی که آن را انتخاب می کنید، یک منو با مراحل نصب ظاهر می شود که به شما امکان می دهد آنها را به ترتیب تقریباً تصادفی انجام دهید:

من مورد را انتخاب می کنم - "نصب".

نصب کننده متن عادی است. مانند دیسک جایگزین. تنها تفاوت این است که بسته ها از دیسک گرفته نمی شوند، بلکه از طریق شبکه دانلود می شوند.

نصب کننده به طور سنتی زبان را درخواست می کند:

چیدمان صفحه کلید را پیکربندی می کند:

سپس از شما می خواهد که یک مخزن را انتخاب کنید:

که به طور پیش فرض محلی برای کشور انتخاب شده پیشنهاد می شود:

( 2018-04-10 )

PXE محیطی برای بوت کردن رایانه با استفاده از کارت شبکه بدون استفاده از رسانه محلی است. امکانات کاربرد به اندازه کافی گسترده است: از راه اندازی اولیه ساده سیستم تا راه اندازی سیستم های کاری کامل بدون استفاده از دیسک محلی.

مدتی پیش، نویسنده این سطور یک دستگاه قدیمی IBM ThinkCentre S51 8171 با درایو CD معیوب به دست آورد. بوت شدن از درایو فلش USB ایجاد شده با UNetBootin نیز با مشکلاتی روبرو شد و آخرین امید باقی ماند: بارگیری نصب کننده از طریق PXE. تجربیات به دست آمده در زیر به اختصار توضیح داده خواهد شد.

IBM ThinkCentre S51 8171 پرکننده بسیار خوبی برای دستگاه 2006 دارد: Pentium 4 540، 2x512MB DDR، 30GB ATA HDD. اما در سال 2018 کم رنگ به نظر می رسد، اگرچه اکنون می توان آن را در بسیاری از موارد استفاده کرد. مشکل اصلی: پردازنده از EMT64 پشتیبانی نمی کند و بنابراین سیستم عامل باید 32 بیتی باشد. خوشبختانه اوبونتو 16.04 در نسخه i386 وجود دارد و تصمیم به نصب آن گرفته شد.

تصمیم گرفته شد که از یک سرور خانگی که اوبونتو 16.04 را اجرا می کند به عنوان سرور بوت استفاده شود. سرور isc-dhcp برای توزیع آدرس ها در شبکه محلی استفاده می شود. بقیه پیکربندی سرور نسبتاً معمولی است. برای ایجاد محیط PXE به سرور نیاز داریم. ما از بسته "tftpd-hpa" استفاده خواهیم کرد. آن را نصب کنید، و همچنین (فقط در مورد) یک سرویس گیرنده tftp:

Apt-get نصب tftpd-hpa tftp-hpa

به طور پیش فرض، tftpd-hpa از دایرکتوری "/ var / lib / tftpboot" استفاده می کند. اگر به دلایلی لازم است این مورد را تغییر دهید، باید فایل "/ etc / default / tftpd-hpa" را مطابق با آن ویرایش کنید و سرویس "tftpd-hpa" را مجددا راه اندازی کنید. اما ما با تنظیمات پیش فرض خوب هستیم.

فهرستی از نصب‌کننده‌های موجود Ubuntu 16.04 برای راه‌اندازی PXE و نصب شبکه در این صفحه قابل مشاهده است. ما علاقه مند به آرشیوی به نام "netboot.tar.gz" برای معماری i386 هستیم. آن را دانلود کرده و در پوشه سرور tftp باز کنید:

Wget http://archive.ubuntu.com/ubuntu/dists/xenial-updates/main/installer-i386/current/images/netboot/netboot.tar.gz mkdir -p / var / lib / tftpboot / ubuntu / tar zxfv netboot.tar.gz -C / var / lib / tftpboot / ubuntu /

این کار آماده سازی سرور TFTP را تکمیل می کند و تنها چیزی که باقی می ماند پیکربندی سرور DHCP است. کل پیکربندی به اضافه کردن خط خلاصه می شود:

# مسیر فایل "pxelinux.0" نسبت به نام فایل دایرکتوری سرور TFTP "ubuntu / pxelinux.0".

این خط را می توان به توضیحات یک زیر شبکه، گروه میزبان یا حتی یک میزبان خاص اضافه کرد. نکته اصلی این است که دستگاهی که به خاطر آن همه این کارها انجام می شود پیکربندی مورد نظر را دریافت می کند. پس از آن می توانید دستگاه را روشن کرده و PXE boot را انتخاب کنید تا نصب سیستم ادامه یابد. پس از دانلود نصب کننده، نصب به روش معمول پیش می رود، گویی بوت شدن از "MinimalCD" انجام شده است.

این می تواند انجام شود، اما یک نکته جالب دیگر وجود دارد: نصب خودکار. نصب کننده اوبونتو تا حدی از فرمت پیکربندی kickstart از RedHat Linux پشتیبانی می کند. می توانید در مورد آن بیشتر بخوانید. اگر نیاز به استفاده از اسکریپت نصب بدون نظارت وجود دارد، ابتدا باید یک فایل اسکریپت ایجاد کنید و آن را در یک وب سرور در شبکه محلی قرار دهید، سپس باید کمی فایل "/ var / lib / tftpboot / ubuntu را تغییر دهید. / ubuntu-installer / i386 / boot-screens / txt.cfg ":

#append vga = 788 initrd = ubuntu-installer / i386 / initrd.gz --- quiet append ks = http: //192.168.2.1/ks.cfg vga = 788 initrd = ubuntu-installer / i386 / initrd.gz - - ساکت

در اینجا پارامتر "ks=" نشانی اینترنتی را مشخص می کند که اسکریپت پیکربندی kickstart در آن قرار دارد. مطالعه دقیق تر این موضوع به خواننده واگذار خواهد شد.

همین. کار خوبی داشته باشید

در اتاق های سرور، بیشتر و بیشتر با سرورهای بدون درایوهای CD / DVD مواجه می شوید. هر از چند گاهی باید یک سیستم عامل روی آنها نصب کنید و نصب از طریق شبکه می تواند کمک زیادی به این امر کند. شما فقط سرور را روشن کنید و نصب را شروع کنید. کارت شبکه باید از فناوری PXE پشتیبانی کند. PXE - Pre-Boot Execution Environment - به شما امکان بوت شدن از طریق شبکه را می دهد.

اما PXE برای شادی کامل کافی نیست، فناوری که به شما امکان می دهد نصب را کاملاً خودکار کنید - kickstart (توسعه یافته توسط Red Hat). ماهیت آن ساده است - ما یک فایل از قبل حاوی مقادیر تمام گزینه هایی که ممکن است در طول نصب مورد نیاز باشد، می سازیم. علاوه بر این، ما می توانیم اسکریپت های خود را قبل و بعد از نصب اجرا کنیم، در نتیجه تنظیمات سیستم عامل آینده را تنظیم کنیم.

یک نصب معمولی لینوکس 5-7 دقیقه طول می کشد.

سرور نصب به 3 سرویس و 1 بسته نیاز دارد.


  • DHCP اعتبار شبکه را به مشتریان ارائه می دهد

  • TFTP یک راه آسان برای اشتراک گذاری فایل ها از طریق شبکه است

  • Syslinux شامل بوت لودر pxelinux.0 و چند فایل دیگر است

  • NFS دسترسی به فایل سیستم را از طریق شبکه فراهم می کند
فرآیند نصب را می توان به مراحل زیر تقسیم کرد:

  1. pxe - سیستم عامل pxe زمانی کار خود را شروع می کند که نصب را از طریق شبکه در BIOS تنظیم می کنیم، یا زمانی که هیچ MBR روی هارد دیسک پیدا نمی شود.

  2. فاز 1 DHCP - مشتری اعتبار شبکه و آدرس سرور tftp و همچنین نام فایل لودر (pxelinux.0) را دریافت می کند. به طور پیش فرض، سرور TFTP یک سرور DHCP است.

  3. TFTP - بوت لودر pxelinux.0 با سرور TFTP تماس می گیرد و initrd.img (دیسک RAM اولیه، سیستم فایل موقت)، هسته لینوکس را درخواست می کند.

  4. هسته - انتقال کنترل به هسته لینوکس.

  5. فاز 2 DHCP - هسته لینوکس از سرور DHCP درخواست می کند تا اعتبار شبکه و سپس آدرس سرور NFS را دریافت کند.

  6. NFS - مرحله ای که پارتیشن NFS نصب می شود

  7. init - / sbin / init راه اندازی می شود و کنترل به آن منتقل می شود. Init فرآیند اصلی در سیستم است، سایر فرآیندها فرآیندهای فرزند اولیه هستند.
آزادانه:

سرور DHCP به درخواست های بوت در شبکه خود گوش می دهد. پس از دریافت درخواست، به آدرس MAC مبدا نگاه می کند و اگر سابقه مربوط به چنین مک آدرسی را داشته باشد، شروع به کار با آن می کند. سرور DHCP جزئیات شبکه (آدرس IP، دروازه، سرورهای DNS، ...) را در اختیار مشتری قرار می دهد و از طریق TFTP، با استفاده از یک سرور TFTP، تصویر بوت pxelinux.0 را ارسال می کند. این تصویر برای نمایش منوی انتخاب سیستم عامل کافی است.

با انتخاب سیستم عامل، بارگیری هسته را شروع می کنیم و نصب را آغاز می کنیم، در این فرآیند منبع نصب - سرور NFS را انتخاب می کنیم. شما باید محتوای آماده شده سیستم عامل آینده را در سرور NFS آپلود کنید و مطمئن شوید که دایرکتوری های مربوطه صادر شده اند.

DHCP

DHCPD را نصب کرده و به راه اندازی اضافه کنید:
# yum -y dhcp را نصب کنید
# chkconfig dhcpd روشن است

فایل /etc/dhcpd.conf را به صورت زیر می سازیم:

Ddns-update-style interim;
نادیده گرفتن به روز رسانی های مشتری؛
زیر شبکه 192.168.146.0 netmask 255.255.255.0 (
روترهای گزینه 192.168.146.1;
گزینه subnet-mask 255.255.255.0;
نام دامنه گزینه "domain.local"؛
گزینه domain-name-servers 192.168.146.1;
پیش فرض-اجاره-زمان 21600;
حداکثر زمان اجاره 43200;
اجازه bootp.
اجازه بوت شدن؛
میزبان یونیکس باکس (
اترنت سخت افزاری 00: 0c: 29: 77: 9c: 9c;
آدرس ثابت 192.168.146.128;
نام فایل "pxelinux.0"؛
نام میزبان گزینه "unixbox"؛
سرور بعدی 192.168.146.1;
}
}

DHCPD را راه اندازی کنید یا اگر شروع شده بود راه اندازی مجدد کنید:
# سرویس dhcpd راه اندازی مجدد

فایروال را که به طور پیش‌فرض فعال شده است غیرفعال کنید (در غیر این صورت، رایانه مورد نظر خطای «ICMP Destination unreachable (Host Administrative Prohibited)» را در زمان راه‌اندازی دریافت می‌کند):
# سرویس iptables متوقف می شود
# chkconfig iptables خاموش است

TFTP

بسته tftp-server را از مخزن نصب کنید:
# yum -y سرور tftp را نصب کنید

اکنون باید tftp را در پیکربندی xinetd فعال کنید، برای این تغییر "disable = yes" به "disable = no" در فایل /etc/xinetd.d/tftp و فعال کردن xinetd:
# سرویس 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 / صادرات

سرور 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 آپلود کنید:
# mount / 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 را اضافه کنید
برچسب ترک
localboot 0

نصب سیستم عامل از طریق شبکه

پس از تمام دستکاری هایی که در بالا توضیح داده شد، می توانیم شروع به نصب سیستم عامل کنیم. ما دستگاه خود را با آدرس MAC 00: 0c: 29: 77: 9c: 9c راه اندازی می کنیم و راه اندازی شبکه را در BIOS فعال می کنیم. هنگامی که نصب شروع می شود، همه چیز را به روش استاندارد انجام می دهیم، به جز اینکه در لیستی که سیستم عامل را از کجا نصب کنید، باید 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 ایجاد کردیم، باید آن را به سرور Install منتقل کرده و از طریق یکی از پروتکل های HTTP، NFS یا FTP در دسترس قرار دهیم. از آنجایی که سرور Install به طور فعال از NFS استفاده می کند، ما از آن استفاده خواهیم کرد.

در مورد من، فایل kickstart در / var / install-server / centos5_x86 / centos5_ x86_ks.cfg قرار دارد.

تنها کاری که باید انجام دهید این است که دستور ks را به فایل /tftpboot/pxelinux.cfg/default اضافه کنید و محل فایل kickstart را مشخص کنید. مثال با فایل kickstart:
منوی پیش فرض.c32
عنوان منو سرور نصب لینوکس. لطفاً سیستم عامل را برای نصب انتخاب کنید.
درخواست 0
تایم اوت 100
برچسب CentOS 5 x86 نصب سفارشی
هسته / centos5_x86 / vmlinuz
initrd = / centos5_x86 / initrd.img را اضافه کنید
برچسب 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
برچسب ترک
localboot 0

اکنون با انتخاب "CentOS 5 x86 Kickstart Install" در منوی انتخاب سیستم عامل، فقط باید منتظر سروری باشیم که سیستم عامل روی آن نصب شده است.

در زیر نمونه ای از فایل Kickstart من است. من گزینه "PermitRootLogin yes" را در تنظیمات sshd در سیستم عامل نصب شده می خواستم. فایل kickstart نه تنها امکان تنظیم پارامترهای نصب سیستم عامل، بلکه اجرای اسکریپت ها را قبل از نصب (% قبل) و بعد از (% post) می دهد. بنابراین، می توانید تعداد زیادی اسکریپت تنظیم بنویسید و در 5-10 دقیقه نصب، یک سیستم عامل کاملاً تمام شده دریافت کنید.

#پلتفرم = x86، AMD64، یا Intel EM64T
# اطلاعات مجوز سیستم
auth --useshadow --enablemd5
# پیکربندی بوت لودر سیستم
بوت لودر --location = mbr
# رکورد اصلی بوت را پاک کنید
zerombr
# اطلاعات پاکسازی پارتیشن
clearpart --all --initlabel
# از نصب حالت متن استفاده کنید
متن
# پیکربندی فایروال
فایروال -- غیر فعال
# Setup Agent را در اولین بوت اجرا کنید
firstboot -- غیر فعال کردن
# صفحه کلید سیستم
صفحه کلید ما
# زبان سیستم
lang en_US
# سطح ورود به سیستم نصب
ورود به سیستم --level = اطلاعات
# از رسانه نصب NFS استفاده کنید
nfs --server = 192.168.146.1 --dir = / var / install-server / centos5_x86
# اطلاعات شبکه
شبکه --bootproto = dhcp --دستگاه = eth0 --onboot = روشن
#رمز عبور ریشه
rootpw --iscrypted $ 1 $ Bz09jb2I $ hfzh2vApqMjG0sEPsAwNr /
پیکربندی # SELinux
selinux -- غیر فعال است
# سیستم پنجره X را پیکربندی نکنید
skipx
# منطقه زمانی سیستم
منطقه زمانی اروپا / مسکو
# به جای ارتقا، سیستم عامل را نصب کنید
نصب
# اطلاعات پارتیشن بندی دیسک
مبادله قسمت --bytes-per-inode = 4096 --fstyle = "swap" --size = 512
part / --bytes-per-inode = 4096 --ftype = "ext3" --grow --size = 1

% post --interp / bin / bash
PATH = / کاری
/ bin / mkdir $ PATH
/ bin / sed -e 's / # PermitRootLogin بله / PermitRootLogin بله / g' / etc / ssh / sshd_config> $ PATH / sshd_config_edited
/ bin / cp $ PATH / sshd_config_edited / etc / ssh / sshd_config
/ bin / rm -rf $ PATH