This shows you the differences between two versions of the page.
uso:laboratoare:laborator-01 [2017/09/27 17:21] alexandru.jercaianu [BONUS: Instalarea Linux într-o mașină virtuală] |
uso:laboratoare:laborator-01 [2021/10/04 20:50] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Laborator 01 - Introducere ====== | + | ====== Laborator 01 - Acomodarea în Linux ====== |
- | ====== Obiective ====== | ||
- | <hidden> | + | {{page>uso:laboratoare:laborator-01:intro&nofooter&noeditbutoon}} |
- | Laboratorul de USO se desfășoară pe semigrupe. Fiecare grupă se împarte pe din două semigrupe de maxim 15 studenți fiecare. Cel mai simplu este ca studenții să se împartă la jumătate alfabetic. Vedeți și precizările de [[:uso:regulament#desfasurarea_laboratorului|aici]]. | + | {{page>uso:laboratoare:laborator-01:apps&nofooter&noeditbutoon}} |
+ | {{page>uso:laboratoare:laborator-01:browser&nofooter&noeditbutoon}} | ||
+ | {{page>uso:laboratoare:laborator-01:terminal&nofooter&noeditbutoon}} | ||
+ | {{page>uso:laboratoare:laborator-01:workspace&nofooter&noeditbutoon}} | ||
+ | {{page>uso:laboratoare:laborator-01:cheatsheet&nofooter&noeditbutoon}} | ||
- | Să faceți laboratorul cu o singură semigrupă. Dacă vine toată grupă explicați-le aceste lucruri și spuneți-le ca semigrupa a doua să vină în celălalt interval orar. | + | ==== Cuprins ==== |
- | Asistentul trebuie să se prezinte, să spună ce an e (respectiv când a terminat facultatea), și ce așteptări avea de la facultate când a intrat în anul 1. Au fost aceste așteptări îndeplinite de facultate? S-au modificat ele pe parcurs? | + | {{page>uso:laboratoare:laborator-01:nav&noheader&nofooter&noeditbutton}} |
- | Urmărim să obținem aceleași informații și de la studenți: | ||
- | * nume, eventual un nickname, nu vrem să fim formali | ||
- | * din ce oraș sunt | ||
- | * ce **vor** de la facultate. Probabil mulți nu știu, trebuie să încercăm să fim supportive, să explicăm că e OK să nu știe ce vor acum, dar dacă nici în anul 4 nu s-au hotărât, au o problemă | ||
- | |||
- | Ar fi util să lăsăm studenții să răspundă în ce ordine vor ei, dar să ne asigurăm că vorbesc toți. Dacă sunt mulți și nu sunteți siguri că rețineți, play it safe și luați-i la rând. | ||
- | |||
- | Înainte de a trece la treabă, prezentați pe scurt regulamentul și modul de desfășurare a laboratorului. Vă puteți folosi și de informațiile de la [[uso:regulament|regulament]]. | ||
- | |||
- | Sa le ziceti de acea ieșire informală la bere (sau oriunde altundeva) în care veți continua aceste discuții cu ei. | ||
- | </hidden> | ||
- | |||
- | Ce obții în urma acestui laborator? | ||
- | * Te vei acomoda cu resursele facultății și ale cursului de USO. | ||
- | * Vei obține niște prime cunoștințe despre Linux și sisteme de operare. | ||
- | * Vei dobândi minimul necesar pentru lucrul în linia de comandă. | ||
- | |||
- | ====== Evenimente pentru studenții de anul I @ ACS ====== | ||
- | |||
- | ===== Academy War Games ===== | ||
- | |||
- | LAN Party, cu multe jocuri, ce are loc **vineri, 6 octombrie 2017, în holul EC al Facultății de Automatică și Calculatoare**. | ||
- | *Detalii puteți afla pe http://awg.acs.pub.ro | ||
- | ===== Treasure Hunt ===== | ||
- | |||
- | Eveniment de explorare și de descoperire a întregului campus al Universității POLITEHNICA București. Ai ocazia să explorezi și să descoperi locuri în care ți-ai putea petrece viața de student. Evenimentul are loc **duminică, 8 octombrie 2017, începând cu ora 16:00, cu punct de plecare hol EC.** | ||
- | *Detalii aflați pe http://q.acs.pub.ro/ | ||
- | ===== LIF - Linux Install Fest ===== | ||
- | |||
- | Eveniment în urma căruia vă puteți instala Linux pe sistemele personale: **sâmbătă 7 octombrie 2017, între orele 10:00 și 16:00, în hol EC**. | ||
- | * Detalii pe http://lif.acs.pub.ro/ și http://lif.rosedu.org/lif/ | ||
- | |||
- | |||
- | ====== 1. Resursele cursului de USO ====== | ||
- | |||
- | ==== Echipa de asistenți a USO ==== | ||
- | |||
- | Îl puteți cunoaște pe profesorul de la curs, pe asistentul vostru, dar și pe colegii lor accesând [[:uso:echipa|pagina echipei]]. | ||
- | |||
- | ==== cs.curs.pub.ro ==== | ||
- | |||
- | Link: http://cs.curs.pub.ro/ | ||
- | |||
- | Informații despre conturi găsiți pe prima pagina a site-ului. | ||
- | |||
- | Este platforma de cursuri online a facultății de Automatică și Calculatoare. Atât pentru cursul de USO, cât și pentru alte cursuri care folosesc platforma Moodle veți găsi: | ||
- | * Link-uri către cursuri și laboratoare | ||
- | * Anunțuri utile pentru voi | ||
- | * Forum de discuții, unde puteți pune întrebări legate de curs sau de facultate | ||
- | * Puteți oferi feedback echipei de asistenți | ||
- | * Link-uri către temele de casă și termenele limită pentru acestea | ||
- | |||
- | <note important> | ||
- | Orice nelămurire cu privire la cursul sau laboratorul de USO, sau la materie în general, orice întrebare care are legătură cu USO sau cu facultatea, adresați-o pe forumul dedicat în cadrul materiei USO pe Moodle. | ||
- | |||
- | Pe forumul de discuții de pe platforma Moodle veți primiți răspunsuri rapide, prompte și avizate la probleme legate de cursul de USO și activitățile acestuia. Folosiți cu încredere forumurile aferente atunci când nu sunteți la curs sau laborator și nu puteți discuta direct cu titularul de curs sau asistentul de laborator. | ||
- | |||
- | Înainte de a pune o întrebare, asigurați-vă că nu a mai fost pusă de altcineva înainte. | ||
- | |||
- | Contactați asistenții sau titularii de curs pe adresa de e-mail personală doar în cazuri de probleme private sau care nu interesează pe toți colegii voștri prezenți pe forum. | ||
- | </note> | ||
- | |||
- | ==== Support (issues) ==== | ||
- | |||
- | Link: [[https://support.curs.pub.ro/|https://support.curs.pub.ro/]] | ||
- | |||
- | Platforma unde puteți ridica un tichet în cazul în care aveți probleme cu contul de email ''@stud.acs.upb.ro'' sau cu contul cu care accesați resursa Moodle (adică site-ul https://cs.curs.pub.ro). | ||
- | |||
- | ==== Wiki ==== | ||
- | |||
- | Link: http://ocw.cs.pub.ro/courses/uso/ | ||
- | |||
- | Platforma wiki Open Courseware e locul în care veți găsi, în general, materialele necesare pentru studiu: slide-urile cursurilor, exercițiile de laborator, link-uri către calendar, catalog, mașini virtuale și alte resurse auxiliare necesare. | ||
- | |||
- | ==== Cartea de USO ==== | ||
- | |||
- | Link: [[http://books.google.ro/books?id=_JFGzyRxQGcC|Google Books]] | ||
- | |||
- | Cartea //Introducere în sisteme de operare// reprezintă suportul de curs și laborator pentru USO. Cartea conține informații detaliate și suplimentare despre materia predată. | ||
- | |||
- | ==== Clusterul NCIT al facultății ==== | ||
- | |||
- | Link: [[https://cloud.curs.pub.ro/|https://cloud.curs.pub.ro/]] | ||
- | |||
- | Clusterul NCIT al facultății, accesibil prin front-end processor la adresa ''fep.grid.pub.ro'' folosind protocolul SSH (despre servicii de rețea vom învăța în laboratorul 7), este o resursă care va fi folosită pentru temele de casă și pentru testul practic. Autentificarea în sistem se face folosind aceleași credențiale cu care vă autentificați pe platforma Moodle (http://cs.curs.pub.ro/). | ||
- | |||
- | Infrastructura de cloud din cadrul clusterului NCIT este baza pe solutia opensource [[http://www.openstack.org/|Openstack]]. Aceasta este o solutie de IaaS (Infrastructure as a Service). Va fi folosită pentru a vă crea mașini virtuale în cloud pentru testele practice. | ||
- | |||
- | ==== Jocul World of USO ==== | ||
- | |||
- | Link: https://wouso.cs.pub.ro/ | ||
- | |||
- | World of USO este un joc simplu realizat pentru studenții cursului de USO, care are 3 componente majore: Question of the Day, Challenge și The Quest. Autentificarea în joc se face folosind aceleași credențiale cu care vă autentificați pe platforma Moodle (''cs.curs.pub.ro''). Momentan nu a fost lansat. | ||
- | |||
- | ==== Repository Git USO ==== | ||
- | |||
- | Link: https://github.com/systems-cs-pub-ro/uso | ||
- | |||
- | Repository-ul de Git al cursului de USO: Aici veți găsi materialele auxiliare necesare unui laborator și eventual fișiere cu cod sursă ale rezolvărilor. | ||
- | |||
- | ==== Activități comunitate USO ==== | ||
- | |||
- | Va exista un forum pe http://cs.curs.pub.ro pentru activități de comunitate, în care bi-săptămânal vor fi postate task-uri. Vor fi 2 track-uri: | ||
- | |||
- | * Task-uri din CS / IT: un răspuns liber la o intrebare sau de pus o întrebare foarte interesantă, preferabil cu răspuns liber, la care echipa va răspunde. | ||
- | * Task-uri distractive, spre exemplu: Caricatura asistentului de laborator sau a unui profesor, un cântec sau o poezie despre echipa de USO. | ||
- | |||
- | Punctarea pentru clasamentul final va fi simplă, putând exista un singur câștigător / echipă câștigătoare per task: numărul de task-uri câștigate. Dacă există egalitate pentru un task, se va considera că toți cei aflați pe primul loc au câștigat runda respectivă. | ||
- | |||
- | Premiile constau în gold în WoUSO. Odată cu premierea WoUSO, o să avem și o premiere pentru activitatea de comunitate. | ||
- | |||
- | Forum-ul pe care se desfasoara s-a deschis: http://cs.curs.pub.ro/2016/mod/forum/view.php?id=1578 | ||
- | |||
- | ===== 2. Prezentarea liniei de comandă ===== | ||
- | |||
- | <hidden> | ||
- | Informațiile legate de interfața grafică sunt legate de mediul GNOME din Ubuntu GNOME 14.04. | ||
- | </hidden> | ||
- | |||
- | Majoritatea conceptelor din laboratorul de USO vor folosi mediul text ca suport. Interacțiunea este, în general, de tip //comandă - răspuns//, iar conceptul se numește "a lucra în linie de comandă". Acțiunile pe care le realizăm în modul grafic (pornire de aplicații, creare de fișiere, descărcare de resurse de pe Internet etc.) sunt realizabile și în linia de comandă. | ||
- | |||
- | Programul pe care îl folosim pentru a lansa comenzi se numește, prin abuz de limbaj, //shell//, //terminal//, sau //consolă//. | ||
- | |||
- | Pentru a porni un terminal din **interfața grafică (GUI)** în Ubuntu GNOME (distribuția instalată în laborator), urmăm pașii: | ||
- | - Dăm click pe butonul ''Activities'' din colțul stânga sus al desktop-ului. | ||
- | - În bara apărută în stânga, dăm click pe icon-ul ''Terminal''. | ||
- | |||
- | <note> | ||
- | În particular, în sala de laborator, găsiți pe Desktop o scurtătură numită ''Terminal'' care va deschide o aplicație de tip terminal. Este vorba de o configurare particulară realizată pe sistemele din sala de laborator. | ||
- | </note> | ||
- | |||
- | **Alternativ**, puteți porni orice aplicație, dacă îi știți numele, folosind ''Alt+F2'' și tastând numele aplicației. În particular, pentru a porni o aplicație de tip terminal, folosim combinația de taste ''Alt+F2'' și apoi tastăm numele aplicației (adică ''gnome-terminal''), urmat de apăsarea tastei ''Enter''. | ||
- | |||
- | <note tip> | ||
- | În multe distribuții ce folosesc mediul grafic GNOME puteți deschide un terminal nou folosind combinația de taste ''Ctrl+Alt+t''. | ||
- | </note> | ||
- | |||
- | În terminal, comanda ''echo'' afișează pe ecran textul care o urmează. De exemplu, ca să afișăm pe ecran textul ''%%"Hello, World"%%'', tastăm în terminal comanda<code bash> | ||
- | echo "Hello World" | ||
- | </code> | ||
- | Pentru a rula comanda apasăm ''Enter''. | ||
- | |||
- | Observați modul de interacțiune: pornim o comandă, îi dăm de la început argumentele (îi spunem ce să facă). Comanda produce rezultate și se termină. Putem apoi lansa o altă comandă. Comparați acest mod de lucru cu folosirea unui browser web: îl pornim și rămâne pornit în timp ce îi spunem ce să facă. În acest sens, un browser este interactiv. | ||
- | |||
- | Observați că înaintea fiecărei comenzi se află o linie de forma ''vlad@cormyr:~$ ''. Această linie, numită **prompt**, are rolul de a identifica utilizatorul, mașina curentă, și directorul în care ne aflăm. Observați formularea ''user@host'', asemănătoare cu o adresă de email. | ||
- | |||
- | <note> | ||
- | Rețineți că simbolul ''~'' (numit //tilda//) este o prescurtare pentru directorul home al utilizatorului. Fiecare utilizator are un asemenea director, de obicei în directorul **''/home''** (de exemplu **''/home/student''**). Corespondentul lui în Windows 7 este ''C:\Users\student\''. | ||
- | </note> | ||
- | |||
- | În următoarele laboratoare, va trebui să rezolvați mai multe exerciții în linia de comandă. Trebuie să aveți o metodă clară de a le separa, pentru a putea demonstra ușor asistentului că ați rezolvat fiecare exercițiu. | ||
- | * Folosiți, în terminal, opțiunea //File -> Open Tab//, sau puteți folosi combinația de taste ''Ctrl+Shift+t''. | ||
- | * Dacă nu aveți bară de sus, puteți da right-click **în mijlocul ferestrei de terminal** și apoi selectați //Show menubar//. | ||
- | * Puteți naviga între tab-uri folosind combinația de taste ''Ctrl+PageUp/PageDown''. | ||
- | * Pentru a sări direct la un tab, puteți folosi combinația de taste ''Alt + <index>'', unde index este o cifră de la 0 la 9 reprezentând indexul tab-ului | ||
- | * Pentru a închide un tab, folosiți comanda ''exit'' sau combinația de taste ''Ctrl+d''. | ||
- | |||
- | Ca alternative la lucrul cu multiple terminale, puteți folosi programe precum [[https://github.com/Guake/guake|Guake]] sau [[http://gnometerminator.blogspot.ro/p/introduction.html|Terminator]]. | ||
- | |||
- | ===== 3. Aplicații implicite în Ubuntu GNOME 16.04 ===== | ||
- | |||
- | * [[https://www.mozilla.org/en-US/firefox/|Firefox]] - browser web | ||
- | * Comanda aferentă este ''firefox''. | ||
- | * [[http://www.libreoffice.org/|LibreOffice]] - suită Office open-source | ||
- | * Comanda aferentă este ''libreoffice''. | ||
- | * [[https://wiki.gnome.org/Apps/Evince|Evince]] - PDF Viewer | ||
- | * Comanda aferentă este ''evince''. | ||
- | * [[https://wiki.gnome.org/Apps/EyeOfGnome|EyeOfGnome]] - default image viewer pe distribuții Ubuntu bazate pe mediul desktop GNOME. Pe distribuții Ubuntu, care folosesc, de exemplu, mediul desktop [[http://mate-desktop.org/|MATE]], utilitarul se numește Eye of Mate. | ||
- | * Comanda aferentă este ''eog''. | ||
- | * [[https://wiki.gnome.org/Apps/Shotwell|Shotwell]] - manager de poze | ||
- | * Comanda aferentă este ''shotwell''. | ||
- | * [[https://wiki.gnome.org/Apps/Empathy|Empathy]] este un program de instant messaging cu suport pentru mai multe rețele (Yahoo Messenger, Google Talk, Facebook, etc.) și mai multe forme de comunicare: text, voce, video, transfer de fișiere. | ||
- | * Comanda aferentă este ''empathy''. | ||
- | * [[https://wiki.gnome.org/Apps/Rhythmbox|Rhythmbox]] - player de muzică | ||
- | * Comanda aferentă este ''rhythmbox''. | ||
- | * [[https://wiki.gnome.org/Apps/Videos|Videos]] - cunoscut în trecut sub numele de ''Totem'', este player-ul implicit de filme în Ubuntu 14.04. Folosește în spate codec-urile [[http://gstreamer.freedesktop.org/|gstreamer]] și e capabil să redea multe formate (''.avi'', ''.mp4'', ''.mkv'' etc.). | ||
- | * Comanda aferentă este ''totem''. | ||
- | * [[https://www.transmissionbt.com/|Transmission]] - Bit Torrent client (variantă sub Linux similară cu popularul [[http://www.utorrent.com/|uTorrent]]) | ||
- | * Comanda aferentă este ''transmission-gtk''. | ||
- | * Editoare text: | ||
- | * [[https://wiki.gnome.org/Apps/Gedit|Gedit]] | ||
- | * Comanda aferentă este ''gedit'' | ||
- | * [[http://www.gnu.org/software/emacs/|Emacs]]: un editor foarte puternic, printre cele mai folosite în lumea Linux, la un loc cu Vim | ||
- | * Comanda aferentă este ''emacs''. | ||
- | * [[uso:resurse:folosire-vim|vim]]: un editor folosit pentru eficiența sa și pentru faptul că este prezent, într-o formă sau alta, pe orice sistem Unix sau Linux | ||
- | * Comanda aferentă este ''vim'' (doar în linia de comandă) sau ''gvim'' (în mediul grafic). | ||
- | |||
- | <note tip> | ||
- | O privre de ansamblu drăguță a programelor implicite, cu screenshots și descriere mai amplă, găsiți [[http://www.tuxarena.com/intro/ubuntu_apps.php|aici]]. De asemenea, **capitolul 15 - Viața în Linux** din [[http://books.google.ro/books?id=_JFGzyRxQGcC&pg=PA507&redir_esc=y#v=onepage&q&f=false|cartea de USO]] conține informații utile pentru a vă acomoda cu Linux ca sistem de operare principal pe desktop-ul/laptop-ul personal. | ||
- | </note> | ||
- | |||
- | ====== Exerciții ====== | ||
- | |||
- | ===== [00] Verificarea conturilor [1.5p] ===== | ||
- | |||
- | Pe parcursul USO și al facultății avem nevoie să fim siguri că vă funcționează conturile în mai multe locuri. Avem checklist-ul de mai jos. | ||
- | |||
- | Intrați pe platforma [[http://studenti.pub.ro|http://studenti.pub.ro]]. Parola initiala pentru anul 1 este formată din ultimele 6 cifre din CNP sau pasaport. Schimbati parola dupa prima autentificare. | ||
- | |||
- | <note tip> | ||
- | Pentru a afla contul de utilizator de acces la [[http://cs.curs.pub.ro|http://cs.curs.pub.ro]] accesati pagina "Acces site cursuri" de pe http://studenti.pub.ro de la punctul 1. | ||
- | </note> | ||
- | |||
- | Au fost create e-mail-urile oficiale pentru studenti din partea UPB. E-mail-ul este de forma ''username_cs_curs@stud.acs.upb.ro'' si poate fi accesat de la adresa http://outlook.com/upb.ro. Pentru a se activa, trebuie sa schimbati cel putin o data parola folosind platforma de cursuri (http://cs.curs.pub.ro). Activarea se va realiza in aproximativ 3 ore. E-mail-ul se acceseaza cu aceeasi parola cu cea a site-ului de cursuri. | ||
- | |||
- | <note> | ||
- | Unde ''username_cs_curs'' este contul de utilizator de mai sus, de acces la [[http://cs.curs.pub.ro|http://cs.curs.pub.ro]], cu aceeași parolă. | ||
- | </note> | ||
- | |||
- | Puteți descărca în mod gratuit produse Microsoft (exceptând suita Office) accesând site-ul http://msdnaa.acs.pub.ro. Folosiți aceleasi credențiale (cont și parolă) ca la site-ul de cursuri/email. | ||
- | |||
- | Puteți descărca în mod gratuit suita Microsoft Office accesând adresa http://portal.office.com și folosind ca date de autentificare adresa de e-mail din partea UPB și parola asociată acestuia. | ||
- | |||
- | ===== [01] Primul contact cu terminalul Linux [2.5p] ===== | ||
- | |||
- | <note tip>Înainte de a face celelalte exerciții este bine să parcurgeți această secțiune pregătitoare. </note> | ||
- | |||
- | * Cum deschidem rapid un terminal în Ubuntu? | ||
- | * **R:** Folosim combinația de taste ''**Ctrl+Alt+t**'' | ||
- | * După ce ați deschis terminalul dați următoarea comandă (nu trebuie să înțelegeți acum ce face):<code bash> | ||
- | cat /dev/urandom | tr -dc _A-Z-a-z0-9 | head -c 33 && echo -ne "\n" | ||
- | </code> | ||
- | * **NOTĂ**: Cum dăm Copy&Paste într-un terminal? | ||
- | * Copy: ''**Ctrl+Insert**'' (valabil în orice terminal. În Ubuntu mai poate fi folosită și combinația ''**Ctrl+Shift+c**'') | ||
- | * Paste: ''**Shift+Insert**'' (valabil în orice terminal. În Ubuntu mai poate fi folosită și combinația ''**Ctrl+Shift+v**'' | ||
- | * Am dat o comandă lungă pe care vreau să o mai dau o dată. Cum fac? | ||
- | * **R**: apasă ''uparrow'' (săgeată sus) | ||
- | * Vreau să copiez o comandă din terminal fără a folosi mouse-ul. Cum fac? | ||
- | * **R**: Folosim săgeată sus pentru a prelua comanda lungă anterioară. Apoi vom folosi ''**Ctrl+a**'' pentru a ne duce la începutul rândului. Apoi apăsăm ''**Ctrl+k**'' pentru a copia toată linia. Observăm că a dispărut. Acum apăsăm ''**Ctrl+y**'' (yank - vom mai auzi de acesta noțiune când vom folosi editorul ''vim''). | ||
- | |||
- | <note> | ||
- | Vom mai folosi astfel de combinații de taste și în alte laboratoare pentru a ne eficientiza lucrul cu sistemul de operare. | ||
- | </note> | ||
- | |||
- | Dorim să verificăm contul la cluster-ul facultății. Deschideți un terminal și executați comanda | ||
- | |||
- | <code bash> | ||
- | student@uso:~$ ssh <username_cs_curs>@fep.grid.pub.ro | ||
- | Password: | ||
- | </code> | ||
- | |||
- | <note> | ||
- | Unde construcția ''<username_cs_curs>'' reprezintă contul de utilizator determinat la exercițiul anterior cu care v-ați autentificat pe http://cs.curs.pub.ro | ||
- | |||
- | Folosiți la promptul afișat aceeași parolă pe care ați folosit-o pentru autentificarea pe http://cs.curs.pub.ro. | ||
- | |||
- | Parola va fi scrisă în modul ''echo off''. Adică voi tastați, sistemul primește caracterele dar nu veți putea vedea ce tastați, nici măcar steluțe sau alte semne. | ||
- | </note> | ||
- | |||
- | Apoi părăsiți contul de pe fep.grid.pub.ro și să reveniți la sistemul vostru folosiți comanda | ||
- | <code bash> | ||
- | exit | ||
- | </code> | ||
- | sau combinația de taste ''Ctrl+d'' (echivalent pentru închiderea conexiunii). | ||
- | |||
- | ===== [02] Instalarea aplicațiilor în Linux (Ubuntu GNOME) [2.5p] ===== | ||
- | |||
- | <hidden> | ||
- | Informațiile legate de interfața grafică sunt legate de mediul GNOME din Ubuntu GNOME 15.04. | ||
- | </hidden> | ||
- | |||
- | Ne propunem în acest exercițiu să instalăm câteva joculețe distractive în linie de comandă. Căutați pachetele care conțin în numele sau în descrierea lor ''cowsay'' (e posibil să fie afișate multe rezultate): | ||
- | <code bash> | ||
- | student@uso:~$ apt-cache search cowsay | ||
- | </code> | ||
- | |||
- | <note> | ||
- | Rețineți că ''student@uso:~$'' nu este parte a comenzii, este promptul pe care îl veți avea afișat. Este posibil să aveți al nume pentru stație, diferit de ''uso''. | ||
- | </note> | ||
- | |||
- | Instalați pachetul ''cowsay'': | ||
- | |||
- | <code bash> | ||
- | student@uso:~$ sudo apt-get install cowsay | ||
- | </code> | ||
- | |||
- | Dacă vi se cere parola administrativă (posibil să nu fie cazul), parola este ''student''. Rulați comanda după ce s-a instalat pachetul: | ||
- | |||
- | <code bash> | ||
- | student@uso:~$ cowsay "Hello, student!" | ||
- | </code> | ||
- | |||
- | Dacă dorim să dezinstalăm un anumit pachet din sistem, putem folosi, în terminal comanda: | ||
- | |||
- | <code bash> | ||
- | student@uso:~$ sudo apt-get remove cowsay | ||
- | </code> | ||
- | |||
- | Vrem acum să instalăm mai multe astfel de aplicații. Pe toate deodată și fără să mai fim întrebați dacă suntem siguri (fără Yes/No prompt). Vom folosi comanda: | ||
- | |||
- | <code bash> | ||
- | student@uso:~$ sudo apt-get install -y sl fortune-mod wmfire | ||
- | </code> | ||
- | |||
- | Mai multe astfel de joculețe plus ceea ce fac ele găsiți în [[http://www.tecmint.com/20-funny-commands-of-linux-or-linux-is-fun-in-terminal/|acest articol de pe tecmint]]. | ||
- | |||
- | <note> | ||
- | Pentru a instala pachete folosind **GUI (interfața grafică)**: În distribuția Ubuntu GNOME, instalată în laborator, deschideți managerul de pachete (''Ubuntu Software Center'') urmând pașii: | ||
- | - Dați click pe butonul ''Activities'' din colțul stânga sus al desktop-ului. | ||
- | - Din bara din stânga, accesați ultimul icon, cel mai de jos, care conține nouă pătrățele gri. Atunci când glisați peste icon, apare mesajul ''Show Applications''. | ||
- | - În fereastra deschisă selectați opțiunea ''All'' din partea de jos. | ||
- | - Căutați aplicația ''Ubuntu Software Center''. | ||
- | </note> | ||
- | |||
- | ===== [03] Folosire editor text în linie de comandă [2.5p] ===== | ||
- | |||
- | <note important> | ||
- | Pentru a trece de o problemă existentă pe sistemele instalate, rulați, în prealabil, comanda | ||
- | <code bash> | ||
- | student@uso:~$ sudo chown student:student /home/student | ||
- | </code> | ||
- | </note> | ||
- | |||
- | Deschideți un terminal. Dorim să ne asigurăm că suntem în directorul ''/home/student''. Folosiți comanda: | ||
- | |||
- | <code bash> | ||
- | student@uso:~$ pwd | ||
- | </code> | ||
- | |||
- | Dacă nu ne aflăm în ''/home/student'' folosim comanda: | ||
- | |||
- | <code bash> | ||
- | student@uso:~$ cd /home/student | ||
- | </code> | ||
- | |||
- | Deschideți un nou fișier folosind ''vim'': | ||
- | |||
- | <code bash> | ||
- | student@uso:~$ vim hello.c | ||
- | </code> | ||
- | |||
- | Ne propunem să edităm acest fișier (implicit suntem în modul normal). Apăsați tasta ''I'' și observați în stânga, jos, la terminal textul ''--INSERT--''. În acest moment putem introduce text în fișier. Scrieți un program C simplu care afișează textul ''Hello, USO!'' | ||
- | |||
- | <note tip>Programul va fi scris în C și nu în C++ sau Pascal. O structură a unui program C este următoarea: | ||
- | |||
- | <code C> | ||
- | #include <stdio.h> | ||
- | /* ... Other includes or defines ... */ | ||
- | |||
- | int main() | ||
- | { | ||
- | /* Main code here */ | ||
- | return 0; | ||
- | } | ||
- | </code> | ||
- | </note> | ||
- | |||
- | Dorim acum să salvăm fișierul. Trebuie să revenim în modul normal. Apăsăm tasta ''ESC'' după ce am terminat de scris programul. Trebuie să nu mai observăm nici un text în partea de jos a terminalului. Acum apăsăm '':wq'' (Save and Exit). Dacă dorim să dăm doar save apăsăm '':w'' și nu vom părăsi editorul. | ||
- | |||
- | <note important> | ||
- | Vim este un editor foarte puternic și o formă a sa o veți găsi pe orice distribuție Linux sau Unix. Cunoașterea de bază a editorului este importantă pentru orice persoană cu profil tehnic. | ||
- | |||
- | Este bine să parcurgeți de ori de câte ori e nevoie [[uso:resurse:folosire-vim|tutorialul de vim al USO]]. Pentru o învățare mai lină vă recomandăm [[http://vim-adventures.com|jocul vim adventures]]. | ||
- | |||
- | De asemenea, este important să folosiț comanda [[http://linuxcommand.org/man_pages/vimtutor1.html|vimtutor]] pentru un tutorial aplicat de Vim. | ||
- | </note> | ||
- | |||
- | <note tip> | ||
- | În general când lucrați cu Vim, dacă vă loviți de probleme, apăsați ''ESC'' pentru a ajunge în modul normal. Și rețineți că puteți folosi, în modul normal, comanda '':q!'' pentru a părăsi editorul fără a salva vreo modificare. | ||
- | </note> | ||
- | |||
- | <note tip> | ||
- | Alternative grafice (inutilizabile atunci când intrăm remote pe o mașină fără server grafic instalat): | ||
- | În afara editorului implicit din GNOME (''gedit''), mai există: | ||
- | * [[http://www.sublimetext.com/|Sublime text]] | ||
- | * [[https://www.eclipse.org/|Eclipse IDE]] - acesta e un întreg Integrated development environment, în care puteți dezvolta aplicații complexe, cu multe linii de cod, cu compilator integrat. | ||
- | |||
- | O altă opțiune în linia de comandă pentru editare rapidă de texte, atunci când ''vim'' nu e disponibil, este | ||
- | [[http://www.howtogeek.com/howto/42980/the-beginners-guide-to-nano-the-linux-command-line-text-editor/|editorul text nano]]. | ||
- | </note> | ||
- | ===== [04] Mai multe despre editoare în linie de comandă [1p] ===== | ||
- | |||
- | De multe ori suntem nevoiți să edităm fișiere direct în linia de comandă, fără ajutorul interfeței grafice (ex. atunci când suntem logați pe un server printr-o sesiune la distanță, **așa cum vom avea la examenul practic**). Unul dintre cele mai populare editoare în linia de comandă este ''vim''. Pe parcursul semestrului veți întâlni de multe ori în cadrul laboratorului de USO (și nu numai) mențiuni către ''vim'' și, de asemenea, este foarte probabil ca la testele practice sau examenul final să fiți nevoiți să-l folosiți datorită lipsei unei interfețe grafice instalate. | ||
- | |||
- | Pentru a ușura procesul de învățare a comenzilor de bază în ''vim'', există ''vimtutor'', un tutorial foarte pe larg în linie de comandă, interactiv, împărțit pe lecții pe care îl puteți folosi ca punct de plecare pentru învățarea utilizării acestui editor. | ||
- | |||
- | Porniți ''vimtutor'' folosind comanda cu același nume | ||
- | |||
- | <code bash> | ||
- | student@uso:~$ vimtutor | ||
- | </code> | ||
- | <hidden> | ||
- | ===== [04] Importarea unei mașini virtuale [3p] ===== | ||
- | |||
- | Pe parcursul laboratorului de USO, dar și la temele de casă, vom lucra cu mașini virtuale. Pe scurt, rolul lor este de a oferi un sistem de operare în cadrul unui program pentru teste, pentru a nu ne strica sistemul de operare gazdă pe care lucrăm | ||
- | (în cazul stațiilor din laborator Ubuntu). Mai multe despre mașini virtuale pe [[http://www.howtogeek.com/196060/beginner-geek-how-to-create-and-use-virtual-machines/|HowToGeek]] și pe [[https://en.wikipedia.org/wiki/Virtual_machine|Wikipedia]]. | ||
- | |||
- | Pe partiția **nefreezuită** ''/dev/sda5'', montat automat în ''/mnt/sda5'', se găsesc mașini virtuale și alte resurse folosite în cadrul cursului de USO. | ||
- | |||
- | În directorul ''/mnt/sda5/'' se găsesc masini virtuale și alte resurse folosite în cadrul cursului de USO. Importați mașina virtuală descrisă de fișierul ''/mnt/sda5/uso/lab07/puccini-lab7.ova''. | ||
- | |||
- | Pentru a importa mașina, deschideți VirtualBox folosind iconița omonimă de pe Desktop și urmați [[http://docs.oracle.com/cd/E26217_01/E26796/html/qs-import-vm.html|instrucțiunile Oracle de aici]]. | ||
- | |||
- | <note tip> | ||
- | Mașinile virtuale și alte resurse de mari dimensiuni folosite în cadrul cursului de USO le găsiți la această adresă: http://repository.grid.pub.ro/cs/uso/ | ||
- | |||
- | La prompt-ul de autentificare folosiți numele de utilizator și parola cu care accesați site-ul http://cs.curs.pub.ro/. | ||
- | </note> | ||
- | </hidden> | ||
- | ===== BONUS: Instalarea Linux într-o mașină virtuală ===== | ||
- | |||
- | <hidden> | ||
- | Informațiile legate de interfața grafică sunt legate de mediul GNOME din Ubuntu GNOME 15.04. | ||
- | </hidden> | ||
- | |||
- | Dorim să instalăm Ubuntu 14.04 într-o mașină virtuală [[https://www.virtualbox.org/|VirtualBox]]. | ||
- | |||
- | Pentru început descărcăm imaginea de CD care va fi folosită pentru instalarea Ubuntu 14.04 se găsește în fișierul ''/mnt/unfrozen/uso/mv/ubuntu-14.04.3-desktop-i386.iso''. | ||
- | |||
- | <note> | ||
- | Dacă nu aveți imaginea de CD la calea ''/mnt/unfrozen/uso/lab-01/ubuntu-14.04.4-desktop-i386.iso'', atunci o puteți descărca de la adresa https://repository.grid.pub.ro/cs/uso/ubuntu-14.04.4-desktop-i386.iso | ||
- | |||
- | Vi se va cere în browser un cont de utilizator și o parolă. Folosiți numele de utilizator și parola de pe http://cs.curs.pub.ro | ||
- | |||
- | În ultimă instanță, dacă nu vă merge contul și parola, puteți descărca imaginea de la adresa http://releases.ubuntu.com/14.04/ubuntu-14.04.5-desktop-i386.iso | ||
- | </note> | ||
- | |||
- | Sistemele din laborator au instalat VirtualBox. Puteți porni VirtualBox folosind combinația de taste ''Alt+F2'' urmată de comanda ''virtualbox'' sau puteți folosi iconița de pe Desktop. În fereastra nou deschisă (VirtualBox) vom crea o mașină virtuală. | ||
- | |||
- | Pentru a crea o mașină virtuală apăsați butonul //New//. | ||
- | - Acordați un nume mașini virtuale (de exemplu //Ubuntu Linux 32bit//). | ||
- | - La //Type// selectați //Linux//. | ||
- | - La //Version// selectați //Ubuntu (32 bit)//. | ||
- | - Alocați memorie RAM pentru mașina voastră virtuală (recomandat: 1 GB). | ||
- | |||
- | Este nevoie apoi să configurați hard disk-ul mașinii virtuale: | ||
- | - La //Hard Drive// selectați //Create a virtual hard drive now//. | ||
- | - La //Hard Drive file type// selectați //VMDK (Virtual Machine Disk)//, pentru a fi compatibil și cu soluții de virtualizare de la VMWare. | ||
- | - La //Storage on physical hard drive// selectați //Dynamically allocated//, pentru a economisi spațiul de pe discul fizic. | ||
- | - Apoi alocați spațiu pentru hard disk-ul mașinii virtuale (folosiți 8 GB). | ||
- | |||
- | <note> | ||
- | Dacă veți crea acasă o mașină virtuală recomandăm să folosiți un spațiu mai mare pentru hard disk, de exemplu 32 GB. | ||
- | </note> | ||
- | |||
- | Avem în acest moment o placă de bază virtuală, cu procesor și memorie RAM, dar fără sistem de operare. E nevoie să instalăm un sistem de operare. Vom instala Ubuntu pe acest calculator virtual. Pentru a putea realiza pașii de mai jos, folosim fișierul ''/mnt/unfrozen/uso/lab-01/ubuntu-14.04.4-desktop-i386.iso'', așa cum este descris mai sus. | ||
- | - Selectați mașina virtuală după nume (apare cu //Powered Off//). | ||
- | - Apăsați //Settings//. | ||
- | - Mergeți în meniul //Storage// și la //Controller: IDE//, selectați icon-ul de CD. La CD/DVD Drive apăsați icon-ul de CD și apoi selectați //Choose a virtual CD/DVD file//. Veți alege ISO-ul descărcat. | ||
- | |||
- | Porniți mașina virtuală. Va boota de pe imaginea CD-ul selectată anterior și va începe instalarea Ubuntu. Cereți indicații asistentului atunci când meniul de instalare al Ubuntu este neclar. După ce a pornit instalarea Ubuntu puteți socializa :-) | ||
- | |||
- | <note tip> | ||
- | Un ISO este un fișier arhivă care este similar unui CD sau DVD introdus în calculator. Numele fișierului provine de la sistemul de fișiere ISO 9660, folosit în CD-ROM media. | ||
- | </note> | ||
- | |||
- | <note tip> | ||
- | Vă reamintim că mașinile virtuale, fișierele de tip ISO și alte resurse de mari dimensiuni folosite în cadrul cursului de USO le găsiți la această adresă: http://repository.grid.pub.ro/cs/uso/ | ||
- | |||
- | La prompt-ul de autentificare folosiți numele de utilizator și parola cu care accesați site-ul http://cs.curs.pub.ro/. | ||
- | </note> |