Tema 1

În urma feedback-ului, vă recomandăm următoarele:

Studiați secțiunea de Cunoștințe evaluate și suportul agregat necesar temei. Aceasta este valabilă la orice temă și se recomandă parcurgea sa.

Folosiți thread-urile de discuții existente în cadrul forumului, fără a crea altele, atât în forumul pentru Discuții Generale cât și în forumul temei. În consecință, thread-urile (subiectele de discuții) nou create vor fi șterse deoarece informația utilă va fi greu de urmărit.

Căutați pe forum informația pe care doriți să o obțineți, înainte să puneți o întrebare. De cele mai multe ori, cineva a mai întrebat același lucru. În fiecare thread al forumului aveți informații despre cum puteți căuta în forum.

În cazul în care doriți să publicați un screenshot, recomandăm folosirea site-urilor pentru partajarea gratuită a imaginilor, precum imgur sau alternativele sale, publicând pe forum doar link către screenshot. Dorim să păstrăm o parcurgere ușoară a forumului, din acest motiv, orice poză inserată în răspunsuri, va fi ștearsă.

Urmăriți atât forumul cât și modificările aduse enunțului/checker-ului, modificări ce sunt publicate și explicate în paragrafele de mai jos.

Înainte și în timpul realizării temei, vă rugăm să parcurgeți indicațiile legate de realizarea temelor, încluzând ce înseamnă o temă copiată și cum penalizăm temele copiate. Folosiți cu încredere forumurile de pe curs.upb.ro pentru întrebări și neclarități legate de teme.

În timpul realizării temei, când vă loviți de probleme și aveți nevoie de suportul echipei de USO, parcurgeți și lista de întrebări frecvente întâlnite în cadrul temelor. Să țineți cont, va rugăm, și de recomandările de comunicare electronică.

Dacă utilitarul uso vă afișează eroarea: “Nu ai conexiune la internet” urmați pașii de mai jos:

  1. Verificați dacă aveți conexiune la Internet.
    1. Rulați comanda ping 8.8.8.8.
    2. Dacă vă apare eroarea: “connect: Network is unreachable” nu aveți conexiune la Internet.
      1. Rulați comanda sudo dhclient <nume_interfață>. Numele interfeței default este ens33. Pentru a inspecta numele interfeței rulați ip link show
    3. Dacă nu primiți eroarea de mai sus, mergeți la pasul 2.
  2. Verificați dacă merge DNS-ul.
    1. rulați comanda ping google.com
      1. Dacă primiți o eroare, editați fișierul /etc/resolv.conf. Veți avea nevoie de sudo
      2. Adăugați la finalul fișierului următoarele 2 linii: nameserver 8.8.8.8 și nameserver 1.1.1.1
      3. Salvați modificările

Informații generale

Deadline: 11 Noiembrie 2024 ora 23:59
Timp de lucru: 21 zile

SUBMIT: CLOSED
Nu se accepta submisii dupa deadline (23:59:00.000). Orice alt submit dupa deadline invalideaza submiturile anterioare

Actualizări enunț:

  • 21/10/24 (9pm) Task 3 - Aceasta → Acesta
  • 21/10/24 (10:30pm) Task 5 - /sys → /boot

Actualizări checker:
Versiunea curentă: versiunea 1.0.0

  • Ultima actualizare: 21 octombrie 2024 11pm
  • Rulati sudo uso update

Vă încurajăm ca atunci când găsiți soluția la o problemă pe care ați postat-o anterior pe forum să postați și soluția găsită. De asemenea dacă știți răspunsul la întrebările colegilor sunteți încurajați să le răspundeți.

Singurul lucru de care trebuie să aveți grijă este să nu puneți pe forum rezolvările taskurilor. Puteți să sugerați diferite abordări sau să dați idei celorlalți. Mai multe informații găsiți in recomandările de comunicare electronică.

Cunoștințe evaluate

  • Navigarea în sistemul de fișiere
  • Interacțiunea cu fișiere în linia de comandă
  • Interacțiunea cu editoarele de text
  • Redirectări
  • Arhive
  • Variabile de mediu

Testarea și finalizarea temei

