This is an old revision of the document!
Thread nou? Nu. Pentru o ușoară parcurgere a mesajelor, folosiți thread-urile de discuții existente în cadrul forumului, fără a crea altele. În consecință, thread-urile (subiectele de discuții) nou create vor fi șterse.
Căutare. 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.
Printscreen/poză? Nu. În cazul în care doriți să publicați un printscreen pe forum, recomandăm folosirea site-urilor pentru partajarea gratuită a imaginilor, precum imgur sau alternativele sale, publicând pe forum doar link către printscreen. Pozele inserate în răspunsuri, vor fi șterse.
Actualizări. 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.
Regulament. Î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 cs.curs.pub.ro pentru întrebări și neclarități legate de teme.
Întrebări frecvente. Î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ă.
Ajutor reciproc. 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.
ip address show
).
Actualizări utilitar uso
: versiunea v16 - “Gold Blackbird”
Actualizări checker: versiunea 3
enp0s8
.i386/ubuntu
, ci doar cu numele.
uso
uso
, consultați instrucțiunile de utilizare.Descărcare mașină virtuală și informații despre aceasta
Testarea temei se va face doar pe mașina virtulă (aici) 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
. În caz contrar, nu veți avea actualizat checker-ul pentru tema curentă.
Verificați versiunea utilitarului uso
cât și a checker-ului, afișată la rularea comenzii sudo uso start
sau sudo uso check
, pe prima linie a output-ului. 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 utilitarului uso
sau checker-ului, rulați sudo uso update
.
Finalizarea temei se realizează prin rularea comenzii sudo uso submit
și încărcarea codului returnat de această comandă (32 de caractere alfanumerice), în formularul din secțiunea Informații generale. Pentru a evita transcrierea eronată a codului returnat de checker, recomandăm copierea acestuia din interfața mașinii host conectată prin SSH către mașina guest după cum urmează:
DockerGoogleAmazonMicrosofta da senzațiausovm
un container nu este o mașină virtuală
docker images
;docker run -it image
;docker stop/start CONTAINER_NAME
;Ctrl+P Ctrl+Q
;docker attach CONTAINER_NAME
;docker ps
;docker ps -a
;docker rm
;docker rmi
.
i386/ubuntu:latest
folosind comanda docker pull
.dimension-c137
care folosește imaginea descărcată la punctul anterior. Containerul trebuie să rămână pornit. Urmăriți exemplul de aici.inetutils-ping
, iproute2
, openssh-server
, sshpass
, sqlite3
, vim
și sudo
pe containerul dimension-c137
.smith
pe containerul dimension-c137
cu parola smith
. Setați directorul home al acestuia la /home/smith_residence
și shellul la /bin/bash
.ssh
între mașina virtuală de USO (usovm
) și containerul dimension-c137
folosind userul smith
.dimension-c137
cu numele dimension-c137/ubuntu
. Hint: docker commit
rick
- cu userul rick
și parola rick
morty
- cu user morty
si parola morty
summer
- cu userul summer
și parola summer
docker attach CONTAINER_NAME
docker stop rick morty summer && docker rm rick morty summer
eth1
a containerului rick
, a 11-a adresă asignabilă din rețeaua 192.168.137.0/24
.eth1
a containerului morty
, ultima adresă asignabilă din rețeaua 192.168.137.0/24
. Testați conectivitatea între cele 2 containere prin intefețele eth1
folosind comanda ping
.ssh
cu credențialele de mai sus. Conexiunea va folosi adresa IP asignată intefețelor eth1, nu eth0.
rick
și morty
trebuie să fie pornite la finalul acestui task. Interfețele eth1
ale celor două containere trebuie să aibă configurată câte o singură adresă IP.
rick
.eth1
a containerului summer
o adresă astfel încât să poată da ping cu succes pe adresele setate pe containerele rick si morty (atenție și la adresa setată pe interfața usobridge
de pe host).Un container nu poate fi rebootat, testați faptul că ați făcut configurările corecte folosind comanda service networking restart
în containerul summer
.summer
să aibă conexiune la internet. Testați folosind comanda ping -c 2 8.8.8.8
. Configurarea trebuie să fie permanentă.morty
altfel încât comanda ping google.com
să se execute cu succes.usovm
) astfel încât să fie posibilă conectarea la containerele rick
, mortyi
și summer
folosind numele lor. De exemplu:student@usovm:~$ ping rick student@usovm:~$ ping morty student@usovm:~$ ping summer
/home/student/tema3/keys
de pe mașina virtuală de USO (usovm
). NU setați niciun passphrase pentru ele.student
de pe host (usovm
) să se poată conecta pe userii de pe cele 3 containere (rick
, morty
, summer
), fără parolă, folosind cheile generate la subpunctul anterior (va trebui să faceți posibilă conexiunea prin ssh
si pe containerul summer cum ați făcut și la task-ul 2 pentru rick
și morty
).~/tema3/task4/send_to_all.sh
(în home-ul userului student
de pe mașina virtuală) care primește o cale către un fișier ca argument și trimite prin ssh (Hint: man scp
) fișierul primit ca argument în directoarele home ale utilizatorilor rick
, morty
și summer
de pe containerele asociate fără a cere parolă. Puteți să presupuneți că argumentul primit de script este tot timpul valid.
rick
morty
sqlite3
sqlite3
(o sa trebuiască instalat pachetul) o bază de date numită rickandmorty.db
(în /home/student/tema3/task5
) și în ea o tabelă nouă numită characters
cu 3 coloane:select.sh
în /home/student/tema3/task5
de pe mașina virtuală care primește 2 argumente:*.db
)să selecteze din tabelă intrările care corespund utilizatorului curent (coloana name din tabelă conține numele utilizatorului care rulează scriptul) să scrie rezultatul selecției în format ''csv'' într-un fișier numit ''query.csv'' în directorul home al utilizatorului curent
characters
select.sh
pe toate cele 3 containerele în home-urile userilor asociați (scriptul trebuie să se numească tot select.sh
).
wabalubadubdub.sh
/home/student/tema3/task5
*.db
)prin ssh
prin sshman scp
query.csv
directorul curentquery_remote.csv
docker exec
) rezolvarea nu se va puncta (chair dacă checkerul vă dă punctajul).
===== Task obligatoriu pentru toate temele (0p) =====
Asigurați-vă că ați submis tema și ați încărcat codul aferent submisiei în formularul din secțiunea de Informații generale. Acest lucru este necesar ori de câte ori modificați tema și o submiteți din nou (detalii aici), până la termenul limită. În caz contrar, punctajul aferent temei va fi nul (0 puncte). </hidden>