გადადი მთავარ შიგთავსზე

ტერმინთა ლექსიკონი

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

საფუძვლები

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

იხილე აგრეთვე: კლიენტი, ჰოსტი

კლიენტი

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

იხილე აგრეთვე: სერვერი

ჰოსტი

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

იხილე აგრეთვე: სერვერი, როუტერი

ოპერაციული სისტემის ის ნაწილი, რომელიც უშუალოდ აპარატურას ესაუბრება და წყვეტს, რომელ პროგრამას მისცეს პროცესორი. თავად Linux ბირთვია; ყველაფერი მის გარშემო დისტრიბუტივია.

იდენტობა, რომელსაც მანქანა ცნობს და რიცხვად ინახავს. სერვერზე ანგარიშების უმეტესობა ადამიანი არ არის — ისინი იმისთვის არსებობს, რომ სერვისს საკუთარი ფაილები ჰქონდეს.

იხილე აგრეთვე: ანგარიში, ჯგუფი

ჩანაწერი, რომელსაც პროგრამა მუშაობისას ტოვებს, რომ შემდეგ ვინმემ გაარკვიოს, რა მოხდა. ჩვეულებრივ ფაილია /var/log-ში.

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

სადაც ფაილები გამორთვასაც გადაურჩება. Linux-ში დისკი ასო-ნიშანი არ არის — ის სადღაც ერთი ხის შიგნით მიერთდება, რომელიც `/`-ით იწყება.

deploy

რჩება ინგლისურად

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

Shell

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

იხილე აგრეთვე: ტერმინალი, prompt

ფანჯარა, რომლის შიგნითაც shell მუშაობს. ტერმინალი ტექსტს აჩვენებს და კლავიშებს იღებს; shell კი მათ აზრს ანიჭებს. ორი რამ, რომელსაც ხშირად ერთმანეთში ურევენ.

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

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

სახელი, რომელიც shell-ის შიგნით მნიშვნელობას ინახავს. იწერება დოლარის ნიშნის გარეშე და იკითხება ნიშნით — სწორედ აქედან მოდის დასაწყისში დაბნეულობის უმეტესობა.

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

იხილე აგრეთვე: pipe

სიმბოლო `|`, რომელიც ერთი პროგრამის გამონატანს პირდაპირ მეორის შემავალ ნაკადში (stdin) აგზავნის. შუალედში დისკს არაფერი ეხება.

იხილე აგრეთვე: stdout

ის, რასაც `if` ამოწმებს. shell-ში ეს არ არის „ჭეშმარიტი თუ მცდარი“, არამედ ბრძანების დასრულების კოდი — ნული ნიშნავს, რომ იმუშავა, და `if` ამას „კი“-დ თვლის.

სტანდარტული შეცდომა: მეორე გამომავალი ნაკადი, რომელსაც შეცდომის შეტყობინებები გამოაქვს. stdout-ისგან განცალკევებულია, რომ pipeline-მა შედეგები დაამუშაოს, შეცდომები კი მაინც შენამდე მოვიდეს.

იხილე აგრეთვე: stdout

რამდენიმე ბრძანება `|`-ით შეერთებული, სადაც თითოეული შემდეგს კვებავს. ინგლისურად რჩება, რადგან იგივე სიტყვა CI/CD pipeline-საც ნიშნავს და ორივე აზრს ერთი ფორმა აქვს.

იხილე აგრეთვე: pipe

სკრიპტის პირველ ხაზზე მდგარი `#!/bin/bash`, რომელიც ამბობს, რომელმა ინტერპრეტატორმა უნდა გაუშვას ის. მის გარეშე ფაილი ტექსტია და არა პროგრამა.

ფაილები და სად ინახება ისინი

დისკზე მდებარე დასახელებული მონაცემები. Linux თითქმის ყველაფერს ასე წარმოადგენს — მოწყობილობებსა და მომუშავე სისტემის ინფორმაციასაც, რომლებიც სინამდვილეში ფაილები არ არის.

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

საშინაო დირექტორია

პირველად აქ: სად ვარ? pwd, ls და cd

შენი საკუთარი დირექტორია, /home/NAME. სესია აქ იწყება და შენი ფაილებიც აქ ინახება. ~ მისი მოკლე ჩანაწერია, არგუმენტის გარეშე გაშვებული cd კი აქ გაბრუნებს.

იხილე აგრეთვე: დირექტორია, გზა

ვის რისი უფლება აქვს

რა შეუძლია კონკრეტულ ანგარიშს კონკრეტულ ფაილთან: წაიკითხოს, შეცვალოს თუ გაუშვას. ჩაწერილია ცხრა ბიტად თავად ფაილზე და ჩანს `ls -l`-ით.