Testarea temei se va face doar pe mașina virtuală autentificat ca utilizator student, folosind utilitarul uso. Acesta poate fi executat în orice moment pentru a verifica dacă au fost rezolvate corect task-urile. Nu lucrați autentificat ca utilizator root în sistem, la nicio temă. Din acest motiv există posibilitatea să nu vă treacă testele. Pe de altă parte, nu este o metoda de siguranță să lucrați autentificat ca utilizator root din motive de securitate și/sau permisiuni.

Utilitarul uso implementează testele doar pentru task-urile temei curente. La fiecare temă nouă, pentru a folosi utilitarul uso, primul pas este să porniți tema folosind comanda sudo uso start <numar_tema>. În caz contrar, nu veți avea actualizat checker-ul pentru tema curentă.

Verificați versiunea checker-ului, afișată la rularea comenzii sudo uso version. Asigurați-vă că aveți ultima versiune înainte de a continua lucrul pentru temă. Versiunea actuală este specificată în secțiunea Informații generale prezentă în enunțul temei. Pentru situațiile în care nu dispuneți de ultima versiune a checker-ului, rulați sudo uso update.

Finalizarea temei se realizează prin rularea comenzii sudo uso submit.

Task-uri

Este interzisă publicarea pe forum a comenzilor sau pozelor care fac parte din rezolvarea parțială sau integrală a temei ori a unui task. La prima abatere studentul primește un avertisment, iar punctajul obținut pe temă îi este redus cu valoarea punctajului pe task-ul respectiv. Începând cu a doua abatere, se va anula întregul punctaj pe tema curentă, temele anterioare sau cele viitoare nefiind afectate. Abaterile rămân valabile pe tot parcursul semestrului, acestea nefiind anulate în momentul în care se publică o temă nouă. Ori de câte ori se încalcă această regulă, se va ține cont de istoricul abaterilor. Abaterile vor fi actualizate în catalog.

Task 01 (26p)

[26p] Firma BMW (Bemveu) vrea sa aiba evidenta masinilor sale care sunt acum la vanzare pe masinile voastre de teme, astfel acestia va pun la dispozitie urmatoarea ierarhie a modelelor BMW:

BMW/
  ├── M_Series/
  │   ├── X3_M
  │   ├── X4_M
  │   ├── X5_M
  │   ├── X6_M
  │   └── X7_M
  ├── Series/
  │   ├── 1_Series/
  │   │   ├── 118i
  │   │   ├── 120i
  │   │   └── M135i
  │   ├── 2_Series/
  │   │   ├── 218i
  │   │   ├── 220i
  │   │   └── M240i
  │   └── 5_Series/
  │       ├── 520i
  │       ├── 530i
  │       └── M550i
  └── X_Series/
      ├── X3
      ├── X4
      ├── X5
      ├── X6
      └── X7

Va trebui sa adaugati si voi aceasta ierarhie de foldere si fisiere in folder-ul home al utilizatorului student (/home/student/).

Directoarele au după nume caracterul / (slash).

Punctajul se ofera de la folderele rădăcină către frunze. Asta înseamnă că s-ar putea să faceți anumite foldere sau fișiere care să fie în structură și checkerul să nu le puncteze decât dacă faceți într-o anumită ordine structura. Nu este nicio problemă. Atâta timp cât întreaga structură va fi creata, puteți să faceți fișierele sau folderele în orice ordine doriți și veți primi punctaj maxim.

Task 02 (12p)

Firma Dacia își dorește să pună mâna pe planurile mașinilor BMW pentru a se putea inspira din design-ul acestora. După ce au spart server-ul BMW, au acces acum la toate planurile pe care voi le-ați creat la primul exercițiu. Aceștia nu pot lua toate planurile, așa ca va trebui să rezolvați următoarele probleme.

[0p] Creați directorul Dacia în directorul /home/student/.

[2p] Faceți o copie a directorului BMW/Series (cu tot ceea ce conține acesta) care să aibă numele Modele și amplasați-o ca direct descendent al folderului Dacia.

