Linux – საბაზისო საკითხები

ამ პოსტში ვისაუბრებ Linux-ის საბაზისო საკითხებზე, რის ცოდნაც აუცილებელია, რათა დავიწყოთ მისი უფრო ღრმად შესწავლა. საუბარი გვექნება ჩატვირთვის ეტაპებზე, პროგრამაზე init, login, სისტემაში რეგისტრაციაზე, runlevels-ებზე და GRUB-ზე.

 

Linux – ის ჩატვირთვის ეტაპები

Linux_Boot_Schema

  1. BIOS ამოწმებს სისტემას და ტვირთავს first stage boot loader-ს.
  2. first stage boot loader იტვირთება ოპერატიულ მეხსიერებაში და თავის მხრივ ტვირთავს second stage boot loader-ს /boot განყოფილებიდან.
  3. second stage boot loader ოპერატიულ მეხსიერებაში ტვირთავს ოპერაციული სისტემის ბირთვს (kernel), რომელიც უზრუნველყოფს ყველა აუცილებელი მოდულის ჩატვირთვას და “ამაუნთებს” ძირეულ დანაყოფს (/) მხოლოდ წაკითხვის რეჟიმში.
  4. ოპერაციული სისტემის ბირთვი კონტროლს “გადააბარებს” პროგრამას /sbin/init.
  5. /sbin/init ტვირთავს ყველა საჭირო სერვისს, user-space პროგრამებს და “ამაუნთებს” ყველა დანაყოფს /etc/fstab-ში.
  6. მომხმარებელი ხედავს სისტემაში შესვლის ფანჯარას.

first stage boot loader აღმოაჩeნს და ჩატვირთავს MBR.

second stage boot loader ეკრანზე გამოიტანს ოპერაციული სისტემების ასარჩევ მენიუს (თუ რამდენიმე გაქვს) ან სასურველი კერნელის ვერსიას.

 

პროგრამა init

init (initialization) უზრუნველყოფს სხვა პროგრამების გაშვებას. init შეგვიძლია წარმოვიდგინოთ, როგორც ხის ძირი, რომელზეც ტოტები, ანუ სხვა პროცესებია. სისტემაში init წარმოდგენილია პროცესის სახით, რომელსაც ჩვეულებრივ PID აქვს 1. (Process ID – პროცესის უნიკალური აიდი)

დღეს ფართოდ გამოიყენება ორი ტიპის init:

  1. SysV-style – ამ შემთხვევაში პროგრამა ამოწმებს ჩანაწერს initdefault, რომელიც მდებარეობს /etc/inittab-ში, რათა დაადგინოს რომელი runlevel – ია მითითებული. იმ შემთხვევაში, თუ ჩანაწერში runlevel არ იქნება მითითებული, მომხმარებლისთვის გამოვა კონსოლი, სადაც ხელით უნდა მიუთითოს ის. SysV init გამოიყენება Red Hat სისტემებში.
  2. BSD-style – ამ შემთხვევაში იტვირთება ინიციალიზაციის სკრიპტი, რომელიც მდებარეობს /etc/rc განყოფილებაში. შემდეგ იტვირთება პროგრამა getty (get teletype) რომელიც ემსახურება ფიზიკურ ან ვირტუალურ ტერმინალებს. როდესაც სისტემასთან დამყარდება კავშირი, პროგრამა login მომხმარებელს საშუალებას აძლევს შეიყვანოს ლოგინი და პაროლი იდენტიფიკაციისთვის. ამ ტიპის init-ს runlevel-ის ცნება არ გააჩნია.

არსებობს სხვა სახის init-ებიც, მაგალითად upstart-ი Ubuntu Linux-ისთვის ან საკუთარი ვერსია Gentoo Linux-ისთვის.

 

პროგრამა login

 

023-username-textbase

 

login არის პროგრამა, რომელიც უზრუნველყოფს მომხმარებლის სისტემაში რეგისტრაციას. ზუსტად ის უზრუნველყოფს ლოგინის და პაროლის შეყვანის ფანჯრის გამოტანას.

login – ის ჩატვირთვის ეტაპები:

  1. init ტვირთავს პროგრამას mingetty.
  2. mingetty ტვირთავს პროგრამას login.
  3. თუ მომხმარებლის სახელის და პაროლის შეყვანა სწორედ მოხდება იტვირთება shell.
  4. თუ მომხმარებლის სახელის და პაროლი არასწორია, მაშინ init ახლიდან ჩატვირთავს mingetty-ს.
  5. shell-დან გამოსვლის შემდეგ სისტემა უბრუნდება პირველ ნაბიჯს.

სისტემაში იდენტიფიკაციის შემდეგ თქვენ მოხვდებით Home კატალოგში, სადაც ინახება თქვენი ფაილები.

 

სისტემაში რეგისტრაცია

ოპერაციული სისტემის ჩატვირთვის დროს იქმნება ვირტუალური კონსოლები, რომლებიც გამოიყენება პროცესების სამართავად და პროგრამებთან სამუშაოდ. იქმნება 6 ტექსტური და ერთი გრაფიკული ( X Window System) კონსოლი.

Linux-ში შესაძლებელია ორ რეჟიმში მუშაობა:

  1. ტექსტური
  2. გრაფიკული

სერვერებისთვის, როგორც წესი, გამოიყენება ტექსტური რეჟიმი, ხოლო სამაგიდო კომპიუტერებისთვის – გრაფიკული.

