لینوکس و شبکه

لینوکس و شبکه
طبقه بندی موضوعی
آخرین مطالب
  • ۹۸/۱۲/۱۴
    bond
  • ۹۸/۱۰/۲۰
    GIT
  • ۹۸/۱۰/۱۴
    DISK

۱۰ مطلب در مهر ۱۳۹۶ ثبت شده است

۱۴
مهر


با استفاده از دستور init  و telinit میتوان به mode دیگر از وضعیت RunLevel رفت:

برای تغییر حالت به runlevel دلخواه، کافی ست شماره آن Run Level  را جلویinit  یا telinit بنویسید.
تغییر حالت runlevel کنونی به runlevel شماره صفر(خاموش شدن سیستم)

# init 0

همچنین

# telinit 0


اگر در فایل inittab 2 شماره Run Level را تغییر دهید، در این صورت همواره سیستم به Run Level  تنظیم شده بوت خواهد شد.
برای اینکار کافی ست شماره Run Level  را در فایل inittab جایگزین عدد ذیل نمایید(etc/inittab):

id:5:initdefault


  • behrooz mohamadi nsasab
۱۴
مهر
حالت‌های Run Level
سیستم عامل می تواند تنها در هفت حالت زیر باشد که به آنها ران لول می‌گویند:
0. Halt Mode :حالت توقف سیستم
1. single User Mode :حالت خط فرمان یا همان Command Line
2. Debian/Ubuntu Default :تمام شرایط Normal بوده و تنها تفاوت درLoad شدن بدون نمای گرافیکی است
3. RHEL/fedora/suse):Text Mode
4. Free : رزرو شده، خالی
5. RHEL/fedora/suse : Graphical Mode -تمام شرایط Normal بوده و نمای گرافیکی نیز  Load می شود.
6. Reboot


نمایش وضعیت Run level کنونی سیستم
# runlevel
خروجی(به معنی runlevel  شماره 5):
N 5






  • behrooz mohamadi nsasab
۱۴
مهر
دستور start نمودن یک سرویس:

# service نام سرویس start
همچنین دستور فوق برای توزیع‌های لینوکسی مبتنی بر Debian به شکل زیر نیز عمل اجرا میشود:

# /etc/init.d/نام سرویس start

نکته:عملیاتstatus, 1 force-reload, restart, stop2 یک سرویس به هردو نحو بالا نیز انجام می شود.

1-خواندن مجدد تنظیمات یک سرویس از فایل‌های سیستمی آن سرویس

2-وضعیت سرویس که در حالت روشن ویا خاموش است

  • behrooz mohamadi nsasab
۱۴
مهر

از امکانات مهمی که GRUB  ارائه می دهد ارائه رمز عبور، امکان ارسال پارامترهای Boot به کرنل، همچنین انجام اینکار بدون هنگ کردن و بروز مشکل برای فایل‌های تنظیماتی GRUB، امکان Boot   سیستم عامل ویندوز در کنار سیستم عامل لینوکس است. همچنین GRUB  تکنولوژی LBA یا Logical Block Addressing را پشتیبانی می‌کندکه  امکان دستیابی I/O  فایلهای بوت را بصورت ساده مهیا میکند. GRUB توانایی بوت کردن سیستم عامل در شبکه را نیز دارد.
در زمان بروز خطا، LILO بایستی مجددا نصب شود تا بتواند MBR را تعمیر کند،  اماGRUB آن را در حالت خط فرمان درآورده تا بصورت دستی یا خودکار تنظیمات تعمیر بشود.
GRUB دارای پیچیدگی های بیشتری نسبت به LILO است. Grub برای سیستم عامل های مختلف قابل استفاده است اما LILO برای سیستم عامل های محدودی قابل استفاده است.

نکته: قبل از  بالا آمدن سیتم عامل در منوی Grub باز فشردن دکمه `e` میتوان به تنظیمات grub راه یافت.
نکته:در زمان نمایش منوی Grub سیستم عامل پیشفرض بعد از گذشت زمان 10 یا 30 ثانیه بصورت خودکار انتخاب خواهد.


