Sunteți pe pagina 1din 7

Utilizarea Sistemelor de Operare: Tema 5

Termen de predare: Miercuri, 16 Ianuarie 2013, ora 23:55

Utilizarea Sistemelor de Operare - Tema 5

Descriere
Tema const realizarea unui set de task-uri asupra unui sistem de operare Linux, gata instalat a n ntr-o masin virtual. a a , Pentru predarea temei sunt necesare: conexiunea la internet Termen de predare: Timpul de lucru efectiv este de 10 de zile Uploadarea codului: 16 ianuarie 2013, ora 23:55 Uploadarea se face pe formularul de la adresa urmtoare: a https://docs.google.com/spreadsheet/viewform?formkey=dF9zaENLR0J0cEJHaW9jUGtIazZhREE6MA Deadline-ul temei este hard. NU se accept arzieri dup 16 ianuarie, ora 23:55. a nt a Atentie! Important! , Pentru a putea rula uso submit cu success uso check NU trebuie s se blocheze. NU oferim suport pentru a esecul de a trimite tema dac uso check se blocheaz. Vericati comenzile si scripturile folosite pentru a a a , , , nu bloca vericarea! Atentie! , Chiar si dup ce ati predat codul, NU stergeti arhiva cu masina virtual pn nu v aati nota! Dac vor a a a a a a , , , , , , exista probleme corectarea temei, fr arhiv NU se pot face contestatii sau rezolva eventualele probleme n aa a , aprute. a

Pagina 1/ 6

Utilizarea Sistemelor de Operare - Tema 5

Testare
Testarea temei se va face DOAR autenticat ca utilizator root, folosind programul instalat uso. Programul uso implementeaz testele pentru toate task-urile din aceast tem. Acesta poate executat orice moment a a a n pentru a verica dac au fost rezolvate corect task-urile. a Versiunea programului check este asat pe prima linie a output-ului. a , Versiunea curent este: v6. Codename: So long and thanks for the sh. a cazul care testele vor actualizate, modicrile ajung mod automat pe masinile virtuale. Comanda In n a n , uso update va descrca ultima versiune a programului uso folosit pentru testarea temei. Pentru a actualiza a manual checker-ul, puteti apela uso update ca utilizator root. , Testarea nal a temei se realizeaz prin intermediul utilitarului automat de vericare a temelor. Tot ce a a trebuie voi s faceti este s rulati uso submit si s arcati codul formularul descris pagina anterioar. a a a nc , n n a , , , Pentru a usura testarea, recomandm: a , Setrile masinii virtuale NU ar trebui modicate (nici mcar o actualizare a VMWare Tools). Dac a a a , totusi considerati c este necesar o modicare a a ntrebati ai pe forum-ul temei dac este acceptat. nt a a , , , Masina virtual s porneasc iar sistemul de operare s se a a a a ncarce complet fr interactiune din a a , , exterior Parola de root s rmn cea implicit (student) a a a a a ATENTIE: Masina virtual vine implicit cu aceste conditii a ndeplinite si nici un task nu va afecta vreuna , , , , din ele. V rugm s NU alterati vreuna din aceste componente deoarece riscati s primiti 0 puncte pe a a a a , , , tem. a

Notare
Nota pe ntreaga tem este dat de punctajul acumulat pe toate task-urile, punctaj asat de ctre programul a a a , check la executia fr nici un parametru plus 10 puncte suplimentare oferite pe coding-style. aa , Se pot lua maxim 150 de puncte pe ntreaga tem. Acest punctaj este echivalent cu 0.5 puncte din nota a nal. a Nu este obligatorie rezolvarea tuturor task-urilor. Task-urile pot rezolvate orice ordine, mai putin n n , situatia care un task depinde de rezolvarea unui alt task. n ,

Pagina 2/ 6

Utilizarea Sistemelor de Operare - Tema 5

Task 1 (140p)
Manager de pachete Ca administrator IT ntr-o companie trebuie s ai informatii despre pachetele instalate pe diverse servere. a , Pentru tema actual, va trebui s construiesti un wrapper peste dpkg si apt (cu toate derivatele lor) astfel a a , , at s poti aa: nc a , detalii despre pachete pachete instalate sistem n pachete ce pot instalate sistem n siere apartinnd unor pachete a , , pachete ce detin anumite siere , , Atentie Scriptul nu va instala sau sterge pachete! , , Mai exact, trebuie s construiesti un script pkgman.sh aat /home/student care s accepte urmtoarele a n a a , moduri de apelare: pkgman.sh help - aseaz un mesaj de help cu argumentele acceptate a , pkgman.sh packages - aseaz detalii despre toate pachetele din sistem: numr pachete, pachete a a , virtuale, pachete lips a pkgman.sh names - aseaz toate numele pachetelor ce pot instalate (nu sunt sortate!) a , pkgman.sh names PREFIX - reduce lista anterioar doar la pachetele ce a ncep cu PREFIX pkgman.sh names -c - sumarizeaz lista, asnd doar numrul intrrilor a a a ,a pkgman.sh names PREFIX -c sau pkgman.sh names -c PREFIX - combin cele dou efecte anterioare a a pkgman.sh installed - aseaz toate numele pachetelor ce pot instalate, sortate alfabetic a , pkgman.sh installed PATTERN - reduce lista anterioar doar la pachetele ce se potrivesc cu sablonul a , PATTERN pkgman.sh installed -c - sumarizeaz lista, asnd doar numrul intrrilor a a a ,a pkgman.sh installed PATTERN -c sau pkgman.sh installed -c PATTERN - combin cele dou efecte a a anterioare pkgman.sh files PACKAGE aseaz toate sierele detinute de un pachet precum si directoarele ce le a , , , , contin , pkgman.sh pkgof PATTERN - aseaz ordine alfabetic toate pachetele ce detin siere sau directoare a n a , , , ce se potrivesc cu sablonul PATTERN si se a ierarhia de siere folosit de utilitarele de pachete a n a , , , pkgman.sh info PACKAGE - aseaz informatii despre un pachet. Lista acestor informatii poate a , , , cazul care selectorii lipsesc se consider c au fost pasati toti. Selectorii restrns prin selectori. In a a n a a , , pe care trebuie s-i suportati sunt: a , Pagina 3/ 6

