Ghid introductiv de utilizare a comenzilor de baza pe sistemul GNU-Linux Academix

www.academixproject.com

Acest ghid are scopul de a veni în ajutorul utilizatorilor incepatori pentru a putea folosi și asimila mai ușor comenzile de baza pentru administrarea sistemului de operare.

Principalele comenzi sunt cele de administrare și configurare a retelei, cele pentru administrarea proceselor/programelor, lucrul cu fisierele, directoarele sistemului (aici intervine și puțina teorie despre cum este organizat sistemul-modul ierarhic al directoarelor și al proceselor).

Am scris și rescris acest ghid de câteva ori, iar aceasta este în sfârșit versiunea finala. Am decis sa nu fie doar o insiruire de comenzi urmata de explicatia acestora, ci să fie ceva cu niște notiuni introductive.

Linux este un sistem de operare multiuser, multitasking.

-multiuser(Capacitatea sistemului de a permite ca mai multe persoane sa lucreze/execute o aplicație din acelas terminal sau terminale separate) .

-multiasking( Capacitatea de a lansa( aparent) în acelas timp mai multe programe, fără a împiedica

executarea procesului fiecarei aplicații) .

Linux este structurat atât ca directoare cât și ca procese sub forma ierarhica.

Ierarhia directoarelor:

Pe nivelul superior avem directorul rădăcina„ / ” sau directorul root. A nu se confunda cu directorul /root !Directorul /root este subdirectorul lui / și reprezintă directorul principal al utilizatorului root (administratorul sistemului sau superuser) .

Comanda folosită pentru a vizualiza directoarele din sistem este ls , urmata sau nu de opțiuni.

Exemplu:

─[root@sandybell]─[/]

└──╼ #ls

bin etc initrd.img.old lost+found opt run sys var

boot home lib media proc sbin tmp vmlinuz

dev initrd.img lib64 mnt root srv usr vmlinuz.old

Nota: Comanda ls ne va lista directoarele/subdirectoarele din calea unde suntem situati. Asta înseamnă ca dacă suntem în / ne vom vizualiza subdirectoarele sistemului ce pornesc din directorul rădăcina. Dacă suntem în /home , vom vizualiza ce directoare/fisiere avem în directorul în care suntem situati.

Mici lamuriri cu privire la directoarele principale ale sistemului.

/bin – conține utilitare ale sistemului și utilizatorului . Coduri compilate denumite binare, sau executabile , de unde și provine numele directorului, bin.

/etc-contine fisierele de configurare ale programelor din sistem precum și subdirectoare ale acestuia.Aceste fisiere sunt de maxima importanța, de aceea înainte de a modifica/edita un fisier, se recomanda salvarea fisierului original ca backup.

/home– aici se stocheaza datele utilizatorului, fisisere și directoare personale.Fiecare utilizator are propriul /home .

/initrd-directorul se folosește în asociere cu RAM pentru anumite configuratii ale sistemului.

/lib-aici se păstrează biblioteca (librariile comune) ex: biblioteca codului scris în limbajul C.

/lost+found– conține fisierele pentru corectarea erorilor din sistem (inoduri pierdute).

/mnt-se folosește pentru punctele de montare( mounting point), ex:cd-rom, usb stick.

/opt-cum numele indica, opțiuni. Aici se instaleaza programele complementare.

/proc– este un director cu un sistem de fisiere special. Conține informații detaliate despre procesele ce se executa, informații despre configuratie hardware, etc.

/root – este directorul principal al utilizatorului root (superuser, administratorul sistemului). Am spus la început, și repet, pentru ca este de maxima importanța, nu trebuie confundat cu directorul rădăcina / ( root) .

/sbin -contine utilitarele de administrare și ale sistemului sau executabile.

Ex: ls /sbin (vetivedea o întreaga lista, un exemplu poate fi programul de partionare ale discului, pornirea și repornirea sistemului ,etc)

/tmp –aici se păstrează fisierele temporale.

/usr -este gândit pentru fisiere lectura. Cea mai parte a documentatiilor se afla în acest director. Ex:/usr/doc .Arborele complet cu sursele kernelului se afla în /usr/src .

/var –date variabile.Contine fisiere administrative,registre(loguri) . Ex: /var/log/syslog .

/dev –pastreaza informații despre definitiile dispozitivelor.

Ex: Device Start End Sectors Size Type

/dev/sda12048 4095 2048 1M BIOS boot