ვირტუალური კონსოლების გადართვა/გადმორთვა ხდება კლავიშებით Ctrl+Alt+F [1–6], მაგალითად თუ გვინდა გადავიდეთ მეხუთე კონსოლში, ავკრეფთ Ctrl+Alt+F3-ს. გრაფიკული გარსი არის მეშვიდე კონსოლი ანუ Ctrl+Alt+F7.

 

runlevels

 

runlevels

Linux-ში არსებობს შესრულების რამდენიმე დონე (runlevel). მისი დანიშნულებაა, განსვსაზღვროთ, როგორ გვსურს სისტემის გამოყენება. მაგალითად სერვერზე გაცილებით ეფექტურია ტექსტურ რეჟიმში მუშაობა და არა გრაფიკულში, რომელიც ხარჯავს დიდ რესურსებს და სერვერის შემთხვევაში პრაქტიკულად გამოუსადეგარია.

თითოეულ დონეზე init განსაზღვრავს, რომელმა სერვისებმა უნდა იმუშაოს ან პირიქით – არ იმუშაოს. მაგალითად runlevel 1 – ზე (single user mode) გამორთულია ქსელი, runlevel 3-ზე კი ჩართული.

ამ მომენტისთვის Red Hat და მასზე დაფუძნებული სისტემები იყენებენ შემდეგ დონეებს:

0. ნულოვანი დონე (Halt) – გამორთული ოპერაციული სისტემა.

  1. პირველი დონე (Single-user text mode) – ერთმომხმარებლიანი რეჟიმი. გამორთული ქსელით.
  2. მეორე დონე (multi-user) – გამოიყენება სისტემის ტესტირებისთვის. გამორთული ქსელით.
  3. მესამე დონე (Full multi-user. text mode) – მრავალმომხმარებლიანი ტექსტური რეჟიმი. ჩართული ქსელით.
  4. მეოთხე დონე – გამოიყენება სისტემური ადმინისტრატორების მიერ.
  5. მეხუთე დონე (Full multi-user. graphical mode) – მრავალმომხმარებლიანი გრაფიკული რეჟიმი. ჩართული ქსელით.
  6. მეექვსე დონე (Reboot) – ოპერაციული სისტემის გადატვირთვა.

ყველაზე ხშირად გამოიყენება მესამე და მეხუთე დონეები – სერვერისა და პირადი კომპიუტერისთვის.

თუ რომელი runlevel ჩაიტვირთოს სისტემის ჩართვის დროს, განსაზღვრავს ფაილი /etc/inittab. კერძოდ კი ეს ხაზი:

id:5: initdefault:

აიდის შემდეგ დაწერილი ციფრი აღნიშნავს runlevel-ის დონეს. იმის გასაგებად, თუ რომელ runlevel-ში ვმუშაობთ, შეგვიძლია გამოვიყენოთ ბრძანება who-r ან runlevel.

runlevel-ის შეცვლა შესაძლებელია ბრძანებით telinit ან init.

 

GRUB

 

GNU_GRUB_components.svg

კომპიუტერის ჩართვის დროს ოპერატიულ მეხსიერებაში იტვირთება ოპერაციული სისტემა სპეციალური პროგრამის – boot loader-ის დახმარებით. მენიუ გვაძლევს საშუალებას, ავირჩიოთ, რომელი სისტემის ან ბირთვის ვერსიის ჩართვა გვსურს.

მეოცე საუკუნის ბოლოს და ოცდამეერთე საუკუნის დასაწყისშიც ყველაზე პოპულარული ჩამტვირთავი სისტემა იყო lilo რომელიც დეფაულტად გამოიყენებოდა ძალიან ბევრ დისტრიბუტივში. ახლა ის თითქმის აღარ გამოიყენება და შეცვალა უფრო მრავალფუნქციურმა GRUB – მა (The GNU GRand Uniied Boot loader).

GRUB – ს გააჩნია სამი სახის ინტერფეისი:

  1. მენიუ – ესაა დეფოლტ ინტერფეისი, ოპერაციულ სისტებეზე გადასვლა ხდება კლავიატურით, ხოლო სასურველი ვერსიის არჩევა Enter ღილაკით. თუ რამდენიმე წამის განმავლობაში არ შევეხებით კლავიატურას, ჩაირთვება პირველივე ოპერაციული სისტემა.
  2. რედაქტირების ინტერფეისი – მასში შესასვლელად მენიუში უნდა დავაჭიროთ e ღილაკს. ეს ინტერფეისი გვაძლევს GRUB-ის მოდიფიცირების საშუალებას. O ღილაკით ხდება ახალი ხაზის დამატება, e ღილაკით – რედაქტირება, ხოლო d ღილაკით – წაშლა. მოდიფიცირების დასრულების შემდეგ b ღილაკით შევინახავთ პარამეტრებს, ხოლო <ESC> ღილაკით არ შევინახავთ არაფერს და დავბრუნდებით მენიუში.
  3. ბრძანების ველის ინტერფეისი – აქ მოსახვედრად მენიუში უნდა დავაჭიროთ c ღილაკს. ეს ინტერფეისი გვაძლევს გაცილებით დიდ შესაძლებლობებს, ვიდრე წინა ორი. მასში შეიძლება შევიყვანოთ ჩვენთვის სასურველი ბრძანება და შესასრულებლად დავაწვეთ Enter-ს.

GRUB-ის კონფიგურაციის ფაილი ინახება აქ – /boot/grub/grub.conf.

 

წყარო: Shoti.net

No comments yet.

HAVE SOMETHING TO SAY?