ანგარიში, რომელსაც ფაილი ეკუთვნის. მფლობელს პირველი სამეული ერგება და ფაილის უფლებების შეცვლა მაშინაც შეუძლია, როცა მისი წაკითხვა არ ძალუძს.

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

root

რჩება ინგლისურადპირველად აქ: sudo, სწორად

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

იხილე აგრეთვე: sudo

sudo

რჩება ინგლისურადპირველად აქ: sudo, სწორად

ერთი ბრძანების სხვისი სახელით გაშვება, ჩვეულებრივ root-ის. კითხულობს /etc/sudoers-ს, რომ გადაწყვიტოს, გაქვს თუ არა უფლება, და იწერს, რომ გააკეთე.

იხილე აგრეთვე: root

მომუშავე პროგრამები

მომუშავე პროგრამა საკუთარი ნომრით, საკუთარი მეხსიერებით და ანგარიშით, რომლითაც ის მუშაობს. ერთი პროგრამა ორჯერ გაშვებული ორი პროცესია.

პროგრამა, რომელიც მუდმივად უნდა მუშაობდეს და გაჩერებისას თავიდან ირთვებოდეს — ვებსერვერი, მონაცემთა ბაზა. მას systemd მართავს და არა ხელით გაშვება.

systemd-ის საკუთარი ჩანაწერი იმისა, რა გააკეთა ყოველმა სერვისმა; იკითხება `journalctl`-ით. განზრახ არ არის ფაილი, რომელსაც გახსნი: ეს სტრუქტურირებული საცავია, რომელშიც ველების მიხედვით ეძებ.

იხილე აგრეთვე: ლოგი

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

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

unit

რჩება ინგლისურადპირველად აქ: სერვისები და systemd

systemd-ის სახელი იმისთვის, რასაც ის მართავს — სერვისი, ტაიმერი, სოკეტი. ინგლისურად რჩება, რადგან სწორედ ასე ბეჭდავს `systemctl` და ასე ჰქვია ფაილებს.

იხილე აგრეთვე: სერვისი

პროგრამული უზრუნველყოფა

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

იხილე აგრეთვე: პაკეტი, დამოკიდებულება

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

სერვერი, სადაც პაკეტებია და საიდანაც მანქანა თანახმაა დააყენოს ისინი. ჩამოთვლილია /etc/apt/sources.list-ში და მას ენდობა ის მანქანა, რომელიც მას ჩამოთვლის.

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

პაკეტის რომელი გამოშვებაა დაყენებული. Debian-ის ვერსიები შეიცავს დამზადებლის ნომერსაც და საკუთარ შეფუთვის რევიზიასაც, ტირეთი გამოყოფილს.

კონფიგურაციის ფაილი, რომელსაც პაკეტი მოაქვს და dpkg საკონტროლო ჯამით თვალს ადევნებს — რომ განახლებამ გაიგოს, შენ შეცვალე თუ არა, და თუ შეცვალე, შენი ვერსია დატოვოს.

ქსელი

ქსელი

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

მისამართი

რიცხვი, რომელიც მანქანას ქსელში ასახელებს, მაგალითად 10.0.1.10. თავისთავად არასრულია: მას ქსელის ნიღაბი (netmask) სჭირდება იმის დასადგენად, თუ მისი რომელი ნაწილი განსაზღვრავს ქსელს და რომელი — კონკრეტულ ჰოსტს.

იხილე აგრეთვე: ქვექსელი, ნიღაბი

სადენი

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

იხილე აგრეთვე: კაბელი, კომუტატორი

კაბელი

ფიზიკური რამ ორ ბუდეს შორის. მას სიგნალები გადააქვს და არაფერი იცის იმაზე, ვის ეკუთვნის ისინი.

იხილე აგრეთვე: სადენი

პაკეტი

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

იხილე აგრეთვე: პაკეტი, frame

frame

რჩება ინგლისურად

ყველაზე გარე კონვერტი, მისამართებული ამ სადენზე შემდეგ მანქანაზე და ყოველ ნახტომზე გადაგდებული. ინგლისურად რჩება packet-სა და segment-თან ერთად, რომ ოთხი ფენა ერთ დასახელებულ ნაკრებად წაიკითხებოდეს.

იხილე აგრეთვე: პაკეტი

როუტერი

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

იხილე აგრეთვე: კარიბჭე, მარშრუტი

კარიბჭე

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

იხილე აგრეთვე: როუტერი, მარშრუტი

მარშრუტი

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

იხილე აგრეთვე: კარიბჭე

ქვექსელი

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

იხილე აგრეთვე: ნიღაბი, მისამართი