Următoarele cerințe se referă la directorul Dacia (toate modificările de mai jos trebuie făcute în Dacia):

  1. [2p] Redenumiți directorul 1_Series din cadrul directorului Modele în Logan;
  2. [2p] Ștergeți directorul 5_Series din cadrul directorului Modele;
  3. [2p] Redenumiți fișierul 118i din cadrul directorului Logan în Logan_1;
  4. [2p] Redenumiți fișierul 120i din cadrul directorului Logan în Logan_2;
  5. [2p] Ștergeți fișierul M135i din cadrul directorului Logan.

Cerințele de mai sus trebuie rezolvate în ordine.

După rezolvarea cerințelor acestui task, nu ștergeți sau modificați conținutul directorului ~/Dacia/. Acesta trebuie să râmână în această formă pentru verificările ulterioare ale checkerului. Veți pierde punctele obținute pentru acest task dacă faceți modificări și va fi nevoie de refacerea task-ului.

Task 03 (10p)

Hoții de catalizatoare dau tot mai multe lovituri în București. Zeci de șoferi reclamă furturile în fiecare săptămână. Sunetul auto de tobă stricată a început să se audă tot mai des în Capitală. Nu este de vină vreo problemă mecanică, ci mai multe grupuri care s-au specializat în furtul de catalizatoare auto. Piesa, extrem de scumpă, este vânată în special pentru cantitățile mici de aur și platină din componența sa. Pentru a nu fi victima unui astfel de furt, este nevoie sa ascundem catalizatorul fiecarei masini pe care o deținem. Un fișier sau director este ascuns atunci când nu apare în mod normal în ierarhia de fișiere. Cu alte cuvinte, atunci când executăm într-un director comanda ls, acesta nu apare.

Următoarele subpuncte trebuie realizate în ordine pentru a primi punctajul pentru acest task.

[1p] Pentru a fi în siguranță, creați în directorul /home/student directorul ascuns - mecanic.

[2p] În cadrul acestui director creați trei fișiere ascunse intitulate: catalizator bmw-e90, catalizator skoda-octavia și catalizator renault-megane4.

[2p] În fiecare dintre fișierele menționate anterior scrieți textul Acesta este catalizatorul pentru X., unde X reprezintă modelul masinii al carui catalizator a fost ascuns (bmw/skoda/renault).

[5p] În directorul /home/student creați fișierul task_3.txt în care atașați pe cate un rând separat conținutul celor 3 fișiere create la subpunctul anterior (în ordinea în care sunt menționate anterior).

Hint: append to file (»)

Task 04 (10p)

Pentru a plăti asigurarea la un scor mai convenabil, bmw-ul si skoda de la exercitiul anterior au fost înmatriculate pe Bulgaria. Pentru a fi accesibile și în România, trebuie sa le trecem granița, folosind o legătură. O legătură este o scurtătură către un fișier sau un director. Acestea sunt necesare atunci când vrem să accesam fișiere aflate în alte locații mai ușor.

Având în vedere prețul catalizatorului celor două mașini raportat la prețul total al fiecărei mașini, putem considera că mutarea catalizatorului implică mutarea mașinii.

Pentru a primi punctaj trebuie să urmați task-urile în ordine!

[5p] Creați în directorul /home/student două legături simbolice cu numele bmw și skoda care să conducă spre fișierul ascuns catalizator bmw-e90 și respectiv catalizator skoda-octavia corespunzătoare task-ului anterior.

[5p] Pentru a verifica buna funcționare a legăturilor simbolice create anterior, atașați pe rând conținutul celor două fișiere în fișierul task_4.txt (creat de voi în /home/student).

Task 05 (10p)

Rareș și Rareș, administratorii infrastructurii, vor să salveze outputul unor comenzi undeva astfel încât să nu fie nevoie să îl copieze, să creeze un fișier nou sau să folosească unul deja existent, să îl deschidă, să lipească textul în el și să salveze modificările. Trecerea prin toți acești pași durează și devenim ineficienți în lucrul în terminal.