Chan Load
زمانی که Boot Loader های سیستم عاملها یکدیگر را Load کنند، این تعریف معنا پیدا خواهد کرد.




تنظیم پارامترهای اولیه LILO

# /usr/sbin/liloconfig

نصب Grub

# grub-install /dev/sda

تعمیر ونصب مجدد Grub2 درMBR  قراردادن آن در فایل تنظیمات اصلی Grub2 به آدرس زیر 3:

# grub-mkconfig > /boot/grub/grub.cfg

تنظیمات grub2 در مسیرزیر قراردارد.

/boot/grub/grub.cfg

تنظیماتgrub  در مسیرزیر قراردارد.

/boot/grub/menu.lst

تنظیمات LILO در مسیرزیر قراردارد.

/etc/lilo.conf

initrd در مسیر زیر قراردارد

/boot/initrd. . . . img

معرفی پارامترهای تنظیماتی
در تنظیمات Grub ویا در صفحه منوی Grub برخی از پارامترها بصورت زیر میباشد.

Default

این پارامتر سیستم عامل پیشفرض را که پس از گذشت زمان 10 ثانیه می بایست Load بشود را تنظیم میکند.را Load میکندdefault=2 یعنی سیستم عامل دوم در منوی سیستم عامل های Grub 2
نکته: اندیس در Grub1 از صفر شروع می شود، ولی در Grub2 از یک شروع میشود.

splashimage=(hd0,5) /boot/grub/splash.xpm.gz

نمایش عکس زمینه گرافیکی در آدرس تعریف شده (هارد اول، پارتیشن پنجم و آدرس موردنظر )

Splash

عکس پس زمینه

Title

عنوان نمایش گراب

root (hd0,5)

مسیر روت را مشخص مینماید که درکدام پارتیشن است

kernel /boot/vmlinuz-2.6.26.8.125 ro quite

در منوی Grub در لحظه شروع با فشردن F10 کرنل  به آدرس بالا Load خواهد شد.

Quite: بجای نمایش خط ها صفحه گرافیکی نمایش داده شود در لحظه بوت شدن و بالا آمدن کرنل
ro:فقط خواندنی

در آخر این خط اگر کاراکتر عدد1 ویا s  باشد، سیستم عامل در محیط Run level تک کاربره (Single user) Load خواهد شد.

Save default

بخاطر سپردن انتخاب قبل
نکته: در فایل تنظیماتی گراب  اگر تنظیمات گراب را به شکل زیر تغییر دهید سیستم با محیط bash  بالا خواهد آمد:

init=/bin/sh

نکته: در تنظیمات Grub در خطی که با عبارت Vmlinuz یاkernel آغاز میشوداگر ورودی پارامتر Runlevel  را کاراکتر S 1 یا عدد 1 گذارید سیستم در حالت متن فرمان بوت خواهد شد.

  • behrooz mohamadi nsasab
۱۴
مهر

برنامه که بوسیله آن سیستم عامل در حافظه اصلیload شده و به اجرا در می‌آید

.یک boot loader میتواند چندین سیستم عامل را Boot کند.(منظور بطور همزمان نیست)
Boot Loader مسئولیت Load  کردن kernel  و دادن کنترل سیستم به آن را دارد.

پس از بدست گرفتن کنترل سیستم توسط کرنل، سایر قسمتهای باقی مانده سیستم عامل بارگذاری شده وبه اجرا درمی‌آیند.
درحین بوت سیستم، BIOS  قطعه برنامه  Boot Loader  را از داخلMBR به حافظه اصلی (RAM) منتقل می کند.بعد ا ز انتخاب یکی از سیستم عامل های  منوی Boot Loader ، کرنل توسط Boot Loader به داخل RAM منتقل شده و سپس کرنل موجود در Ram نیز برنامه Init را Run میکند و در این هنگام است که کنترل سیستم تحت فرمان کرنل بوده و در هنگام نیاز برنامه Init دیگر برنامه‌ها را به اجرا در خواهد آورد.