ნიღაბი

მისამართის ნაწილი, რომელიც ქსელს განსაზღვრავს და არა კონკრეტულ მანქანას; ხშირად იწერება დახრილი ხაზის შემდეგ რიცხვის სახით (მაგ. /24). ერთ სადენზე მყოფი ორი მანქანა სხვადასხვა ნიღბით ერთმანეთს პირდაპირ ვერ დაუკავშირდება.

იხილე აგრეთვე: ქვექსელი

კომუტატორი

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

იხილე აგრეთვე: სადენი, როუტერი

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

პროგრამის მიერ მისამართისა და პორტის დაკავება. სოკეტი, რომელიც 127.0.0.1-ზეა მიბმული, მხოლოდ თავად მანქანაზე პასუხობს; 0.0.0.0-ზე მიბმული კი ყველგან.

ინტერფეისი

ქსელური კავშირი ისე, როგორც მას მანქანა ხედავს — მაგალითად eth0. სწორედ ის ატარებს მისამართებს; `lo` კი ის არის, რომელიც კაბელს არც უახლოვდება.

ნახტომი

ერთი მანქანა, რომელიც პაკეტს გზაში გადასცემს. ყოველი ნახტომი პაკეტის TTL-ს ერთს აკლებს — სწორედ ასე ითვლი მათ მეორე ბოლოდან.

წესების ერთობლიობა, რომელიც წყვეტს, რომელი ქსელური კავშირები მიიღოს ან გაუშვას მანქანამ. დაბლოკილი პაკეტი პასუხის გარეშე უგულებელყოფილია (drop), ამიტომ ეს კავშირის დროის ამოწურვას (timeout) იწვევს და არა დაუყოვნებლივ უარს.

loopback

რჩება ინგლისურად

მანქანა, რომელიც საკუთარ თავს ესაუბრება, მისამართზე 127.0.0.1. ინგლისურად რჩება, რადგან სწორედ ასე ბეჭდავს `ip addr`. კომპიუტერს არასოდეს ტოვებს და მას ფაიერვოლი არ ფილტრავს.

პროტოკოლი

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

სისტემა, რომელიც სახელებს მისამართებად აქცევს. ცალკე სისტემაა და დამოუკიდებლად შეიძლება ცდებოდეს — სწორედ ამიტომ შეიძლება საიტი მისამართით მუშაობდეს და სახელით არა.

იხილე აგრეთვე: მისამართი

ფენა

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

იხილე აგრეთვე: პაკეტი, frame

ტრაფიკი

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

აპარატურული მისამართი

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

იხილე აგრეთვე: frame, მისამართი

ARP

რჩება ინგლისურად

როგორ პოულობს მანქანა მეზობლის აპარატურულ მისამართს, როცა მას მხოლოდ IP მისამართით იცნობს. ხმამაღლა ეკითხება მთელ სადენს და პასუხობს ის, ვისაც ეს მისამართი აქვს.

იხილე აგრეთვე: აპარატურული მისამართი, სადენი

TTL

რჩება ინგლისურად

სიცოცხლის ხანგრძლივობა: რიცხვი, რომელსაც ყოველი პაკეტი ატარებს და რომელსაც ყოველი როუტერი ერთს აკლებს. ის უშლის ხელს პაკეტებს, სამუდამოდ იტრიალონ — და 64-დან ჩამოთვლა გეუბნება, რამდენი ნახტომითაა დაშორებული პასუხის გამომგზავნი.

იხილე აგრეთვე: ნახტომი

broadcast

რჩება ინგლისურად

შეტყობინება, რომელიც ერთი მანქანის ნაცვლად სადენზე მდგარ ყველაფერს ეგზავნება. ყველაფერი, რაც მას იღებს, ერთ broadcast დომენშია — და სწორედ ეს არის ქვექსელი სინამდვილეში.

იხილე აგრეთვე: სადენი, კომუტატორი

DHCP

რჩება ინგლისურად

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

იხილე აგრეთვე: მისამართი

CIDR

რჩება ინგლისურად

ჩანაწერი `10.0.1.0/24`: მისამართი პლუს იმის აღნიშვნა, რამდენი პირველი ბიტი ასახელებს ქსელს. ასე წერს ქვექსელს ყოველი თანამედროვე ხელსაწყო.

იხილე აგრეთვე: ნიღაბი, ქვექსელი

SSH

რჩება ინგლისურად

როგორ იღებ shell-ს სხვა მანქანაზე, დაშიფრულად. სწორედ ამის გამო არ სჭირდება სერვერს არც ეკრანი და არც კლავიატურა.

იხილე აგრეთვე: ჰოსტი, პორტი