[10p] Astfel, realizați următoarele cerințe, aflându-vă în directorul /home/student și folosind câte o singură comandă:

  1. Salvați ierarhia tuturor fișierelor din directorul /home/student in fisierul /home/student/ierarhie-home.txt
  2. Salvați ierarhia tuturor fișierelor din directorul /boot (fără a modifica directorul în care vă aflați) în fișierul /home/student/ierarhie-boot.txt;
  3. Salvați conținutul fișierului /etc/group în fișierul /home/student/utilizatori_si_grupuri.txt pentru a îi ajuta să țină evidența celor care au acces la planurile BMW;
  4. Salvați eroarea care apare în momentul în care încercați să afișați conținutul fișierului legitimatie_student.txt în fișierul /home/student/eroare.txt;
  5. Anexați pe rând conținutul tuturor fișierelor create la subpunctele anterioare (în ordinea în care sunt create) în fișierul /home/student/task_5.txt.

  • Hint1: append to file (»)
  • Hint2: ierarhie de fișiere = similar cu ceea ce ați creat la task 01
  • Hint3: ierarhiile conțin fișiere ascunse

Task 06 (12p)

La finalul semestrului, cei doi administratori BMW au adunat multe fișiere și materiale pe care le-au organizat conform task-urilor anterioare. Acum, aceștia iși doresc ca fișierele/directoarele create anterior să ocupe mai puțin spațiu, deci să le comprime. Comprimarea este o arhivare mai specială pentru că micșorează dimensiunea fișierului rezultat. Rezultatul este similar: agregarea într-un singur fișier.

În directorul /home/student realizați următoarele:

[4p] Adăugați directorul BMW și toate fișierele conținute într-o arhivă cu numele cazane.tar și directorul Dacia și toate fișierele conținute într-o arhivă cu numele tigai.tar, amândouă de tip tar;

[4p] Adăugați în arhiva creată anterior, tigai.tar fișierele create la task-ul 3 și 4 (task_3.txt și task_4.txt);

[4p] Realizați comprimarea de tip tar.gz a directorului BMW și a tuturor fișierelor conținute într-o nouă arhivă cu numele conserve.tar.gz (nu ștergeți arhiva creată la punctul 1).

Task 07 (20p)

Cei doi vor să afle dacă într-o ierarhie de fișiere se găsește un anumit fișier și, dacă există, să descopere unde anume se află acesta. Voi trebuie să îi ajutați. De asmenea, cei doi au aflat despre existența variabilelor de mediu; vor să le modifice pentru că sunt studenți săraci care au acum legitimație de student și pot merge cu trenul:

[6p] Anexați pe câte un rând în fișerul final.txt calea către utilitarele: cat, rm și vim (în această ordine). Acest fișier trebuie să se afle tot în /home/student;

[7p] Adăugați variabila de mediu CU_NASU căreia să îi atribuți valoarea “sl” (rulați și sl înainte pentru a vedea efectele comenzii) astfel încât aceasta să fie persistentă;

[7p] Modificați valoarea variabilei de mediu TZ astfel încât promptul să afișeze la fiecare afișare a variabilei de mediu, data în care ne aflăm după următorul format: ll/zz/aa. Realizați modificările necesare în așa fel încât configurația variabilei TZ menționată mai devreme să fie persistentă la restart. Ulterior, puneți valoarea acesteia în fișierul data.txt amplasat tot în /home/student.

De exemplu, după afișarea variabilei de mediu TZ pe directorul home, output-ul în terminal ar trebui să fie următorul:
 Exemplu prompt

Putem observa faptul că output-ul se afișează direct la introducerea în terminal a șirului de caractere: $TZ și nu este nevoie de o comandă de genul echo $TZ

  • Hint: analizati fisierul ~/.bashrc

Observați că acum s-a schimbat ierarhia din /home/student deci și rezultatul vostru în cadrul task-ului 05. Rezolvați această problemă.

Task obligatoriu pentru toate temele (0p)

Finalizați tema si asigurați-vă că ați submis tema cu sudo uso submit.

Tema oferită în exclusivitate de Rareș & Rareș

Avertisment

Este interzis studenților să modifice parametrii de rulare ai mașinii virtuale. Orice tentativă malițioasă de modificare a fișierelor și executabilelor care fac mașina virtuală sa ruleze in parametrii optimi (fișierele si folderele ce nu țin de enunțul temei curente), ne conferă dreptul de a oferi 0 puncte pe temele respectivului student.

uso/teme/tema-1.txt · Last modified: 2024/11/12 00:06 by rares.sarmasag
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0