سابقه Boot Loader های لینوکس به LILO 1 برمی‌گردد که با ظهور Grub2 نقش LILO کم‌رنگ شد و در  حال حاضر Boot Loader اصلی سیستم عامل لینوکس Grub است.

  • behrooz mohamadi nsasab
۱۴
مهر

Init

مخفف Initialize  بوده و اولین پردازشی است که موجب می شوددیگر پردازش هاLoad  شده تا سیستم عامل  بصورت کامل Load بشود.

در تکنولوژی جدید،  بجای init از systemd  و یا در برخی موارد از upstart استفاده می شود.


Upstart

نسبت به Inti امکانات بیشتری داشته و درآن نواقص Init برطرف شده است.

Init با مشخصه path سرویس ها را start ویا Stop می کند ولی Upstart بر اساس Event (رویداد) سرویس را Start مینماید، همچنین لزوماً نیازمند مسیر نیست. یعنی با یک رویداد (همان event) یک سرویس به اجرا در خواهد آمد.

Upstart بصورت بهینه Dependency ها را تشخیص داده و پیش نیازهای یک سرویس قابل اجرا را قبل تر به اجرا در خواهد آورد.


Systemd(System Deamon)

سرویس ها بر اساس Port (سوکت) شناخته شده و به اجرا درآورده می‌شوند.

این تکنولوژی قابلیت به اجرا درآوردن تمام یا بخشی از یک سرویس را دارد، بطوریکه بخش خاص، یا قسمتی از یک سرویس درخواست داده شده Run بشود.

Systemd هر جزء را (Port ویا Device ویا service و ..) در قالب یک Unit  درنظر میگیرد و میتواند برای هر Unit خاص با UUID منحصر بفرد خود وارد عمل شود.

  • behrooz mohamadi nsasab
۱۴
مهر

Master Boot Record (به فارسی رکورد راه انداز اصلی) قسمتی از حافظه است که وظیفه بالاآوردن(Load) سیستم عامل را (بصورت غیر مستقیم) برعهده داشته و BIOS به صورت مستقیم آن را به اجرا در می آورد.

همچنین می‌توان گفت که برنامه‌ای برای راه اندازی سیستم عامل است که در قسمتی از حافظه (حافظه  ذخیره سازی پارتیشن بندی شده نظیر هارد دیسک،

SSD، فلش درایوها و ...) قرار گرفته و وظیفه حفظ اطلاعات مربوط به پارتیشن‌ها و بالا آوردنKernel (به صورت غیر مستقیم) را بر عهده دارد.

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

با توجه به این که یک سکتور معمولاً دارای 512 بایت حافظه ذخیره سازی است، با قرار گرفتن MBR به صورت کامل پر می‌شود.


وظیفه MBR

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

از آن جایی که 512 بایت فضای بسیار کوچکی برای نوشتن یک برنامه است، MBR تنها این دو وظیفه را بر عهده دارد.



ساختار MBR

MBR از 512 بایت تشکیل می‌شود که بر روی اولین سکتور حافظه نگه داشته می‌شود. این 512 بایت شامل دستوری برای اجرای PBR و جدولی برای حفظ  اطلاعات پارتیشن‌هاست.

در ذیل ساختار یک MBR استاندارد به صورت خلاصه نوشته شده است:

1. کد خود راه انداز (شامل برچسب زمانی، کدهای اصلی، امضای دیسک)-بایت شماره0 تا 445  (446 بایت)

2. جدول پارتیشن‌ها (16 بایت برای هر چهار پارتیشن)-بایت شماره 446 تا 509 (64 بایت)

3. نشان اتمام MBR-باشت شماره 510 تا 511 (2 بایت)

کد خود راه انداز (که Boot loader نیز شناخته می‌شود) همان برنامه و دستوری است که PBR را با توجه به جدول پارتیشن‌ها اجرا می‌کند. دو بایت آخر (به  صورت هگز 55 و AA) نیز نشان دهنده اتمام MBR است.