/dev/sda2 4096 451270655 451266560 215,2G Linux root (x86-64)

/dev/sda3 451270656 971517951 520247296 248,1G MBR partition scheme

/dev/sda4 971517952 976773119 5255168 2,5G Linux swap

sau

/dev/hda

/dev/sdb

/dev/scd0

/dev/psaux

/dev/ttyS1

Câteva explicații despre principalele fisiere de configurare ale sistemului din /etc(1.)

Pentru a vizualiza continutul lui /etc se folosește comanda ls

ls ( list) , urmata sau nu de opțiuni.

┌─[root@sandybell]─[/home/eka]

└──╼ #ls /etc/

Nu voi explica fiecare fisier de configurare în parte, ci doar pe cele care ne sunt necesare pentru administrarea și configurarea principalelor servicii, acest ghid fiind unul introductiv pentru nivel incepatori.

hostname

Acest fisier ne seteaza numele de domeniu și/sau numele gazdei( calculatorului )

ex: └──╼ #cat /etc/hostname

LinuxNet

crontab

Conține configuratia tabelei cron pentru executarea automata a scripturilor de administrare a sistemului. ( ex: backup)

fstab

Tabela sistemului de fisiere .

Group

Conține grupurile și utilizatorii acestora . Obiectivul principal al unui grup este controlul accesului pe fisiere și directoare.

Ex: └──╼ #cat /etc/group

root:x:0:

daemon:x:1:

bin:x:2:

sys:x:3:

adm:x:4:eka

tty:x:5:

disk:x:6:

Nota: group, password, shadow -fisiere de maxima importanța pentru securitatea sistemului. Nu se recomanda editarea acestora decât după crearea unui back-up.

Grub.conf

Conține configuratia grub-ului. Incarcatorul de boot(boot loader/manager), grub sau pe unele sisteme LILO, este programul special pornit de către BIOS, și permite pornirea sistemului de operare.Este alcătuit din doua părți: sectorul de boot și sectorul de disc.

passwd

Informații fundamentale despre utilizatori . În trecut , aici se pastrau și parolele acestora. Acum, parolele sunt criptate în fișierul shadow, situat evident, în /etc .

resolv.conf

În acest fisier sunt pastrate dns-urile oferite de providerul de servicii de internet.

network.conf

Fisier de configurare al placilor de rețea . În acest fisier vom avea parametrii necesari functionarii corecte a retelei: ip, network, gateway. Voi reveni asupra subiectului când voi explica și comenziile de baza pentru administrarea retelei .

Acestea sunt fisierele principale pe care un utilizator incepator trebuie sa le stăpânească de la început. Tot în /etc sunt stocate și fisierele de configurare ale programelor tip server( ex: apache-httpd.conf, apache2.conf, dhcpd.conf,smb.conf, etc ) .

Fiind un sistem multiuser , după instalare, Linux va avea configurate doua conturi de utilizatori: utilizatorul root și utilizatorul normal.

Utilizatorulroot ( superuser) este unic. Are ca și caracteristica accesul privilegiat asupra intregului sistem. Se pot configura și conturi tip clona a lui root, dar nu este indicat. Sub linux mai avem și alte conturi de utilizatori configurate: bin, daemon,adm, shutdown, lp, etc. Se pot vizualiza în fișierul group , mai sus menționat . Aceste conturi nu se bucura de drepturi administrative, nu au parola și nu sunt dezvoltate pentru a initia sesiuni cu ele.

Al doilea utilizator al sistemului, utilizatorul normal( normal user) , este un tip de cont configurat pentru fiecare utilizator al sistemului, individual. Fiecare utilizator va avea parola și directorul home personal, precum și grupul și permisiunile adecvate.

Am folosit termenul superuser pentru root pentru ca acest termen este legat de comanda su (substituire utilizator) . Comanda su transforma un utilizator normal într-un utilizator privilegiat ( practic aloca drepturi de root) pentru o anumita perioada de timp în scopul de a realiza operațiuni administrative.

Pentru a înțelege ce face root, las câteva idei pe scurt:

-are acces total pe toate fisierele, directoarele sistemului, indiferent de proprietarul și grupul acestora.

-gestioneaza conturile de utilizatori (sterge,creaza,muta în grupuri,permisiuni)

-administreaza sistemul și când este necesar oprește serviciile acestuia.

-administreaza parolele sistemului când este necesar.

