Prezentare - Partea I - Partea a II-a - Partea a III-a - Partea a IV-a - Partea a V-a
Probabil vă întrebați: - Dacă am interfață grafică la ce îmi mai trebuie consola? Iată un set de motive pentru care, în unele situații, ați alege (sau ați fi obligat) să folosiți consola:
Lista ar putea continua pe multe pagini, dar scopul acestui capitol nu este să vă convingem cât de benefică este consola, ci mai degrabă o inițiere în tainele ei. Nu vă vom prezenta un dicționar de comenzi, ci vom prezenta doar câteva lucruri utile cu cât mai multe exemple. Astfel veți afla informații despre:
Toate aceste puncte vor fi detaliate în cele ce urmează. Limbajul și explicațiile vor fi progresive, astfel încât dacă nu sunteți familiarizați cu consola citiți fiecare punct pe rând. Toate descrierile ce urmează presupun că rulați Mandriva Linux și aveți interfața grafică pornită.
În orice sistem Linux aveți la dispoziție cel puțin 6 (sase) console exclusiv în mod text și un număr nelimitat de console în ferestre din cadrul interfeței grafice, consola 7 (mai nou și consola 8) este implicit dedicată interfeței grafice. Consola 12 este de obicei asignat automat logurilor.
Accesarea celor 6 console exclusiv text le puteți face astfel:
Există și posibilitatea declarării mai multor console, maximum 12 în principiu.
Pentru a înțelege mai bine ce înseamnă fiecare vom recurge la un simplu grafic:
CONSOLĂ și TERMINAL sunt sinonime. În diferite documentații veți putea găsi varianta prescurtată a termenului „terminal“ sub forma prescurtată „term“. Consola sau terminalul - în continuare ne vom referi la acești termeni folosind termenul consolă - are scopul de a oferi o interfață între sistem și periferice cum ar fi tastatura, mouse, monitor, porturi ale computerului. Consola nu e responsabilă pentru driverele ,(piloții) aferente, doar cu folosirea lor. SHELL-ul este responsabil pentru interfațarea cu utilizatorul. Adică este responsabil de acceptarea unui set de comenzi specifice lui, rularea programelor în mod text și prezentarea rezultatelor.
Exemple de console: cea mai folosită consolă în zilele noastre se numește “xterm“ pentru modul exclusiv text, iar ca și console sub interfața grafică menționăm doar câteva dintr-o listă foarte lungă: Konsole, Eterm, Yakuake, Aterm, Gterm … etc. Exemple de SHELL-uri: primul shell avea numele … “shell“ prescurtat în “sh“, o rescriere a acestuia cu foarte multe îmbunătățiri a dat naștere la ceea ce este azi cel mai folosit shell, numit “bash“, adică “Bourn Again Shell“. Alte shelluri: csh, zsh etc.
De-a lungul exemplelor și explicațiilor ce vor urma se va folosi consola “xterm“ și shellul “bash“. În cazuri excepționale se va menționa varianta folosită.
Bash oferă utilizatorului pe lângă interfața cu sistemul și bazele unui limbaj de programare interpretat (script) propriu. Implicit, utilizatorul primește un prompter de genul:
[tux@localhost ~]$
În exemplu distingem următoarea sintaxă:
[<UTILIZATOR>@<NUME_CALCULATOR> <FOLDER_CURENT>]$
Semnul tilda (~) indică tot timpul folderul home al utilizatorului. În exemplul de mai sus, acesta va indica /home/tux. Dacă un utilizator este nesigur în ce folder se află sau din motive diferite vrea să afle întreaga cale a folderului curent, se poate folosi comanda „pwd“.
[tux@localhost ~]$ pwd /home/tux
Evident fiecare comandă este urmată de tasta Enter pentru a fi rulată. Rezultatul oricărei comenzi se afișează începând din rândul următor. Există posibilitatea rulării mai multor comenzi scrise într-o singură linie. Pentru acest lucru se folosesc operatorii de concatenare ale acestora în funcție de operația dorită:
* executarea a două sau mai multe comenzi independent una de alta și pe rând:
[tux@localhost ~]$ pwd ; ls -l
Exemplul execută comanda „pwd“, după care execută comanda „ls“ cu opțiunea “-l“ (descrierea comenzilor nu este relevantă în acest moment).
Se observă că cele două comenzi sunt despărțite de semnul “;“ (punct și virgulă).
* executarea a două sau mai multe comenzi în asa fel încât următoarea comandă să se aplice asupra rezultatului comenzii precedente:
[tux@localhost ~]$ cat ~/.mplayer/config | grep subcp
Cele două comenzi în acest caz sunt „cat ~/.mplayer/config“ și „grep subcp“, fiecare cu parametrii ei.
Se observă că cele două comenzi sunt despărțite de semnul „|“ (bară verticală). Dacă cea de a doua comandă nu poate citi direct de la „standard-input“ se poate folosi comanda „xargs“ ce transforma standard input în argumente. Sintaxa va fi ceva de genul prima_comanda | xargs a_doua_comanda .
* executarea celei de a doua comenzi asupra rezultatului comenzii precedente numai dacă prima s-a terminat cu succes (fără eroare): Se folosește semnul “&&“ pentru concatenare. Remarcați că se pune dublat.
* executarea celei de a doua comenzi asupra rezultatului comenzii precedente dacă acesta returnează o eroare (stare de ieșire diferită de zero): Se folosește semnul „||“, adică două bare verticale. Un exemplu util pentru acest operator ar fi o comandă combinată care să creeze un folder numai în cazul în care acesta nu există:
[tux@localhost ~]$ cd tmp/a/b/c || mkdir -p tmp/a/b/c
În ceea ce privește posibilitățile de scripting ale BASH vom menționa doar că acesta prezintă toate elementele clasice ale unui limbaj de programare: if, when, do, until, switch, for, etc. Mai multe detalii despre folosirea BASH puteți afla prin comanda:
[tux@localhost ~]$ man bash
În mod asemănător puteți afla informații suplimentare despre comenzi folosind comanda „man“ urmat de numele comenzii sau programului. Dacă nu găsiți informații pentru comanda/programul respectiv, un alt sistem de informații vă stă la dispoziție, numit „info“. Încercați să rulați comanda „info date“ pentru a afla tot ce știe să facă respectiva comandă „date“.
Sistemul de operare Linux se bazează pe ideea că „totul este un fișier“. Este foarte important ca un utilizator Linux să înțeleagă sistemul de fișiere, pentru că astfel va înțelege mult mai bine logica de funcționare a sistemului. Tratând totul ca fișier se ușurează munca în foarte multe situații și se asigură o securitate ridicată sistemului.
Ce este de fapt acest „tot“? Cuprinde folderele, perifericele, porturile, comunicările, partițiile de harddisk și toate componentele calculatorului, configurațiile programelor, etc. Astfel, de exemplu mouse-ul este văzut de sistem ca un fișier (/dev/mouse). Acest fișier este periodic citit de sistem pentru a urmări comenzile de la mouse.
Sistemul de fișiere și foldere este ordonat ierarhic, sub forma unui arbore. Rădăcina sistemului este “/“ (marcat cu semnul împărțirii) - numit în engleză „root“ (a nu se confunda cu utilizatorul root - adică administrator al sistemului). Toate folderele, subfolderele, fișierele etc. se află într-o ramură logică pornită de la rădăcină (root). Ramificațiile sunt împărțite de asemenea de semnul “/“. Astfel, linia:
/home/tux/fisier
se poate interpreta astfel (din stânga spre dreapta):
Fișierele (și aici mă refer și la foldere) au un set de atribute împărțite pe 3 categorii în funcție de „proprietarul“ fișierului. Atributele de bază se referă la drepturile de citire, scriere și executare ale unui fișier, separat pentru cele trei nivele de proprietate: owner (proprietar), group (grup) și other (alții). Un fișier cu atributul „d“ este un folder (adică director).
Datorită acestui sistem, fișierele nu au extensii în Linux. În Windows, se știe că un fișier care se termină cu .exe este executabil. În Linux orice fișier setat cu drept de execuție este tratat ca executabil. „Extensiile“ .xyz găsite în fișiere pe Linux practic fac parte din numele fișierului și au scop pur orientativ. De exemplu, un fișier ce se termină cu .odt este un document OpenOffice. În continuare sistemul poate lua unele decizii în funcție de acesta, cum ar fi pornirea OpenOffice care să deschidă fișierul .odt indicat de utilizator.
Propun în continuare un mic exercițiu pentru a vă familiariza cu comenzile de bază aferente lucrului cu fișiere.
* schimbăm folderul curent într-unul temporar:
[tux@localhost ~]$ cd tmp/
* creăm un folder numit „exemplu“:
[tux@localhost tmp]$ mkdir exemplu
* schimbăm folderul curent în cel nou creat (comanda cd - change directory):
[tux@localhost tmp]$ cd exemplu
* observăm structura, cum se schimbă datele informative din interiorul parantezelor drepte. Comanda pwd ne arată toată calea, pe când în parantezele drepte se vede doar directorul curent:
[tux@localhost exemplu]$ pwd
/home/tux/tmp/exemplu
* cu ajutorul comenzii „echo“ creăm un fișier nou numit „fișier_text“, cu conținutul „exemplu_text“:
[tux@localhost exemplu]$ echo "exemplu_text" > fisier_text
* ne mutăm curent cu un director mai sus, acest lucru se semnalează prin “..“:
[tux@localhost exemplu]$ cd ../
* creăm folderul „exemplu2“:
[tux@localhost tmp]$ mkdir exemplu2
* dacă o comandă este scrisă parțial și se apasă tasta TAB, se afișează toate posibilitățile, ca mai jos, în urma lui „cd exe“ s-a apăsat TAB, sistemul a afișat posibilitățile „exemplu/ exemplu2/“, acestea două fiind singurele foldere care încep cu „exe“ și se afla în folderul curent „tmp“:
[tux@localhost tmp]$ cd exe exemplu/ exemplu2/
* s-a schimbat folderul curent în „exemplu2“:
[tux@localhost tmp]$ cd exemplu2
* se copiază fișierul creat din folderul „exemplu“ în „exemplu2“. Metoda de folosire a căii a fost următoarea: “../exemplu/fisier_text“, adică fişierul „fişier_text“ din subfolderul „exemplu“ situat cu un folder deasupra “..“. Destinația a fost exprimată ca și folderul curent “./“
[tux@localhost exemplu2]$ cp ../exemplu/fișier_text ./
* listăm conținutul folderului curent, în care se observă fișierul proaspăt copiat .
[tux@localhost exemplu2]$ ls -al total 12 drwxr-xr-x 2 tux tux 4096 2008-02-26 16:59 ./ drwx------ 10 tux tux 4096 2008-02-26 16:59 ../ -rw-r--r-- 1 tux tux 13 2008-02-26 16:59 fișier_text
Interpretarea rezultatului listării conținutului folderului (comanda de mai sus):
Mai menționez câteva comenzi utile:
Puteți afla parametrii aferenți fiecărei comenzi prin „comanda -help“. Mai multe detalii se pot afla cu „man comanda“ respectiv „info comanda“, unde „comanda“ se înlocuiește cu comanda dorită.
Cel mai folosit file manager în mod text se numește „Midnight Commander“.
Din prima se poate observa că seamănă foarte mult cu vestitul „Norton Commander“, însă, față de acesta din urmă, Midnight Commander (în continuare referit cu denumirea scurtă - „mc“) este mult mai avansat și specific Linuxului. Pentru a porni programul, tastați comanda mc:
[tux@localhost ~]$ mc
Toate shortcut-urile cu care v-ați obișnuit în Norton Commander, Windows Commander sau Total Commander sunt valabile:
mc știe să trateze fișiere cu denumire lungă, în cazul în care aceasta (denumirea) nu încape pe ecran, este trunchiată. Scurtarea numelui se semnalizează cu semnul tilda.
Câteva shortcut-uri mai puțin cunoscute:
Vom proceda prin exemplificarea problemei.
*creăm un fișier text numit wineman, de exemplu din manualul pentru programul wine:
[tux@localhost ~]$ man wine >> ./wineman
*afișăm întregul rezultat al lui:
[tux@localhost ~]$ cat ./wineman WINE(1) Windows On Unix WINE(1) NAME wine - run Windows programs on Unix SYNOPSIS wine program [arguments ... ] wine --help wine -version [ ... ] SEE ALSO wineserver(1), winedbg(1) Wine 0.9.55 October 2005 WINE(1)
Textul a fost scurtat pentru că e foarte lung.
*Pentru text foarte lung, poate ne interesează doar ultimele câteva linii. Atunci folosim comanda „tail“:
[tux@localhost ~]$ tail ./wineman
comanda va afișa ultimele câteva linii. Pentru a specifica numărul de linii ce dorim să afișăm folosim parametrul “-n“ astfel:
[tux@localhost ~]$ tail -n 30 ./wineman
va afișa ultimele 30 linii din fișierul wineman.
*Dacă ne interesează doar primele câteva linii. Atunci folosim comanda „head“:
[tux@localhost ~]$ head ./wineman
similar cu „tail“, putem folosi parametrul “-n“
[tux@localhost ~]$ head -n 30 ./wineman
Dacă dorim sa urmărim continuu cu „tail“ sau „head“ unele fișiere care se schimba mereu (ex. loguri), putem folosi pentru oricare dintre ele parametrul “-f“ urmat de valoarea în secunde a perioadei de refresh:
[tux@localhost ~]$ tail -f 0.01 /var/log/syslog
va urmări fișierul de syslog la fiecare sutime de secundă.
Pentru acest lucru ne vom folosi de o comandă care să returneze ceva informații, de posibilitatea concatenării comenzilor și de comanda „grep“. Comanda ce ne va returna rezultate multe va fi „ps aux“, o comandă ce generează lista tuturor programelor / proceselor pornite în sistem și o afișează pe ecran. Cum lista este lungă și de cele mai multe ori ne interesează doar un program anume, vom căuta în lista respectivă astfel ca să fie afișat doar ce ne interesează.
Rulăm comanda astfel, și vedem rezultatele:
[root@localhost tux]# ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND [kjournald] root 1050 0.0 0.1 2636 1544 ? S<s 09:16 0:00 /sbin/udevd -d root 1901 0.0 0.0 0 0 ? S< 09:16 0:00 [ksuspend_usbd] root 1912 0.0 0.0 0 0 ? S< 09:16 0:00 [khubd] root 2291 0.0 0.0 0 0 ? S< 09:16 0:00 [kondemand/1] root 2488 0.0 0.0 0 0 ? S< 09:16 0:00 [kjournald] daemon 2964 0.0 0.0 1684 332 ? Ss 09:16 0:00 /usr/sbin/atd root 3268 0.0 0.0 2724 804 ? Ss 09:16 0:00 crond -p root 4876 0.0 0.0 4484 780 ? S 09:16 0:00 ntpd -u ntp:ntp -p /var/run/ntpd.pid -g tux 6206 0.0 0.0 0 0 ? Z 09:19 0:00 [consolehelper-g] <defunct> root 6393 0.0 0.0 1668 464 ? Ss 09:19 0:00 /sbin/ifplugd -b -i eth0 **tux 6573 1.3 12.2 304920 125204 ? Sl 09:19 1:48 /usr/lib/opera/9.50-20071024.6/opera -style ia_ora** **tux 6967 0.0 0.0 2780 692 ? S 09:26 0:00 /usr/lib/opera/9.50-20071024.6/operaplugincleaner 6573** tux 11767 0.1 2.4 44540 25112 ? S 11:07 0:01 konqueror /home/tux tux 12011 0.0 0.5 30488 5240 ? S 11:12 0:00 kio_file [kdeinit] file /home/csabi/tmp/ksocket-csabi/klau tux 12104 0.0 1.0 32832 10768 ? S 11:14 0:00 kio_uiserver [kdeinit] tux 12208 0.0 0.1 3596 1224 ? S 11:16 0:00 /bin/sh /usr/lib/ooo-2.2/program/soffice -writer /home/tux/Personal/consol tux 12223 1.0 7.7 208036 79220 ? Sl 11:16 0:07 /usr/lib/ooo-2.2/program/soffice.bin -writer /home/tux/Personal/consola_al tux 12236 0.0 1.7 39772 17596 ? S 11:16 0:00 kwrite [kdeinit] /home/tux/Personal/consola_cuprins root 12782 0.0 0.0 2580 852 pts/3 R+ 11:27 0:00 ps aux
Notă: Rezultatul a fost scurtat pentru că altfel se întindea pe 4-5 pagini. Rezultatul pe care o să-l obțineți va fi, evident, oarecum diferit datorită faptului că veți rula programe diferite.
Remarcați liniile îngroșate. Asta este ce ne interesează. De fapt, acele 4 linii sunt doar 2 linii, doar că nu încap în lungime. Ce au în comun cele două linii și ne poate interesa? Au programul „opera“ (un webbrowser ce tocmai este pornit). Dacă ne interesează doar acest lucru, folosim comanda „grep“. Aceasta are următoarea sintaxă:
grep text_de_cautat
Sintaxa menționata va căuta în asa numitul „stdout“ (Standar Output - Ieşire Implicită) care în cele mai multe cazuri este ecranul.
[root@localhost tux]# ps aux | grep opera tux 6573 1.3 12.2 304920 125204 ? Sl 09:19 1:48 /usr/lib/opera/9.50-20071024.6/opera -style ia_ora tux 6967 0.0 0.0 2780 692 ? S 09:26 0:00 /usr/lib/opera/9.50-20071024.6/operaplugincleaner 6573 root 13143 0.0 0.0 3068 736 pts/3 R+ 11:35 0:00 grep --color opera
Evident în listă s-a strecurat pe ultima linie chiar comanda rulată de noi, care conține de asemenea cuvântul opera. Pentru a evita acest lucru putem adăuga încă o comandă grep negativă:
[root@localhost tux]# ps aux | grep opera | grep -v "grep" tux 6573 1.3 12.2 304920 125204 ? Sl 09:19 1:48 /usr/lib/opera/9.50-20071024.6/opera -style ia_ora tux 6967 0.0 0.0 2780 692 ? S 09:26 0:00 /usr/lib/opera/9.50-20071024.6/operaplugincleaner 6573
Alternativ, grep știe să caute direct în fișiere. Și în acest caz, returnează linia/liniile ce conțin textul căutat. În acest context, sintaxa se modifică astfel:
grep text_de_cautat nume_fișier
Alte comenzi utile pentru formatare output:
Lista tuturor proceselor / programelor pornite poate fi consultată cu comanda „ps“, iar parametrii cei mai folosiți sunt „aux“ comanda modificându-se astfel, iar rezultatul cum se vede în exemplul următor:
[root@localhost tux]# ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.0 1652 560 ? Ss 09:15 0:01 init [5] root 2 0.0 0.0 0 0 ? S< 09:15 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? S< 09:15 0:00 [migration/0] root 4 0.0 0.0 0 0 ? S< 09:15 0:01 [ksoftirqd/0] root 5 0.0 0.0 0 0 ? S< 09:15 0:00 [migration/1] root 6 0.0 0.0 0 0 ? S< 09:15 0:00 [ksoftirqd/1] root 7 0.0 0.0 0 0 ? S< 09:15 0:00 [events/0] [...]
Lista a fost scurtată pentru că pe un sistem rulează zeci sau sute de procese simultan.
Ce ne interesează cel mai mult din rezultate:
Dacă dorim sa vedem topul proceselor în funcție de utilizare procesor, ne folosim de progrămelul „top“:
[root@localhost tux]# top top - 10:52:57 up 1:37, 1 user, load average: 0.10, 0.22, 0.18 Tasks: 159 total, 1 running, 158 sleeping, 0 stopped, 0 zombie Cpu(s): 15.3%us, 2.0%sy, 7.1%ni, 70.4%id, 5.0%wa, 0.2%hi, 0.0%si, 0.0%st Mem: 1026100k total, 1012036k used, 14064k free, 25680k buffers Swap: 1020116k total, 0k used, 1020116k free, 423000k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 7273 tux 39 19 94532 44m 10m S 21 4.5 3:16.55 operapluginwrap 10338 tux 20 0 276m 80m 57m S 19 8.1 0:10.48 soffice.bin 5115 root 20 0 455m 107m 6464 S 7 10.7 4:13.41 X 6271 tux 20 0 92456 11m 4076 S 1 1.1 0:38.95 compiz 6290 tux 20 0 44632 6732 4936 S 1 0.7 0:31.29 artsd 6310 tux 20 0 68752 28m 15m S 1 2.9 0:33.13 superkaramba 6547 tux 20 0 213m 126m 17m S 1 12.6 1:21.69 opera 5207 mysql 20 0 108m 14m 3580 S 0 1.5 0:01.80 mysqld 6272 tux 20 0 18760 9300 5908 S 0 0.9 0:05.29 emerald 6274 tux 20 0 40376 16m 12m S 0 1.6 0:04.09 kdesktop 6277 tux 20 0 39660 17m 13m S 0 1.7 0:06.92 kicker 6479 root 20 0 32876 13m 10m S 0 1.3 0:01.70 yakuake 11195 root 20 0 2328 1012 764 R 0 0.1 0:00.03 top
„top“ afișează doar atâtea procese câte încap în ecran. Cel mai consumator proces de resurse va fi pe primul loc din listă. După cum se poate observa, lista seamănă cu cea generată de „ps“. Primele 3-4 linii prezintă un sumar referitor la resursele sistemului. Hotkeys:
Dacă un proces trebuie oprit și nu există altă metodă decât linia de comandă pentru acest lucru (ex. se blochează o aplicație și nu mai reacționează la click-uri cu mouse-ul), se poate folosi comanda „kill“ care are mai multe nivele de a forța oprirea aplicației. Astfel:
kill 11195
va omorî procesul aferent programului top din exemplul de mai sus. Evident rulat ca root.
kill -9 11195
va face același lucru în cazul nostru. Opțiunea “-9“ înseamnă cel mai mare nivel de forțare a opririi unui proces.
Să înțelegeți mai bine… „kill“ trimite o cerere către aplicație ca aceasta să se oprească și așteaptă cu răbdare răspunsul ei. „kill -9“ trimite un ordin către aplicație să se oprească și nu-l interesează ce părere are aplicația despre acest lucru.
Un mic sumar despre Linuxul instalat, numele computerului, versiunea de kernel și procesor se poate afla astfel:
[root@localhost tux]# uname -a
Linux localhost 2.6.22.18-laptop-1mdv #1 SMP Mon Feb 11 15:20:57 EST 2008 i686 Genuine Intel(R) CPU T2060 @ 1.60GHz GNU/Linux
Un program interesant și performant pentru informații hardware se numește „hwinfo“. De obicei nu se instalează pe sistem automat, asa că îl puteți pune cu comanda:
[root@localhost tux]# urpmi hwinfo
După instalare, pentru o listă completă, foarte lungă (peste 1000 de linii), rulați pur și simplu „hwinfo“ astfel:
[root@localhost tux]# hwinfo
Partea frumoasă a programului este că poate să vă returneze doar informațiile ce vă interesează cu ajutorul unui set de parametri. De exemplu pentru informații despre sunet rulați „hwinfo –sound“ și veți afla tot ce știe sistemul despre plăcile de sunet:
[root@localhost tux]# hwinfo --sound 11: PCI 1b.0: 0403 Audio device [Created at pci.300] UDI: /org/freedesktop/Hal/devices/pci_8086_27d8 Unique ID: u1Nb.Xr0+ey1p7G5 SysFS ID: /devices/pci0000:00/0000:00:1b.0 SysFS BusID: 0000:00:1b.0 Hardware Class: sound Model: "Hewlett-Packard Company 82801G (ICH7 Family) High Definition Audio Controller" Vendor: pci 0x8086 "Intel Corporation" Device: pci 0x27d8 "82801G (ICH7 Family) High Definition Audio Controller" SubVendor: pci 0x103c "Hewlett-Packard Company" SubDevice: pci 0x30bb Revision: 0x02 Driver: "HDA Intel" Driver Modules: "snd_hda_intel" Memory Range: 0xd8240000-0xd8243fff (rw,non-prefetchable) IRQ: 22 (348502 events) Module Alias: "pci:v00008086d000027D8sv0000103Csd000030BBbc04sc03i00" Driver Info #0: Driver Status: snd_hda_intel is active Driver Activation Cmd: "modprobe snd_hda_intel" Config Status: cfg=new, avail=yes, need=no, active=unknown
Alte comenzi pentru informații despre componentele calculatorului:
Deoarece fiecare program are configurațiile într-un mod specific, în acest capitol vom recurge la generalități și la câteva exemple semnificative.
Setările la nivel de sistem ale aplicațiilor se află în general în folderul /etc. Trebuie știut că orice configurație a unui program nu este altceva decât un fișier text prin care se setează parametri specifici doriți. Parametri specifici setărilor utilizatorului sunt în folderul utilizatorului, respectiv în subfoldere ale acestuia.
În momentul în care rulați un program acesta citește configurațiile în ordinea:
De asemenea, setări adiționale ale unor aplicații pot fi găsite în subfoldere din “/usr“. Câteva exemple:
Există mai multe metode. Pentru a putea alege cea mai potrivită metodă în cazul vostru, iată principiul.
Un sistem Linux trece prin mai multe nivele de funcționare. Ultimul nivel este interfața grafică. La fiecare nivel (numit în engleză „runlevel“ sunt disponibile anumite servicii și se rulează anumite aplicații). În folderul /etc găsiți un subfolder numit „rc.d“. Aici se află tot secretul. În continuare ne vom referi doar la aspectele care ne interesează ca utilizator obișnuit, mai precis:
1) /etc/rc.d/init.d/ (sau pe majoritatea sistemelor există un link direct din /etc - /etc/init.d/). Aici se află scripturile ce pornesc diferite aplicații. Fiecare fișier executabil din acest folder primește cel puțin 3 parametri:
Opțional, majoritatea au și parametrul:
Toate fișierele din acest folder init.d au un link corespunzător in folderul cu nivelul de rulare asociat (rc.1…6). Pentru a face managementul rulării scripturilor la diverse nivele se folosește comanda „chkconfig“. Nu vom intra in detaliu, cei interesați pot consulat „man chkconfig“ si „chkconfig –help“.
Alternativ serviciile pot fi pornite/oprite cu comanda service
2) /etc/rc.d/rc.local - este un fișier în care se trec comenzile ce se doresc a fi rulate după ce toate celelalte procese au fost pornite.
3) Pentru rularea programelor automat de către utilizator la logarea în interfața grafică se folosesc folderele specifice interfețelor grafice. De exemplu, pentru KDE, acest folder este ~/.kde4/Autostart/
Orice fișier executabil pus în acest folder va fi rulat în cadrul interfeței KDE imediat după ce utilizatorul respectiv s-a autentificat cu succes. KDE va rula aceste programe ca și cum utilizatorul ar da dublu-click pe ele. Este bine de știut că se pot întâmpla unele situații neașteptate. De exemplu, un mic script (adică un fișier text) poate fi interpretat în două feluri: ori rulat direct, fiind executabil, ori deschis ca fișier text într-un editor de text. Pentru eficienta maximă, recomand să puneți în Autostart link către fișierul ce se dorește a fi rulat.
O modalitate la îndemâna oricui este folosirea systemsettings pentru pornirea unei aplicații sau a unui script la boot: systemsettings (Configure Your Desktop)- Startup and Shutdown- Autostart- Add Program (pentru aplicații precum konsole, firefox, ktorrent, etc) sau Add Script (pentru scripturi)- alegem aplicația sau scriptul- Ok- Ok.
Foarte pe scurt, pentru că s-a mai discutat în capitolele anterioare:
Doar un exemplu - acest punct se leagă de punctul k)/3.
Cele mai multe aplicații grafice sunt doar interfețe pentru programe executate în linie de comandă. Aceste aplicații oferă posibilitatea setării unor parametri într-un mod mai comod și mai prietenos decât să fie scrise cu mâna și memorate pe de rost de utilizator. Alte aplicații grafice sunt în totalitate de sine stătătoare, însă pot fi pornite de la linia de comandă cu parametri specifici.
Ca exemplu vom trata programul de vizualizat filme „mplayer“. Cazul este și o mică excepție de la ce am spus mai sus. Programatorii au realizat două executabile:
De ce două versiuni? Pentru că mplayer se dorește a fi un player care să funcționeze pe orice sistem. Astfel, pe un hardware învechit sau mai slab, „mplayer“ va da rezultate mai bune pentru că nu mai încarcă și interfața grafică. Pe de altă parte interfața grafică oferă câteva zeci de setări și opțiuni, pe când profesioniștii ar prefera varianta de la linie de comandă pentru că pot să-i atașeze mai multe sute de opțiuni obținând astfel rezultate mai bune.
Propun câteva exemple practice:
1) ascultați radio cu „mplayer“:
mplayer -playlist http:%%//%%www.csabaradio.hu/listen128.m3u
opțiunea “-playlist“ indică faptul că parametrul ce urmează este un playlist. Dacă doriți conectarea directă la un stream, treceți adresa lui imediat după „mplayer“. „mplayer“ știe să facă diferența în funcție de ce are ca parametru. Dacă-i dați parametru un film, va arăta filmul, dacă-i dați parametru un stream, va cânta radioul online respectiv, dacă-i dați un mp3 sau alt fișier de sunet, va ghici că este sunet și va cânta.
2) iată cum se pornește un film cu parametri speciali:
mplayer /nume/film.mkv -lavdopts skiploopfilter=all -autosync 1 -framedrop
3) sau asa poți asculta toate piesele din folderul curent și subfolderele sale într-o ordine aleatoare:
find . | mplayer -shuffle -playlist
În acest capitol ne vom referi la două metode de accesare a computerului de la distanta. Prin definiția de „distanta“ se înțelege rețea locală sau Internet. Cu alte cuvinte, orice alt calculator care prin metoda unei căi de comunicare poate iniția și crea o legătură cu calculatorul vostru. Prima metodă este cea mai des utilizată și se numește SSH (Secure Shell). Tehnologia folosită este una destul de sofisticată. Pentru utilizator este suficient să știe că această comunicare este criptată și securizată. Cu alte cuvinte nu poate o a treia persoană să „asculte“ comunicarea între voi și calculatorul la care v-ați conectat.
1) SSH este un sistem bazat pe arhitectura server-client. Serverul oferă serviciul de ssh cu ajutorul daemon-ului sshd. Clientul, cu aplicația ssh, se conectează la server. În urma conexiunii, pe ecranul clientului apar date de pe server. Clientul vede efectiv același lucru ce ar vedea stând în fața serverului pe monitorul acestuia fiind logat în mod text. Toate comenzile lansate de client sunt rulate pe server, toate programele lansate de client sunt pornite de fapt pe server, toate operațiile cu fișiere se întâmplă pe server, clientul beneficiază doar de conexiune pe post de „monitor“.
Dacă clientul este tot pe un calculator cu Linux și rulează interfață grafică, se pot porni și programe grafice (ex. Firefox). Fereastra va apărea la client, în sistemul lui de ferestre/interfață grafică, dar va rula la fel cum a fost specificat mai sus, pe server.
Configurațiile se țin în /etc/ssh/sshd.conf, iar serverul sshd se pornește cu comanda:
#service sshd start
Clientul ssh se pornește cu comanda:
ssh utilizator@nume_server
sau
ssh utilizator@ip_server
Mai multe despre configurarea clientului ssh găsiți la configurarea_ssh_client
2) VNC este un sistem prin care se poate conecta în mod grafic la server. Aplicația server se numește „vncserver“, aplicația client se numește „vncviewer“, iar parola pentru server se setează cu ajutorul comenzii „vncpasswd“. Trebuie menționat că VNC nu este specific Linux, ci este cross-platform, adică este pentru toate sistemele de operare și poate fi folosit în situații mixte.
Pe Linux, „vncserver“ va porni încă un server X la care un client va avea acces pe baza parolei setate cu „vncpasswd“. Utilizatorul conectat implicit (logat în interfața grafică) va fi cel care pornește serverul.
În acest capitol vă vom prezenta tehnologia de firewall din Linux. În Mandriva Linux există mai multe metode de a configura și controla firewall-ul, dar toate interfețele grafice și de text de fapt controlează același program, numit iptables. Noi vom trata direct configurarea acestuia din urmă, iar dacă un utilizator dorește să se folosească de orice altă aplicație, asta rămâne la alegerea lui.
Dar înainte să ne apucăm de firewall trebuie să facem o mică introducere în comunicări în rețea. Astfel, toate comenzile și parametrii de la firewall vor fi mai ușor de înțeles.
Comunicarea în rețea (inclusiv Internet) se face pe protocolul TCP/IP și/sau UDP. Sunt și alte tehnologii, dar acum ne vom rezuma la ce e mai important. Astfel comunicarea se realizează întotdeauna între 2 părți. Fiecare comunicare în parte are o sursă și o destinație. Evident, părțile pot realiza mai multe comunicări simultan pe baza unei reguli clare. Fiecare parte (sursă și destinație) are un identificator unic, o adresă unică, numită adresă IP. Mai mult, fiecare comunicare, în funcție de caracterul ei se desfășoară pe un port anume. Pentru a înțelege mai bine ce se întâmplă, vom studia graficul următor:
Pentru cineva care nu cunoaște rețele, cea mai bună analogie din viața reală se poate face cu poșta. Fiecare calculator (dreptunghi albastru) reprezintă o casă (de expeditor sau destinatar) și fiecare port reprezintă o poartă prin care se poate intra în sau ieși din casa respectivă. Fiecare pachet trimis de la o casă la alta are o adresă (casa, adresa IP) și o poartă (portul).
Porturile pot fi de două feluri: porturi prin care se primește un pachet (adică o legătură nouă de rețea, o comunicare nouă, etc) sau porturi prin care se trimit pachete (se inițiază legături de rețea). Ca să poți recepționa un pachet pe o poartă, trebuie cineva să stea în spatele ușii și să preia pachetul. La fel este și cu rețelele, pentru a accepta o conexiune nouă, trebuie să existe un program care ascultă pe portul respectiv. De exemplu, când vizionați o pagină web cu browserul vostru preferat, de fapt inițiați o legătură către portul 80 al unui server web. Acel server ascultă pe portul respectiv și vă va răspunde. Portul ce îl folosiți pe computerul propriu pentru a ”ieși” este primul port nefolosit.
Pe un computer exista 65536 (2^16) porturi pentru comunicări pe rețea. Acesta este numărul total și trebuie să deservească atât porturile pentru intrare, cât și cele pentru ieșire.
Un port pentru intrare poate accepta mai multe conexiuni simultane, iar un port pentru ieșire poate deservi o singură conexiune la un moment dat. După terminarea conexiunii, portul devine liber. În principiu, porturile între 0 și 1024 sunt destinate intrărilor, adică diferitelor aplicații care ascultă pe aceste porturi (de exemplu, ftp/21, ssh/22, http/80, share windows sau samba / 139, 140, etc). Porturile peste 1024 sunt în principiu destinate ieșirilor. Această regulă nu este însă bătută în cuie. Orice program poate fi setat să folosească un alt port (ex. ssh/12345 este valid), în aceste cazuri, sistemul va ști că portul este ocupat și nu va încerca să-l folosească pentru ieșire.
Un firewall nu face altceva decât permite utilizatorului un control asupra comunicării pe diferite porturi dinspre/către diferite adrese IP.
iptables – programul de firewall din Linux – lucrează cu 3 chain-uri (lanțuri) principale: INPUT (intrare), OUTPUT (ieșire) și FORWARD (trimitere mai departe). Fiecare chain are o regulă implicită: ACCEPT (permite) sau REJECT (interzice). Pentru setări mai sofisticate se pot defini chain-uri personalizate și reguli auxiliare.
În Mandriva Linux, setarea implicită este ACCEPT pentru toate chain-urile. Adică se permite comunicarea pe toate direcțiile pentru toți și către oricine. Starea curentă a firewall-ului se verifică cu comanda: # iptables -L Dacă se dorește ca să nu se rezolve numele de domeniu se poate adăuga și parametrul -n:
# iptables -L -n
iar rezultatul pentru un iptables cu setările implicite este:
Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination
Pentru a introduce reguli folosiți comanda iptables cu opțiunea -A sau -I (i mare). -A va adăuga regula la capătul listei, iar -I la începutul listei. De ce este asta important? Pentru că iptables parcurge listele de sus în jos și se oprește în momentul în care găsește o regulă ce este adevărată. În caz de nici o regulă nu este adevărată, se aplică regula implicită (cea de la ”policy” din exemplul de mai sus).
Deja puteți intui mai multe logici principale de control al accesului de rețea. Cele mai des folosite 3 logici sunt:
Să presupunem că avem un calculator Linux ce este un server WEB, server mail și SSH. O configurație de iptables se face astfel:
iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT iptables -A INPUT -i eth0 -p tcp --dport 25 -j ACCEPT iptables -A INPUT -i eth0 -p tcp -s 11.22.33.44 --dport 22 -j ACCEPT iptables -A INPUT -i eth0 -p tcp --dport 1:1024 -j REJECT
Haideți să explicăm pas cu pas ce se întâmplă:
presupunem regulă implicită ACCEPT
prima comandă permite accesul pe portul 80 (HTTP/WEB) pe placa de rețea eth0 de la orice sursă
a doua comandă la fel, pentru serverul de mail, port 25 (protocolul SMTP)
a treia linie permite accesul către portul 22 (SSH) numai din partea computerului cu adresa IP 11.22.33.44
ultima linie interzice accesul pentru toată lumea pe placa de rețea eth0 pentru toate porturile între 1 și 1024
Când un calculator va încerca să se conecteze la computerul nostru, iptables parcurge lista de sus în jos și compară fiecare regulă cu noua conexiune. Astfel, să zicem că cineva vrea să se conecteze prin SSH la computerul nostru. Prima regulă nu va corespunde, iptables merge mai departe, a doua regulă tot nu va corespunde, iptables merge mai departe, la a treia regulă se verifică adresa IP a celui ce vrea să se conecteze la noi prin SSH, dacă acest computer are IP-ul din regula noastră, se permite conexiunea și nu se mai face nici o altă verificare pentru conexiunea curentă. Dacă adresa IP este alta, se trece la ultima regulă, care este adevărată, și se refuză conexiunea.
\\La fel se specifică și regulile pentru OUTPUT și FORWARD. Parametrii cei mai importanți pentru iptables sunt:
-A specifica chain-ul dorit
-i interfața (placa) de rețea la care se referă regula
-p protocolul pentru care se aplică regula (tcp în exemplul nostru)
–dport portul destinație al comunicării
–sport portul sursă al comunicării (nu apare în exemplu)
-s adresa IP a sursei comunicării
-d adresa IP a destinatarului comunicării
-j acțiunea de luat
Mai multe detalii puteți afla din manualul iptables. $ man iptables
Consola este un instrument foarte util în folosirea și administrarea unei distribuții Gnu/Linux, dar aspectul tern displace multor utilizatori. Dar consola poate fi personalizată, făcută atractivă. În continuare ne vom referi la câteva aspecte: transparență, mesaj de întâmpinare, prompt personalizat, schimbare nume sistem, aplicații utile sau interesante. Poate ați auzit și veți mai auzi vorbindu-se despre puterea consolei, utilitatea acesteia, importanța ei. Noi ne vom referi la frumusețea și la simplitatea consolei, la ușurința în utilizare. Vom încerca să vă prezentăm aplicații interesante, precum și lucruri inedite despre consolă. Contrar ideilor preconcepute linia de comandă poate fi atât distractivă cât și simplu de utilizat.
În acest material:
-consolă= terminal= konsole= gnome-terminal= e-term= x-term= yakuake= orice consolă în mediul grafic, dar baza este konsole, terminalul implicit în mediul grafic KDE, setările/ modificările se referă la konsole;
-tty= unul din cele șase terminale în mod text, apelabile prin combinația Ctrl+ Alt+ F1 (tty1), sau Ctrl+ Alt+F2 (tty2), până la Ctrl+Alt+ F6 (tty6). Mutarea între tty-uri se face cu combinația Alt+Fn (Alt+ F3 de exemplu pentru tty3, Alt+F6 pentru tty6…), iar revenirea în mediul grafic cu combinația de taste Alt+F7 sau Alt+F8;
-ne vom referi la un sistem localizat în limba română;
-semnul # din fața unei comenzi înseamnă că acea comandă trebuie dată ca root (su+ parola de root), sau cu drepturi temporare de root ( precedată de sudo+ parolă utilizator la cerere); o comandă fără # sau precedată de caracterul $ se va da ca user obișnuit;
-semnul ~ indică întotdeauna directorul /home/user, de exemplu: ~/.bashrc este același lucru cu /home/user/.bashrc !
Dacă avertismentul nostru de la început vă pune pe gânduri, poate e bine să începeți prin a crea un cont de utilizator nou, cont în care să verificați acuratețea informațiilor oferite. Știm că se poate face acest lucru în MCC, totuși discutăm despre consolă, așa că puteți crea un cont nou cu o singură comandă:
#useradd -m -g users -G audio,root,video,wheel -s /bin/bash user_nou
unde: -m= crează director home: /home/user_nou; -g= grupul de bază la care va fi adăugat noul utilizator (în acest caz grupul users); -G= grupuri adiționale din care va face parte noul utilizator; -s= shellul implicit folosit de utilizator; -user_nou= înlocuiți cu numele dorit. După ce setați și o parolă noului utilizator (#passwd user_nou), aveți configurat un cont nou, cu toate facilitățile, gata de utilizat. Pentru ca noul utilizator să facă parte dintr-un grup cu același nume, mai întâi trebuie creat acel grup (#groupadd user_nou), și apoi noul cont de utilizator, caz în care vom înlocui în comanda dată grupul users cu grupul cu același nume cu utilizatorul.
În eventualitatea că nu vă mulțumește măsura precedentă, vă sugerăm să vă salvați datele de pe partiția /, sistemul de operare adică, prin ceea ce este cunoscut ca backup. Tot în linia de comandă evident, folosind dd (disk dump). Pe lângă mai cunoscutele Clonezilla, Acronis, Ghost4Lin, există dd, un utilitar ce realizează copieri bit cu bit (clonări). Structura de bază a comenzii este: dd if=sursă of=destinație , unde: if= input file= datele ce vor fi copiate(disc, partiție, director) of= output file= destinație= locul unde vor fi scrise/ copiate datele
Să vedem cam ce putem face cu dd: putem copia o partiție pe un alt disc, putem crea imaginea ISO a unui cd/dvd, crea un drive USB bootabil, clona un hard disc întreg și multe altele. Ceea ce ne interesează pe noi este copierea unei partiții pe altă partiția a discului, deci backup, salvarea partiției root. Partiția root trebuie să fie demontată, de aceea pornim o sesiune live-cd, cu un live-cd Mandriva sau alt distro și realizăm salvarea datelor:
1- Backup fără compresie:
dd if=/dev/sdax of=/dev/sday/backup
unde:/dev/sdax este partiția root (înlocuiți x cu 1, 2, 3 sau după caz cu cifra corectă, de pildă /dev/sda3)
/dev/sday este partiția destinație, cea pe care salvăm datele (înlocuiți y cu cifra corectă)
backup este directorul unde salvăm. Dacă nu știți exact care sunt partițiile implicate, partiția / și partiția destinație, într-o consolă dați comanda: df. Outputul comenzii vă va indica toate partițiile sistemului, și va arăta cam așa:
[alex@stressat ~]$ df Filesystem Size Used Avail Use% Mounted on /dev/sda7 9.0G 6.9G 1.6G 82% / /dev/sda6 251M 67M 172M 29% /boot /dev/sda8 68G 36G 29G 56% /home /dev/sda1 11G 6.1G 4.7G 57% /media/win_c /dev/sda2 49G 26G 24G 52% /media/win_d
În acest caz partiția / este /dev/sda7, /boot este /dev/sda6, /home este /dev/sda8, etc.
Restaurare partiție root:
dd if=/dev/sday/backup of=/dev/sdax
2- Backup cu compresia datelor:
dd if=/dev/sdax | gzip > /dev/sday/backup.gz
Restaurare:
gunzip /dev/sday/backup.gz | dd of=/dev/sdax
Atenție!!!
Trebuie să fiți extrem de atenți la sintaxa folosită, dacă greșiți partiția destinație puteți pierde toate datele de pe aceasta, dacă inversați partițiile pierdeți partiția root, orice greșeală este FATALĂ ! Am prezentat dd doar pentru a arăta posibilitățile CLI, începătorii ar face bine să evite folosirea sa, Clonezilla este mult mai permisiv, deci recomandat. Un ghid de utilizare Clonezilla în limba româna puteți descărca de aici: http://queen-soft.blogspot.com/2009/02/clonezilla-alternativa-gratuita-la.html .
Ne putem ușura viața în linia de comandă, adăugând anumite funcții bash in .bashrc .
Funcția unp permite dezarhivarea rapidă pentru orice tip de arhivă, fără a ști pe dinafară sintaxa de dezarhivare.
Astfel în loc de :
tar zxvf arhiva.tar.gz tar jxvf arhiva.tar.bz2 unrar x arhiva.rar 7z x arhiva.7z ar x arhiva.deb
Se va utiliza :
unp arhiva.tar.gz unp arhiva.tar.bz2 unp arhiva.rar unp arhiva.7z unp arhiva.deb
Funcția este următoarea :
# usage: unp <file> unp () { if [ -f $1 ] ; then case $1 in *.tar.bz2) tar vxjf $1 ;; *.tar.gz) tar xvzf $1 ;; *.bz2) bunzip2 $1 ;; *.rar) unrar x $1 ;; *.gz) gunzip $1 ;; *.tar) tar xfv $1 ;; *.tbz2) tar xjfv $1 ;; *.tgz) tar xzfv $1 ;; *.zip) unzip $1 ;; *.Z) uncompress $1;; *.7z) 7z x $1 ;; *.deb) ar x $1 ;; *) echo "'$1' cannot be extracted" ;; esac else echo "'$1' is not a valid file" fi }
Și un exemplu de .bashrc cu ea activă :
if [ -f /etc/bash_completion ]; then . /etc/bash_completion fi xhost +local:root > /dev/null 2>&1 complete -cf sudo shopt -s cdspell shopt -s checkwinsize shopt -s cmdhist shopt -s dotglob shopt -s expand_aliases shopt -s extglob shopt -s histappend shopt -s hostcomplete shopt -s nocaseglob export HISTSIZE=10000 export HISTFILESIZE=${HISTSIZE} export HISTCONTROL=ignoreboth LACK='\e[1;30m' RED='\e[0;31m' LIGHTRED='\e[1;31m' GREEN='\e[0;32m' LIGHTGREEN='\e[1;32m' BROWN='\e[0;33m' YELLOW='\e[1;33m' BLUE='\e[0;34m' LIGHTBLUE='\e[1;34m' PURPLE='\e[0;35m' LIGHTPURPLE='\e[1;35m' CYAN='\e[0;36m' LIGHTCYAN='\e[1;36m' WHITE='\e[1;37m' #echo -ne "${LIGHTBLUE}""Salut, $USER! Azi e "; date #echo -e "${LIGHTBLUE}"; uname -a ; #echo -e "${LIGHTBLUE}";cat /etc/release ; echo "" #echo -ne "${LIGHTBLUE}Sysinfo:";uptime ;echo "" #echo -e "${LIGHTPURPLE}"; cal -3 #echo -e "${LIGHTCYAN}"; fortune maxime ; #echo -e "${YELLOW}"; cal -3; alias ls='ls -h --group-directories-first --time-style=+"%d.%m.%Y %H:%M" --color=auto -F' alias lls='ls -lh --group-directories-first --time-style=+"%d.%m.%Y %H:%M" --color=auto -F' alias llls='ls -lha --group-directories-first --time-style=+"%d.%m.%Y %H:%M" --color=auto -F' alias grep='grep --color=tty -d skip' alias cp="cp -i" # confirm before overwriting something alias df='df -h' # human-readable sizes alias free='free -m' # show sizes in MB alias src='rpm -qa --qf %{NAME}-%{VERSION}-%{RELEASE}-%{ARCH}\\n' alias lynx='lynx -accept_all_cookies' alias pkginstall='sudo urpmi' alias pkgremove='sudo urpme' alias pkgsearch='sudo urpmq -YSa' alias pkgupdate='sudo urpmi --auto-update' alias pkgclean='sudo urpme --auto-orphans' alias pkglist='rpm -qa' alias pkgflist='rpm -ql' alias lsmod='sudo lsmod' alias ifconfig='sudo ifconfig' alias lsusb='sudo lsusb' alias traceroute='sudo traceroute' alias die='kill -9' alias sudoers='sudo EDITOR=mcedit visudo' # unp - archive extractor # usage: unp <file> unp () { if [ -f $1 ] ; then case $1 in *.tar.bz2) tar vxjf $1 ;; *.tar.gz) tar xvzf $1 ;; *.bz2) bunzip2 $1 ;; *.rar) unrar x $1 ;; *.gz) gunzip $1 ;; *.tar) tar xfv $1 ;; *.tbz2) tar xjfv $1 ;; *.tgz) tar xzfv $1 ;; *.zip) unzip $1 ;; *.Z) uncompress $1;; *.7z) 7z x $1 ;; *.deb) ar x $1 ;; *) echo "'$1' cannot be extracted" ;; esac else echo "'$1' is not a valid file" fi } # prompt PS1='\[\033[0;32m\]┌─[ \[\033[0m\033[0;32m\]\u\[\033[0m\] @ \[\033[0;36m\]\h\[\033[0m\033[0;32m\] ] - [ \[\033[0m\]\w\[\033[0;32m\] ]\n\[\033[0;32m\]└─[\[\033[0m\033[0;32m\]\$\[\033[0m\033[0;32m\]]>\[\033[0m\] '
Funcția mdvup permite actualizarea sistemului printr-o singură comandă, fără a mai fi nevoie de tastarea parolei.
Astfel în loc de :
urpmi.update -a su -l urpmi --auto-select
Se va utiliza :
mdvup
Funcția este următoarea :
mdvup () { urpmi.update -a /usr/bin/expect -c 'spawn su -l -c "urpmi --auto-select";expect "?*assword*";send -- "Parola_ROOT";send -- "\r";interact' }
Pentru a funcționa trebuie sa aveți instalat expect și să înlocuiți Parola_ROOT cu parola contului root.
ATENȚIE : Această metodă implică păstrarea parolei de root în formă text. În cazul serverelor poate reprezenta un risc.
Comanda sudo este în opinia noastră extrem de utilă, datorită faptului că datorită ei căpătăm drepturi de root pentru o perioadă limitată de timp folosind parola de utilizator, sau chiar fără parolă. Să presupunem că doriți să folosiți sudo fără parola de utilizator pentru instalări, actualizări de sistem, rulări scripturi… Ne vom referi la activarea sudo pentru toți userii care fac parte din grupul wheel, în așa fel încât să nu fie nevoiți să pună parola de utilizator. Activarea sudo pe Mandriva se realizează destul de simplu: 1- instalăm sudo: #urpmi sudo . Dacă ați încercat să adăugați un alt utilizator cu comanda arătată anterior ( #useradd -m -g users -G audio,root,video,wheel -s /bin/bash user_nou ), acel utilizator face parte deja din grupul wheel, dacă nu, atunci puteți adăuga userul în grupul wheel cu următoarea comandă: #gpasswd -a user wheel . 2- permitem userilor din grupul wheel folosirea sudo fără parolă: edităm fișierul /etc/sudoers (#kwrite /etc/sudoers ), sau dacă preferați cu alt editor de text (kate, gedit, nano, vim…) și decomentăm linia:
## Same thing without a password # %wheel ALL=(ALL) NOPASSWD: ALL
adică ștergem caracterul # din fața liniei, astfel încât linia va arăta:
%wheel ALL=(ALL) NOPASSWD: ALL
Dacă doriți totuși să utilizați sudo cu parola de utilizator, atunci în același fișier /etc/sudoers, după liniile:
## Allow root to run any commands anywhere root ALL=(ALL) ALL
adăugați o linie nouă de forma:
user ALL=(ALL) ALL
linie în care înlocuiți user cu numele de utilizator.
Fișierul
/etc/sudoers
editat cu mcedit
Acum putem trece la treabă, vom începe cu aspectul consolei.
Deschidem o consolă (Meniu- Unelte- Konsolă) și din bara de meniuri a consolei apăsăm succesiv butoanele: Configurări- Editează profilul curent- Aspect- Editare: setăm o valoare la Transparență fundal- Ok. După cum ați observat la Aspect putem schimba radical aspectul consolei, atât culoarea fundalului cât și a fonturilor folosite, dimensiunea fonturilor, forma și culoarea cursorului. O modificare utilă privind consola putem face în Dolphin, astfel încât să pornim o consolă în directorul în care ne aflăm în Dolphin: Dolphin→ Configurări→ Configurează barele de unelte→ dublu click pe Deschide terminal (sau îl tragem cu mouse-ul din partea stângă a ferestrei apărute în cea dreaptă)→ Aplică- Ok. Astfel în bara de unelte din Dolphin, în partea de sus a acestuia vom avea un buton ¨Deschide terminal¨. Prin click pe acesta vom deschide o consolă în directorul curent. Alternativ, apăsând tasta F4 în Dolphin în partea de jos a acestuia se va deschide o mică fereastră Konsole, în directorul curent, consolă în care putem da comenzi.
Un alt mod de a obține transparența ferestrelor în mod global (deci nu doar consola ci toate categoriile de ferestre) este din Compiz-fusion/CCSM. Urmați calea: CCSM→ Accesibility→ Opacity, brightness and saturation→ Opacity→ Window specific settings→ New→ scrieți la Type: Normal | Unknown și puneți o valoare în jur de 80-95.
ATENȚIE: o valoare prea mică va face ferestrele INVIZIBILE !!!
Pentru cei care utilizează mc/ GNU Midnight Commander (există cineva care nu-l folosește?) se poate modifica aspectul aplicației atât de utile. În ~/.mc/ini se pot face modificari la culori, layout, alte setări. Mai simplă este înlocuirea temei implicite cu alta. Temele/ skin-urile pentru mc se găsesc în /usr/share/mc/skins. Automat mc pornește cu skin-ul implicit, cel definit în “default.ini”. Pentru a încerca alt skin rulați comanda mc -S nicedark sau mc -S darkfar ( mc -S nume_temă / nu trebuie pus .ini și nici calea nu trebuie definită). Pentru a seta mc să pornească automat cu tema preferată, creați folderul ~/.mc/skins, acesta va fi răsfoit inainte sa caute in /usr/share.mc/skins. Astfel, pentru a face un skin personalizat și a-l rula fără parametri la mc, creați ~/.mc/skins/default.ini . O idee bună este să porniți prin a copia si modifica /usr/share/mc/skins/default.ini in locația sus-amintită. În același mod putem seta aspectul mc pentru contul de root, contul în care bănuim că este cel mai folosit mc,prin crearea unui fișier /root/.mc/skins și copierea temelor din /usr/share/mc/skins în /root/.mc/skins.
Pentru cei ce nu vor să riște, să se complice sau nu se pricep recomandăm crearea unui alias de forma: alias mc='mc -S temă_preferată', de exemplu alias mc='mc -S darkfar' în fișierul ~/.bashrc , iar pentru contul de root în fișierul /root/.bashrc. Mai mult de atât, în sursa indicată mai jos gășiți un fișier temă configurat, trebuie doar copiat, sau vă puteți inspira după acesta:
[skin] description=Standart skin [Lines] horiz=─ vert=│ lefttop=┌ righttop=┐ leftbottom=└ rightbottom=┘ topmiddle=─ bottommiddle=─ leftmiddle=├ rightmiddle=┤ cross=┼ dhoriz=─ dvert=│ dlefttop=┌ drighttop=┐ dleftbottom=└ drightbottom=┘ dtopmiddle=─ dbottommiddle=─ dleftmiddle=├ drightmiddle=┤ [core] _default_=lightgray; selected=black;lightgray marked=yellow; markselect=yellow;cyan gauge=white;black input=lightgray;black reverse=black;lightgray [dialog] _default_=black;lightgray dfocus=white;black dhotnormal=red;lightgray dhotfocus=brown;black [error] _default_=white;red errdhotnormal=yellow;red errdhotfocus=yellow;lightgray [filehighlight] directory=white; executable=brightgreen; symlink=lightgray; stalelink=brightred; device=brightmagenta; special=blue; core=red; temp=gray; archive=brightmagenta; doc=brown; source=cyan; media=green; graph=brightcyan; database=brightred; [menu] _default_=white;black menuhot=brown;black menusel=black;lightgray menuhotsel=red;lightgray menuinactive=lightgray;black [buttonbar] hotkey=brown; button=grey; [help] _default_=black;lightgray helpitalic=red;lightgray helpbold=blue;lightgray helplink=black;cyan helpslink=yellow;blue [editor] _default_=white; editbold=yellow;brightgreen editmarked=black;lightgray editwhitespace=brightblue; editlinestate=lightgray;black bookmark=white;red bookmarkfound=black;green editrightmargin=brightblue;black [viewer] viewunderline=brightred; [diffviewer] added=white;green changedline=blue; changednew=red; changed=white; removed=white;red folder=blue;black error=red;white [widget-common] sort-sign-up = ' sort-sign-down = ,
SURSA: http://www.mandrivausers.ro/node/6154
Pentru mesaj de întâmpinare și prompt shell personalizate vom folosi două comenzi: echo (comandă care afișează o linie de text) și export (comandă care setează variabilele de mediu cum sunt promptul shell-ului, editorul de text, etc.). Pentru a vedea toate variabilele de mediu dați comanda env în consolă! Toate modificările se vor face în fișierul /home/user/.bashrc (altfel scris ~/.bashrc), care este fișierul de configurare al shell-ului Bash, interpretorul de comenzi implicit în Mandriva și majoritatea distribuțiilor Gnu/Linux, pentru setări locale (la nivel de utilizator) sau în fișierul /etc/skel/.bashrc pentru setări globale (valabile pentru toți utilizatorii sistemului), bineînțeles dacă nu dorim setări diferite pentru useri diferiți, caz în care configurăm fișierele .bashrc al fiecărui user după dorință. Comanda cu care edităm acel fișier este: kwrite .bashrc, kate .bashrc sau gedit .bashrc. Adăugăm linia/liniile dorite, salvăm și închidem. Putem să facem backup la fișier înainte de a face modificări (cp .bashrc .bashrc-vechi). În caz de probleme ștergem fișierul și-l înlocuim cu copia de siguranță. Dar nu este neapărat necesar să facem noi backup, deoarece editoarele text kwrite, kate, gedit fac o copie de siguranță fișierelor text editate, copie ce are exact același nume cu fișierul original plus caracterul tilda (~). Nu vă panicați, este foarte simplu, puteți pur și simplu copia (copy-paste) liniile dorite sau eventual tot fișierul .bashrc pe care le veți găsi în acest material…
Folosind comanda echo putem seta apariția unui mesaj de întimpinare în shell, mesaj care poate fi unul de salut și/sau un mesaj cu informații utile. Mesajele acestea vor apărea în partea de sus a consolei și pot fi colorate cu culoarea implicită a textului din shell (alb, verde, etc.), sau pot fi colorate după preferință. În primul rând vom defini culorile necesare adăugând definițiile în .bashrc:
BLACK='\e[1;30m' RED='\e[1;31m' GREEN='\e[1;32m' BROWN='\e[1;33m' BLUE='\e[1;34m' PURPLE='\e[1;35m' CYAN='\e[1;36m' WHITE='\e[1;37m'
Am ales variantele light ale culorilor, culori strălucitoare și font mai gros.
Pentru un mesaj de salut de genul: Salut user! , trebuie să adăugăm în fișierul .bashrc următoarea linie: echo Salut $USER! ( pe o singură linie). Dacă dorim colorarea mesajului într-o culoare anume, este necesară definirea culorilor,apoi ne folosim de opțiunile comenzii echo, și adăugăm o linie de formatul: echo -e „${GREEN}“ „Salut, $USER! “. Se poate modifica culoarea, în funcție de dorință.
Deasemeni putem avea mesaje cu diferite informații despre sistem, dată, oră, calendar și multe altele.Voi adăuga o mică listă cu linii ce pot fi inserate în .bashrc, cu scurte comentarii:
echo -ne "${GREEN}" "Hello, $USER. Azi e "; date =afișează salutul, data și ora(în verde) echo -e "${YELLOW}"; cal ; =afișează calendarul lunii echo -e "${YELLOW}"; cal -3; =afișează calendarul pe 3 luni(precedentă, curentă și următoare) echo -ne "${PURPLE}Sysinfo:";uptime ; =informații uptime echo -e "${WHITE}"; uname -a ; cat /etc/release; =informații sistem, arhitectură procesor, versiune, kernel echo -e "${CYAN}"; fortune ; =fortune este o aplicație interesantă care afișează în mod aleatoriu un proverb, maximă, o glumă.
Este suficient să instalați fortune: #urpmi fortune-mod plus unul sau mai multe din pachetele cu texte
(fortune-movies, fortune-murphy, fortune-starwars, fortune-top 100, etc.) și să plasați în .bashrc o linie fortune. Dacă preferați ca și citatul dat de fortune să fie colorat în loc de linia fortune puneți o linie de forma: echo -e „${BLUE}“; fortune ; . Dacă doriți să limitați numărul de caractere afișat de fortune, pentru a nu ocupa prea multe linii comanda este echo -e „${BLUE}“; fortune -n 80; (implicit numărul de caractere este 160). Este posibil să vă faceți singuri o bază de date cu texte care să apară în consolă.
Căutați pe internet maxime, glume sau altceva, le copiați într-un fișier text numit de exemplu maxime, textele fiind despărțite de câte un rând în care este caracterul %, fișier pe care-l copiați în directorul home și îl transformați într-o bază de date (cu comanda #strfile maxime). Pentru ca fortune să afișeze textele din baza de date nou apărută (maxime.dat) linia din ~/.bashrc va fi: echo -e „${LIGHTCYAN}“; fortune maxime ;
În imaginea următoare puteți observa efectul acestor linii asupra aspectului consolei. Bineînțeles puteți păstra toate liniile sau doar una, două, după plac. În plus observați o modificare asupra promptului, modificare descrisă la punctul următor. Fortune poate fi folosit în combinație cu cowsay, o mică aplicație care face ca expresia respectivă să fie “spusă” sau “gândită” de un desen ASCII în formă implicită de vacă, sau de alte animale: oaie, broască, pinguin, koala, etc. Pentru aceasta trebuie modificată linia cu fortune în unul din modurile următoare:
echo -e "${CYAN}"; fortune | cowsay ; = varianta clasică: vaca vorbitoare; echo -e "${CYAN}"; fortune | cowsay -f tux ; = vaca este înlocuită de un pinguin; echo -e "${CYAN}"; fortune | cowsay -f sheep ; = varianta cu oaie; echo -e "${CYAN}"; fortune | cowthink -f turkey ; = afișează “gândurile” unui curcan.
Mai multe detalii: http://www.flamingtext.com/tools/cowsay/ .
Un exemplu de conținut de fișier personal pentru fortune:
% Cand un barbat iți fură nevasta, nu e răzbunare mai bună decât să-l lași să o păstreze (Sacha Guitry) % Nu ești beat atâta timp cât poți să zaci întins pe parchet, fără să te sprijini. (Murphy) % O fi bine in Rai, dar cele mai interesante persoane nu ajung acolo. (Nietzsche) % Prima carte care trebuie interzisă este catalogul cărtilor interzise. (Murphy) % In viață nu contează dacă pierzi sau câștigi. Contează dacă pierd sau câștig eu... (Winston Churchill) % Tot ce e bun: ori e imoral, ori este ilegal, ori ingrasă. (Murphy) % Ce ție nu-ți place, altuia nu-i face. Că nu toată lumea are aceleași gusturi. (G.B. Shaw) % Dacă ceva funcționează, nu încerca să-l repari. (Murphy) % Paradoxul homosexualilor este că, deși nu reușesc să se reproducă, sunt în fiecare an din ce in ce mai mulți. (Tristan Bernard) % Un program pentru calculator face ceea ce îl pui tu să facă, nu ceea ce vrei tu să facă. (Murphy) % Statisticile sunt precum costumele de baie: iți arată ce știe toată lumea și iți ascund exact ceea ce ai fi vrut sa afli. (Georges Vedel) % Inteligența artificială nu se poate compara cu prostia naturală. (Murphy) % Bravura nu-i decât o vorbă goală. Brav e doar cel ce ține arma de partea unde e trăgaciul! (Sven Hassel) % Un bărbat nu este complet daca nu este însurat. Abia atunci este terminat. (Robert Frost) % Toate ciupercile sînt comestibile. Cel puțin o dată. (Anonim) % Cine a zis că sexul este un raspuns? Sexul este o intrebare. "Da" este raspunsul. (Woody Allen) % Experiența este cel mai dur profesor, pentru că întâi iți dă testul și abia apoi iți spune care era lecția. (Vernon Law) % Daca te lași de fumat, de băut si de femei nu traiești mai mult... doar că timpul trece mult mai greu. (Clement Freud) % A vorbi despre salariul brut ca și cum ar fi salariul tău este ca și cum ai include lungimea șirei spinării în dimensiunea penisului. (Anonim) % Nu e bine să fii obligat să alegi intre Rai si Iad. Prieteni buni gasești in ambele locuri. (Mark Twain) % Belladonna: în limba italiană, femeie frumoasă; în engleză, mătragună - un foarte bun exemplu de sinonime... (Anonim) %
Alte aplicații utile pentru afișarea unor mesaje de salut sunt banner, figlet, toilet, tput. Puteți încerca aceste aplicații în konsole dând una sau alta din comenzile următoare sau copiindu-le în .bashrc:
- banner mesaj (de exemplu banner Mandriva, deci înlocuim mesaj cu mesajul dorit!);
- figlet -tf slant mesaj;
- toilet -f mono9 -F metal mesaj;
- toilet -f mono9 -F gay mesaj.
Pentru a seta variabila de mediu care determină promptul afișat în consolă (PS1), precum și alte variabile de mediu se folosește comanda ¨export¨.
Veți observa că pe lângă aspectul inedit, modificarea promptului este utilă, observând mult mai ușor dacă sunteți logat ca root ori user,sau dacă comanda dată a fost executată și avem consola liberă pentru alte sarcini.
Promptul este acel scurt mesaj din consolă, care de obicei ne prezintă informații despre utilizator, numele mașinii și directorul curent (cam așa ceva: [dan@stressat ~]$ ⇒ unde dan=utilizator, stressat=nume sistem și ~=directorul home al userului curent, în acest caz /home/dan). Pentru a afla structura promptului într-o consolă dăm comanda:
echo $PS1 [\u@\h \W]\$
Dar pe lîngă user, hostname și director putem pune orice altceva: oră, dată, etc. Să presupunem că dorim ca promptul să ne arate și ora exactă. Pentru asta adăugăm în /home/user/.bashrc o linie de genul:
export PS1="[\u@\H \W \@]\$"
sau putem verifica mai întâi aspectul promptului dând in consolă comanda
export PS1="[\u@\H \W \@]\$"
Dacă suntem mulțumiți de prompt punem linia respectivă în ~/.bashrc.
Dacă dorim ca promptul să fie colorat avem câteva posibilități. În primul rând în mediile Mandriva găsim o aplicație numită colorprompt care odată instalată va colora promptul de user în verde și cel de root în roșu.Deci ajunge rularea comenzii #urpmi colorprompt în consolă, iar la repornirea consolei vom avea promptul colorat. Poate preferați alte culori pentru prompt, sau chiar ca fiecare termen al promptului să aibă o culoare diferită ? Este simplu… Toate aceste modificări se pot face în același director .bashrc, cu același tip de linie adăugată:
export PS1=“[\u@\H \W \@]\$“ la care adăugăm parametrii pentru colorare:
\e[x;ym =>pornește schema de colorare; \e[m =>oprește schema de colorare;
x;y reprezintă culoarea dorită(dacă înlocuim 0 cu 1 obținem varianta light a culorii- nuanță mai vie și font puțin mai gros, iar dacă înlocuim cu 4 obținem prompt subliniat/underline):
0;30 =culoarea neagră; 1;30 =culoarea gri închis; 0;31 =culoarea roșie; 0;32 =verde; 0;33 =maron (1;33 este galben); 0;34 =albastru; 0;35 =magenta; 0;36 =cyan; 0;37 =alb; 0;30 =negru; 1;31 =roșu strălucitor/ lightred; 4;31 =roșu subliniat/ underline red; 5;31 =roșu clipitor/ blink red; 7;31 =culori inversate între fundal și text. \u =user; \h =hostame; \w =director curent; \$ =variabilă care setează afișarea caracterului $ pentru user și # pentru root; \d =data; \A =ora curentă în format 24 de ore \@ =ora în format 12 ore Am/Pm.
Deci dacă vrem un prompt de user de culoare albastră și care să indice userul, gazda, directorul curent și ora curentă în format 24 ore, este suficient să adăugăm în fișierul ~/.bashrc următoarea linie:
export PS1="\[\e[0;34m[\u@\h \W \A]\$ \e[0m\] "
pentru un albastru puțin mai deschis înlocuim 0;34 cu 1;34, pentru verde cu 0;32, etcetera. Este posibil să avem promptul cu fiecare termen de altă culoare. Pentru aceasta trebuie să încadrăm fiecare termen în propria schemă de colorare, folosind culoarea dorită,de exemplu:
export PS1="\[\e[1;32m[\u\e[0m\e[1;36m@\e[0m\e[1;33m\h\e[0m:\e[1;35m\w\e[0m \e[1;36m\@]\e[0m\e[1;31m\$\e[0m\] "
(aceasta este o singură linie, aici nu încape pe un singur rând, cum ar trebui pusă în .bashrc). Aspectul dat de această ultimă comandă îl vedeți în imaginea următoare.
Un prompt ceva mai complex este următorul :
export PS1='\[\033[0;32m\]┌─[ \[\033[0m\033[0;32m\]\u\[\033[0m\] @ \[\033[0;36m\]\h\[\033[0m\033[0;32m\] ] - [ \[\033[0m\]\w\[\033[0;32m\]]\n\[\033[0;32m\]└─[\[\033[0m\033[0;32m\]\$\[\033[0m\033[0;32m\]]>\[\033[0m\] '
Sau, în caz ca folosiți mai multe sisteme în chroot, pentru a ști în care sistem vă aflați :
export PS1='\[\033[0;32m\]┌─[ \[\033[0m\033[0;32m\]\u\[\033[0m\] @ \[\033[0;36m\]\h\[\033[0m\033[0;32m\] ] - [ \[\033[0;31m\]ArchLinux\[\033[0;32m\] ] - [ \[\033[0m\]\w\[\033[0;32m\] ]\n\[\033[0;32m\]└─[\[\033[0m\033[0;32m\]\$\[\033[0m\033[0;32m\]]>\[\033[0m\] '
export PS1='\[\033[0;32m\]┌─[ \[\033[0m\033[0;32m\]\u\[\033[0m\] @ \[\033[0;36m\]\h\[\033[0m\033[0;32m\] ] - [ \[\033[0;31m\]Ubuntu\[\033[0;32m\] ] - [ \[\033[0m\]\w\[\033[0;32m\] ]\n\[\033[0;32m\]└─[\[\033[0m\033[0;32m\]\$\[\033[0m\033[0;32m\]]>\[\033[0m\] '
Pentru cei ce sunt la început și evident nu se prea pricep (deocamdată), vom adăuga în acest material un fișier .bashrc pentru inspirație. Am adăugat mai multe linii pe care nu le folosim, comentate (au simbolul # în față). Ștergând caracterul # din fața unei linii o decomentăm și ca atare va fi luată în considerație de sistem, fiind afișat în konsole outputul comenzii respective. Similar putem comenta o linie nedorită prin adăugarea în fața acesteia a caracterului #. Puteți copia conținutul acestui fișier în propriul dumneavoastră fișier .bashrc (~/.bashrc pentru setări locale):
# .bashrc # User specific aliases and functions # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc #Mesaj întâmpinare BLACK='\e[1;30m' RED='\e[0;31m' LIGHTRED='\e[1;31m' GREEN='\e[0;32m' LIGHTGREEN='\e[1;32m' BROWN='\e[0;33m' YELLOW='\e[1;33m' BLUE='\e[0;34m' LIGHTBLUE='\e[1;34m' PURPLE='\e[0;35m' LIGHTPURPLE='\e[1;35m' CYAN='\e[0;36m' LIGHTCYAN='\e[1;36m' WHITE='\e[1;37m' echo -ne "${LIGHTRED}" "Salut, $USER! Azi e "; date echo -e "${YELLOW}"; uname -a ; #echo -e "${LIGHPURPLE}";cat /etc/release ; #echo -ne "${LIGHTBLUE}Sysinfo:";uptime ;echo "" #echo -e "${LIGHTPURPLE}"; cal -3 echo -e "${LIGHTCYAN}"; fortune maxime ; #Aliasuri alias mplay='mplayer -zoom -x 600 -y 460 -playlist ~/Music/Videoclipuri/playlist.m3u' alias fbterm1='./fbterm-bi ~/Pictures/tux.jpg' alias fbterm='./fbterm-bi ~/Pictures/5.jpg' alias fbterm2='./fbterm-bi ~/Pictures/desen.jpg' alias grep='grep --color=tty -d skip' alias src='rpm -qa --qf %{NAME}-%{VERSION}-%{RELEASE}-%{ARCH}\\n | grep -i ' alias die='kill -9' alias x='exit' alias rd='rmdir' alias md='mkdir' alias h='history' alias ls='ls -h --group-directories-first --time-style=+"%d.%m.%Y %H:%M" --color=auto -F' alias lynx='lynx -accept_all_cookies' alias moc='mocp -T ~/.moc/moca_theme' alias ffmpeggbox='ffmpeg -f alsa -ac 2 -i pulse -f x11grab -r 30 -s 1280x960 -i :0.0 -acodec pcm_s16le -vcodec libx264 -vpre lossless_ultrafast -threads 0 captura.avi' alias ffmpeggmic='ffmpeg -f alsa -ac 2 -i pulse -f x11grab -r 30 -s 1280x960 -i :0.0 -acodec pcm_s16le -vcodec libx264 -vpre lossless_ultrafast -threads 0 capmic.avi' alias glmatrix='xwinwrap -ni -fs -s -st -sp -b -nf -- /usr/lib64/xscreensaver/glmatrix -root -window-id WID' alias xwinwrapf='xwinwrap -ni -fs -s -st -sp -b -nf -- mplayer -wid WID -vo gl2 -ao alsa -shuffle -playlist '~/Music/Videoclipuri/playlist' -loop 0' alias xwino='xwinwrap -ov -g 900x600+200+200 -sh circle -- mplayer -wid WID -vo gl2 -ao alsa -shuffle -playlist '~/Music/Videoclipuri/playlist' -loop 0 ' alias xwinc='xwinwrap -ov -g 700x700+300+150 -sh circle -- mplayer -wid WID -vo gl2 -ao alsa -shuffle -playlist '~/Music/Videoclipuri/playlist' -loop 0 ' alias xwint='xwinwrap -ov -g 900x600+200+200 -sh triangle -- mplayer -wid WID -vo gl2 -ao alsa -shuffle -playlist '~/Music/Videoclipuri/playlist' -loop 0 ' alias xwind='xwinwrap -ov -g 900x600+200+200 -- mplayer -wid WID -vo gl2 -ao alsa -shuffle -playlist '~/Music/Videoclipuri/playlist' -loop 0 ' alias meteo='weather --id=LRIA' #Radio alias mpe='mplayer -playlist ~/Downloads/live.m3u' #radio europafm alias mpk='mplayer -playlist ~/Downloads/radio/listen.pls' #radio kissfm alias mpz='mplayer -playlist ~/Downloads/radio/live.m3u' #radio zu alias mpc='mplayer -playlist ~/Downloads/radio/cityfm_128.m3u' #radio cityfm alias mpp='mplayer -playlist ~/Downloads/radio/profm.mp3.m3u' #radio profm #export PATH=/usr/share/cw:$PATH export PATH=~/.cw:$PATH # prompt #PS1='[\u@\h \W]\$ ' #PS1='\[\e[1;32m\][\u@\h \W]\$\[\e[0m\] ' PS1='\[\033[0;32m\]┌─[ \[\033[0m\033[0;32m\]\u\[\033[0m\] @ \[\033[0;36m\]\h\[\033[0m\033[0;32m\] ] - [ \[\033[0m\]\w\[\033[0;32m\] ]\n\[\033[0;32m\]└─[\[\033[0m\033[0;32m\]\$\[\033[0m\033[0;32m\]]>\[\033[0m\] ' fi
Nu uitați că pentru a avea efect setările și aliasurile din fișier trebuie să instalați aplicațiile la care ne referim !
Putem merge chiar mai departe și să colorăm outputul comenzilor, în așa fel încât să avem consola mai interesantă folosind cwrapper, ceva oarecum asemănător cu felul cum sunt afișate în Sabayon.
1- Instalăm cwrapper:
#urpmi cw
2- trebuie adăugată calea în fișierul ~/.bashrc sau în fișierul ~/.bash_profile (dacă nu avem acest fișier îl facem noi: touch /home/user/.bash_profile) și adăugăm linia următoare:
export PATH=/usr/share/cw:$PATH
.
Cwrapper va colora ieșirile comenzilor după setările sale implicite, în mod aleatoriu, dar putem modifica culorile pentru outputul fiecărei comenzi în parte în fișierele de configurare aflate în directorul /usr/lib/cw (de exemplu pentru culori personalizate pentru otputul comenzii date trebuie modificat fișierul date). Totuși este preferabil să setăm cwrapper pe plan local, în directorul nostru home. Pentru aceasta creăm un fișier .cw în care copiem fișierele de configurare din /usr/share/cw, facem modificările dorite de noi și în final setăm calea pentru aplicație adăugând linia următoare în ~/.bashrc sau în ~.bash_profile :
export PATH=~/.cw:$PATH
După repornirea interfeței grafice sau restart, vom avea un terminal/ tty plin de culoare.
Dacă folosiți mesaj de întâmpinare în consolă cu vreuna din comenzile ce sunt afectate de cwrapper (comenzile ce au fișiere de configurare în /usr/share/cw sau ~/.cw, cum sunt uname -a, date, cal, clock) veți observa că mesajul de întâmpinare respectiv este afectat de schema de colorare folosită de cwrapper, astfel încât putem ajunge la rezultate chiar mai spectaculoase, având cuvintele de o anumită culoare, cifrele de altă culoare, simboluri precum , . / - : # de alta…
Colorarea outputului comenzilor e valabilă și în interiorul fbterm și screen, deci vom obține un terminal în mod text/ tty mult mai colorat și mai agreabil.
Un exemplu de setare cw, fișierul ~/.cw/uname:
#!/home/alex/.cw/bin/cw path /bin:/usr/bin:/sbin:/usr/sbin:<env> random cyan:green:purple:grey+ base yellow digit red+:default match red+:default / match red+:default : match red+:default . match red+:default - match red+:default # ifnarg --help:--version token purple+:default 0 32 ifnarg -a:-all nopipe
Comparând acest fișier cu cel din propriul director .cw veți vedea cum se fac modificările. În mod similar puteți modifica celelalte fișiere cw. Pentru cei care au o versiune de Mandriva mai veche sau au altă distribuție (în paralel ori în loc de Mandriva), sau doresc să-și instaleze ultima versiune a uneia din aplicațiile următoare, ori pur și simplu vor să-și compileze singuri, vom expune și instalarea din surse a aplicațiilor. Pentru cwrapper:
wget http://cwrapper.sourceforge.net/cw-1.0.16.tar.gz tar xzf cw-1.0.16.tar.gz cd cw-1.0.16 ./configure --prefix=/usr make installlocal
După cum suntem anunțați la instalare trebuie adăugată calea în fișierul ~/.bash_profile (dacă nu avem acest fișier îl facem noi , ca si utilizator: touch .bash_profile) și adăugăm linia următoare:
export PATH="~/.cw/def:$PATH"
Setările se fac în directorul ~/.cw/def, în care veți găsi fișierele de configurare, exact în același mod ca și pentru instalarea din medii.
După cum ați observat, numele sistemului dumneavoastră este setat implicit ca ¨localhost¨. În cazul în care doriți să aveți un nume mai deosebit, ceva personal, este ceva simplu de realizat, trebuie modificate două fișiere:
a) editați /etc/hosts (comanda #kwrite /etc/hosts) și înlocuiți linia
127.0.0.1 localhost
cu linia:
127.0.0.1 nume_dorit localhost;
b) editați /etc/sysconfig/network și adăugați linia
HOSTNAME=nume_dorit
Acum avem o consolă atractivă, așa că ar fi bine să o folosim cât mai des.
Și nu numai pentru instalări sau actualizări… În linia de comandă putem face toate lucrurile care se fac de obicei în interfața grafică: putem asculta posturi de radio online, melodii .mp3, urmări filme sau videoclipuri, și chiar canale Tv transmise online, putem trimite e-mailuri, inscripționa cd-uri și dvd-uri, conversa cu prietenii pe messenger sau IRC și multe altele. Și ceea ce este mai important, putem face toate aceste lucruri foarte simplu și repede.
Dacă tot petrecem ceva timp în tty, ar fi plăcut să avem câteva facilități, cum ar fi o imagine de fundal, un shell care să redea diacriticele corect. Pentru asta instalăm fbterm și fbv:
#urpmi fbterm fbv
. Apoi creați un fișier numit fbterm-bi ( touch ~/fbterm-bi ) și în el copiați textul următor:
#!/bin/bash # fbterm-bi: a wrapper script to enable background image with fbterm # usage: fbterm-bi /path/to/image fbterm-options echo -ne "\e[?25l" # hide cursor fbv -ciuker "$1" << EOF q EOF shift export FBTERM_BACKGROUND_IMAGE=1 exec fbterm "$@"
Salvați fișierul, faceți-l executabil ( #chmod a+x ~/fbterm-bi ) și logați-vă într-un tty (tty1 de xemplu cu combinația de taste: Ctrl+Alt+F1). Dați comanda:
./fbterm-bi /home/user/Pictures/Space.jpg
și veți avea wallpaper în terminal. Evident putem folosi iar un alias de forma
alias fbterm='./fbterm-bi /home/user/Pictures/Space.jpg'
Pentru posesorii de plăci video Intel (poate și Ati/ AMD): dacă aveți necazuri cu afișarea imaginii de fundal și a diacriticelor creați/ editați fișierul fbterm-bi cu mcedit sau vi/ vim pentru o formatare corectă. După logarea în tty comanda fbterm (dacă am setat un alias, altfel comanda va fi ./fbterm-bi /home/user/Pictures/Space.jpg ) deschide emulatorul de terminal fbterm, în care putem obseva că sunt afișate corect diacriticele. E bine de știut că screen rulează în interiorul fbterm… Pentru o imagine clară cu scris lizibil e bine ca imaginea să fie puțin prelucrată anterior, redusă preferabil la o scală de gri și micșorată luminozitatea. Aceasta e varianta optimă. Dar mai există posibilitatea modificării culorii fundalului și a textului din fișierul de configurare .fbtermrc. Se pot modifica fontul folosit (font-names), dimensiunea acestuia (font-size), culoarea textului (color-foreground), culoarea fundalului (color-background).
Instalarea din surse fbterm: 1 - descarcam si compilam:
wget http://fbterm.googlecode.com/files/fbterm-1.7.tar.gz tar xzf fbterm-1.7.tar.gz cd fbterm-1.7 ./configure --prefix=/usr make
2- ne logăm ca root și încheiem instalarea:
make install
Apoi instalăm și fbv tot din surse:
wget http://s-tech.elsat.net.pl/fbv/fbv-1.0b.tar.gz tar xzf fbv-1.0b.tar.gz cd fbv-1.0b ./configure --prefix=/usr make
2- ca root:
make install
În sfârșit creați fișierul numit fbterm-bi ( touch ~/fbterm-bi ) și copiați în acesta textul arătat anterior.
Sursa: http://kmandla.wordpress.com/2010/05/28/fbterm-birth-of-the-cool-for-the-console/ .
În imaginea precedentă puteți observa fbterm în acțiune. În interiorul fbterm rulează screen cu patch-ul vertical_split. În partea de sus a ferestrei este moc (Music on console- player audio), iar în parte a de jos sunt 2 shell-uri, cel din stânga nefolosit, iar în cel din dreapta am luat screenshot-ul acesta. Se poate observa afișarea corectă a diacriticelor în mesajul de întâmpinare și în mesajul Fortune. Culoarea textului este modificată în magenta în .fbtermrc.
Dacă uneori sunteți deranjat de mesajele de întâmpinare, fortune, etc., și doriți un shell liber, comanda clear va curăța shellul, lăsând doar promptul. Este util în ferestrele mici din screen.
Pentru o afișare corectă este posibil să fiți nevoiți să setați rezoluția framebufferului prin adăugarea parametrului vga=788, sau vga=793 (sau a altei valori în funcție de monitorul folosit) în /boot/grub/menu.lst (pentru Grub) sau în fișierul /boot/grub/grub.cfg (pentru Grub2) după linia cu kernel (la secțiunea Title Linux).
De exemplu, pe un monitor de 19”/ rezoluție 1280×960 valoarea optimă este vga=788 pentru rezoluție de 800×600. Dacă doriți o rezoluție mai bună, de exemplu 1024×768 atunci setați vga=791, pentru 1280×1024 setați vga=794. Câteva valori:
| 640x480 800x600 1024x768 1280x1024 --------------------------------------------------------------------------- 256 | 0x301=769 0x303=771 0x305=773 0x307=775 32K | 0x310=784 0x313=787 0x316=790 0x319=793 64K | 0x311=785 0x314=788 0x317=791 0x31A=794 16M | 0x312=786 0x315=789 0x318=792 0x31B=795
O variantă de a afla toate rezoluțiiile posibile pentru placa video e folosirea comenzii hwinfo –framebuffer , cu diferența că valorile vor fi afișate sub forma: Mode 0x0314: 800×600 (+1600), 16 bits. După cum este afișat în tabelul anterior 0x314=788, deci putem folosi în loc de vga=788 și vga=0x314 (sau ce valoare dorim)… Este recomandat să evitați folosirea valorilor din prima linie a graficului anterior (cea care începe cu 256), linie unde sunt arătate rezoluțiile pe 8 biți, și să folosiți rezoluțiile pe 16 biți (din linia a doua, cea care începe cu 32k) sau cele pe 24 biți (cele din ultima linia, cea care începe cu 16M). Asta deoarece rezoluțiile pe 8 biți au dezavantajul că afișează incorect culorile imaginii de fundal și deasemenea pe cel că nu mai putem folosi aplicații de luat screenshoturi precum fbgrab.
Pentru a folosi aplicațiile acestea userul trebuie să facă parte din grupul video (#gpasswd -a user video) și deasemeni trebuie date ceva drepturi (#chmod a+rw /dev/fb0 ).
Ghidul prezent este valabil și pentru Rosa 2012 LTS:
Screen este un administrator de ferestre care permite folosirea mai multor shell-uri în același terminal. Astfel putem rula mai multe sarcini consecutiv, fără să schimbăm terminalul tty (într-un shell putem asculta muzică cu moc, în alt shell putem viziona videoclipuri, în altul putem actualiza sistemul, etc.).
Instalare:
#urpmi screen
Mod de utilzare:
Combinația de taste Ctrl+a pune screen în mod așteptare comenzi, deci comenzile destinate screen vor fi precedate obligatoriu de această combinație. Altfel comenzile date sunt destinate shell-ului curent, cel în care clipește cursorul.
Mai simplu de redimensionat ferestrele din cadrul screen este prin editarea fișierului de configurare screen: ~/.screenrc și modificarea liniilor din secțiunea key binding. De exemplu prin modificarea/ adăugarea liniilor următoare:
bind = resize =
bind / resize max
bind * resize +1
bind + resize +5
bind _ resize -1
bind - resize -5
vom putea mări/ micșora dimensiunea unui shell:
Ctrl+a + = va mări suprafeța cu 5 linii/ coloane, în funcție de poziția ferestrei;
Ctrl+a - = va micșora suprafața cu 5 linii/ coloane, etc.
În imaginea următoare în tty sunt vizibile două shell-uri. În cel de sus este mplayer cu un videoclip, în cel de jos este playerul audio moc, recent închis. Se poate observa și modul în care e luată imaginea (fbgrab).
Comenzi utile:
screen = pornește screen; screen -S nume = pornește o consolă screen și îi dă un nume; screen -ls = listează consolele existente; Ctrl+a ? (Ctrl+a urmate de ?) = afișează lista de comenzi disponibile în screen; Ctrl+a p = comută în consola anterioră, precedentă; Ctrl+a n = comută în consola următoare; Ctrl+a N = (unde N este un număr între 0 și 9) comută în consola desemnată de număr; Ctrl+a ¨ = listează consolele deschise; Ctrl+a -d = detașează consola; Ctrl+a -r = reatașează consola detașată anterior Ctrl+a H = creează loguri de sesiune; Ctrl+a M = pornește monitorizarea activității Bash/ dată din nou oprește monitorizarea; Ctrl+a K = închide (omoară) sesiunea curentă a screen. Ctrl+a V = desparte fereastra pe verticală
Instalare din surse este utilă pentru versiunile vechi și pentru distribuțiile care au în medii screen fără patch-ul vertical split:
1- descarcam si compilam:
wget http://www.sfr-fresh.com/unix/misc/screen-4.0.3.tar.gz tar zxvf screen-4.0.3.tar.gz cd screen-4.0.3 wget http://vsp4sdl.yuggoth.org/wrp_vertical_split_0.3_4.0.2.diff.bz2 bunzip2 wrp_vertical_split_0.3_4.0.2.diff.bz2 patch -Np1 < wrp_vertical_split_0.3_4.0.2.diff ./configure --prefix=/usr make
2- ca root instalăm:
make install
Screen poate fi setat astfel încât la pornirea aplicației să pornească direct aplicațiile preferate. Astfel în fișierul de configurare ~/.screenrc, la secțiunea #default windows, putem adăuga liniile următoare:
screen -t mocp 0 mocp screen -t mc 1 mc screen -t htop 2 htop screen -t centerim 3 centerim screen -t lynx 4 lynx
În acest mod, screen va porni aplicațiile sus-pomenite direct, fiecare în altă fereastră screen, maximizate, full screen, deci vizibilitatea este mult mai bună comparativ cu o fereastră mai mică. Pentru a schimba între aplicații, de fapt între ferestrele cu aplicații folosim combinația Ctrl+a urmată de numărul ferestrei: 0 pentru fereastra cu moc, 1 pentru fereastra cu mc, 2 pentru htop, etc. Evident pe lângă aplicațiile amintite se pot adăuga oricare altele, după preferințele personale…
Un alt manager de ferestre în CLI este Byobu, o îmbunătățire adusă Screen. De fapt Byobu este doar un wrapper, o ”haină” pentru Screen, un Screen făcut mai ”prietenos”. Toate comenzile și setările Screen funcționează și-n Byobu, iar în plus există posibilitatea de a folosi unele ”scurtături”, tastele funcționale. De exemplu în loc de combinațiile de taste Ctrl+a n și Ctrl+a p pentru trecerea la fereastra următoare, respectiv cea precedentă se pot folosi tastele F3 și F4, cu F2 deschidem o nouă fereastră, F9 ne duce în meniul de configurare. Veți vedea că este foarte intuitiv meniul, imediat vă dați seama ce și cum se poate face, explicațiile sunt de prisos. Dacă folosiți htop pentru monitorizarea sistemului intervine o mică problemă, deoarece tasta F6 este alocată de Byobu pentru detașarea ferestrelor, iar htop are tasta alocată pentru alegerea criteriului de afișare a consumului: după procesor, memorie, etc. Problema se poate rezolva prin modificarea fișierului ce setează alocarea tastelor, respectiv /usr/share/byobu/keybindings/f-keys, comentând sau ștergând linia cu F6. Astfel F6 va rămâne cu scopul său din htop.
Exact ca și screen putem seta ca la pornirea byobu să pornească automat unele aplicații, fiecare într-o fereastră proprie, prin modificarea fișierului ~/.byobu/windows și adăugarea aplicațiilor dorite, în forma:
screen -t shell shell
screen -t moc mocp
screen -t htop htop
screen -t centerim centerim
screen -t rtorrent rtorrent
screen -t mutt mutt
Dacă aveți deja făcute aceste setări în fișierul de configurare al screen (~/.screenrc), aceste setări vor fi recunoscute și aplicate de byobu automat, deci riscați să aveți câte două instanțe ale aceleeași aplicații rulând în ferestre diferite.
Cea mai interesantă deosebire față de screen o prezintă bara afișată în partea de jos a ferestrei, unde sunt afișate tot felul de informații utile, precum ferestrele cu aplicații deschise, ora exactă, memorie, procesor, IP, user, hostname, distribuție folosită (plus logo-ul acesteia) și multe altele. Pentru modificări: F9- Toggle status notifications- cu tastele săgeți sus-jos navigăm, cu Space bifăm- debifăm, cu săgeată dreapta trecem la Apply sau Cancel, Enter.
Este bine de remarcat că byobu sau screen pot fi folosite cu succes și-n interfața grafică pentru comoditate: pornim screen sau byobu și avem automat în konsole toate aplicațiile setate în .screenrc sau .byobu/windows.
Byobu cu mocp, htop, centerim, rtorrent și două shell-uri:
Byobu cu calendar, lynx-mrb,moc,si asciiquarium-screensaver ( F9 pentru meniu)
V-ar interesa să aveți și screensaver în tty/ screen??? Simplu. În primul rând trebuie instalate aplicațiile ce vor face acest lucru posibil, cmatrix, caca-utils și asciiquarium:
#urpmi cmatrix caca-utils asciiquarium
. Apoi în .screenrc fie modificăm unele linii, fie adăugăm liniile următoare, o variantă la alegere:
Pentru screensaver cu acvariu:
blankerprg asciiquarium idle 60 blanker
Pentru screensaver cu matrice:
blankerprg cmatrix -ab -u2 idle 60 blanker
Pentru screensaver cu foc:
blankerprg cacafire idle 60 blanker
Putem înlocui valoarea 60 (este vorba de secunde, 60= 1 minut) cu una personală, în funcție de timpul după care dorim să intre screensaverul în acțiune. La cmatrix putem schimba culoarea textului în roșu (red), galben (yellow), bleu (cyan), etc., folosind opțiunea -C (de exemplu adăugând liniei -C red textul va fi de culoare roșie), sau schimba fontul în font îngroșat, bold cu opțiunea -B.
Screensaver acvariu ascii:
Screensaver cmatrix:
Screensaver cacafire:
Sursa: http://kmandla.wordpress.com/2009/05/24/howto-patch-and-set-up-screen-vs/ .
O alternativă interesantă la screen este dvtm (dynamic virtual terminal manager), un alt administrator de ferestre în terminal/ tty. Ca și screen, dvtm rulează în fbterm, deci vom avea diacriticele afișate corect, vom avea o imagine de fundal, putem folosi mouse-ul, putem crea ferestre în același terminal, etc.
Instalare:
#urpmi dvtm
Pornire: dvtm.
Combinația care pune dvtm în modul ascultare comenzi este Ctrl+g. După această combinație, orice comandă nu se aplică shell-ului curent, terminalului, ci dvtm, similar combinației de taste Ctrl+a din screen. Combinații utile:
- Ctrl+g c = creare fereastră nouă;
- Ctrl+g x = închidere fereastră;
- Ctrl+g l(L mic)= mărește cu 5% suprafața ferestrei curente;
- Ctrl+g h = micșorează cu 5% suprafața ferestrei curente;
- Ctrl+g m = maximizează fereastra curentă (full screen);
- Ctrl+g t = schimbă aranjamentul ferestrelor tip vertical (aspect implicit);
- Ctrl+g b = schimbă aranjamentul ferestrelor tip horizontal;
- Ctrl+g g = schimbă aranjamentul ferestrelor tip grilă;
- Ctrl+g N = schimbă fereastra curentă cu fereastra numărul N (1, 2, 3, 4, etc.), după cum veți observa fiecare fereastră are în partea de sus un număr ce o individualizează;
- Ctrl+g q = închidere dvtm.
După cum vă spuneam putem folosi și mouse-ul pentru lucrul în dvtm: - clic stânga = selectăm fereastra;
- ținând apăsată tasta Shift și butonul 1 (stânga) marcăm textul pentru copiere;
- clic dreapta = lipim textul.
În imaginea precedentă în tty rulează fbterm+fbv+dvtm, deci avem wallpaper, diacritice redate corect, iar în dvtm avem pornite următoarele aplicații: în partea stângă mc, in partea dreaptă de sus în jos centerim, htop, și shellul unde este luat acest screenshot.
Putem vedea în terminal imagini jpeg, png, gif, bmp, etc., folosindu-ne de aplicația fbi (#urpmi fbida pentru instalare- pachetul fbida conține atât fbi cât și fbgs). Comanda necesară este: fbi opțiuni fișier Presupunând că vrem să vedem o imagine numită 1.png intr-un terminal tty, ne logăm și dăm comanda
fbi 1.png
Amănunte privind opțiunile vă dau comenzile fbi –help și/sau man fbi. Deoarece fbi nu rulează în fbterm, vom folosi fbv, aceeași aplicație care pune și wallpaper în fbterm. Pentru a vedea o imagine, dăm comanda fbv cale_către_imagine. Atât fbi cât și fbv pot expune o serie întreagă de imagini, una după alta. Presupunând că avem fotografii în directorul ~/Pictures, putem vedea aceste fotografii dând comanda:
fbv ~/Pictures/*.jpg
. Va apărea prima fotografie din director, iar prin apăsarea tastei Space putem schimba la următoarea imagine. Pentru închiderea fbv folosim tasta q.
Alternativă: fim, zgv.
Cu aplicația fbgs putem citi documente în format PDF în terminal. Comanda necesară:
fbgs fișier.pdf
deci pentru a citi ¨ghidmandriva2010.pdf¨ dăm comanda
fbgs -c -a ghidmandriva2010.pdf
unde opțiunea -c se referă la afișarea documentului în culori, iar -a inseamnă autozoom/autodimensionare.
Toate opțiunile fbi sunt valabile și pentru fbgs. Cu +/- mărim/ micșorăm dimensiunea paginii, cu săgețile sus/jos derulăm pagina curentă, Page Up/ Page Down derulează paginile documentului pdf, apăsând tasta q închidem.
Alternative: pdftotext (pdftotext ghid* ghid.txt ⇒ transformă pdf în fișier text pe care îl putem citi cu mc, vim), pdftohtml (transformă pdf în html, pe care îl putem citi cu lynx sau elinks).
Dacă sunteți mulțumiți de ceea ce ați făcut până acum este posibil să doriți să ¨imortalizați¨ momentele respective. O puteți face folosind fbgrab (#urmpi fbgrab pentru instalare), aplicație cu care putem lua capturi de ecran în terminal. Comanda:
fbgrab screen.jpg
unde înlocuiți numele screen cu cel dorit.
Alternative: fbshot, fbdump.
Pentru folosirea fără probleme a utilitarelor fbi, fbgs, fbgrab și fbterm (vedeți punctul 9) este necesară adăugarea userului nostru în grupul video (#gpasswd -a user video), precum și setarea permisiunilor pentru framebuffer/ memoria de ecran (#chmod a+rw /dev/fb0).
O modalitate simplă prin care se pot trimite e-mailuri din consolă este folosirea clientului de poștă electronică mail. Comanda va fi mail dând ca parametru adresa de e-mail la care dorim să trimitem mesajul respectiv:
mail id@provider.com evident înlocuim id@provider.com cu adresa dorită). Ni se va cere să punem subiectul mesajului și mesajul. Când terminăm de scris mesajul apăsăm Enter, în linia de sub mesaj punem un punct ¨.¨ și apăsăm Enter, semn că am terminat și e-mailul poate fi expediat.
[dan@stressat ~]$ mail id@provider.com Subject: Probă mail Așa trimitem mail din consolă. . EOT [dan@stressat ~]$
Este posibil ca portul 25 să fie blocat de ISP, caz în care nu veti putea folosi mail din linia de comandă. Deci trebuie să luați legătura cu furnizorul de net pentru deblocarea portului.
Pentru clientii RDS deblocarea portului 25 e simplă! Trebuie accesat http://www.rdslink.ro/admin/admin.php, pentru logare se folosesc datele contului Pppoe (user, parolă), şi trebuie completată o cerere Deblocare Smtp, apoi aşteptați 24 de ore.
Pentru cei ce au alt furnizor care blochează portul 25 cred că o posibilă soluție ar fi schimbarea portului 25 cu alt port neinteresant pentru providerul de net.
De asemeni putem trimite prin e-mail outputul unei comenzi, fișiere text, audio, video și orice altceva:
cat file | mail id@provider.com
Alternative: sendmail, mutt, alpine.
Un client complet şi simplu de folosit pentru e-mail în linia de comandă este alpine. Alpine poate folosi şi alt port, nu neapărat 25, astfel încât nu suntem la ”mila” furnizorului de net pentru deblocarea portului 25. Se instalează cu #urpmi alpine, eventual din MCC- Install & Remove Software şi se porneşte în tty/ konsole cu comanda alpine. La prima utilizare a aplicaţiei vom fi întâmpinaţi de un mesaj de întâmpinare (ieşim din fereastra respectivă cu E, intrând astfel în fereastra cu meniul principal, foarte intuitiv), şi apoi este necesar să facem câteva setări. După cum veţi observa, chiar şi-n fereastra cu meniul principal, alpine are în partea de jos a ferestrei un oarecare fel de bară- meniu conţinând comenzile/ combinaţiile de taste folosite de alpine. Singura parte puţin mai dificilă poate fi considerată cea referitoare la configurarea alpine, dar urmând instrucţiunile următoare în câteva minute puteţi folosi alpine.
Deci, pornim alpine în CLI, va fi afişat mesajul de mulţumire/ întâmpinare, ieşim din mesaj cu E (Shift+e), astfel intrăm în fereastra meniului principal, unde găsim opţiunile posibile. Cu S intrăm în meniul de setări, unde vom vedea opţiunile privitoare la configurarea alpine. Apăsăm C şi completăm datele necesare. În continuare găsiţi un exemplu de urmat, tot ce trebuie modificat este punerea numelui corect, a contului de e-mail corect. Alternativ, aceste date pot fi completate direct în fişierul de configurare alpine: ~/.pine.rc.
personal-name=numele_real user-domain=gmail.com smtp-server=smtp.gmail.com:587/tls/user=nume_utilizator@gmail.com inbox-path={imap.gmail.com:993/ssl/novalidate-cert/user=nume_utilizator@gmail.com}INBOX incoming-archive-folders={imap.gmail.com:993/novalidate-cert/ssl/user=nume_utilizator@gmail.com}INBOX default-fcc={imap.gmail.com:993/novalidate-cert/ssl/user=nume_utilizator@gmail.com}INBOX default-saved-msg-folder={imap.gmail.com/ssl/novalidate-cert/user=nume_utilizator@gmail.com}[Gmail]/All folder-collections={imap.gmail.com:993/ssl/user=nume_utilizator@gmail.com}[] image-viewer=fbv
Odată terminată această fază a setărilor putem folosi alpine pentru trimis administrarea contului de e-mail, deci putem trimite, primi, şterge mailuri direct din linia de comandă. Atenţie: la pornirea alpine vi se va cere parola contului de mail, în acest mod este asigurată intimitatea personală şi siguranţa contului. Din meniul principal, putem alege ceea ce dorim să facem: C= creare/ trimitere mesaj, I= index, putem citi mesajele primite, A= adrese, putem crea o listă cu adresele de e-mail folosite frecvent, etc.
Creare/ trimitere mesaje
Meniu- tastăm C- completăm câmpurile necesare:
To: = aici scriem adresa de e-mail la care trimitem mesajul (dacă am adăugat în lista de adrese adresa respectivă putem trece doar numele adresantului, părăsind câmpul funcţia atocomplete va completa adresa…)
Attchmnt: = aici putem ataşa mesajului ataşamente text, imagini, etc. Combinaţia Ctrl+J va deschide în partea de jos a ferestrei un sub-meniu cu ajutorul căruia putem ataşa fişiere mesajului. Avenm la dispoziţie două variante: în câmpul File to atach putem trece calea către ataşament, sau cu Ctrl+T intrăm într-un browser unde putem naviga prin directoarele/ fişierele din /home/user, alegând fişierele de ataşat mesajului. Tastând S (Shift+s) fişierul va fi ataşat, noi urmând să-i atribuim un nume. Evident, se pot ataşa mai multe fişiere.
Subject: = trebuie trecut un nume de subiect
—– Message Text = aici putem compune mesajul dorit.
După scrierea mesajului, combinaţia de taste Ctrl+X expediază acest mesaj, vom fi întrebaţi dacă trimitem, dăm Y, eventual N dacă ceva nu e-n regulă, am greşit ceva, ne-am răzgândit.
Citire/ primire mesaje
La primirea unui nou mesaj veţi primi în partea de jos a ferestrei un mesaj de anunţ de genul: [New mail! From nume_expeditor subject: subiect_mail]. Apăsând Enter veţi intra în directorul cu mesaje, INBOX fiind deja selectat, un alt Enter ne duce în INBOX, cu săgeţile sus- jos navigăm intre mesajele conţinute, selectăm ultimul mesaj, dăm iar Enter şi citim mesajul primit. Cu < mergem iar în INBOX şi apoi Folder List, Meniu. Alpine chiar este foarte uşor de folosit, chiar şi de către începători, este suficient să citim banda cu combinaţii de taste din partea de jos aferestrei pentru a şti cum anume putem face ceva, asemănător cu mc, htop şi alte aplicaţii care afişează aşa ceva direct în fereastră, nici măcar nu e nevoie să le memorăm!
Listă adrese
Din meniu apăsăm A (Shift+a), astfel intrăm în meniul de configurare listă adrese folosite frecvent. Ca şi până acum veţi descoperi că totul este simplu şi intuitiv. Apăsând @ vom primi o fereastră unde putem trece datele necesare: nume real, nickname, adresă, iar cu Ctrl+x salvăm şi ieşim, după ce confirmăm cu Y.
Meniu principal alpine:
Setări cont:
Compunere/ expediere mesaj:
Music on console (MOC) este un player în linie de comandă ușor de folosit și intuitiv. Se găsește în mediile Mandriva, deci îl putem instala cu
#urpmi moc
și apoi îl putem porni în konsole sau în una din cele 6 terminale virtuale/ tty deschise cu Ctrl+Alt+F1 până la F6 cu comanda
mocp
Navigăm printre directoare cu săgețile sus-jos și intrăm în directorul cu melodii cu tasta Enter. Tot cu săgețile sus-jos navigăm în director printre melodii, Enter pornește redarea melodiei alese. Taste și combinații utile:
mocp =pornire moc; p sau Space =pauză/repornire; q =trimite playerul în background(fundal) lăsând consola liberă pentru comenzi; o =redă URL (de exemplu un post de radio online); Q =închide moc; s =stop/oprește redarea; l (L mic) =schimbă aspectul pe una sau două coloane (layout); Shift+t =schimbare temă; < =micșorare volum; > =creștere volum; l =schimbă între fereastră cu unu sau două panouri; mocp -p =pornește redarea unui playlist.
Moc consumă puține resurse, redă formatele populare fără probleme, odată selectat un fișier audio continuă redarea cu celelalte fișiere din director fără pauze enervante între melodii și memorează locația de unde ați ascultat muzică, deci la repornire intră automat în acel director. Pentru a avea default o altă temă decât cea implicită trebuie copiat fișierul /usr/share/doc/moc/config.example în /home/user/.moc schimbându-i numele în config :
cp /usr/share/doc/moc/config.example ~/.moc/config
Decomentăm linia următoare(ștergem #):
# XTermTheme = transparent-background
și înlocuim tema transparent-background sau example sau ce temă e trecută cu tema dorită. Pentru a avea aspectul din imagini și nu cel pe două coloane implicit decomentăm linia
# Layout1 = "playlist:50%,50%,50%,50%"
După cum veți putea observa în acel fișier puteți face și alte setări, după preferințe.
Altă modalitate de a rula moc cu o temă anume, utilă mai ales în tty, unde moc pornește tot cu tema implicită este să folosim la comandă opțiunea -T, setând tema. De exemplu pentru ca moc să pornească cu tema moca_theme, temă pe care o avem în directorul /usr/share/moc/themes, copiem această temă în directorul local de setări moc ca si utilizator :
cp /usr/share/moc/themes/moca_theme ~/.moc
iar comanda va fi:
mocp -T ~/.moc/moca_theme
eventual setăm un alias în .bashrc:
alias moc='mocp -T ~/.moc/moca_theme'
În același fel putem proceda și cu celelalte teme disponibile.
Pentru ascultarea unui post de radio online, porniți moc cu comanda moc stream_radio, de exemplu pentru a asculta postul de radio europafm
mocp http://89.238.252.130:7000
sau
mocp http://stream.profm.ro:8012/profm.mp3
pentru profm. Moc va reține adresa ultimului post de radio, exact ca și cu playlistul. Dacă doriți să schimbați între lista cu melodii de pe calculator și postul radio sau invers, apăsați Space sau p (deci puneți pauză), schimbați între canal radio și playlist (sau invers) cu tasta Tab și apăsați Enter, eventual în playlist navigați mai întâi la melodia preferată. După cum observați în imaginea următoare, dacă ați setat aspectul moc după metoda prezentată, aveți un singur panou în fereastră, iar canalul radio va apărea într-un panou mai mic în partea dreapta-jos. Chiar dacă porniți moc cu comanda mocp, deci cu playlistul implicit, punând pauză și apăsând Tab va apărea panoul cu postul radio, apăsând Enter porniți redarea.
Alternative: mp3blaster, mpg123.
Sursă și informații suplimentare: http://polishlinux.org/apps/cli/moc-audio-player-advanced-tricks/.
La fel de simplu este să ascultăm un post de radio preferat în consolă folosind playere ca mplayer, cvlc (varianta în linie de comandă a vlc) sau moc. Mai întâi trebuie să căutăm pe net streamuri ale posturilor ce emit online. Descărcăm un stream, în funcție de setările browser-ului folosit îl găsim în directorul Downloads, Desktop sau /home/user sub numele de listen.pls, live.m3u sau altceva asemănător. Pentru a evita comenzile lungi (gen: cvlc /home/user/Downloads/live.m3u ), e preferabil să mutăm fișierul respectiv în directorul /home/user. Dăm într-o consolă una din comenzile următoare în funcție de playerul preferat și de numele fișierului: cvlc live.m3u, cvlc listen.pls, mplayer -playlist live.m3u sau mplayer -playlist listen.pls. În eventualitatea că vi se pare complicată sintaxa comenzii, greu de memorat sau sunteți comozi există soluții. Una din variante este setarea unui alias (o altă denumire a unei comenzi, o prescurtare), cealaltă este crearea unui script bash (un fișier text, care făcut executabil și rulat în consolă, execută comanda dorită). Varianta aliasurilor este preferabilă, cea a scripturilor bash este dată mai mult cu titlu informativ, ca o alternativă posibilă.
Aliasurile se pun de obicei în fișierul dedicat .bash_aliases sau în .bashrc pentru comoditate. Asă că vom adăuga linia ce urmează în .bashrc:
alias mpp=”mplayer -playlist listen.pls”
și la rularea comenzii mpp în consolă shell-ul bash înțelege că de fapt comanda este mplayer -playlist listen.pls și se comportă ca atare:realizează conexiunea cu postul de radio… Pentru alt post setăm:
alias mpl=”mplayer -playlist live.m3u”
Numele pot diferi, important este să puteți memora aliasurile. În același mod facem și alte aliasuri! Scripturile bash sunt fișiere text care, simplist exprimat, conțin o comandă pe care dorim s-o executăm. Deci creăm un nou fișier text cu conținutul:
#!/bin/bash mplayer -playlist listen.pls
Salvăm fișierul în directorul /home sub numele radio.sh, sau listen.sh, sau sub alt nume, îl facem executabil cu comanda:
#chmod +x radio.sh
și putem rula scriptul (și implicit comanda ce ne interesează pe noi) cu una din comenzile următoare date în consolă:
sh radio.sh
sau
./radio.sh
Eventual mai putem scurta comanda puțin cu ajutorul simbolului *, care poate înlocui orice simbol sau grup de simboluri (litere, cifre, simboluri non-alfanumerice). Comanda poate fi:
sh ra*
sau
./ra*
Streamuri radio online: http://www.romaniaradio.ro/Radio-Romania.html.
Putem deschide fișiere video în formate diverse (.avi, .mpeg, .wma, mp4, etc.) în linia de comandă, fie că suntem în interfața grafică/în konsole, fie că suntem într-una din cele șase terminale în mod text deschise prin combinația Ctrl+Alt+F1, Ctrl+Alt+F2, până la Ctrl+Alt+F6 (pentru revenirea în interfața grafică folosim Alt+F8 sau Alt+F7), fie că ne-am logat direct în terminal, nu în GUI. Playerele folosite sunt mplayer și/sau cvlc. Pentru vizionarea unui fișier video comanda este: mplayer -playlist /calea_către_fișier, sau cvlc /calea_ către_fișier. Dacă fișierul se află în /home/user/Music/Videoclipuri comanda va fi :
mplayer -playlist /home/user/Music/Videoclipuri/fișierul_dorit
sau
cvlc home/user/Music/Videoclipuri/fișierul_dorit
Pentru filme este bine, dificultățile apar dacă vrem să vizionăm mai multe fișiere video consecutiv, videoclipuri sau episoadele unui serial. Pentru a face așa ceva trebui să facem un playlist. Într-o consolă ne mutăm în directorul cu videoclipuri (cd /home/user/Music/Videoclipuri) și dăm comenzile următoare:
find -name *.avi > playlist.m3u | sau | locate *.avi > playlist.m3u |
find -name *.mpg » playlist.m3u | sau | locate *.mpg » playlist.m3u |
find -name *.wma » playlist.m3u | sau | locate *.wma » playlist.m3u |
find -name *.asf » playlist.m3u | sau | locate *.asf » playlist.m3u |
Astfel căutăm toate fișierele .avi, mpg, etc., și formăm o listă de redare numită playlist.m3u. Mutăm lista de redare în /home/user (cp /home/user/Music/Videoclipuri/playlist.m3u /home/user). Acum putem urmări videoclipurile consecutiv cu comanda: mplayer -playlist playlist.m3u (sau cvlc playlist.m3u). Putem seta direct din comandă dimensiunea ferestrei video, fie că vizionăm un fișier sau o listă de fișiere video:
mplayer -zoom -x 640 -y 480 video.avi
sau
mplayer -zoom -x 640 -y 480 -playlist playlist.m3u
(cifrele reprezintă dimensiunile ferestrei și pot fi modificate după plac). Și în acest caz putem crea aliasuri sau scripturi bash… Și încă ceva: chiar în tty mplayer ascultă de comenzile clasice din tastatură: p= pauză, cu săgețile derulăm înainte-înapoi, etc.
Pentru vizionat fișiere video de pe youtube folosim cvlc: - Instalare vlc:
#urpmi vlc vlc-plugins
-Vizionare: cvlc stream_video ( de exemplu cvlc http://www.youtube.com/watch?v=uelHwf8o7_U va face să ruleze în terminal Eminem-Love The Way You Lie).
Doriți ca uneori să urmăriți un post TV? Mplayer ne ajută și cu acest aspect. Dați în consolă/ tty comanda:
mplayer adresă_tv
,și gata.
Câteva exemple:
mplayer -zoom -x 700 -y 400 mms://86.55.8.134/ant2
pentru vizionat postul Antena2
mplayer -zoom -x 700 -y 400 http://82.208.151.248:8989/
pentru canalul Iași TV
mplayer -zoom -x 700 -y 400 mms://ns.alfanet.ro/AlfaOmegaMovies/
pentru canalul Alfa Omega Movies.
Pentru ecran complet eliminați din comandă opțiunea de dimensionare: -zoom -x 700 -y 400.
Merită menționată o aplicație foarte utilă atunci când folosim tty: script. Script face o copie a unei sesiuni în tty/ konsole/ terminal, salvată implicit în fișierul “typescript” din directorul /home/user. Prin tastarea comenzii script, aplicația va înregistra tot ce se întâmplă în acea sesiune/ acel tty. Dacă doriți ca sesiunea să fie salvată în alt fișier comanda va fi
script fișier_dorit.txt
. Pentru alte opțiuni și amănunte vedeți man script. Să presupunem că nu puteți viziona fișiere video (filme sau videoclipuri) în tty, în loc de imagine aveți doar niște pete, doar partea audio este în redată normal. Mesajele de eroare apar și dispar prea repede pentru a le putea citi. Ce faceți, cum știți ce trebuie făcut? Soluția: dați întâi comanda script, și astfel, tot ce faceți în consolă/ tty va fi înregistrat, astfel încât să puteți citi mesajele de eroare și să găsiți rezolvarea problemei.
Se poate naviga pe net foarte simplu și comod din linia de comanda, consolă sau tty. Învățarea utilizării unui browser text gen lynx, elinks sau altul de acest fel poate fi utilă în cazul în care avem probleme cu interfața grafică și căutăm ajutor sau în cazul instalării unei distribuții cu installer in mod text (Arch, Slackware, etc.), caz în care în alt tty putem naviga cu lynx și căuta documentație necesară dacă ne-am înpotmolit. După instalarea lynx aplicația se pornește cu comanda lynx, sau intrăm direct pe google cu lynx google.com, sau chiar direct pe situl/ forumul dorit: lynx mandrivausers.ro de exemplu. Pentru a evita unele întrebări iritante e bine să dăm opțiunea -accept_all_cookies după comandă. Deci comanda va fi lynx -accept_all_cookies mandrivausers.ro. Pentru a nu ne complica inutil de fiecare dată cu tastarea e bine să punem în fișierul nostru .bashrc un alias: alias lynx='lynx -accept_all_cookies', astfel încât comanda lynx va fi percepută ca fiind lynx -accept_all_cookies . Utilizarea lynx este simplă:
- lynx= pornim lynx - lynx mandrivausers.ro = pornire lynx direct în adresa dată - cu săgețile sus-jos navigăm între linkuri, în pagină - cu tasta Enter (sau săgeată dreapta)intrăm în link - săgeată stânga (sau b sau Page Up)= mergem inapoi o pagină, la cea precedentă - Space (sau + sau Page Down)= mergem la următoarea pagină din link - o= intrăm în meniul de opțiuni - r= ieșim din meniul de opțiuni - g= apare bara de adrese unde putem tasta o nouă adresă - Backspace= vezi istoricul (History), cu săgețile sus-jos navigăm, cu Enter intrăm - a= facem semn de carte (bookmarks) - v= accesăm semnele de carte existente - m= mergem la pagina de pornire - /= căutare în pagina curentă - Q sau Ctrl+C sau Ctrl+D= ieșire din lynx fără confirmare - q= ieșire din lynx după confirmare.
Alternative: elinks, w3m, links2
Pagina de pornire în Google:
Forumul mandrivausers.ro:
Sursă și informații suplimentare: http://homes.chass.utoronto.ca/~purslow/lhfb.html .
Ok, am rezolvat cu administrarea conturilor de e-mail, e bine, dar nu suficient… Fiecare din noi urmărim unul sau mai multe forumuri Linux, indiferent că suntem începători sau avansați, că avem nevoie de asistență sau dorim să împărțim cunoștințele. Dorim să urmărim ultimele mesaje, putem folosi unul din browserele din interfață grafică (Mozilla Firefox, Chrome, Opera, etc), putem folosi un browser CLI (elinks, lynx, w3m, etc), sau, pur și simplu putem să ne folosim ”mușchii” cu un RSS reader CLI, gen Snownews, Newsbeuter, etc.
Hai să vedem cum putem folosi una din aceste aplicații CLI: Snownews. Instalăm snownews (urpmi snownews), pornim aplicația din consolă/ tty (snownews) și adăugăm adresele de unde dorim să descărcăm fluxurile RSS. De exemplu pentru forumul mandrivausers.ro avem la dispoziție două fluxuri RSS: http://www.mandrivausers.ro/crss și http://www.mandrivausers.ro/tracker/rss . Diferența dintre ele? Veți descoperi singuri asta!
Deci rulăm comanda ”snownews”, va porni aplicația și urmează să adăugăm adresele dorite. După cum veți observa, fereastra snownews (similar cu alte aplicații CLI) oferă informații privind utilizarea, puteți vedea în bara de jos mesajul ”Press 'h' for help window.”, deci este suficient să apăsăm ”h” pentru a primi un meniu cu opțiunile utile.
Pentru adăugarea unei adrese apăsăm ”a” și apoi punem adresa, pentru ștergere apăsăm D și apoi y, mereu aplicația ne va da indicații care trebuie doar urmate. Să presupunem că vrem să adăugăm cele doua fluxuri RSS mandrivausers (veți avea ocazia astfel să alegeți unul), evident după pornirea snownews apăsăm a și introducem adresa corectă, deci www.mandrivausers.ro/crss , apăsăm Enter și avem adresa necesară. Repetăm procedura și cu www.mandrivausers.ro/tracker/rss , și dacă dorim și alte forumuri în listă procedăm în consecință, iar fereastra snownews va arăta cam așa:
Cu clic pe Enter putem vedea mesajele necitite de pe forumul respectiv…
Cu încă o apăsare pe Enter citim mesajul respectiv:
Se poate observa diferența de culoare din screenshot, mesajele necitite au culoarea purple/ magenta, cele citite culoarea alb. Putem modifica aceste culori în fișierul de configurare: ~/.snownews.colors, fișier unde putem seta culorile după dorință.
BashBurn este o aplicație pentru inscripționat cd-uri/ dvd-uri în linia de comandă, dar care dispune de un gen de interfață intuitivă, niște liste drop-down din care noi alegem opțiunile/ sarcina dorită. Instalăm aplicația cu comanda:
#urpmi bashburn
acceptăm eventualele dependențe propuse de sistem, apoi pornim aplicația în konsole/ tty dând comanda : bashburn. La prima rulare trebuie făcute câteva mici setări, apoi putem alege una din variantele disponibile: inscripționare cd audio, dvd, creare imagine ISO după cd/dvd sau din fișier, montare imagine ISO, etc. Este bine de reținut că bashburn folosește un director pentru imaginea, fișierele pe care dorim să le copiem pe disc, /tmp/burn implicit, dar dacă dorim putem alege altă locație. Să presupunem că dorim să inscriptionăm pe dvd imaginea ISO a distribuției Mandriva, imaginea respectivă trebuie copiată în directorul folosit de bashburn sau eventual trebuie făcut un link simbolic (o legătură între fișierul real și directorul pomenit).
Putem face link sau copia imaginea ISO în interfața grafică sau în CLI : 1- copiere: cp cale_spre_imagine ceva de genul
cp ~/Downloads/imagine.iso ~/tmp/burn
în cazul că imaginea se află în directorul /home/user/Downloads;
2- creere link: ln -s cale_spre_imagine, respectiv:
ln -s ~/Downloads/imagine.iso ~/tmp/burn
Dar ni se oferă opțiunea de a copia imaginea în directorul de unde își ia bashburn datele și de către aplicație.
Setări/ Configure BashBurn. În terminal dăm comanda bashburn și va apărea următoarea listă drop-down, din care putem selecta acțiunea dorită. La prima utilizare trebuie să configurăm aplicația, să setăm directorul sursă, viteza de scriere, etc., așa că apăsăm tasta 5 apoi tasta Enter.
Imagine 1- Meniul principal:
În a doua fereastră apărută luăm la rând fiecare opțiune, și apăsând 0,1, 2, etc., în funcție de numărul din fața opțiunii, urmat de apăsarea tastei Enter putem modifica setările. După cum se vede bashburn este configurat pe sistemul meu, ceva asemănător trebuie să setați și voi. În a treia imagine puteți observa că am tastat /dev/cdrom conform cu ceea ce îmi apare afișat de către sistem. În mod similar trebuie procedat cu fiecare opțiune în parte, veți observa că sunteți informați cu ceea ce trebuie scris. În cazul în care nu știți ce anume să faceți, apăsați Enter, lăsând astfel setările implicite ale bashburn. După terminarea modificării setărilor apăsăm 22+ Enter și ne reîntoarcem în meniul principal, de unde putem alege ce anume dorim să facem.
Imagine 2- Configure BashBurn:
Imagine 3- Setări cd-writter:
O alternativă foarte asemănătoare, derivată din bashburn, poate puțin mai ușor de folosit (pentru faptul că putem naviga în meniuri între opțiuni cu săgețile jus-jos, în loc să tastăm numărul opțiunii dorite) este mybashburn, aplicație aflată de asemenea în mediile Mandriva, MRB mai precis.
Pentru captură video, conversie audio/ video, extragere imagini dintr-un fișier video, înlăturare stream audio sau video dintr-un video, precum și alte operații cu fișiere audio/ video vom folosi ffmpeg. Captură video:
ffmpeg -f x11grab -s 1280x960 -r 30 -b 6500 -bt 712k -sameq -i :0.0 ~/captură.avi
unde:
-f x11grab= sursa, desktopul -s 1280x960= rezoluția -r 30= frame rate (implicit are valoarea 25) -b 6500= bitrate în kb -bt 712k= toleranță la bitrate -sameq= aceiași calitate, fără compresie -i :0.0= sursa; se poate seta o deplasare a dreptunghiului virtual înregistrat față de colțul stânga sus (-i :0.0+50,60 va deplasa imaginea cu 50 de pixeli pe orizontală și 60 pixeli pe verticală) ~/captură.avi= destinația și numele fișierului video rezultat (.avi, .mpeg, .ogv, .mp4, .3gp, .flv sau ce alt format dorim).
Pentru captură audio/ video, putem alege dacă sonorul va proveni de la microfon sau va fi sonorul intern (de exemplu melodii redate de un player), deci va trebui să alegem sursa audio. O modalitate foarte comodă este prin instalarea pavucontrol/ PulseAudio Volum Control (#urpmi pavucontrol), aplicație pe care o găsim apoi în meniu- Sound & Video- PulseAudio Volum Control, sau alternativ o pornim cu Alt+ F2 ⇒ scriem pavucontrol ⇒ Enter. Să exemplificăm puțin: stabilim o comandă care va înregistra ecranul și sonorul intern:
ffmpeg -f alsa -ac 2 -i pulse -f x11grab -r 30 -s 1280x960 -i :0.0 -acodec pcm_s16le -vcodec libx264 -vpre lossless_ultrafast -threads 0 captură.avi
, dar constatăm că nu s-a inregistrat sonor. Deschidem pavucontrol în timpul rulării acestei comenzi în consolă, mergem în tabul Recording și alegem audio intern (în cazul meu Monitor of CM8738 Analog Surround 5.1). Imediat se va înregistra și partea audio. Ar fi bine ca după înregistrare să resetăm pavucontrol dacă dorim ca data viitoare să înregistrăm partea audio de la microfon… Aceeași comanda poate fi folosită și pentru sonor înregistrat de la microfon, cu deosebirea că vom selecta din pavucontrol microfonul, nu audio intern.
Conversie audio/ video:
ffmpeg -i video.avi -sameq video.mpeg ffmpeg -i video.mpg -sameq video.3gp ffmpeg -i melodie.wav -sameq melodie.mp3
Extragere stream audio din fișier video:
ffmpeg -i video.avi -sameq melodie.mp3
Extragere imagini din video:
ffmpeg -i sursă.avi -r 1 -f image2 image-%3d.jpeg
unde:
-r= frame rate -f= formatul dorit -s= size/ dimensiunea imaginii, implicit e cea din video, dar o putem modifica -image-%3d.jpeg= setăm ffmprg să denumească imaginile numeric, în ordine crescătoare, cu 3 cifre, de forma: image001.jpeg, image002.jpeg (sau putem alege mai multe sau mai puține cifre: image-%2d.jpeg, image-%4d.jpeg)
Conversie fișier video (orice format) în .3gp pentru telefoane:
ffmpeg -i input.avi -s qcif -vcodec h263 -r 20 -b 180k -acodec libfaac -ab 64k -ac 2 -ar 22050 output.3gp
O unealtă foarte utilă pentru conversia fișierelor video o reprezintă h264enc. Folosind h264enc putem transforma un Dvd sau un fișier video în format high-quality H.264, atât pentru vizionarea acestora la un Pc, cât și pentru alte platforme: Stand-alone HW Players, Android, Sony PSP, Microsoft XBOX, Apple (iPod, iPhone, Tv), Blu-ray. Instalare:
#urpmi h264enc
Sintaxa comenzii este simplă:
h264enc -passmode -p preset
Pentru detalii și informații amănunțite vedeți man h264enc și/ sau h264enc -help, dar un exemplu de comandă este următorul:
h264enc -1p -p hq
iar apoi selectăm fișierul video dorit: fișier, director, vcd sau dvd, în funcție de tipul și locația acestuia, se alege un nume pentru fișierul rezultat (în mod contrar numele acestuia va fi H264-9581), și răspundem la întrebările puse de aplicație în legătură cu detaliile conversiei. În eventualitatea că nu știți sau nu sunteți siguri de opțiunile corecte, apăsați Enter, astfel fiind folosite opțiunile, parametrii standard, impliciți.
Dacă lectura v-a obosit, cu siguranță nu ar strica să vă relaxați puțin! Jucând poate un joc? De ce nu, după cum cred că deja ați auzit, orice e posibil în terminal…
1- Bsd-games: Pentru început trebuie instalate câteva jocuri, deci
#urpmi bsd-games
va aduce în tty-ul nostru câteva jocuri recreative (pornesc în terminal tastând numele jocului dorit, de exemplu backgammon, un joc de table). Iată lista completă a jocurilor cuprinse în pachetul bsd-games: adventure, arithmetic, atc, backgammon, battlestar,bcd, caesar, canfield, cfscores,cribbage,gofish,gomoku,hunt, mille, mpoly, morse, number, phantasia, pig, pom, ppt, primes,quiz, rain, random,robots, rot13, sail, snake, snscore, teachgammon,bsd-fbg, trek, worm, worms și wump.
Sper că mică noastră prezentare v-a plăcut, chiar impresionat. Poate doriți să împărtășiți prietenilor descoperirile? Printr-un client de messenger, eventual într-un canal IRC? Ei bine, nu este nevoie să părăsiți linia de comandă pentru interfața grafică… Bineînțeles că există asemenea aplicații și pentru terminal. Centerim este un client de IM în mod text, suportă următoarele protocoale: CQ, AIM, Gadu-Gadu, Jabber, MSN , Yahoo si IRC.
Se instalează cu comanda:
#urpmi centerim
apoi se pornește cu comanda centerim dată în konsole sau tty. La prima utilizare va fi nevoie să faceți câteva setări în meniul apărut. Este nevoie să setați conturile pentru protocoalele folosite, de exemplu pentru Yahoo Messenger trebuie puse ID-ul și parola. Dacă aveți cont pe Yahoo Messenger lista cu prieteni va apărea în panoul din stânga ferestrei, pentru a discuta cu un prieten dați clic pe numele din listă și în panoul din dreapta ferestrei veți trimite/ primi mesaje. La fel de bine merge transferul de fișiere. Pentru IRC trebuie ales un nick/ nume (parola este opțională) și un server (precum irc.frenode.net să zicem). Pentru a vă conecta la un canal IRC, după ce ați configurat serverul cu combinația de taste Ctrl+b (combinație care schimbă între contactele și canalele cu care ați întrat în legatură) schimbați la Nickserv și tastați /join #nume_canal, de pildă /join #mandrivaro pentru a intra pe canalul IRC al comunității mandrivausers.ro. Pentru părăsirea unui canal sau închiderea unei convorbiri apăsați Esc- Esc (deci apăsați de două ori tasta Escape), pentru navigarea între canale, conexiuni folosiți combinația de taste Ctrl+b. Pentru a închide Centerim apăsați tasta q după închiderea conexiunilor sau după ce navigați cu Ctrl+b până când panoul din dreapta ferestrei este gol. În bara de jos a ferestrei aveți date comenzile specifice ferestrei în care vă aflați. Pentru a trimite mesajul scris apăsați Ctrl+x sau Enter (pentru Enter trebuie setat în meniuri).
Centerim- cont Yahoo:
Centerim- cont IRC- #mandrivaro:
Rtorrent- downloadare torrente în linia de comandă.
Pentru a putea descărca de pe net torrente în consolă/ tty putem folosi unele aplicații precum rtorrent.
Începem prin instalarea rtorrent (#urpmi rtorrent) și configurarea fișierelor/ directoarelor necesare funcționării rtorrent, așa că deschidem o consolă și logați ca user în directorul /home/user (cel implicit la deschiderea consolei) dăm comenzile următoare:
1- creăm o locație pentru fișierele torrent descărcate (cele de forma nume.torrent): mkdir rDownloads
2- creăm locația unde rtorrent va salva sesiunile: mkdir session
3- creăm locația unde vom descărca fișierele nume.torrent de pe net, astfel încât rtorrent să le descarce automat: mkdir watch. Deci pentru ușurință în folosirea rtorrent, când descărcăm de pe net un torrent, îl salvăm în directorul watch din /home/user. REȚINEȚI: înlocuiți peste tot în fișierul .rtorrent.rc /home/stressat/… cu /home/nume_corect_utilizator_propriu/…, adică /home/dan/watch sau /home/mihai/session, /home/alex/rDownloads…, etc.).
4- creăm fișierul de configurare al rtorrent: touch .rtorrent.rc, îl edităm cu kwrite .rtorrent.rc și copiem în acesta liniile următoare:
# This is an example resource file for rTorrent. Copy to\\ # ~/.rtorrent.rc and enable/modify the options as needed. Remember to\\ # uncomment the options you wish to enable.\\ \\ # Maximum and minimum number of peers to connect to per torrent.\\ #min_peers = 40\\ #max_peers = 100\\ \\ # Same as above but for seeding completed torrents (-1 = same as downloading)\\ #min_peers_seed = 10\\ #max_peers_seed = 50\\ # Maximum number of simultanious uploads per torrent.\\ #max_uploads = 15\\ \\ # Global upload and download rate in KiB. "0" for unlimited.\\ #download_rate = 0\\ #upload_rate = 0\\ \\ # Default directory to save the downloaded torrents.\\ directory = /home/stressat/rDownloads\\ \\ # Default session directory. Make sure you don't run multiple instance\\ # of rtorrent using the same session directory. Perhaps using a\\ # relative path?\\ session = /home/stressat/session\\ \\ # Watch a directory for new torrents, and stop those that have been\\ # deleted.\\ schedule = watch_directory,5,5,load_start=/home/stressat/watch/*.torrent\\ #schedule = untied_directory,5,5,stop_untied=\\ \\ # Close torrents when diskspace is low.\\ #schedule = low_diskspace,5,60,close_low_diskspace=100M\\ \\ # Stop torrents when reaching upload ratio in percent,\\ # when also reaching total upload in bytes, or when\\ # reaching final upload ratio in percent.\\ # example: stop at ratio 2.0 with at least 200 MB uploaded, or else ratio 20.0\\ #schedule = ratio,60,60,"stop_on_ratio=200,200M,2000"\\ \\ # The ip address reported to the tracker.\\ #ip = 127.0.0.1\\ #ip = rakshasa.no\\ \\ # The ip address the listening socket and outgoing connections is\\ # bound to.\\ #bind = 127.0.0.1\\ #bind = rakshasa.no\\ \\ # Port range to use for listening.\\ #port_range = 6890-6999\\ \\ # Start opening ports at a random position within the port range.\\ #port_random = no\\ \\ # Check hash for finished torrents. Might be usefull until the bug is\\ # fixed that causes lack of diskspace not to be properly reported.\\ #check_hash = no\\ \\ # Set whetever the client should try to connect to UDP trackers.\\ #use_udp_trackers = yes\\ \\ # Alternative calls to bind and ip that should handle dynamic ip's.\\ #schedule = ip_tick,0,1800,ip=rakshasa\\ #schedule = bind_tick,0,1800,bind=rakshasa\\ \\ # Encryption options, set to none (default) or any combination of the following:\\ # allow_incoming, try_outgoing, require, require_RC4, enable_retry, prefer_plaintext\\ #\\ # The example value allows incoming encrypted connections, starts unencrypted\\ # outgoing connections but retries with encryption if they fail, preferring\\ # plaintext to RC4 encryption after the encrypted handshake\\ #\\ # encryption = allow_incoming,enable_retry,prefer_plaintext\\ \\ # Enable DHT support for trackerless torrents or when all trackers are down.\\ # May be set to "disable" (completely disable DHT), "off" (do not start DHT),\\ # "auto" (start and stop DHT as needed), or "on" (start DHT immediately).\\ # The default is "off". For DHT to work, a session directory must be defined.\\ # \\ # dht = auto\\ \\ # UDP port to use for DHT.\\ # \\ # dht_port = 6881\\ \\ # Enable peer exchange (for torrents not marked private)\\ #\\ peer_exchange = yes\\ \\ #\\ # Do not modify the following parameters unless you know what you're doing.\\ #\\ \\ # Hash read-ahead controls how many MB to request the kernel to read\\ # ahead. If the value is too low the disk may not be fully utilized,\\ # while if too high the kernel might not be able to keep the read\\ # pages in memory thus end up trashing.\\ #hash_read_ahead = 10\\ \\ # Interval between attempts to check the hash, in milliseconds.\\ #hash_interval = 100\\ \\ # Number of attempts to check the hash while using the mincore status,\\ # before forcing. Overworked systems might need lower values to get a\\ # decent hash checking rate.\\ #hash_max_tries = 10\\
5- Salvăm modificarea făcută fișierului .rtorrent.rc.
6- Acum să presupunem că ați făcut acești pași și ați descărcat un torrent. În acest exemplu vom descărca torrentul cu distribuția Mandriva 2010.2
(sau mai exact: /home/stressat/watch/mandriva-linux-one-2010.2-KDE4-europe3-cdrom-i586.torrent). Tot ce avem de făcut este să pornim în
consolă rtorrent cu comanda: rtorrent, iar aplicația va începe automat descărcarea.
După cum bănuiți, rtorrent este mult mai complex de atât, aici s-a explicat cum poate fi folosit SIMPLU programul de către orice utilizator.
Informații detaliate: http://libtorrent.rakshasa.no/wiki/RTorrentUserGuide .
Sursa: http://harbhag.wordpress.com/2010/06/30/tutorial-using-rtorrent-on-linux-like-a-pro/
În momentul când, inevitabil, ajung să ceară pe forum ajutorul comunității, începătorii trebuie să furnizeze unele informații despre mașina lor: sistem, versiune, arhitectură, kernel, mediu grafic, etc. O mare parte din aceste informații se află foarte simplu cu ajutorul unui singur instrument, screenfetch. În plus screenfetch furnizează aceste detalii într-o formă frumoasă, afișând și sigla distribuției.
Instalare (ca root într-o consolă): #urpmi screenfetch-dev
Rulare (comandă dată ca utilizator obișnuit): sfetch
Pentru a face automat și captură de ecran: sfetch -s
Cu sfetch -s, aplicația va face un screenshot pe care îl va salva în directorul /home sub numele de screenfetch-dată-oră.png, de exemplu: screenfetch-2011-04-09_15-02-57.png, indicând astfel că a fost făcut la ora 15.02 în data de 9 aprilie 2011.
După afișarea informațiilor în consolă este suficientă copierea datelor sau chiar o captură de ecran postată pe forum ca cei ce oferă ”asistență” să cunoască detaliile necesare.
Rezultatul îl puteți vedea în captura de ecran următoare:
Din păcate screenfetch nu recunoaște managerul de ferestre Compiz, iar în Kde deocamdată, spre deosebire de Gnome, indiferent de WM nu afișează tema, icoanele sau fontul folosit, oricum informațiile esențiale sunt afișate…
Chiar și cei ce lucrează doar în linia de comandă, indiferent că au sau nu un mediu grafic instalat doresc uneori să afle prognoza meteo. Primul pas este instalarea pachetului weather-utils (#urpmi weather-utils), urmând ca apoi să aflăm codul localității noastre, eventual al celui mai apropiat oraș important. Acest cod din patru litere îl găsim la adresa: http://weather.noaa.gov/ , la categoria International Weather Conditions, unde selectăm prima dată țara (Select a country⇒ Go) și apoi orașul nostru (Select a location⇒ Go). În pagina cu orașul, în partea dreapta sus este codul orașului respectiv: LRIA pentru Iași, LRBS pentru București, LRTR= Timișoara, LRBC= Bacău, șamd. Astfel putem afla datele privind meteo și în browser. Dacă ați fost atenți la instalarea pachetului weather-utils, ați observat nota post-install, în care se spunea cum anume se poate afla acest cod mult mai simplu și rapid: dând comanda cat /usr/share/weather/stations.txt | grep nume_oraș_cu_majuscule, de exemplu cat /usr/share/weather/stations.txt | grep IASI (atenție fără diacritice!). Outputul comenzii va fi:
[stressat@stressat ~]$ cat /usr/share/weather/stations.txt | grep IASI
IASI LRIA 15090 47 10N 027 37E 104 X 7 RO
După cum puteți observa, după numele orașului apar câteva grupuri de litere și cifre: primul grup LRIA este codul dorit, apoi avem alte informații utile, latitudine, longitudine, și-n final codul țării.
După acești pași preliminari este suficient să deschidem o consolă și să tastăm comanda: weather –id=cod_oraș, deci pentru Iași comanda va fi weather –id=LRIA. Vom primi imediat informațiile meteo:
[stressat@stressat ~]$ weather –id=LRIA
Current conditions at Iasi, Romania (LRIA) 47-10N 027-38E 104M (LRIA)
Last updated Apr 14, 2011 - 11:00 AM EDT / 2011.04.14 1500 UTC
Temperature: 42 F (6 C)
Relative Humidity: 93%
Wind: from the NNW (330 degrees) at 9 MPH (8 KT)
Weather: rain
Sky conditions: overcast
Este util să facem un alias în .bashrc de genul: alias meteo='weather –id=LRIA' , astfel încât să ne fie mult mau ușor de reținut și tastat comanda.
Dacă ați instalat deja bsd-games pentru jocurile în consolă, atunci aveți ca bonus instalată o mică bijuterie: wtf. În caz contrar trebuie instalat bsd-games. Poate uneori a-ți întâlnit acronime, prescurtări ale unor expresii după inițialele cuvintelor, cel mai adesea în limba engleză, multe necunoscute. Puteți căuta pe internet un dicționar de expresii urbane, sau doar semnificația unui asemenea acronim, sau, mai simplu puteți căuta în consola proprie: wtf is ”acronim”.
O aplicație foarte utilă și interesantă este remind, aplicație care ne va reaminti date pe care altfel poate le-am uita. După instalarea remind (#urpmi remind), primul pas este crearea unei baze de date de unde remind să preia aniversările, sărbătorile legale sau religioase, evenimentele culturale, sportive, sociale, sau orice date pe care dorim să le cunoaștem, în acea zi sau chiar în avans. Vom crea în directorul nostru /home un fișier text, îl vom numi .reminders în acest exemplu, numele poate fi diferit. În acest fișier .reminders vom trece date importante pentru noi, aniversările celor dragi (nu doriți să uitați când este ziua prietenei sau a soției, nu???), sărbători și orice date ce au importanță pentru noi. Un exemplu de fișier .reminders:
REM 3 february MSG aniversare mama
REM 14 february MSG aniversare Alex
REM 22 july MSG aniversare Dan
REM 27 august MSG aniversare Lili
REM 1 september MSG aniversare Camelia
REM 1 december MSG Ziua Națională a României
După cum vedeți structura comenzii este simplă: REM + data dorită + MSG + ce eveniment avem în vedere. Pentru a ne fi reamintite aceste zile în avans comanda va fi: REM dată + număr zile în avans MSG eveniment %b, ceva de forma: REM 12 june +7 MSG aniversare Florin %b. Astfel, cu șapte zile înainte de această dată vom fi avertizați în consolă de acest eveniment.
La pornirea unei console vom fi atenționați de astfel de date, sau putem verifica cu comanda remind .reminders (aici puneți numele sub care salvați fișierul respectiv în loc de .reminders), sau putem chiar seta ca remind să fie afișat ca mesaj de întâmpinare în consolă. În acest ultim caz, dacă este ceva de amintit, remind o va face, altfel va apărea mesajul: ”No reminders”. Pentru acesta este suficientă adăugarea în .bashrc a unei linii ca următoarea: echo -e „${LIGHTRED}“; remind .reminders ; .
Remind poate face mult mai mult de atât, dar asta e bine s-o descoperiți personal, studiind sursa: http://www.linuxjournal.com/article/3529?page=0,0 .
Alte câteva comenzi asemănătoare sunt cal (afișează calendarul lunii curente) , date (afișează data și ora curentă), clock (afișează ora/ trebuie folosită ca root sau precedată de sudo).
Deoarece din aceste trei utilitare date și clock sunt foarte simple vom prezenta puțin doar cal. Implicit cal afișează duminica prima zi a săptâmânii și calendarul lunii curente. Pentru a afișa ziua de luni ca prima zi a săptămânii, dăm parametrul -m (cal -m), pentru afișarea a trei luni (cea curentă plus cea trecută și următoarea dăm parametrul -3 (cal -3), pentru calendarul întregului an folosim -y (cal -y), iar pentru a vedea o lună anumită comanda va fi de forma: cal x y, unde x= numărul lunii (1, 2, 3, …, 12), iar y= anul. DE exemplu pentru luna martie a anului 2012 vom da comanda: cal 3 2012.
În screenshotul următor prima zi a săptămânii este luni datorită unui alias din .bashrc (**alias cal='cal -m'**).\\
Pentru aflarea unor informații despre sistem, componente,utilizatori trebuie instalate: lm_sensors, smartmontools, sysstat, hwinfo, htop, lshw și eventual o aplicație cu interfață grafică pentru afișarea informațiilor: Gkrellm, Superkaramba, Conky.
: informații despre utilizator, UID, GID, grupurile din care face parte:
[alex@stressat ~]$ id alex uid=501(alex) gid=503(alex) grupuri=503(alex),0(root),4(adm),5(tty),10(wheel),81(audio ),82(video),100(users)
: informații despre nume de logare, nume adevărat, director /home, shell folosit, cănd s-a logat ultima oară, dacă are mail:
[alex@stressat ~]$ finger alex Login: alex Name: alex Directory: /home/alex Shell: /bin/bash On since Fri Dec 31 06:23 (EET) on :0 (messages off) On since Fri Dec 31 06:24 (EET) on pts/1 13 minutes 5 seconds idle (messages off) On since Fri Dec 31 06:24 (EET) on pts/2 2 hours 24 minutes idle On since Fri Dec 31 08:47 (EET) on pts/3 (messages off) Mail last read Wed Dec 29 12:21 2010 (EET) No Plan.
: arată ora, durata de funcționare a mașinii (sesiunea curentă) și încărcarea sistemului:
[alex@stressat ~]$ uptime 11:04:25 up 4:40, 4 users, load average: 0.03, 0.10, 0.21
: arată data și ora ultimei porniri (bootări) a sistemului:
[alex@stressat ~]$ who -b demarare sistem 2010-12-31 06:24
: informații despre mașină și sistem. Parametri ce pot fi folosiți după această comanda sunt: -a (așa aflăm toate informațiile: nume sistem, nume mașină, kernel, arhitectura mașinii, tipul procesorului, etc), -m, -s, -p, -r.
[alex@stressat ~]$ uname -a Linux stressat 2.6.36.2-desktop-1mnb #1 SMP Tue Dec 14 21:04:23 UTC 2010 x86_64 x86_64 x86_64 GNU/Linux
: informații detaliate despre procesor:
[alex@stressat ~]$ cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 15 model name : Intel(R) Celeron(R) CPU E1200 @ 1.60GHz stepping : 13 cpu MHz : 1600.000 cache size : 512 KB physical id : 0 siblings : 2 core id : 0 cpu cores : 2 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 10 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl est tm2 ssse3 cx16 xtpr pdcm lahf_lm dts bogomips : 3199.95 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management: processor : 1 vendor_id : GenuineIntel cpu family : 6 model : 15 model name : Intel(R) Celeron(R) CPU E1200 @ 1.60GHz stepping : 13 cpu MHz : 1600.000 cache size : 512 KB physical id : 0 siblings : 2 core id : 1 cpu cores : 2 apicid : 1 initial apicid : 1 fpu : yes fpu_exception : yes cpuid level : 10 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl est tm2 ssse3 cx16 xtpr pdcm lahf_lm dts bogomips : 3199.79 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management:
: informații detaliate despre memorie:
[alex@stressat ~]$ cat /proc/meminfo MemTotal: 2057976 kB MemFree: 17964 kB Buffers: 43384 kB Cached: 1153976 kB SwapCached: 0 kB Active: 750336 kB Inactive: 1104688 kB Active(anon): 488672 kB Inactive(anon): 170708 kB Active(file): 261664 kB Inactive(file): 933980 kB Unevictable: 4 kB Mlocked: 4 kB SwapTotal: 1140576 kB SwapFree: 1140576 kB Dirty: 192 kB Writeback: 0 kB AnonPages: 657716 kB Mapped: 155576 kB Shmem: 1708 kB Slab: 55248 kB SReclaimable: 30128 kB SUnreclaim: 25120 kB KernelStack: 3384 kB PageTables: 39188 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 2169564 kB Committed_AS: 3197668 kB VmallocTotal: 34359738367 kB VmallocUsed: 325904 kB VmallocChunk: 34359400528 kB HardwareCorrupted: 0 kB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB DirectMap4k: 42624 kB DirectMap2M: 2054144 kB
: aflăm UID-urile partițiilor:
[root@stressat alex]# blkid /dev/sda7: UUID="d6ee414f-4df9-4b33-8349-9f3eb713cc8e" TYPE="ext4" /dev/sda5: UUID="6d74b9bc-fb50-446f-baaa-91f33387a9d5" TYPE="swap" /dev/sda1: UUID="845C8E205C8E0D5C" TYPE="ntfs" /dev/sda2: UUID="B82077B12077756A" TYPE="ntfs" /dev/sda3: UUID="92787a40-15d2-4088-b13e-574e73f68380" TYPE="ext4" /dev/sda6: UUID="b1d5330d-f9dd-4d48-9226-eadfb9713a28" TYPE="ext4" /dev/sda8: UUID="6691d521-68c4-49ae-8b8b-2438d102019c" TYPE="ext4"
arată temperatura unui hard disk:
[alex@stressat ~]$ hddtemp /dev/sda /dev/sda: SAMSUNG SP1614N: 31°C
arată înregistrările senzorilor privind voltajele, turația coolerelor, temperatura procesorului; trebuie să aveți instalat lm_sensors și să rulați ca root comanda sensors-detect, să răspundeți cu Yes la toate întrebările, apoi puteți folosi sensors:
[alex@stressat ~]$ sensors atk0110-acpi-0 Adapter: ACPI interface Vcore Voltage: +1.28 V (min = +0.85 V, max = +1.60 V) +3.3 Voltage: +3.23 V (min = +2.97 V, max = +3.63 V) +5 Voltage: +5.11 V (min = +4.50 V, max = +5.50 V) +12 Voltage: +12.09 V (min = +10.20 V, max = +13.80 V) CPU FAN Speed: 1704 RPM (min = 600 RPM) CHASSIS FAN Speed: 0 RPM (min = 800 RPM) CPU Temperature: +29.0°C (high = +60.0°C, crit = +95.0°C)
informații despre IP, DNS, adresă MAC (Hwaddr), trafic internet:
[alex@stressat ~]$ ifconfig eth0 Link encap:Ethernet HWaddr 00:1D:xx:xx:xx:xx inet6 addr: fec0::d:21d:60ff:feda:e5d2/64 Scope:Site inet6 addr: 2002:5669:926a:d:21d:60ff:feda:e5d2/64 Scope:Global inet6 addr: fe80::21d:60ff:feda:e5d2/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:235067 errors:0 dropped:0 overruns:0 frame:0 TX packets:1309497 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:125281534 (119.4 MiB) TX bytes:915605848 (873.1 MiB) Interrupt:23 Base address:0xd000 ppp0 Link encap:Point-to-Point Protocol inet addr:86.xxx.xxx.xxx P-t-P:77.xx.xx.xx Mask:255.xxx.xxx.xxx RX packets:200161 errors:0 dropped:0 overruns:0 frame:0 TX packets:1305720 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:3 RX bytes:118463279 (112.9 MiB) TX bytes:886764623 (845.6 MiB)
informații partiții (nume, dimensiune, gradul de utilizare, punctul de montare):
[alex@stressat ~]$ df Sistem de fișiere Dimens Utiliz Liber Uz% Montat pe /dev/sda7 9,0G 8,2G 340M 97% / /dev/sda8 68G 56G 8,6G 87% /home /dev/sda1 11G 6,2G 4,7G 58% /media/win_c /dev/sda2 49G 33G 16G 68% /media/win_d
smartctl (urmat de un parametru precum -a, -H, -t long…): pentru verificarea stării de sănătate a unui hard disk:
[root@stressat alex]# smartctl -i /dev/sda smartctl 5.39.1 2010-01-28 r3054 [x86_64-mandriva-linux-gnu] (local build) Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net === START OF INFORMATION SECTION === Model Family: SAMSUNG SpinPoint P80 series Device Model: SAMSUNG SP1614N Serial Number: S016J1BQ407704 Firmware Version: TM100-31 User Capacity: 160.041.885.696 bytes Device is: In smartctl database [for details use: -P show] ATA Version is: 7 ATA Standard is: ATA/ATAPI-7 T13 1532D revision 0 Local Time is: Fri Dec 31 09:22:48 2010 EET SMART support is: Available - device has SMART capability. SMART support is: Enabled
[root@stressat alex]# smartctl -H /dev/sda smartctl 5.39.1 2010-01-28 r3054 [x86_64-mandriva-linux-gnu] (local build) Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net === START OF READ SMART DATA SECTION === SMART overall-health self-assessment test result: PASSED
[root@stressat alex]# smartctl -l error /dev/sda smartctl 5.39.1 2010-01-28 r3054 [x86_64-mandriva-linux-gnu] (local build) Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net === START OF READ SMART DATA SECTION === SMART Error Log Version: 1 ATA Error Count: 455 (device log contains only the most recent five errors) CR = Command Register [HEX] FR = Features Register [HEX] SC = Sector Count Register [HEX] SN = Sector Number Register [HEX] CL = Cylinder Low Register [HEX] CH = Cylinder High Register [HEX] DH = Device/Head Register [HEX] DC = Device Command Register [HEX] ER = Error register [HEX] ST = Status register [HEX] Powered_Up_Time is measured from power on, and printed as DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes, SS=sec, and sss=millisec. It "wraps" after 49.710 days. Error 455 occurred at disk power-on lifetime: 4225 hours (176 days + 1 hours) When the command that caused the error occurred, the device was active or idle. After command completion occurred, registers were: ER ST SC SN CL CH DH -- -- -- -- -- -- -- 04 51 fe 00 00 00 50 Error: ABRT Commands leading to the command that caused the error were: CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name -- -- -- -- -- -- -- -- ---------------- -------------------- ef 05 fe 00 00 00 50 00 00:02:16.250 SET FEATURES [Enable APM] c8 00 18 a0 12 6b f8 00 00:02:16.250 READ DMA c8 00 88 b8 12 6b f8 00 00:02:16.250 READ DMA c8 00 20 80 12 6b f8 00 00:02:16.250 READ DMA c8 00 08 c0 c1 99 f8 00 00:02:16.250 READ DMA Error 454 occurred at disk power-on lifetime: 4223 hours (175 days + 23 hours) When the command that caused the error occurred, the device was active or idle. After command completion occurred, registers were: ER ST SC SN CL CH DH -- -- -- -- -- -- -- 04 51 fe 00 00 00 50 Error: ABRT Commands leading to the command that caused the error were: CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name -- -- -- -- -- -- -- -- ---------------- -------------------- ef 05 fe 00 00 00 50 00 06:16:44.188 SET FEATURES [Enable APM] c8 00 18 a0 12 6b f8 00 06:16:44.188 READ DMA c8 00 88 b8 12 6b f8 00 06:16:44.188 READ DMA c8 00 20 80 12 6b f8 00 06:16:44.188 READ DMA c8 00 08 c0 c1 99 f8 00 06:16:44.188 READ DMA Error 453 occurred at disk power-on lifetime: 4223 hours (175 days + 23 hours) When the command that caused the error occurred, the device was active or idle. After command completion occurred, registers were: ER ST SC SN CL CH DH -- -- -- -- -- -- -- 04 51 fe 00 00 00 50 Error: ABRT Commands leading to the command that caused the error were: CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name -- -- -- -- -- -- -- -- ---------------- -------------------- ef 05 fe 00 00 00 50 00 06:15:19.000 SET FEATURES [Enable APM] c8 00 18 a0 12 6b f8 00 06:15:19.000 READ DMA c8 00 88 b8 12 6b f8 00 06:15:19.000 READ DMA c8 00 20 80 12 6b f8 00 06:15:19.000 READ DMA c8 00 08 c0 c1 99 f8 00 06:15:19.000 READ DMA Error 452 occurred at disk power-on lifetime: 4223 hours (175 days + 23 hours) When the command that caused the error occurred, the device was active or idle. After command completion occurred, registers were: ER ST SC SN CL CH DH -- -- -- -- -- -- -- 04 51 fe 00 00 00 50 Error: ABRT Commands leading to the command that caused the error were: CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name -- -- -- -- -- -- -- -- ---------------- -------------------- ef 05 fe 00 00 00 50 00 06:06:49.313 SET FEATURES [Enable APM] ca 00 08 60 1b 9e f8 00 06:06:48.938 WRITE DMA c8 00 80 29 95 ad f5 00 06:06:48.063 READ DMA c8 00 80 a9 94 ad f5 00 06:06:48.063 READ DMA ca 00 08 28 90 19 f8 00 06:06:46.938 WRITE DMA Error 451 occurred at disk power-on lifetime: 4223 hours (175 days + 23 hours) When the command that caused the error occurred, the device was active or idle. After command completion occurred, registers were: ER ST SC SN CL CH DH -- -- -- -- -- -- -- 04 51 fe 00 00 00 50 Error: ABRT Commands leading to the command that caused the error were: CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name -- -- -- -- -- -- -- -- ---------------- -------------------- ef 05 fe 00 00 00 50 00 06:02:08.688 SET FEATURES [Enable APM] ca 00 08 60 1b 9e f8 00 06:02:08.375 WRITE DMA ca 00 08 90 ba d4 f7 00 06:02:08.125 WRITE DMA ca 00 08 30 cc d3 f7 00 06:02:08.125 WRITE DMA ca 00 08 e8 bc d3 f7 00 06:02:08.125 WRITE DMA
[root@stressat alex]# smartctl -t short /dev/sda smartctl 5.39.1 2010-01-28 r3054 [x86_64-mandriva-linux-gnu] (local build) Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net === START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION === Sending command: "Execute SMART Short self-test routine immediately in off-line mode". Drive command "Execute SMART Short self-test routine immediately in off-line mode" successful. Testing has begun. Please wait 1 minutes for test to complete. Test will complete after Fri Dec 31 09:38:18 2010 Use smartctl -X to abort test.
După cum puteți observa este testul rapid, durează un minut, timp după care verificăm iar jurnalul de erori pentru a vedea dacă au apărut erori recente, lucru neplăcut. Pentru un test mult mai profund, mai amănunțit și categoric mai exact vom folosi comanda #smartctl -t long /dev/sda.
[root@stressat alex]# badblocks -sv /dev/sda Checking blocks 0 to 156290903 Checking for bad blocks (read-only test): done Pass completed, 0 bad blocks found.
a-mpstat: statistici procesor:
[alex@stressat ~]$ mpstat Linux 2.6.36.2-desktop-1mnb (stressat) 31.12.2010 _x86_64_ (2 CPU) 10:43:38 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle 10:43:38 all 16,33 0,05 5,59 7,32 0,00 0,55 0,00 0,00 70,16
b-iostat: statistici I/O:
[alex@stressat ~]$ iostat Linux 2.6.36.2-desktop-1mnb (stressat) 31.12.2010 _x86_64_ (2 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 16,29 0,05 6,12 7,27 0,00 70,27 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda 162,63 10046,85 79,18 158119076 1246124
c-vmstat: statistici memorie virtuală:
[alex@stressat ~]$ vmstat procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu---- r b swpd free buff cache si so bi bo in cs us sy id wa 0 1 2120 346256 96600 731844 0 0 4993 39 610 1157 16 6 70 7
informații despre componentele fizice ale sistemului/ hardware; deorece outputul comenzii este foarte lung, putem cere informații doar pentru anumite aspecte, dând după comandă un anume parametru (–bios, –cdrom, –cpu, –disk, –printer, –partition, –monitor, –gfxcard, –sound, șamd.):
[root@stressat alex]# hwinfo --sound 34: PCI 8001.0: 0403 Audio device [Created at pci.318] UDI: /org/freedesktop/Hal/devices/pci_1106_3288 Unique ID: FVI2.PfnGitoKusE SysFS ID: /devices/pci0000:80/0000:80:01.0 SysFS BusID: 0000:80:01.0 Hardware Class: sound Model: "VT1708/A [Azalia HDAC] (VIA High Definition Audio Controller)" Vendor: pci 0x1106 "VIA Technologies, Inc." Device: pci 0x3288 "VT1708/A [Azalia HDAC] (VIA High Definition Audio Controller)" SubVendor: pci 0x1043 "ASUSTeK Computer Inc." SubDevice: pci 0x8290 Revision: 0x10 Driver: "HDA Intel" Driver Modules: "snd_hda_intel" Memory Range: 0xfbffc000-0xfbffffff (rw,non-prefetchable) IRQ: 17 (759865 events) Module Alias: "pci:v00001106d00003288sv00001043sd00008290bc04sc03i00" Driver Info #0: Driver Status: snd_hda_intel is active Driver Activation Cmd: "modprobe snd_hda_intel" Config Status: cfg=new, avail=yes, need=no, active=unknown
[root@stressat alex]# hwinfo --memory 01: None 00.0: 10102 Main Memory [Created at memory.61] Unique ID: rdCR.CxwsZFjVASF Hardware Class: memory Model: "Main Memory" Memory Range: 0x00000000-0x7d9bdfff (rw) Memory Size: 2 GB Config Status: cfg=new, avail=yes, need=no, active=unknown
lshw este un utilitar superb, ne dă informații detaliate despre componentele hardware ale sistemului! Outputul comenzii este extrem de detaliat (și evident lung…), de aceea mai simplu este să folosim comanda lshw -short, care ne va da informații într-o formă mult mai accesibilă și inteligibilă pentru un utilizator cu experiență și cunoștințe mai puține.
[root@stressat alex]# lshw -short H/W path Device Class Description ========================================================= system System Product Name /0 bus P5VD2-VM SE /0/0 memory 64KiB BIOS /0/4 processor Intel(R) Celeron(R) CPU E1200 @ 1.60GHz /0/4/5 memory 32KiB L1 cache /0/4/6 memory 512KiB L2 cache /0/26 memory 2GiB System Memory /0/26/0 memory 1GiB DIMM DDR2 Synchronous 667 MHz (1.5 ns) /0/26/1 memory 1GiB DIMM DDR2 Synchronous 667 MHz (1.5 ns) /0/100 bridge CN896/VN896/P4M900 Host Bridge /0/100/0.5 generic CN896/VN896/P4M900 I/O APIC Interrupt Controller /0/100/1 bridge VT8237/VX700 PCI Bridge /0/100/2 bridge CN896/VN896/P4M900 PCI to PCI Bridge Controller /0/100/2/0 display NV43 [GeForce 6600] /0/100/3 bridge CN896/VN896/P4M900 PCI to PCI Bridge Controller /0/100/f storage VIA Technologies, Inc. /0/100/f.1 scsi0 storage VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE /0/100/f.1/0.0.0 /dev/cdrom disk DVDRAM GSA-H12N /0/100/f.1/0.1.0 /dev/sda disk 160GB SAMSUNG SP1614N /0/100/f.1/0.1.0/1 /dev/sda1 volume 10GiB Windows NTFS volume /0/100/f.1/0.1.0/2 /dev/sda2 volume 48GiB Windows NTFS volume /0/100/f.1/0.1.0/3 /dev/sda3 volume 10GiB EXT4 volume /0/100/f.1/0.1.0/4 /dev/sda4 volume 79GiB Extended partition /0/100/f.1/0.1.0/4/5 /dev/sda5 volume 1113MiB Linux filesystem partition /0/100/f.1/0.1.0/4/6 /dev/sda6 volume 258MiB Linux filesystem partition /0/100/f.1/0.1.0/4/7 /dev/sda7 volume 9279MiB Linux filesystem partition /0/100/f.1/0.1.0/4/8 /dev/sda8 volume 69GiB Linux filesystem partition /0/100/10 bus VT82xxxxx UHCI USB 1.1 Controller /0/100/10/1 usb1 bus UHCI Host Controller /0/100/10/1/1 input USB OPTICAL MOUSE /0/100/10.1 bus VT82xxxxx UHCI USB 1.1 Controller /0/100/10.1/1 usb2 bus UHCI Host Controller /0/100/10.2 bus VT82xxxxx UHCI USB 1.1 Controller /0/100/10.2/1 usb3 bus UHCI Host Controller /0/100/10.3 bus VT82xxxxx UHCI USB 1.1 Controller /0/100/10.3/1 usb4 bus UHCI Host Controller /0/100/10.4 bus USB 2.0 /0/100/10.4/1 usb5 bus EHCI Host Controller /0/100/11 bridge VT8237S PCI to ISA Bridge /0/100/12 eth0 network VT6102 [Rhine-II] /0/100/13.1 bridge VT8237A PCI to PCI Bridge /0/101 bridge CN896/VN896/P4M900 Host Bridge /0/102 bridge CN896/VN896/P4M900 Host Bridge /0/103 bridge CN896/VN896/P4M900 Host Bridge /0/104 bridge CN896/VN896/P4M900 Host Bridge /0/105 bridge CN896/VN896/P4M900 Security Device /0/106 bridge CN896/VN896/P4M900 Host Bridge /0/107 bridge VT8251 Ultra VLINK Controller /0/108 bridge VT8237A Host Bridge /0/1 multimedia VT1708/A [Azalia HDAC] (VIA High Definition Audio Controller)
dată în consolă, comanda htop ne va returna un grafic cu procesele și aplicațiile ce rulează, resursele consumate (actualizat permanent):
În partea de jos a ferestrei htop puteți observa o bară cu modul de funcționare al tastelor funcționale în cadrul htop: F1-Help, F2- Setup, etc. Cu ajutorul acestor taste putem modifica aspectul, culorile afișate, coloana monitorizată în principal (CPU, MEM, etc), putem închide un proces și multe altele.
17.1 htop -hotkeys
t :Afișează/ascunde procesele active sub formă de arbore
u : Afișează/ascunde procesele rulate de utilizatorul selecționat;
P : Afișează/ascunde procesele triate in funcție de consumul CPU in %;
M : Afișează/ascunde procesele triate in funcție de consumul memoriei in %;
T : Afișează/ascunde procesele triate in funcție de timpul parcurs;
Bara de Spaţiu : Selecționează procesele;
U : Deselecționează toate procesele.
- Activitatea sistemului , informații hardware și de sistem.
Comanda vmstat afișează informații despre procese , memorie, cpu și blocurile I/O, in funcție de la câte secunde
dorim să fie afișate aceste informații, de exemplu :
vmstat 5
va afișa rezultatele la fiecare 5 secunde.
Pentru a afla parametri ce pot fi folosiți cu vmstat consultați „help“ cu comanda.
vmstat -h
- Cu această comanda puteți avea un snapshot al proceselor in desfășurare în momentul lansării comenzii.
(ps este cam ca și comanda top cu deosebirea că se vor obține mai multe informații)
Exemple de parametri ce pot fi pasați comenzii ps:
-Afișarea tuturor proceselor în forma detaliată ( log output)
ps -Al
( sau pentru extra full mode
ps -AlF
afișează și comenzile care vin distribuite proceselor din linia de comandă)
-Afișarea tuturor sarcinilor in desfășurare
ps -AlFH
-Afișarea tuturor sarcinilor in desfășurare chemate in urma proceselor
ps -AlLm
-Afișarea arborelui proceselor si subproceselor
pstree
-Afișarea informațiilor de siguranță
ps -eo euser,ruser,suser,fuser,f,comm,label
-Afișarea primelor 10 procese in funcție de consumul de CPU
ps -auxf | sort -nr -k 3 | head -10
-Afișarea primelor 10 procese in funcție de consumul de memorie RAM
ps -auxf | sort -nr -k 4 | head -10
w este este o comandă utilă în cazul in care avem mai mulți utilizatori conectați simultan pe mașină,
pentru a vedea cine sunt și ce procese rulează fiecare. Comanda este:
w username
După cum se vede la fiecare utilizator i se atribuie un tty ( tty8 si tty9 ,in X in cazurile de față
dar nu este obligatoriu, se poate foarte bine ca unii utilizatori să fie activi doar în mod text )
deci pentru administrator ca să navigheze între utilizatori folosește combinația ctrl+alt+F8 sau ctrl+alt+F9
in prezentul exemplu, ș.a.m.d , fiecărui nou utilizator i se va atribui un shell tty de login .
Cu:
w
vor fi afișati toți utilizatorii activi în momentul lansării comenzii cu detaliile menționate mai sus.
Dar poate cel mai complet și unul dintre preferații mei e dstat
dstat -f in acest exemplu
Description : Dstat is a versatile replacement for vmstat, iostat and ifstat. Dstat overcomes some of the limitations and adds some extra features. Dstat allows you to view all of your system resources instantly, you can eg. compare disk usage in combination with interrupts from your IDE controller, or compare the network bandwidth numbers directly with the disk throughput (in the same interval). Dstat also cleverly gives you the most detailed information in columns and clearly indicates in what magnitude and unit the output is displayed. Less confusion, less mistakes. Dstat is also unique in letting you aggregate block device throughput for a certain diskset or network bandwidth for a group of interfaces, ie. you can see the throughput for all the block devices that make up a single filesystem or storage system. You can customize your dstat output from /etc/dstat.conf and you can write your own dstat modules to plug into the dstat output. Dstat's output, in its current form, is not very useful to be post- processed by other tools. It's mostly meant for allowing humans to interprete real-time data as easy as possible.
21.1- dstat -Parametri pentru a putea exploata la maxim acest utilitar
1.
-c
abilitează statistici CPU , exemplu:
-C 0,total
include cpu0 și toate
2.
-d
abilitează statistici hard disk, exemplu:
-D total,hde
include hde și total
3.
-i
abilitează statistici de interrupt , exemplu:
-I 5,eth0
include int5 și interrupt folosit de eth0
4.
-m
abilitează statistici memorie
5.
-n
abilitează statistici de rețea , exemplu:
-N eth0,total
include eth0 și total
6.
-p
abilitează statistici procese
7.
-s
abilitează statistici swap, exemplu:
-S swap1,total
include swap1 și total
Acestea le consider eu cele mai utile , dar bineințeles că ajunge să consultați manualul man dstat sau ajutorul dstat -h
pentru a vedea toate posibilitățile și pentru a le putea adapta necesităților voastre.
Acesta este ,poate, cea mai completă aplicație pentru monitorizare trafic rețea . Se instalează simplu cu urpmi fiind prezent pe mediile mandriva , deci:
urpmi iptraf
Se lansează din root (sau sudo pentru cine are configurat sudoers), și arată cam așa
Meniul este navigabil cu sageată sus și sageată jos
și cuprinde următoarele categorii :
-IP Traffic monitor care monitorizează toate interfețele de rețea configurate , (dacă nu vă mulțumește configurarea
nativă accesați configure și/sau Filters și le configurați dupa preferință.)
-General Interface Statistics pornește direct monitorizarea pe toate interfețele , porturile și protocoalele.
-Detailed Interface Statistics exact ca și mai sus doar că informațiile sunt mult mai detaliate și setate pe interfața de retea pe care o alegeți.
-LAN Statistics monitor monitorizare dedicată retelelor LAN.
Câteva imagini explicative mai jos.
IP Traffic monitor(All interfaces)
Detailed Interface Statistics (pe eth0)
Prezentare - Partea I - Partea a II-a - Partea a III-a - Partea a IV-a - Partea a V-a
Echipa MandrivaUsers România are plăcerea să vă prezinte sistemul de operare Mandriva Linux 2011! Acest sistem de operare conține și folosește cele mai noi inovații software posibile, pentru a oferi utilizatorilor o experiență unică și pentru a înlocui cu succes sistemele de operare plătite.
Prezentul ghid acoperă capitolele cele mai importante, cum ar fi instalarea sistemului de operare, configurarea acestuia, instalarea aplicațiilor suplimentare, folosirea consolei, configurări pentru servere, aplicații pentru web development, etc.
Lumea Open Source nu trebuie să fie un tărâm mistic pentru nimeni. În ultimii ani, această lume a evoluat destul de mult încât să ofere fiecărui utilizator, indiferent de nivelul de experiență al acestuia, maximum de productivitate cu minimum de efort printr-o interfață simplă și intuitivă. Folosind Linux beneficiați de avantajele unui sistem de operare practic, neafectat de viruși și alte amenințări, fiind cu toate acestea gratuit, rapid, performant și foarte ușor de utilizat. De asemenea, gama de aplicații disponibilă poate deschide și edita toate tipurile de fișiere sau executa toate operațiile cu care ați fost obișnuiți în alte sisteme de operare.
În speranța că v-am trezit interesul, vă facem o invitație călduroasă să testați acest sistem de operare cu ajutorul prezentului ghid, care a fost alcătuit special pentru a face tranziția la Mandriva Linux cât mai ușoară posibil pentru oricine.
Autorii
Prezentare - Partea I - Partea a II-a - Partea a III-a - Partea a IV-a - Partea a V-a