از آن جایی که MBR فقط 64 بایت برای جدول پارتیشن‌ها اختصاص داده و اطلاعات هر پارتیشن نیز در 16 بایت ذخیره می‌شود، بنابراین MBR می‌تواند فقط چهار  پارتیشن را به عنوان پارتیشن اولیه شناسایی کند درحالی که بقیه پارتیشن‌ها به صورت پارتیشن منطقی شناسایی می‌شوند.  این یکی از مهمترین ضعف‌های MBR است. بوت سکتور جدید با نام GPT درحال جایگزینی MBR است که می‌تواند تا 128 پارتیشن را به عنوان پارتیشن اولیه شناسایی کند.


PBR و ارتباط با MBR در بوت سیستم عامل

نکته: PBR مخفف عبارت Partition Boot Record که در فارسی رکورد راه اندازی پارتیشن معنی می‌دهد.

نکته: در هنگام روشن کردن کامپیوتر که BIOS کنترل سیستم را برعهده دارد

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

دستوری که در MBR قرار می‌گیرد، این است که با توجه به جدول پارتیشن موجو4، پارتیشن فعال را تشخیص داده سپس اولین سکتور آن پارتیشن که شامل PBR است را بخواند و  سپس برنامه PBR که شامل دستوری برای اجرا کردن هسته سیستم عامل است را اجرا نماید.

بنابراین MBR نیازی به دانستن این که سیستم عامل چیست یا هسته آن کجا قرار نگه داشته می‌شود، ندارد.  در این لحظه کار MBR به اتمام رسیده و سیستم توسط PBR اداره می‌شود.

PBR نیز حجم کمی داشته و  تنها کاری که انجام می‌دهد این است که هسته سیستم عامل را به اجرا در بیاورد.

پس از آن که سیستم عامل اجرا شد، کار PBR به اتمام رسیده و خود هسته سیستم عامل کنترل سیستم را بر عهده می‌گیرد. به این ترتیب سیستم عامل به  صورت کامل راه اندازی می‌شود.


GPT (GUID Partition Table)
برخلاف MBR که بیشترین تعداد پارتیشن Primary در آن 4  است، در GPT می توان تا 128 پارتیشن Primary مستقل از هم ایجاد کرد.
نکته: اگر بخواهیم تعداد پارتیشن بیشتری از ۴ تا در نوع MBR داشته باشیم، باید درون پارتیشن Extended پارتیشن های Primary را ایجاد کنیم.
بر خلاف دیسک MBR که در آن حداکثر اندازه Volume تا 2 TB است (در حالت های خاص می توان تا 3 TB رساند)، دیسک GPT توانایی ایجاد پارتیشن با حداکثر اندازه 18 EB یا 18,000,000 TB را داراست.
همچنینMBR  دارای نسخه پشتیبان از جداول  پارتیشن  نیست اما در GPT نسخه backup  وجود دارد
  • behrooz mohamadi nsasab
۱۴
مهر

مرکز اصلی سیستم عامل با حجم بسیار کوچک است که مدیریت کلی سیستم عامل را برعهده داشته و بصورت مستقیم با سخت‌افزار در ارتباط است.

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

 Kernel مستقیما با سخت افزار در ارتباط بوده و I/O Management  و Process  Management و Device  Management و  File  Management و Memory  Management را انجام میدهد.

به بیان دیگر  هر Application یا برنامه کاربردی بر روی سیستم عامل برای ارتباط با سخت‌افزار نیازمند رابطی است که این رابط را کرنل برقرار میکند

  • behrooz mohamadi nsasab