-instaleza/dezinstaleaza/actualizeaza programele din sistem.

su și sudo

Odată logat în sistem orice user poate deveni alt user ( substitute user ) prin comanda su

Exemplu :

eka@beculetz:~$ whoami

eka

eka@beculetz:~$ su –

Password:

root@beculetz:~# whoami

root

root@beculetz:~#

**Nota: Pentru a asigura respectarea normelor de baza privind securitatea este esential sa permitem numai catorva useri sa poată deveni root. Sunt useri care nu pot deveni root, chiar dacă aceștia știu parola. Aici intervine editarea grupului wheel.

Comanda sudo reprezintă o alta modalitate de a executa comenzi cu drepturi de root , fără a cunoaște parola de root .

Din nou, fisiere de configurare (2).

/etc/passwdeste fișierul ce conține cheile și utilizatorii sistemului.

└──╼ #more /etc/passwd

root:x:0:0:root:/root:/bin/bash

daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin

bin:x:2:2:bin:/bin:/usr/sbin/nologin

sys:x:3:3:sys:/dev:/usr/sbin/nologin

sync:x:4:65534:sync:/bin:/bin/sync

games:x:5:60:games:/usr/games:/usr/sbin/nologin

Comandamore se folosește pentru a vizualiza continutul fisierului, însă nu și pentru a-l edita.

Fiecare linie din fisier reprezintă un utilizator. Informația este imapartita în șase campuri și este delimitata de doua puncte : .

Explicații :

1. Primul câmp indica numele utilizatorului sau identificatorul initierii sesiunii. Este unic.

2. Al doilea câmp este un câmp de parola(:x)-ne arata ca parola este ascunsă.Din motive de securitate este criptata în alt fisier.

3. Aici observam un numar. Numărul este un identificator de utilizator(uid, user id) . Utilizatorul root va avea întotdeauna uid0.

4. Identificatorul de grup (GID , group id )

5. Câmp de comentarii-contine numele complet at utlizatorului.

6. Identifica ierarhia fisierelor în sistem.

7.Se folosește pentru configurarea shell-ului ce va fi folosit în mod predeterminat de către utilizatorii. Predeterminat, linux folosește bash shell.

Putem adauga noi utilizatori în fișierul /etc/passwd , însă nu este recomandat. Pentru a crea o parola cifrata corect vom folosi utilitarul de sistem ( comenzile specifice) .

/etc/shadow

După cum am spus, aici avem informații despre utilizatori și parolele acestora, criptate.

root:$6$9ATMowO$1hNsQS1HgCZuccUwLpPUxQQ44DKxxxxxOhD0nGmDNCjmm0eyoPneyY.

CTXYhzL5YymgzyEHIB199B0:17436:0:99999:7:::

daemon:*:17426:0:99999:7:::

bin:*:17426:0:99999:7:::

sys:*:17426:0:99999:7:::

///////////

Explicații :

Asemănător cu fișierul passwd, /etc/shadow este format din campuri delimitate de cele doua puncte.

1.Numele utilizatorului

2.Campul parolei cifrate

3.Zilele ce au trecut de când parola a fost schimbată ultima data

4. Numărul de zile ramase pana când parola se poate schimba din nou

5. Numarul de zile după care se schimba parola (-1 înseamnă niciodată)

6. Zilele de înaintea expirării parolei. Se anunța utilizatorul la începutul sesiunii.

7. Zilele după expirarea parolei,contul de utilizator este dezactivat dacă parola nu a fost schimbată corect.

8.Zilele trecute de când contul a fost dezactivat

9.Camp rezervat.

Administrare conturi utilizatori

Adaugarea utilizatorilor se face ori prin editarea fisierului /etc/passwd( nerecomandat) ori prin utilitaruladduser

Mod de folosire al comenzii:

└──╼ #adduserana

Adding user `ana’ …

Adding new group `ana’ (1001) …

Adding new user `ana’ (1001) with group `ana’ …

Creating home directory `/home/ana’ …

Copying files from `/etc/skel’ …

Enter new UNIX password:

Copying files from `/etc/skel’ …

Enter new UNIX password:

Retype new UNIX password:

passwd: parolă actualizată cu succes

Modificare informaţii utilizator pentru ana

Introduceţi noua valoare, sau apăsaţi ENTER pentru cea implicită

Nume complet []:

* se adauga utilizatorul ana , apartinand grupului ‘ana’. În directorul /home/ana se păstrează copiile fisierelor predeterminate din /etc/skel și /etc/skel.d. Directorul /etc/skel conține:

.bash_logout

.bashrc

.scshrc

.profile

** Caracteristicile predefinite ale fiecarui cont pot fi vizualizate în fișierul /etc.login.defs

Cum dezactivam un cont de utilizator, fără a-i sterge documentele?

nano /etc/passwd

ana:x123:1001:1001:,,,:/home/ana:/bin/bash

După cum se poate observa, după x, am adaugat 123. Când shadow va cauta parola cifrata , va utiliza acest câmp ca și parola și cum nu coincide cu cea cifrata, contul nu poate fi folosit.

Dacă se dorește stergerea utilizatorului și a directorului /home , se vor utiliza comenzile deluser/userdel(pentru a sterge contul din sistem) și rmpentru a sterge directorul /home al acestuia.

Monitorizare utilizatori

Comenzi:

who -afiseaza userii logati în sistem la momentul prezent

Opțiuni:

-H afiseaza un header pt a citit mai ușor output

-q arata numărul userilor logati

root@beculetz:/home/eka# who

eka :1 2018-02-13 02:28 (:1)

**Ne arata userul logat, terminalul , data logarii .

w – afiseaza cine este logat în sistem și comanda curenta a fiecarui user

root@beculetz:/home/eka# w

10:19:51 up 1 day, 17:05, 1 user, load average: 0.34, 0.38, 0.36

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT

eka :1 :1 Tue02 ?xdm? 37:17 0.02s /usr/lib/gdm3/

last –afiseaza informații în ordine cronologica inversa din /var/log/wtmp

lastlog -afiseaza ultimile logari în sistem pentru fiecare user

Permisiuni/drepturi de acces (citire, scriere,citire-scriere)

Sub Linux avem trei nivele de permisiuni sau drepturi pe fisiere și directoare. Ele corespund categoriilor user (proprietar), grupșialții.

Fiecare categorie are niște privilegii asociate, sub forma de permisiuni(drepturi): de citire, de scriere și de executare.

eka@beculetz:~$ ls -l /etc/passwd

-rw-r–r– 1 root root 3234 Jan 13 12:10 /etc/passwd

Dacă urmărim rezultatul listarii, vedem ca proprietarul este root și grupul din care face parte este root.

Primul grup de caractere și litere -rw reprezintă tipul fisierului și permisiunilor

-rw-r-r– – blocurile de permisiuni

root – proprietarul

root – grupul

password -fisierul

Caracterele și semenificatia lor :

– Fisier normal

d Director

l Symlink ( legătura simbolica)

s Socket

Cel mai des întâlnite sunt -, d, l .

Modificarea drepturilor/ comanda chmod

Opțiuni chmod :

OPTIUNE NIVEL DESCRIERE

u Propietar Proprietarul unui fisier

g Grup Grupul care aparține proprietarului

o Alții Ceilalți utilizatori

a Toți Pot schimba permisiunile din u, g, o .

Atribute

r Stabileste drepturi de citire

x Stabileste drepturi de executare

wStabileste drepturi de scriere

s Stabileste identificatorul utilizatorului

t Bit persistent

Permisiunile se pot modifica cu semnele + sau – pentru a activa sau dezactiva un bit.

Utilitarul chmod poate folosi de asemenea și numere ( 0 -7 ) pentru a schimba modul fisierelor.

0 Fără privilegii

1 Executare

2 Citire

3 Citire și executare

4 Citire

5 Citire și executare

6 Citire și scriere

7 Citire, scriere și executare

De exemplu :

rwx r-x – -x = 4+2+1 4+0+1 0+0+1

= 7 5 1

Sau se mai poate folosi calculul prin ridicare la puterea 2, unde r2²=>4

w=2=>2

x=2la 0 =>1 ,

Alte exemple chmod

root@beculetz:/home/eka# nano scriptb

##in editor

echo “Primul script bash”

## se salvează și se iese din editor : ctrl O , ctrl X

root@beculetz:/home/eka# chmod +x scriptb

root@beculetz:/home/eka# ./scriptb

Primul script bash

Lucrul cu directoarele

Utilitare: mkdir , rmdir , rm

mkdir– creaza directoare ( numele vine de la make directory)

root@beculetz:~# mkdir TESTE

root@beculetz:~# ls

Crips Documents IpMx Pictures Templates Videos

Desktop Downloads Music Public TESTE

rmdir –sterge directoarele ( remove directory)

root@beculetz:~# rmdir TESTE/

rm -sterge directoare sau fisiere

Opțiuni : -f ( forteaza) , -i ( întreabă înainte de fiecare stergere) , – R ( sterge de forma recursiva)

**Predeterminat, rm nu sterge directoarele, de aceea se folosește optiunea -R .

root@beculetz:~# mkdir TESTE

root@beculetz:~# nano test1

root@beculetz:~# rm TESTE/

rm: cannot remove ‘TESTE/’: Is a directory

root@beculetz:~# rm -Rf TESTE/

root@beculetz:~# ls

Crips Documents IpMx Pictures Templates Videos

Desktop Downloads Music Public test1

*Directorul a fost șters

Administrare sistem, procese și alți dinozauri

Ca metode de inițializare a sistemului, Linux folosește ori modul SySv(SystemV) , mai nou fiind înlocuit de SystemD, ori modul BSD.

Ma voi opri asupra lui SysV, pentru a înțelege apoi cum funcționează Systemd,acesta poate parea puțin cam complicat pentru utilizatorii incepatori, iar aici se vrea a fi un ghid introductiv pentru a veni în ajutorul celor ce doresc sa folosească acest sistem de operare.

SysV folosește nivele de inițializare pentru a executa, porni si opri daemons(procese ce ruleaza în plan secund), depinzand de nivelul de executare. Exista un director unde se păstrează un script pentru fiecare proces. Nivelele de inițializare sunt cuprinse intre : 0 și 6 .

Init -locul de unde pornește totul. Părintele tuturor proceselor

Am spus la început ca Linux este un sistem ce funcționează pe baza ierarhiei, atât a directoarelor cât și a proceselor.

După încărcarea kernelului în memorie, acesta executa un program numit init. La pornire, init își citește fișierul de configurare (inittab), situat pe vechile modele(SysVinit) în /etc . În fișierul de configurare se descrie cum ar trebui configurat sistemul pentru un anumit nivel de executare( runlevels) .

Nivele: 0 -halt (oprire)

1 -single user mode ( mod monoutilizator)

2 -multiuser ( fără conexiune la internet)

3 -Full multiuser mode (mod multiuser complet)

4 -unused ( nefolosit)

5 -X11

6 -reboot ( restarteaza, niciodată nu se configureaza cu aceasta valoare)

Scripturile rc

Sunt localizate în /etc/

eka@beculetz:~$ ls /etc/rc*

rc0.d/ rc6.d/ reportbug.conf rpc

rc1.d/ rc.local/ resolvconf/ rsyslog.conf

rc2.d/ rcS.d/ resolv.conf rsyslog.d/

rc3.d/ reader.conf.d/ resolv.conf.bak rygel.conf

rc4.d/ rearj.cfg responder/

rc5.d/

-init este părintele tuturor proceselor

-are întotdeauna pid 1

-are capacitatea de a „recupera” procesele orfane

root@beculetz:/etc/initramfs-tools# ps -ef

UID PID PPID C STIME TTY TIME CMD

root 1 0 0 06:54 ? 00:00:04 /sbin/init

root 2 0 0 06:54 ? 00:00:00 [kthreadd]

root 4 2 0 06:54 ? 00:00:00 [kworker/0:0H]

Lucrul cu procesele

Ne referim des la programele predeterminate cu termenul de proces. Linux vine în ajutorul administratorilor de sistem cu filozofia sa , oferind acces la cod și implicit la administrarea serviciilor, cu ajutorul consolei. Veți vedea cât de puternic este interpretul de comenzi sub Linux și cum usureaza acesta munca utilizatorilor.

De câte ori nu ne-am trezit pe windows, ca după instalarea unui program sa ni se solicite reinitierea sistemului?Sau de câte ori nu „s-a blocat” sistemul, fiind nevoiți sa efectuam oprirea/reinitierea forțată? 🙂

Sub Linux nu se întâmpla așa ceva, ori dacă se întâmpla, atunci când un proces rămâne orfan, sau blochează funcționarea în parametrii optimi, putem verifica și opri/porni/reporni un serviciu, doar din terminal.

Cum vizualizam procesele?

Utilitarul ps ( vine de la process show). Arata informații despre procesele active.

Opțiuni: ps -e

ps -ef

ps -eF

ps -ely

*Arata fiecare proces folosind sintaxa standard

ps ax

ps axu

*Arata procesele folosind sintaxa BSD

ps -ejH

ps axjf

*Arata procesele folosind modelul rădăcina/ierarhic

root@beculetz:/sbin#ps -ef

UID PID PPID C STIME TTY TIME CMD

root 1 0 0 06:54 ? 00:00:06 /sbin/init

root 2 0 0 06:54 ? 00:00:00 [kthreadd]

root 4 2 0 06:54 ? 00:00:00 [kworker/0:0H]

root 6 2 0 06:54 ? 00:00:00 [mm_percpu_wq]

root 7 2 0 06:54 ? 00:00:00 [ksoftirqd/0]

root 8 2 0 06:54 ? 00:00:02 [rcu_sched]

root 9 2 0 06:54 ? 00:00:00 [rcu_bh]

Utilitarul kill

Se folosește pentru a trimite semnalul kill către anumite procese. Util când aplicatiile nu funcționează în parametrii optimi. Ex: Se blochează navigatorul web.

Trimite semnalul kill către PID-ul procesului dorit.

Opțiuni: kill -9 -1 omoară toate procesele

kill PID omoară procesul cu pid-ul indicat.

Exemplu:

eka 1610 1519 4 12:34 tty2 00:04:17 /usr/lib/firefox-esr/plugin-cont

root 2094 2088 0 14:17 pts/0 00:00:00 ps -ef

root@beculetz:/home/eka# kill 1610

Alte utilitare relationate : pkill, killall,skill.

Pornirea/repornirea/oprirea serviciilor ( daemons) varianta SysVinit

După cum am spus mai sus, în directorul etc sau rc.d (în funcție de distributie) se găsesc scripturile ce permit pornirea sau oprirea serviciilor instalate în sistem. Ele funcționează cu argumentele : -start

-stop

-restart

-status

Exemplu :

root@beculetz:/# /etc/init.d/apache2 restart

[ ok ] Restarting apache2 (via systemctl): apache2.service.

root@beculetz:/#/etc/init.d/ssh stop

[ ok ] Stopping ssh (via systemctl): ssh.service.

Vizualizarea logurilor (mod SysV)

Utilitarultail

Afiseaza ultimile linii ale unui fisier . Un exemplu, vizualizarea în timp real a logurilor din sistem :

root@beculetz:/# tail -f /var/log/syslog

Feb 16 15:36:01 beculetz NetworkManager[486]: <info> [1518813361.7046] dhcp4 (wlan0): nameserver ‘192.168.0.1’

Feb 16 15:36:01 beculetz NetworkManager[486]: <info> [1518813361.7046] dhcp4 (wlan0): state changed bound –

**pentru informații mai detaliate se folosește împreuna cu |grep nume_program.

Pornirea/repornirea serviciilor (daemons) varianta SystemD

La fel ca și init, systemd este primul proces ce pornește sub Linux. Init și systemd sunt întotdeauna active pana la oprirea sistemului.

Systemd funcționează ca și un administrator de servicii și este compatibil cu SysV și LSB.

Are ca și principala caracteristica (de fapt, aici intervine un nou concept, nou și pentru utilizatorii vechi ai lui init) unitățile.

Unitățile pot fi:

-servicii

-puncte de montaj

-dispozitive

-sockets

-fisier sau partitie

Pentru a putea lucra cu unitățile, systemd ofera utilitarulsystemctl.

Systemctl -principalul utilitar a lui systemD

root@beculetz:/# systemctl

UNIT LOAD ACTIVE SUB DESCRIPTION

proc-sys-fs-binfmt_misc.automount loaded active running Arbitrary Executable

sys-devices-pci0000:00-0000:00:02.0-drm-card0-card0\x2deDP\x2d1-intel_backligh ,

UNIT -arata numele unității

LOAD -daca unitatea a fost procesata prin systemd

ACTIVE – în aceasta coloana vedem dacă unitatea ruleaza, este lansata corect .

SUB -informatii detaliate despre unitate

DESCRIPTION -arata textul configurat la UNIT.

Pentru a vedea dacă sunt unități ce au probleme , folosim optiunea – – failed .

root@beculetz:/# systemctl –failed

UNIT LOAD ACTIVE SUB DESCRIPTION

● virtualbox.service loaded failed failed LSB: VirtualBox Linux kernel module

Fisierele unitatilor disponibile se găsesc în /etc/systemd/system.

Alte opțiuni systemctl :

list-units

* Listeaza doar unitățile pe care sistemul le-a încărcat în memorie.

list-unit-files


* Listeaza unitățile disponibile din sistem

systemctl start

* Activeaza o unitate

systemctl stop

* Oprește o unitate

systemctl restart

* Reinitiaza unitatea

systemctl reload

* Reincarca unitatea

systemctl enable

* Activeaza unitatea pentru initierea predeterminata la urmatoarea pornire a sistemului

**exemplu : root@beculetz:/#systemctl enable bluetooth.service

Synchronizing state of bluetooth.service with SysV service script with /lib/systemd/systemd-sysv-install.

Executing: /lib/systemd/systemd-sysv-install enable bluetooth

Created symlink /etc/systemd/system/dbus-org.bluez.service → /lib/systemd/system/bluetooth.service.

Utilitarul journalctl

Toate programele/serviciile genereaza loguri. SystemD centralizeaza aceste loguri într-un jurnal și le gestioneaza cu ajutorul utilitarului journalctl.

Exemple journalctl :

root@beculetz:/home/eka# journalctl

— Logs begin at Sat 2018-02-17 02:50:40 EST, end at Sat 2018-02-17 06:52:50 EST

* Listeaza toate registrele

journalctl -k -listeaza registrele kernelului

journalctl -f -listeaza registrele în timp real (echivalentul lui tail -f )

journalctl – – disk-usage -arata cât spațiu ocupa registrele

journalctl – – vacuum-size=2G -elimina/curata registrele ce rețin maxim 2GB

journalctl – – vacuum-time=2years -elimina/curata registrele din ultimii 2 ani

journalctl -u nume.service -arata registrul unui serviciu specificat

Instalare / dezinstalare programe

Apt și dpkg

Sunt principalele utilitare pentru a instala, dezinstala, actualiza, fixa anumite erori, repara conflictele dintre librarii pe Debian și toate derivatele sale.

APT -Advanced Package Tool

-se folosește din linia de comanda

-privilegii de root

-usor de folosit

Este situat în directorul /etc/apt.

Principalele fisiere sunt sources.list, unde avem și locatiile( repozitoriile) pentru a descarca /actualiza pachetele, șiapt.conf , fișierul de configurare APT.

Exemple :

apt-get update -actualizeaza sistemul

apt-get dist-upgrade-actualizeaza intrega distributie și instaleaza noile pachete. Recomandat la fiecare proaspătă instalare.

apt-get install nume.pachet (ex:ssh, samba,mc, etc) -instaleaza programul

apt-get remove – – purge nume.pachet -elimina/dezinstaleaza programul

apt-f install-forteaza instalarea unui program (acest lucru se întâmpla de obicei când sunt conflicte de librarii, sau librarii mai vechi instalate) .

Ex: root@beculetz:/# apt-get install mc

Reading package lists… Done

Building dependency tree

Reading state information… Done

mc is already the newest version (3:4.8.19-1).7

Utilitarul dpkg

-baza sistemului de gestiune Debian

-instaleaza, dezinstaleaza și ofera informații despre pachetele .deb.

-nu rezolva dependintele, de asta se ocupa programul gdebi

-util când apt nu funcționează în parametrii sau când anumite pachete nu sunt disponibile în lista repozitoriilor . Instalarea pachetelor se face manual cu dpkg.

dpkg opțiuni:

dpkg – -get-selections-arata lista cu pachetele instalate

dpkg – -info -informatii despre dependinte și versiunele acestora

dpkg – i nume_pachet .deb -instaleaza pachetul.deb

dpkg -r nume_pachet.deb-dezinstaleaza pachetul.deb

dpkg -force -r pachet.deb-forteaza dezinstalea pachetului.deb

dpkg – -purge pachet.deb-dezinsteleaza pachet.deb și fisierele de configurare ale acestuia

dpkg – – configure – -pending-reconfigureaza orice pachet ce nu este încă configurat

dpkg – – configure -a-incearca repararea sistemului

Lucrul în rețea. Comenzi de baza

Utilitarul ifconfig

Fisier de configurare –/etc/network/interfaces.

Configureaza placile de rețea cu parametrii principali, necesari functionarii acestora: ip, netmask, broadcast .

Fără argumente arata cum este configurata placa de rețea

Sintaxa : ifconfig Interfata parametrii : up , down

Exemple :

root@beculetz:/# ifconfig

eth0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500

ether f0:76:1c:91:6e:da txqueuelen 1000 (Ethernet)

RX packets 0 bytes 0 (0.0 B)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 0 bytes 0 (0.0 B)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

wlan0:flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500

inet 192.168.0.119 netmask 255.255.255.0 broadcast 192.168.0.255

inet6 fe80::4ebb:58ff:fe8c:b4b3 prefixlen 64 scopeid 0x20<link>

ether 4c:bb:58:8c:b4:b3 txqueuelen 1000 (Ethernet)

RX packets 1056821 bytes 1407793399 (1.3 GiB)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 608516 bytes 74597369 (71.1 MiB)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

ifconfig -a -arata toate placile de rețea, inclusiv cele neconfigurate

ifconfig eth0 up -activeaza interfata eth0

ifconfig eth0 down -dezactiveaza placa de rețea eth0

ifconfig eth0 netmask 255.255.255.0 -seteaza netmask pentru placa de rețea eth0

ifconfig eth0 192.168.0.1 255.255.255.0 -configureaza ip și netmask pe eth0

Comanda route

-adauga poarta de legătură (default gateway)

-arata poarta de legătură

-adauga rute statitice către destinatii fixe

Exemplu :

root@beculetz:/# route -n

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

0.0.0.0 192.168.0.1 0.0.0.0 UG 600 0 0 wlan0

192.168.0.0 0.0.0.0 255.255.255.0 U 600 0 0 wlan0

* poarta de legatura( gateway) 192.168.0.1 pentru interfata wlan0

route add default gw 192.168.0.1 -adauga default gw

route del default gw –sterge default gw

Utilitarul dhclient

Client DHCP ( Dynamic Host Configuration Protocol )

Obtine adresa ip pentru interfata indicată

Exemplu :

dhclient eth0

Alte fisiere importante : /etc/resolv.conf în acest fisier se trec dns -urile

/etc/hostname –numele hostului

Utilitare pentru diagnostic în rețea :

mii-tool, ping, traceroute

mii-tool –verifica dacă este link pe placa de rețea . Răspunde cu „link up „ sau „no link „

ping– trimite pachete de tip eco icmp către un dispozitv .Unele dispozitive au firewall și pot bloca pachetele de acest tip.

Exemplu:

root@beculetz:/# ping 192.168.0.1

PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.

64 bytes from 192.168.0.1: icmp_seq=1 ttl=64 time=3.64 ms

^C

— 192.168.0.1 ping statistics —

1 packets transmitted, 1 received, 0% packet loss, time 0ms

*192.168.0.1 ip gateway, unde ping verifica dacă routerul este „up” .

Traceroute –indica ruta pachetelor pe internet către o anumita destinație .

Dacă pachetele se opresc la poarta de legătură, (router) înseamnă ca acolo este problema.

Exemplu :

root@beculetz:/# traceroute -n yahoo.com

traceroute to yahoo.com (206.190.39.42), 30 hops max, 60 byte packets

1 * * *

2 * * *

3 * * *

4 10.19.140.209 48.673 ms * 70.587 ms

5 10.0.244.9 74.627 ms 77.311 ms 80.465 ms

6 * * *

7 * * *

8 80.81.193.115 50.939 ms 52.692 ms 53.985 ms

9 66.196.65.252 33.828 ms 35.118 ms 37.138 ms

10 66.196.65.218 55.986 ms 48.098 ms 42.852 ms

11 66.196.65.211 55.956 ms 66.196.65.209 50.161 ms 66.196.65.211 52.624 ms

12 66.196.65.222 123.073 ms 123.016 ms 125.407 ms

13 216.115.96.81 142.169 ms 140.579 ms 140.261 ms

14 216.115.96.34 168.157 ms 166.781 ms 161.703 ms

15 216.115.101.195 183.651 ms 184.217 ms 184.565 ms

16 66.196.67.109 183.434 ms 180.792 ms 66.196.67.111 185.060 ms

17 67.195.37.95 184.128 ms 67.195.37.73 186.194 ms 184.400 ms

18 67.195.1.77 183.079 ms 67.195.1.241 185.509 ms 67.195.1.237 190.749 ms

19 206.190.32.19 181.979 ms 206.190.32.23 187.076 ms 206.190.32.27 184.638 ms^C