Utilizarea Sistemelor de Operare - Tema 5 --maintainer - selecteaz maintanerul pachetului a --priority - selecteaz prioritatea pachetului a --section - selecteaz sectiunea pachetului a , --homepage - selecteaz homepage-ul pachetului a --deb - aseaz numele sierului .deb asociat pachetului. a , , --md5 - aseaz MD5-ul acestui sier a , , --version - aseaz versiunea pachetului a , --tags - aseaz tag-urile pachetului a , --provides, --suggests, --recomments, --recommends, --depends, --conflicts, --breaks aseaz (dac exist) sectiunile corespunztoare din descrierea pachetului a a a a , , --vcs - aseaz cele 2 URL-uri pentru versionarea codului pachetului (dac exist): repository a a a , si interfata web , , --srcs - aseaz sursele din care se compileaza pachetul a , Pot exista mai multe aparitii ale aceluiasi selector. Fiecare selector trebuie executat ordinea n n , , care apare. caz de eroare de apel trebuie asat mesaj corespunztor si In a ntors cod de eroare 1. Dac un packet nu a , , exist, se va a ntoarce cod de eroare 2 si mesajul corespunztor. a , Sintaxa mesajelor este script: mesaj argumente. Pentru ecare task care este necesar, puteti vedea n , mesajul ce ar trebuit asat rulnd uso check. a , Deoarece mesajul de help este mai complex, la rularea uso check, dac nu exist scriptul, se va crea un a a schelet ce va contine o portiune din liniile ce trebuiesc asate la help. Rmne s faceti voi scriptul executabil a a a , , , , si s-l modicati pentru celelalte taskuri. a , , Scriptul de check ruleaz teste pentru ecare combinatie posibil si pentru o multitudine de pachete, siere si a a, , , , sabloane. Deoarece sunt multe teste, esuarea unuia presupune saltul la primul test din urmtoarea categorie: a , , Test [001] Test [003] Test [008] Test [013] Test [021] Test [029] Test [031] Test [057] Test [083] TOTAL: 0p .............. .............. .............. .............. .............. .............. .............. .............. .............. FAIL FAIL FAIL FAIL FAIL FAIL FAIL FAIL FAIL (pkgman.sh (pkgman.sh (pkgman.sh (pkgman.sh (pkgman.sh (pkgman.sh (pkgman.sh (pkgman.sh (pkgman.sh ) help) packages) files) pkgof) badparam) names) installed) info pkgnf)

cazul unui test picat se aseaz parantez un detaliu al modului prin care testul apela scriptul. In a n a In , plus, se aseaz lista de diferente a ntre cele dou outputuri: liniile cu --- reprezint liniile dorite iar cele cu a a , , +++ liniile corespunzatoare obtinute de scriptul vostru. Desigur, cazul testelor cu output mare, vor mai n , greu de vizualizat diferentele. Dac testul se termin cu succes se aseaza punctajul asociat ( majoritatea a a n , , cazurilor 1p, exist doar un test de 5p si 4 de 2p) a ,

Pagina 4/ 6

Utilizarea Sistemelor de Operare - Tema 5 Test [098] .............. PASS ( 1p) --- desired +++ obtained @@ -2 +2 @@ -MD5: 6d4edb50cb33fdec61a3ae9c7d9ec202 +pkgman.sh: unknown info flag --md5 Test esuat la pachetul git , Test [099] .............. FAIL (pkgman.sh info --md5 pkg) TOTAL: 98p Recomandarea este s nu opriti procesul de check pe parcurs. majoritatea cazurilor nici nu veti putea dar a In , , dac ati reusi riscati s stricati structura intern, ceea ce ar cauza esuarea tuturor testelor urmtoare (pn a , a a a a a , , , , la stergere scriptului si reluarea de la 0). , , La pornirea procesului de test, scriptul veric existenta sistem a tuturor pachetelor necesare pentru a n , rulare. Astfel, erorile de scripting ce cauzeaz stergerea unor pachete sunt evitate. a ,

Pagina 5/ 6

Lista schimbrilor a

S-ar putea să vă placă și