۱۴
مهر
  1. با فشرده شدن دکمه start محتویات BIOS به RAM   منتقل می‌شود.
  2. ارسال سیگنال Post از طرف BIOS (Basic Input Output System ) موجود در Ram (Random Access Memory) به قطعات (جهت بررسی سلامت قطعاً -نکته: درصورت معیوب بودن با فشردن دکمه F1 بروی کیبرد،  میتوان این مرحله را نادیده پنداشت)
  3. تهیه یک لیست از تمام Device ها توسط BIOS
  4. بار گزاری Hard Disk شماره x  و یا هر حافظه که در تنظیمات BIOS آن به عنوان انتخاب اول Boot  در نظر گرفته شده است.
  5. Load شدن 512 بایت از Sector اول حافظه توسط BIOS به داخل RAM که به آنMBR می‌گویند.
  6. Load شدن Grub به همراه تمام تنظیمات و رکوردهای آن ( هنگام نصب Grub که زمان نصب سیستم عامل است، تمام سیستم عامل های موجود توسط Grub کاوش شده و رکوردها را در لیست خود افزوده است)
  7. نمایش GRUB2 در صفحه نمایش ( گراب:  نرم افزار بوت کننده سیستم عامل در لینوکس-نسخه دوم Grub با نام Grub2 شناخته می شود. )
  8. انتخاب سیستم عامل های لیست شده توسط grub
  9. بوت شدن Kernel توسط Grub2 (-توسط-دستورهای rmmode , insmode)
  10. تهیه Log  توسط کرنل (Kernel بصورت محدود از وقایع و رخدادهای سیستم گزارش تهیه میکند- کرنل به مقدار محدود و اندکی بالا می آید و از آن به بعد به برنامه کمکی نیاز دارد )
  11. kernel اولین پردازش با شماره ID یک(ID=1) را راه اندازی مینماید.
  12. اولین پردازش Init نام دارد که خود عامل به اجرا درآمدن دیگر پردازه ها است.
  13. به اجرا درآمدن پردازش (برنامه) تهیه Log از تمام جزییات توسط پردازش اول یعنی همان Init (نکته: برنامه ه معمولاا Log خود را درون دایرکتوری var قرار می‌دهند، همچنین تمام Log ها تا لحظه بوت شدن کامل kernel و تمام شدن عملیات Init در مسیرvar/log/dmesg قرار میگیرند، Kernel Ring Buffer تنها وقایع را تا قبل از بار گزاری syslog را درخود نگهداری میکند )
  14. اجرا آوردن تمام برنامه های مورد نیاز جهت اجرای دستورات موجود در مسیرهای(Path) و فایل سیستم، Swapping ، Port ها، ساعت سیستم، تخصیص حافظه موقت و … .
نکته: جدول پارتیشن ها در MBR (512 بایت اول دیسک، اولین سکتور در دیسک)ذخیره میشود، اگر دیسک دارای حجم بیشتر از 2 ترابایت باشد برای handle شدن پارتیشن ها و همچنین بوت شدن نیاز به حافظه بیشتر از 512 بایت دارد.
نکته: لاگ: ثبت وقایع-ثبت فعالیتهای یک رایانه یا کاربر برای استفاده مدیریت سیستم در زمان آتی جهت اطلاع از وضعیت
  • behrooz mohamadi nsasab
۱۴
مهر

فراهم آوردن ابزاری برای دسترسی افراد کم توان به سیستم عامل(در کل کامپیوتر های شخصی و حتی سرور ها)

AccessX: (معلولیت‌های جسمی) ابزار دسترسی به X (یعنی محیط گرافیکی) مثل موسو و کیبورد
Visual Settings: معلولیت های بینایی
text-to-speech (TTS): خواندن نوشته‌ها
تمام محیط های x ابزاری را برای افراد کم توان در نظر دارند

بعنوان مثال در گنوم:موارد زیر موجود است(در آدرس Settings > Universal Access):

High Contrast
Zoom
Large text
Screen Reader
Screen Keyboard (show a keyboard on screen)
Visual Alerts (instead Beeps, flash the screen )
Sticky Keys (Press shift, then press a -> capital A)
Slow Keys (do not repeat keys after pressing a key for few seconds)
Bounce Keys (if you hit a key twice fast, it won't accept the second one)
Mouse Keys (Arrow keys on number path will work as a mouse)
Simulate Secondary Click (by holding down the click)
Hover click (click by waiting on a button)
TTS

نکته:ابزاری مانند برنامه‌های  Orca ویا Emacspeak میتوانند نوشته‌ها را برای افراد کم توان بخوانند(TTS)
نکته: برنامه GOK(Gnome On Screen Keyboard) در گنوم صفحه‌کلید مجازی ایجاد مینماید.

  • behrooz mohamadi nsasab