გადადი მთავარ შიგთავსზე
სასწავლო მიმართულებები

DevOps

პირველი ბრძანებიდან ტერმინალში — რეალური სისტემების deploy-სა და მართვამდე.

ჯერ Linux, რადგან დანარჩენი ყველაფერი მასზე მუშაობს. კონტეინერები, CI/CD და ღრუბელი მოგვიანებით მოდის, როცა საფუძველი მყარია.

  1. დაიწყე აქედან

    Linux Fundamentals

    უკვე ხელმისაწვდომია
  2. დაიწყე აქედან

    Network Fundamentals

    მალე
  3. 01

    Containers & Docker

    მალე
  4. 02

    CI/CD Pipelines

    მალე
  5. 03

    Kubernetes

    მალე
  6. 04

    Cloud & Infrastructure as Code

    მალე
  7. 05

    Observability

    მალე

Linux Fundamentals

ფაილური სისტემა, shell, ფაილები და უფლებები, პროცესები და ტექსტის დამუშავება — ყველა DevOps სამსახურის საძირკველი.

  1. მოდული 1

    ფაილური სისტემა და ნავიგაცია

    სად ინახება ფაილები Linux-ში და როგორ გადაადგილდე მაუსის გარეშე.

    1. 1.1რა არის Linux და რა არის shellპირველ ბრძანებამდე გაიგე, სად წერ მას და რატომ მუშაობენ პროფესიონალები მაუსის გარეშე.8 წთ
    2. 1.2სად ვარ? pwd, ls და cdshell-ში გადაადგილების დიდი ნაწილი სამი ბრძანებით კეთდება. ამ გაკვეთილზე იწყებ აკრეფას.14 წთ
    3. 1.3Linux სისტემის რუკაერთი ხე, რომელიც ერთი დახრილი ხაზით იწყება. როცა იცი, სად რა ინახება, გაუმართაობისას აღარ მოგიწევს გამოცნობა, სად ეძებო.16 წთ
    4. 1.4აბსოლუტური და ფარდობითი გზებიგზის დასაწყისში დასმული ერთი დახრილი ხაზი მთელი გზის მნიშვნელობას ცვლის. ყველას ჰგონია, რომ ეს წესი იცის, მაგრამ ყველაზე ცუდ მომენტში ეშლება.15 წთ
    5. 1.5ფაილების კითხვა რედაქტორის გარეშეcat, head, tail, less და file. ოთხი ბრძანება ფაილის შიგთავსის სანახავად და ერთი — იმის გასარკვევად, რა ფაილია, სანამ გახსნი.15 წთ
    6. 1.6ფინალური დავალება: იპოვე შეცდომის მიზეზისერვერი შეცდომებს აბრუნებს და არავის უთქვამს, სად უნდა ეძებო. ყველაფერი, რაც ამისთვის გჭირდება, ამ მოდულში უკვე ისწავლე.20 წთ
  2. მოდული 2

    ფაილები და უფლებები

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

    1. 2.1კოპირება, გადატანა და წაშლაcp, mv და rm. ორი მათგანი ჩვეულებრივი ბრძანებაა. მესამის მოქმედებას ვეღარ გააუქმებ, ამიტომ ზუსტად უნდა იცოდე, რას აკეთებს. ამაზეა დამოკიდებული, ჩვეულებრივი დღე გექნება თუ ძალიან ცუდი.16 წთ
    2. 2.2უფლებების წაკითხვაის -rw-r--r--, რომელსაც 1.2 გაკვეთილიდან ყურადღებას არ აქცევდი. ცხრა სიმბოლო, სამი კითხვა და ერთი რიცხვი, რომელიც იმავეს ამბობს.16 წთ
    3. 2.3უფლებების შეცვლა chmod-ითერთი ბრძანება, ჩაწერის ორი ფორმა. და ის მომენტი, როცა უფლების ბიტი თეორია აღარ არის — სკრიპტს შესრულების უფლებას აძლევ და ის ეშვება.15 წთ
    4. 2.4მფლობელები, ჯგუფები და sudoუფლებები წყვეტს, რა შეუძლია მფლობელს. ამ გაკვეთილზე გაიგებ, ვინ არის მფლობელი, როგორ იცვლება ის და რატომ შეუძლია ამის გაკეთება მხოლოდ root-ს.15 წთ
    5. 2.5ფინალური დავალება: deploy, რომელიც არ გამოდისგუშინ ღამით deploy ჩავარდა. ამ მანქანაზე უფლებების სამი ცალკე პრობლემაა, ლოგი კი მხოლოდ ერთს ახსენებს.20 წთ
  3. მოდული 3

    მომხმარებლები, ჯგუფები და sudo

    ვინ ხარ Linux სერვერზე და რატომ არ უნდა იმუშაო მუდმივად root-ით.

    1. 3.1ვინ არის ამ მანქანაზესერვერზე ოცდაათი ანგარიშია და ერთი ადამიანი. ამ გაკვეთილზე წაიკითხავ ფაილს, სადაც ეს ანგარიშები წერია, და გაიგებ, რატომ არ არის მათი უმეტესობა ადამიანი.14 წთ
    2. 3.2ანგარიშების შექმნა და წაშლაuseradd ერთ ფაილში ერთ ხაზს წერს. შემდეგ ყველა პრობლემა იმ ორი ოფციიდან მოდის, რომლებსაც ხშირად გამოტოვებენ. ამიტომ ეს გაკვეთილი ძირითადად მათზეა.16 წთ
    3. 3.3ჯგუფები, რომლებიც მართლა მუშაობსმეორე მოდულში ითქვა „მომხმარებელი ჯგუფში დაამატე“ და იქვე გავაგრძელეთ. აქ ის ნაწილია, რომელიც მაშინ გამოვტოვეთ — საზიარო დირექტორია, რომელიც მეორე დღესაც მუშაობს.18 წთ
    4. 3.4sudo, სწორადsudo-ს მეორე მოდულიდან კრეფ, მაგრამ ჯერ არ იცი, რას ამოწმებს. ის ფაილს კითხულობს. ამ ფაილის გაფუჭებით შეიძლება წვდომა დაკარგო. და არსებობს ბრძანება, რომელიც სწორედ ამისგან გიცავს.18 წთ
    5. 3.5ფინალური დავალება: ახალი ინჟინრის დამატებამოთხოვნა, მანქანა და კოლეგა, რომელიც ორშაბათს იწყებს. ამ მოდულის ყველა ნაბიჯი, იმ რიგით, როგორც სამსახურში გააკეთებდი. ბრძანებებს არავინ გიკარნახებს.25 წთ
  4. მოდული 4

    ტექსტის დამუშავება და pipe-ები

    grep, sort, cut და pipe — როგორ ვაქციოთ გამონატანი პასუხად.

    1. 4.1Pipe-ები და სამი ნაკადიყოველ ბრძანებას ერთი შესასვლელი და ორი გამოსასვლელი აქვს. როცა მათ დაინახავ, | აღარ იქნება უბრალო სიმბოლო. მიხვდები, რატომ მუშაობს ეს ხელსაწყოები ერთად.16 წთ
    2. 4.2grep: საჭირო ხაზის პოვნალოგი წასაკითხად ძალიან გრძელია, მოსაძებნად კი — ზუსტად შესაფერისი. ამას grep აკეთებს. ამ გაკვეთილზე ისიც გაიგებ, რატომ აძლევს მისი შაბლონები ხშირად ყველას არასწორ პასუხს, ისე, რომ ამას ვერავინ ამჩნევს.18 წთ
    3. 4.3find: თავად ფაილის პოვნაgrep ფაილების შიგნით ეძებს. find თავად ფაილებს ეძებს. მისი არგუმენტები სხვა ბრძანებებისას არ ჰგავს. როცა ამას გაიგებ, დანარჩენი მხოლოდ შემოწმებების სიაა.16 წთ
    4. 4.4დათვლა: cut, sort და uniqpipeline, რომელიც პასუხობს კითხვას, რომლის პასუხიც ფაილის არც ერთ ხაზში არ წერია. ოთხი ბრძანება, ერთი რიგი და ერთი წესი, რომელსაც პირველად ყველა არღვევს.18 წთ
    5. 4.5ფინალური დავალება: ავარიის გამოკვლევაcheckout 09:11-ზე გაფუჭდა და ჯერ არავის შეუხედავს. ოთხი ლოგის ფაილი, სამი ბრძანება, რომელიც უკვე იცი, და ბოლოს დაწერილი დასკვნა — ის ნაწილი, რომელსაც სხვები მართლა წაიკითხავენ.25 წთ
  5. მოდული 5

    პროცესები და სერვისები

    რა მუშაობს, რატომ გაჩერდა და როგორ უზრუნველყოფს systemd მის უწყვეტ მუშაობას.

    1. 5.1რა მუშაობს ახლაოთხი მოდული ფაილებზე იყო. ეს მოდული იმაზეა, რაც ამ ფაილებს ხსნის. და იმაზე, რომ სერვერზე გაშვებული პროგრამების უმეტესობა ადამიანს არ გაუშვია.16 წთ
    2. 5.2სიგნალები: თხოვნა და იძულებაkill ცუდად არის დასახელებული. სიგნალების უმეტესობა თავაზიანი თხოვნაა, ერთი კი — არა. მათ შორის განსხვავებაზეა დამოკიდებული, პროგრამა წესრიგში დაასრულებს მუშაობას თუ ფაილი დაზიანდება.16 წთ
    3. 5.3სერვისები და systemdვებსერვერს არავინ უშვებს მისი სახელის აკრეფით. მისთვის unit ფაილს წერენ. და თუ ერთმანეთში აურევ „გაშვებულს“ და „ჩართულს“, ეს შეცდომა შემდეგ გადატვირთვამდე არ გამოჩნდება.18 წთ
    4. 5.4ჟურნალიოთხი მოდული ლოგის ფაილებში ეძებდი, ახლა კი ლოგი გხვდება, რომელსაც cat ვერ წაიკითხავს. journalctl უხერხულობა არ არის — ეს მოთხოვნების ენაა. ღირს გაიგო, რატომ არსებობს.16 წთ
    5. 5.5ფინალური დავალება: სერვისი, რომელიც არ ეშვებაწასული კოლეგის ჩანაწერი, სამი სერვისი და ორი პრობლემა. ერთი მაშინვე ჩანს, მეორე კი შემდეგ გადატვირთვამდე არ გამოჩნდება. ამ მოდულის ყველაფერი, მინიშნებების გარეშე.25 წთ
  6. მოდული 6

    პაკეტების მართვა

    პროგრამების დაყენება და განახლება ისე, როგორც ეს სერვერებზე ხდება.

    1. 6.1რა არის სინამდვილეში პაკეტისერვერზე პროგრამა ისეთი აპლიკაცია არ არის, რომელსაც გადმოწერ. ეს ფაილების ნაკრებია, ამ ფაილების სია და ჩანაწერი იმაზე, საიდან მოვიდა. ეს ჩანაწერი კი ტექსტური ფაილია, რომელსაც თავად წაიკითხავ.16 წთ
    2. 6.2apt update და ის, რაც მანქანამ იცისსერვერმა არ იცის, რა პროგრამები არსებობს. მან მხოლოდ ის იცის, რაც ბოლოს უთხრეს, და უმეტეს მანქანაზე ეს დიდი ხნის წინ იყო. ამიტომ ვერ აყენებს apt install პაკეტებს, რომლებიც აშკარად არსებობს.20 წთ
    3. 6.3დამოკიდებულებები და ვიღაცის გადმოწერილი პროგრამაერთ პაკეტს ითხოვ და სამი მოდის. apt-ს ახსოვს, რომელი მოითხოვე შენ და რომელი მოჰყვა თან. ამაზეა დამოკიდებული, შეძლებ თუ არა მერე სერვერის დალაგებას.18 წთ
    4. 6.4წაშლა, purge და განახლებაremove და purge ერთნაირი ჩანს, სანამ ერთ დღეს სხვაობა არ გამოჩნდება. განახლებამ კი შენი შეცვლილი კონფიგურაციის ფაილი შემთხვევით არ დატოვა — ფაილის საკონტროლო ჯამი შეამოწმა.20 წთ
    5. 6.5ფინალური დავალება: სერვერი ისევ პაკეტების მართვის ქვეშweb-01 უნაკლოდ მუშაობს. ამავე დროს ის ერთი წელია არ განახლებულა, უშვებს პროგრამას, რომელზეც პაკეტების მმართველმა არაფერი იცის, და ინახავს ბიბლიოთეკას, რომელიც 2023 წლიდან არავის სჭირდება. სამი პრობლემა და არც ერთი შეცდომის შეტყობინება.30 წთ
  7. მოდული 7

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

    პორტები, DNS, SSH და ის რამდენიმე ბრძანება, რომელიც ხარვეზების უმეტესობას პოულობს.

    1. 7.1მისამართები, ინტერფეისები და მარშრუტებისერვერს ერთზე მეტი მისამართი აქვს და ისინი სხვადასხვა რამეს ნიშნავს. თუ იცი, რომელი რომელია, „სერვისი მუშაობს“-ს „სერვისთან დაკავშირება შეიძლება“-სგან გაარჩევ.16 წთ
    2. 7.2პორტები და ის, თუ სად უსმენს სერვისიAPI მუშაობს. systemctl active-ს ამბობს, ლოგებში შეცდომა არ არის და სერვერზე უნაკლოდ პასუხობს. სხვა ნებისმიერი ადგილიდან კი თითქოს არ არსებობს. რატომ — ამას ss-ის გამონატანის ერთი სვეტი გეტყვის.20 წთ
    3. 7.3სახელები და როცა ისინი არასწორ მისამართზე მიგიყვანსdig ამბობს, რომ სახელი აქ მიუთითებს. მანქანა კი სხვაგან უკავშირდება. ორივე მართალს ამბობს. ამ სხვაობას ერთი ფაილი ხსნის, მაგრამ მასში ჩახედვა თითქმის არავის მოსდის აზრად.18 წთ
    4. 7.4ფაიერვოლები და სიჩუმე, რომელსაც ისინი იწვევსufw კავშირზე უარს არ გეუბნება. ის საერთოდ არაფერს ამბობს. ეს სიჩუმე კი ყველაზე ნათელი ნიშანია, თუ იცი, როგორ წაიკითხო.18 წთ
    5. 7.5ფინალური დავალება: API, რომელსაც ვერავინ უკავშირდებასამი პრობლემა, ერთი სიმპტომი და არსად არც ერთი შეცდომის შეტყობინება. ერთის გასწორება თვალსაჩინოდ არაფერს ცვლის — ქსელის ნამდვილი პრობლემები სწორედ ასე გამოიყურება.30 წთ
  8. მოდული 8

    Shell სკრიპტინგი

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

    1. 8.1შენი პირველი სკრიპტიშვიდი მოდულია სკრიპტებს წერ, მაგრამ არც ერთი არ შეგინახავს. სკრიპტი სხვა არაფერია, თუ არა ის ბრძანებები, რომლებსაც უკვე კრეფ, ფაილში ჩაწერილი და გაშვების უფლებით.16 წთ
    2. 8.2გადაწყვეტილებები და რიცხვი, რომელზეც ისინი დგასshell-ში „ჭეშმარიტი“ და „მცდარი“ ცალკე არ არსებობს. `if` ბრძანებას უშვებს და იმ რიცხვს უყურებს, რომელიც მან დატოვა. როცა ამას გაიგებ, `[` უბრალო სიმბოლო აღარ იქნება — მიხვდები, რომ ის პროგრამაა.20 წთ
    3. 8.3ციკლები, არგუმენტები და ბრჭყალები, რომლებიც მათ იცავსსკრიპტი, რომელიც მხოლოდ ერთ დირექტორიაზე მუშაობს, საკუთარი თავისთვის დაწერილი ჩანაწერია. არგუმენტი მიეცი და ის ხელსაწყოდ იქცევა. მერე კი ერთი ფაილი, რომლის სახელშიც ჰარია, მას აფუჭებს — თუ ბრჭყალები არ ჩასვი.22 წთ
    4. 8.4სკრიპტები, რომლებიც შეცდომას არ მალავსნაგულისხმევად shell-ის სკრიპტი შეცდომებს ყურადღებას არ აქცევს და მუშაობას აგრძელებს. ამ მანქანაზე ერთი ასეთი სკრიპტი ერთი წელია ყოველ ღამე „Backup complete“-ს წერს და ჩუმად ტოვებს ერთადერთ დირექტორიას, რომელიც ვინმესთვის მნიშვნელოვანი იყო.20 წთ
    5. 8.5ფინალური დავალება: სარეზერვო ასლი, რომელსაც ენდობითავიდან დაწერე სკრიპტი, რომელიც ერთი წელი ტყუილს ამბობდა. ოციოდე ხაზი, რომელთაგან თითოეულს უკვე ახსნი — და ამით კურსი სრულდება.30 წთ