Sunteți pe pagina 1din 22

1.

Introducere & Instalare




1.1 Istorie Unix/Linux
Istorie Unix/Linux
Anii 60
Bell Laboratories (divizie de cercetare a AT&T) formeaza un consortiu impreuna cu MIT (Massachusetts
Institute of Technology) si General Electric pentru a dezvolta un sistem de operare interactiv, multiuser si
multi-tasking numit Multics (Multiplexed Information and Computing Service) care sa ruleze pe
Mainframe-uri GE-645. Proiectul nu a avut succesul scontat, iar Bell Labs se retrage. Un programator pe
nume Ken Thompson nu renunta si continua dezvoltarea proiectului impreuna cu un alt programator pe
nume Dennies Ritchie.
1970
Noul proiect este numit Unics (Uniplexed Information and Computing Service). Numele este atribuit
de Brian Kernighan, iar mai tarziu este schimbat in UNIX. Sistemul de operare este scris in limbaj de
asamblare.
1973
Unix este rescris in C pentru a putea fi portabil (sa ruleze si pe alte masini). Acest lucru a dus la o
dezvoltare accelerata. AT&T distribuie noul sistem universitatilor, marilor firme dar si guvernului USA.
1973-1979
Unix-ul este in continuare dezvoltat in cadrul Universitatii Berkeley din California. Printre imbunatatiri sunt
shell-ul C, editorul VI precum si alte utilitare necesare. Tot aici este adaugat suportul pentru lucrul in retea.
1980-1983
AT&T lanseaza prima versiune comerciala de UNIX fara a introduce modificarile aduse de Berkeley.
1982
Un programator din cadrul proiectului BSD (Berkeley Software Distribution - Berkeley Unix) impreuna cu
cativa colegi de la Stanford University creaza firma SUN - Stanford University Network. Prima lansare de
Unix are loc in 1983 si se numeste SunOS. Printre altele sunt introduse NFS (Network File System) care
devine un standard.
1984
Richard Matthew Stallman (nickname RMS) paraseste MIT (care crea doar software proprietar) pentru a
crea un sistem de operare complet FREE (Free as in Freedom) - FREE (Free as in Freedom). Noul proiect
poarta numele de GNU (GNU's not UNIX). Primul program creat a fost editorul emacs. In 1985 RMS creaza
fundatia FSF - Free Software Foundation. Scopul acesteia este ca software-ul sa fie free in sensul de liber si
oricine sa poata avea acces liber si fara restrictii la sursa. Acest tip de licenta se numeste GPL - General
Public License.
1988
SunOS/BSD, AT&T System V Release 3 si Xenix ( Microsoft version of Unix pentru PC cu procesoare Intel
cumparat de la AT&T in 1979) au fost combinate in System V Release 4 (SVR4).
Nota
Xenix a fost versiunea Microsoft de Unix pentru PC cu procesoare Intel cumparata de la AT&T in 1979.
Aceasta a fost ulterior vanduta firmei Santa Cruz Operation(SCO) si a devenit SCO UNIX.

1990
GNU continea aproape toate componentele necesare unui nou sistem de operare, mai putin kernel-ul.
1991
Profesorul olandez Andrew Tanenbaum scrie o carte intitulata "Operating System" in care explica conceptul
unui nou sistem de operare numit Minix. Un student finlandez pe nume Linus Torvalds de la Universitatea
din Helsinki scrie un Kernel pentru GNU care sa ruleze pe calculatoarele AT-386 si 484, bazandu-se pe
anumite concepte din cartea lui Tanenbaum.

Ulterior intre Linus Torvalds si Andrew Tanenbaum se isca un conflict bazat pe viziunea diferita pe care
acestia o aveau asupra noului Kernel. Detalii
Celebrul anunt al lui Linus Torwalds precum ca a dezvoltat un kernel a fost postat pe un newsgroup
comp.os.minix:
Nota

Hello everybody out there using minix - I'm doing a (free) operating system (just a hobby, won't be
big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is
starting to get ready. I'd like any feedback on things people like/dislike in minix, as my OS resembles
it somewhat (same physical layout of the file-system (due to practical reasons) among other things).
I've currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I'll get
something practical within a few months, and I'd like to know what features most people would want.
Any suggestions are welcome, but I won't promise I'll implement them :) Linus
(torvalds@kruuna.helsinki.fi) PS. Yes - it's free of any minix code, and it has a multi-threaded fs. It is
NOT portable (uses 386 task switching etc), and it probably never will support anything other than
AT-harddisks, as that's all I have:-(.

Sistemul de operare creat astfel prin folosirea kernelului lui Linus Torvalds si a programelor si utilitarelor
GNU poarta numele de GNU/Linux.
Nota
Numele complet si corect al sistemului de operare nu este Linux ci GNU/Linux. Detalii

GNU/Linux este un sistem de operare multiuser si multitasking care ruleaza pe procesoare 32 si 64 biti pe
aproape toate platformele hardware existente. Este format din kernelul lui Linus Torvalds si programele de
la GNU. Intre Linux si Unix exista o mare diferenta. Unix-ul este un sistem de operare proprietar cu sursa
inchisa, iar GNU/Linux este un sistem de operare FREE cu sursa deshisa care la inceput a incercat sa imite
sistemul Unix original.

Marile firme private si-au dezvoltat propriile sisteme de operare Unix astfel:
- HP-UX - Unix-ul celor de la Hewlett-Packard (SVR4). Versiunea actuala este 11.i
- AIX - Unix-ul celor de la IBM bazat pe SVR4
- BSD - Unix-ul celor de la universitatea din California. In prezent exista FreeBSD, OpenBSD, NetBSD

Prima distributie de Linux a fost Slackware lansata in 1993.

Ulterior au aparut multe alte distributii fiecare avand specificul sau:
RHEL (RedHat Enterprise Linux - Sistem Comercial)
Fedora (varianta free de la RedHat)
SuSE (cumparat de Novell, Sistem Comercial)
Debian
Ubuntu
Gentoo
Mandriva
CentOS (bazat pe RHEL, necomercial)
Knoppix (prima distributie de Linux care ruleaza direct de pe CD - LiveCD)
Puppy
MEPIS
Nota
Sistemul de operare Android folosit pe Smartphone-uri si tablete este o versiune de Linux aflata sub
mentenanta Google. Detalii.


Exista in prezent mai multe sute de distributii de Linux. Detalii
Resurse
Linux - The Code
Unix
Linux
Richard Stallman
Linus Torvalds























1.2 Consideratii Hardware


1.2.1 ACPI
ACPI
ACPI (Advanced Configuration and Power Interface) este un standard dezvoltat de un consortiu
format din HP, Intel, Microsoft, Phoenix si Toshiba in 1996. Ultima versiune dateaza din Noiembrie 2011.

ACPI reprezinta un standard prin care OS are controlul asupra recunoasterii elementelor hardware si power
management.
Folosind aceasta interfata BIOS-ul furnizeaza OS toate mecanismele necesare pentru controlul low-level al
componentelor hardware.
OS poate determina ca sistemul sa consume putina energie in anumite perioade si multa energie cand este
cazul (ca si in cazul laptop-urilor).
Exista pe tastatura "power management keys" pentru oprirea sistemului, cresterea luminozitatii
monitorului etc.

Hardware-ul (placa de baza si chiar CPU) trebuie sa fie compatibil cu acest standard.

Un sistem compatibil ACPI poate sa se gaseasca in urmatoarele stari:
a) G0 - Working - starea normala de operare a unui calculator cand aplicatiile ruleaza, CPU executa
instructiuni etc
b) G1 - Sleeping - are 4 substari ( Standby, Hybernation etc)
c) G2 - Soft off - Aproximativ asemanator cu G3 (mechanical off) doar ca anumite componente raman
alimentate cu energie astfel incat diferite evenimente sa poate aduce statia in starea G0 (keyboard, LAN,
USB). Din aceasta stare sistemul trebuie sa buteze pentru a intra in starea G0.
d) G3 - Mechanical Off - Nivelul de energie consumat este aproape zero.

Wake on LAN (WoL)

WoL este o tehnologie care permite pornirea unui calculator de la distanta prin trimiterea unui frame
Ethernet special. Placa de retea este alimentata continuu cu energie si asculta primirea frame-ului special.
Supportul pentru Wake on Lan (WoL) este implementat pe placa de baza. NIC-ul (care inca primeste
energie) asculta dupa acel pachet special numit "Magic Packet". Daca acesta este valid buteaza calculatorul.
Magic Packet: se trimite pe adresa de broadcast folosind UDP si portul 0 (la inceput), 7 sau 9 (mai recent).
Datele din MagicPacket: FFFFFFFFFFFF urmat de 16 repetitii ale MAC-ului targetului si eventual o parola
formata din 4 sau 6 bytes
In afara de hardware (placa de baza) compatibil exista si componenta software si anume programul care
genereaza si trimite target-ului magic packet. Exista mai multe astfel de aplicatii atat pentru Windows cat si
pentru Linux. Un exemplu de astfel de program este Wake on LAN GUI
Nota

Daca se doreste pornirea calculatorului dintr-o alta retea de exemplu Internet, Routerul trebuie
configurat pentru redirectarea pachetelor "Directed Broadcast"

Resurse
Linux ACPI
ACPI
Wake On Lan
1.2.2 Hard Disks
Hard Disks
In prezent pentru PC-uri exista 2 standarde de conectare a hard disk-urilor la placa de baza: SATA si PATA

ATA - Advanced Technology Attachment reprezinta o interfata prin care hard disk-urile, CD/DVD se
conecteaza la placa de baza. Odata cu introducerea SATA (Serial ATA) in 2003, ATA a fost redenumita PATA
(Parallel ATA).

Pe placa de baza a arhitecturii X86 exista 2 sloturi pentru conectarea hardiskurilor PATA. Pe fiecare cablu
paralel se pot conecta 2 hdd. Avem astfel in total maxim 4 hdd.

Ele sunt reprezentate in Linux astfel:
/dev/hda - primary master hard disk
/dev/hdb - primary slave hard disk
/dev/hdc - secondary master
/dev/hdd - secondary slave
Important
Fiecare Hard Disk poate contine partitii primare care pot fi maxim 4 si partitii logice care se gasesc in cadrul
unei partitii extinse.
A 4-a partitie primara este considerata partitia extinsa, este unica si va contine restul partitiilor logice.


Nota

In cazul hard disk-urilor SATA sau SCSI acestea sunt reprezentate prin fisierele /dev/sda,
/dev/sdb, /dev/sdc si /dev/sdd. Notiunile de primary master, primary slave etc nu mai exista.
De asemenea ultimele versiuni de kernel folosesc o interfata standard de accesare atat pt. PATA cat si
pt. SATA si reprezinta inclusiv partitiile hard diskurilor PATA sub forma sda1, sda2 etc.
USB stick-urile vor fi reprezentate de kernel tot sub forma sda.











1.2.3 RAID

RAID
RAID (Redundant Array of Inexpensive/Independent Disks)
Definitie
RAID reprezinta o metoda prin care mai multe hard diskuri fizice se grupeaza intr-o singura unitate logica.

Tehnologia RAID a fost definita prima data de catre un grup de cercetatori de la universitatea Berkeley din
California.

Exista 2 categorii de configuratii
1. Software RAID. Hard diskurile sunt combinate intr-o singura unitate logica de catre sistemul de operare.
OS vede fiecare disk si trebuie configurat sa le foloseasca ca un singur ansamblu.
2. Hardware RAID. Hard diskurile sunt combinate intr-o singura unitate logica de catre un controller. OS
(Operating System) vede ansamblul ca un singur hard disk. Nu este nevoie de nicio configuratie la nivel de
sistem de operare.

Hardware RAID ofera mai multa securitate si performanta a datelor dar este mult mai scump.

Nivele RAID

- RAID 0 (Data Striping without redundancy). Acest nivel este cel mai eficient ca si performanta dar nu
ofera protectia datelor. Se formeaza din minimum 2 hard disk-uri. Informatia este "sparta" in fragmente si
redistribuita pe mai multe diskuri din array (ansamblul de diskuri fizice care pentru sistemul de operare
reprezinta o singura unitate logica). Se poate scrie/citi in paralel. Daca un singur disk se defecteaza intreg
sistemul devine inutilizabil.
- RAID 1 (Disk Mirroring). Nr. minim de diskuri din array este 2. Datele sunt salvate pe fiecare dintre cele
2 hard diskuri. Securitatea datelor este maxima iar performantele de citire/scriere sunt mari. Singurul
dezavantaj este ca acest nivel necesita de doua ori mai mult spatiu de stocare.
- RAID 2 - Nu se foloseste.
- RAID 3 si RAID 4 (Striped Set with dedicated parity) - minimum 3 discuri.
- RAID 5 (Striped Set with Distributed Parity). Nr. minim de diskuri este 3. O defectiune a unui disk nu
duce la distrugerea tuturor datelor. Datele aflate pe diskul defect pot fi recuperate de pe celelalte diskuri.
- RAID 0/1, RAID 10 - reprezinta o combinatie intre RAID 0 si RAID 1. Nr. minim de discuri este 4.
Pentru RAID 0 si RAID 1 avem nevoie de cel putin 2 partitii pe 2 hard diskuri diferite. RAID 5 necesita 3
partitii. Se recomanda folosirea partitiilor de aceeasi marime.
Nota

Exista si posibilitatea folosirii unui singur hard disk, doar ca beneficiile RAID dispar.

Resurse
RAID - Intro
RAID
Linux Sofware RAID

1.2.4

LVM
LVM
LVM (Logical Volume Management)


Reprezinta posibilitatea prin care se pot crea "Logical Volumes" care se intind pe mai multe diskuri si
partitii.
Un volum logic poate fi folosit ca o partitie si anume se poate formata cu un sistem de fisiere si monta intr-
un anumit mount-point.

Mai multe "physical partitions" - hard diskuri intregi sau partitii se combina intr-un singur "volume
group".
LVM nu trebuie confundat cu RAID. Acestea sunt 2 tehnologii diferite care se completeaza. EVMS
(Enterprise Volume Management System) reprezinta o interfata comuna pentru LVM si RAID.


Avantaje LVM:
se pot combina mai multe partitii sau hdd intr-un singur "volume group"
un "logical volume" poate fi largit cand este nevoie de mai mult spatiu intr-un mod foarte simplu.
se pot adauga noi "logical volumes" la "volume group" fara a fi nevoie de oprirea sistemului sau
demontarea partitiilor.
se pot adauga noi hdd la "volume group" intr-un "running system"
Resurse:
LVM
Linux LVM











1.3

Boot Loader/Boot Manager
Boot Loader/Boot Manager
Aceasta prezentare face referire la userul root. In Linux exista 2 categorii de useri: useri neprivilegiati (toti
ceilalti) si userul root. root este un utilizator cu drepturi depline, administratorul sistemului. Orice sarcina
administrativa se realizeaza de catre userul root. Pentru detalii despre modul in care se executa
comenzi cu drepturi de root cititi sub-capitolul: 'su & sudo' din capitolul 'Conturi de Utilizatori'

Boot manager & Boot loader

Boot Loaderul este primul program executat in momentul butarii unui calculator. Acesta este responsabil
sa transfere controlul catre kernelul sistemului de operare. Acesta din urma incarca intreg sistemul de
operare.
Definitie
Procesul de butare (booting) reprezinta incarcarea/copierea sistemului de operare de pe Hard Disk in RAM si
executarea de catre acesta a diferitelor functii pentru initializarea dispozitivelor hardware (recunoasterea
placii grafice pentru afisare la monitor, stabilirea rezolutiei monitorului, montarea sistemelor de fisiere de pe
hard disk, initializarea porturilor seriale, usb, initializarea mouse-ului si a tastaturii etc. Detalii).


Un boot manager este un program care ajuta utilizatorul sa aleaga intre mai multe sisteme de operare, sa
seteze sistemul default, timeout etc.

Pe Linux se folosesc in principal 2 programe care contin atat boot loader cat si boot manager. Acestea
sunt LILO - Linux Loader si GRUB - GRand Unified Bootloader.
Grub este mai flexibil, este de preferat.
Grub este instalat automat de multe distributii de Linux dar si Unix (ex. Solaris).
Grub poate incarca si alte sisteme de operare (Windows, Solaris, etc).
Boot Loaderul se instaleaza intr-un singur sector al hard disk-ului numit sector de boot.

Exista 2 categorii de sectoare de boot:
1) VBR - Volume Boot Record - reprezinta primul sector al unui hard disk care nu a fost partitionat sau
primul sector al unei partitii a unui hard disk care a fost partitionat. Contine cod pentru a incarca sistemul de
operare de pe acel hard disk sau de pe acea partitie.
2) MBR - Master Boot Record - reprezinta primul sector al unui hard disk care a fost partitionat. Contine
cod pentru a identifica partitia activa si a invoca Volume Boot Record al acelei partitii. Dimensiunea MBR
este 512 bytes din care maximum 446 reprezinta cod executabil.



Exista 2 versiuni Grub: Grub sau Grub1 (Grub Legacy) si Grub2. Acestea difera fundamental prin modul
de configurare si operare. Ultimele distributii de Linux folosesc Grub2, care incetul cu incetul va inlocui
Grub1. In prezent (anul 2011) Grub legacy este inca folosit in special datorita faptului ca este un
program stabil, testat in multi ani.
Pentru a detecta versiunea de Grub instalata se ruleaza din consola comanda grub-install -v
Exemplu


Versiunea 1.98 nu inseamna Grub1 ci versiunea 1.98 a lui Grub2. In cazul Grub1 la versiune va
aparea 0.97 (sau mai putin).


Grub legacy

Fisierul de configurare al lui Grub Legacy este: /boot/grub/menu.lst
In momentul in care dorim modificari referitoare la modul de functionare al acestuia precum adaugarea unui
nou sistem de operare in meniul lui Grub afisat la pornirea calculatorului, stergerea unui sistem de operare
in care sa butam, modificare timeout, setare parola pentru butare etc trebuie sa modificam fisierul precizat
mai sus.

Structura acestuia este:
default 0
timeout 8

title Windows XP
rootnoverify (hd0,0)
chainloader +1

title Fedora Core
root (hd0,1)
kernel /boot/vmlinuz root=/dev/sda2
initrd /boot/initrd

title Solaris
rootnoverify (hd0,2)
chainloader +1

Grub2

Modul de functionare al lui Grub2 este dictat de mai multe fisiere:

1. /boot/grub/grub.cfg
Acesta este fisierul de configurare principal al lui Grub2 care precizeaza ce sistem de operare incarca Grub2,
pe ce partitie se afla acestea, sistemul default de butare etc si inlocuieste /boot/grub/menu.lst al lui
Grub1. Fisierul nu se editeaza manual nici macar de catre root. Fisierul se genereaza automat
(suprascriind vechiul fisier) de fiecare data cand se ruleaza comandaupdate-grub pe baza fisierelor din
directorul /etc/grub.d

2. /etc/default/grub
Acesta este fisierul in care se precizeaza timeout, modul de display al meniului etc.
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.

#precizeaza sistemul de operare default in care va buta.
#reprezinta ordinea de afisare in meniu, iar numerotarea incepe de la zero
GRUB_DEFAULT=0

#optiunea este valabila doar daca exista un singur sistem de operare.
#daca sunt mai multe optiunea este ignorata
#optiunea precizeaza cat timp asteapta grub inainte sa incarce sistemul
GRUB_HIDDEN_TIMEOUT=0
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.

#precizeaza sistemul de operare default in care va buta.
#reprezinta ordinea de afisare in meniu, iar numerotarea incepe de la zero
GRUB_DEFAULT=0

#optiunea este valabila doar daca exista un singur sistem de operare.
#daca sunt mai multe optiunea este ignorata
#optiunea precizeaza cat timp asteapta grub inainte sa incarce sistemul
GRUB_HIDDEN_TIMEOUT=0

GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_HIDDEN_TIMEOUT_QUIET=true

#in cazul mai multor sisteme de operare este indicat timpul (in secunde)
# in care este afisat meniul inainte de butarea in sistemul default
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_LINUX_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"


3. fisierele din directorul /etc/grub.d
Acestea sunt editabile de catre user (root), iar pe baza lor se genereaza /boot/grub/grub.cfg (in urma
rularii comenziiupdate-grub).

In comparatie cu Grub1, Grub2 detecteaza automat sistemele de operare instalate si actualizeaza
corespunzator/boot/grub/grub.cfg

Fisierele importante din acest director sunt:
- 10_linux -> detecteaza kernel linux;
- 30_os-prober -> cauta automat sisteme de operare Linux si Windows instalate si
actualizeaza /boot/grub/grub.cfg;
- 40_custom -> fisier care se editeaza de catre user cu sistemele de operare pe care dorim sa le butam. In
acest fisier se adauga sistemele Windows, Solaris etc daca nu dorim detectarea lor automata;

In comparatie cu Grub Legacy, Grub2 incepe numerotarea partitiilor de pe un hard disk de la 1 in loc de 0.
Diskurile se numeroteaza in continuare de la zero.

Exemplu: (hd0,1) reprezinta prima partitie de pe primul hard disk, iar (hd1,3) reprezinta a 3-a partitie de
pe al doilea hard disk.

Exemplu: 40_custom in cazul in care se doreste configurarea Grub2 sa buteze un sistem Windows care se
gaseste pe prima partitie de pe primul hard disk.

menuentry "Windows XP SP3" {
set root=(hd0,1)
chainloader +1
}
In cazul in care adaugam manual in 40_custom un sistem de operare, acesta poate fi identificat si automat
astfel avem in lista meniu acelasi sistem de 2 ori. Daca nu dorim sa mai se detecteze automat sisteme de
operare se poate sterge fisierul 30_os-prober sau i se poate lua dreptul de executie (chmod -x 30_os-
prober).
Nota

De cele mai multe ori reconfigurarea GRUB-ului (ex: dupa instalarea unui noi sistem de operare) are
loc automat prin rularea comenzii upate-grub de catre userul root.
Resurse
GRUB
GRUB2
The GRUB2 Guide












1.4 Instalare
Instalare
Instalarea unui sistem de operare Linux modern decurge asemanator cu instalarea sistemului Windows.
Installer-ul recunoaste componentele hardware, instaleaza drivere pentru acestea, partitioneaza hard disk-
ul, creaza utilizatori, configureaza reteaua etc. La sfarsit avem un sistem de operare Linux perfect
functional.
Nota

In comparatie cu Windows, o distributie Linux contine aproape toate programele necesare
utilizatorului. Acestea sunt incluse pe DVD-ul sau CD-urile de instalare, iar daca sunt alese de
utilizator sunt instalate o data cu sistemul de operare. La final vom avea acces la majoritatea
programelor necesare precum: editoare de text, playere video, mp3 player, program de copiere CD-
uri, program de Backup, client de E-mail, Browser, client de messenger etc.
Pentru o echivalenta a programelor Windows-Linux cititi sectiunea capitolului "Mediul Grafic" a
acestui curs numita"Programe Desktop".


Aspecte care trebuie avute in vedere inaintea inceperii instalarii unui sistem de operare Linux:

1. Linux are nevoie de propria partitie pe care sa se instaleze. Aceasta poate fi creata anterior din Windows
folosind un program precum Partition Magic sau in timpul instalarii Linux. Dimensiunea partitiei se
recomanda sa fie de minim 10 GB pentru o folosire normala a sistemului Linux. In cazul in care aceasta se
creaza din Windows poate sa fie formatata cu orice sistem de fisiere (fat, ntfs etc), iar in timpul instalarii
Linux aceasta trebuie formatata cu un sistem de fisiere specific precum ext3/ext4 sau reiserfs.
2. Pentru performante crescute, Linux necesita o partitie speciala de tip swap. Se recomanda ca
dimensiunea partitiei sa fie mai mare decat dimensiunea memoriei RAM. Partitia de swap trebuie creata
anterior din Windows sau in timpul instalarii Linux. Se va formata ca swap in timpul instalarii. Partitia de
swap NU este obligatorie.
3. Dupa downloadul fisierului ISO si inainte de copierea acestuia pe un CD/DVD si instalare, se recomanda
verificarea hash-ului acestuia folosind md5sum sau sha1sum.
Hash-ul este un rezumat criptografic unic pentru fiecare fisier (nu exista 2 fisiere cu acelasi hash). Fiecare
fisier are mereu acelasi hash (daca dorim sa calculam hash-ul de mai multe ori). Astfel se compara hash-ul
calculat local cu hash-ul de pe site-ul producatorului. In cazul in care acestea sunt egale putem trage 2
concluzii: fisierul a fost downloadat fara erori (este integru) si a fost nemodificat fata de versiunea originala
de pe site-ul producatorului. In Linux exista comenzile md5sum si sha1sum pentru calcul de hash-uri, iar
in Windows trebuie instalate. Detalii.
Tutorial video







1.5

Console/terminale virtuale
Console/terminale virtuale
In Linux si Unix exista conceptul de Consola Virtuala si Terminal Virtual sau Terminal Text.

Considerente istorice
Initial se folosea un singur calculator de tip mainframe sau similar la care se conectau mai multi useri
simultan folosind fiecare o consola. O consola era reprezentata printr-un ansamblu de tastatura si monitor.

Linux pune la dispozitia utilizatorului 7 console virtuale (logice) care pot fi accesate folosind combinatia de
taste CTRL+ALT+F1 pt consola 1, CTRL+ALT+F2 pentru consola 2 etc.

In consola 7 este pornit mediul grafic.
Nota

Fizic, cele 7 console virtuale sunt reprezentate prin fisierele /dev/tty1-7, iar terminalele virtuale sunt
reprezentate prin fisierele /dev/pts*
Fisierul /etc/securetty contine pe fiecare linie locatiile de unde userul root are voie sa se logheze

Terminal windows, terminal emulator sau terminal virtual reprezinta o consola pornita din modul
grafic.

Un terminal virtual se porneste in Ubuntu (Gnome): Start->Accessories->Terminal

In momentul in care deschidem un terminal virtual porneste shell-ul default al sistemului (Bash) care
asteapta rularea de comenzi.
Toate comenzile se scriu in Linux intr-un terminal virtual (sau consola virtuala).

Resurse
Starting a terminal (in Unity, Gnome, Kde sau Xfce)











1.6 Linux rescue
Linux este un sistem de operare bazat pe comenzi.
Comenzile sunt interpretate din punct de vedere al sintaxei de catre Shell (o componenta importanta a
sistemului) si transmise kernelului spre executie.
Comenzile se executa intr-un terminal virtual sau consola virtuala. Pentru a deschide un terminal in
Ubuntu: Start->Accessories->Terminal

De asemenea in Linux exista 2 categorii de useri:
1. userii neprivilegiati (toti inafara de root)
2. un singur user privilegiat numit root

Userii neprivilegiati nu au nicio permisiune in sistem, de accea orice comanda care presupune modificari in
sistem trebuie rulata de catre root. Ex: modificare IP, instalare programe, update programe, practic orice
modificare.

Pentru a se rula comenzi ca root exista 2 posibilitati:
1. "Devenim" root temporar ruland comanda su si introducand parola de root. Toate comenzile ulterioare
(pana la logout) vor fi executate de catre root
2. Fiecare comanda este rulata de catre un user neprivilegiat dar prefixata de comanda sudo.
Exemplu: in loc sa se ruleze comanda passwd root care modifica/seteaza parola lui root se ruleaza sudo
passwd root. In acest caz este ceruta parola userului neprivilegiat care ruleaza comanda sudo. Aceasta din
urma pleaca cu drepturi de root.

Nota

1. In Ubuntu initial dupa instalare, userul root nu are setata parola si nu se poate loga. Pentru a folosi
userul root in mod direct, trebuie setata parola si anume se ruleaza: sudo passwd root. Ulterior
punem "deveni" root ruland comanda su ca user neprivilegiat

2. Userii care pot rula comenzi prefixate cu sudo sunt cei care fac parte din grupul sudo (pentru
Ubuntu 12.04 sau mai nou) sau grupul admin (pentru distributii anterioare versiunii 12.04 dar si
12.04 pentru compatibilitate). Initial este doar userul creat la momentul instalarii.

3. Distributiile de Linux bazate pe Debian precum Ubuntu sunt orientate foarte mult in directia folosirii
lui sudo. Celelalte distributii precum si Unix folosesc mai mult varianta de devenire temporara root.
Aceasta este si varianta considerata clasica si este folosita de multe ori si in exemplele acestui curs.
Diferentele dintre cele 2 metode nu sunt foarte mari si tin mai multe de preferintele fiecarui
administrator.


Notiunile despre console, comenzi, shell-uri si useri vor fi mult detaliate in capitolele urmatoare.












1.6.1 Refacerea configuratiei de boot


Refacerea configuratiei de boot
Exista foarte multe cazuri in care sistemul de operare nu mai buteaza din cauza unei erori, cand am
"pierdut" parola de root sau cand vrem sa rescriem Grub-ul pe MBR pentru butarea in mai multe sisteme.
Dupa instalarea Windows (Linux fiind deja instalat) MBR-ul este suprascris de Windows astfel incat nu vom
mai putea alege sistemul de operare in care sa butam sau sa intram in Linux.
Nota

CD-ul de rescue poate sa fie primul CD dintre CD-urile de instalare, un CD special in cazul anumitor
distributii sau DVD-ul de instalare.


Etapele sunt urmatoarele (in cazul in care folosim CD-ul de instalare Ubuntu - similar pentru alte distributii):
1. Butam folosind CD-ul de instalare
2. Alegem optiunea de Live CD sau "Try Ubuntu"
3. Dupa butare deschidem un terminal si "devenim" user privilegiat (root) ruland comanda: sudo su
Toate operatiile urmatoare pana la restartare se realizeaza de userul root.
4. Montam in /mnt partitia pe care se gaseste sistemul Linux caruia ii facem rescue (cel in care nu mai
putem intra datorita instalarii Windows sau defectarii Grub-ului de pe MBR). Pentru a o identifica putem
rula fdisk -l. Presupune ca aceasta este/dev/sda1
mount /dev/sda1 /mnt
5. Se instaleaza Grub cu vechea configuratie pe MBR prin comanda grub-install --root-directory=/mnt
/dev/sda
6. Se restarteaza sistemul (comanda reboot) urmand sa apara meniul GRUB. In cazul in care Windows a
fost instalat dupa Linux, in acest moment nu vom mai putea intra in Windows. Trebuie sa ne logam in Linux
si ca root sa rulam: update-grub
Nota

/dev/sda se inlocuieste cu fisierul care reprezinta Hard Disk-ul pe care se instaleaza Grub. Grub se
instaleaza pe MBR adica pe primul sector al hard dikului (Ex: sda) si nu pe o anumita partitie (Ex:
sda1). Directorul in care se monteaza partitia (in exemplu de mai sus /mnt) poate fi inlocuit cu orice
alt director existent.








1.6.2 Recuperarea parolei de root

Recuperarea parolei de root
Exista cazuri in care parola userului root a fost uitata, schimbata accidental sau in mod intentionat de o alta
persoana care avea acces la contul de root astfel incat nu mai ne putem loga ca root in sistem.
Important
Orice sarcina administrativa din Linux poate fi realizata DOAR de userul root deci accesul la contul root este
obligatoriu. In Linux orice modificare a unei setari a sistemului de operare se realizeaza modificand un fisier
text aferent numit fisier de configurare. Aceste fisiere se gasesc in directorul /etc
Un user normal sau neprivilegiat are permisiunea de a modifica DOAR fisierele si directoarele din propriul
Home Directory.


Nota

Recuperarea parolei de root poate avea loc DOAR daca avem acces fizic la calculator !!. Vechea parola
de root NU poate fi gasita ci schimbata.


Butarea sistemului folosind CD-ul de instalare si alegand LiveCD. De asemenea se poate buta cu
orice LiveCD precum Knoppix.
Dupa butare se monteaza partitia pe care se gaseste sistemul de fisiere "/" si care contine
fisierele /etc/passwd (contine userii din sistem inclusiv root) si /etc/shadow (contine hash-ul parolei
uitate). Se ruleaza: mount /dev/sda1 /mnt
Nota: sda1 se inlocuieste corespunzator, iar in locul lui /mnt se poate folosi orice alt director.

In continuare exista 3 posibilitati (prima este mereu disponibila si cea mai usoara):

a) Se editeaza folosind editorul preferat (Exemplu VI) fisierul /etc/shadow si se sterge hash-ul parolei lui
root. Dupa restartarea calculatorului ne putem loga ca root fara a mai fi necesara parola. In acest caz dupa
logarea ca root fara parola trebuie setata o noua parola lui root prin comanda: passwd root
b) Se inlocuieste hash-ului parolei lui root cu hash-ul unei parole cunoscute a unui cont oarecare. Se
logheaza ca root folosind acea parola;
c) Se monteaza sistemul de fisiere pe care se gaseste sistemul Linux in root ( /) si se foloseste
comanda passwd root;
Exemplu

Presupunem ca Linux s-a instalat pe prima partitie primara de pe primul hard disk SATA
( /dev/sda1)

0. Butare cu un LiveCD.
1. mount /dev/sda1 /mnt
2. vi /mnt/etc/shadow
Se sterg cu mare atentie toate caracterele care reprezinta hash-ul parolei intre cele 2 doua puncte
(:).
Prima linie trebuie sa arate: root::14915:0:99999:7:::
3. Restartare si logare ca root fara parola.
4. Modificare parola root folosind comanda:
passwd root

2.

Mediul Grafic

2.1
Sisteme grafice

Sisteme grafice
Un sistem grafic (graphical environment/desktop environment) consta in icoane, ferestre, toolbars, foldere,
panels, widgets si influenteaza modul de lucru si experienta al utilizatorului.

In cazul unui server Unix/Linux administrarea si configurarea acestuia se realizeaza folsind CLI (command
line interface) sau linia de comanda pentru un control total.

Chiar daca anumite aspecte ale sistemului pot fi configurate grafic (daca exista instalat un sistem grafic)
cunosterea in profunzime a CLI este obligatorie pentru orice administrator performant.
Nota

Pe multe servere dedicate mediul grafic nu este instalat (Ex: Ubuntu Server) astfel incat administrarea
sistemului are loc doar prin consola, de cele mai multe ori remote folsoind ssh.


Existe mai multe Desktop Environments (DE), printre cele mai cunoscute si apreciate fiind:

1. Unity
Acest DE modern realizat de Canonical Ltd special pentru Ubuntu se bazeaza pe GNOME. Este default
pentru Ubuntu incepand cu versiunea 11.04.
Resursele hardware necesare sunt considerabil mai mari in comparatie cu alte DE.

Cerinte hardware: CPU 1GHz, RAM 1 GB


2. Gnome (GNU Network Object Model Environment)
A aparut in 1997 ca o alternativa la KDE. Este DE default pentru multe distributii printre care: Ubuntu (pana
la versiunea 11.04), Debian, Mint, Fedora, CentOS, etc.
Exista in prezent doua versiune principale: Gnome 2 si Gnome 3.

Nota

Daca se doreste folosirea Gnome in Ubuntu acesta trebuie instalat: sudo apt-get install gnome-
shell
Trebuie ales apoi din ecranul de login pentru a fi folosit:



3. KDE
Este primul DE complex pentru Linux si este considerat cel mai configurabil si cu cele mai multe optiuni.
Multe destributii folosesc default KDE: Kubuntu, Mandriva, etc.
Nota

Daca se doreste folosirea KDE in Ubuntu acesta trebuie instalat: sudo apt-get install kubuntu-
desktop
Trebuie ales apoi din ecranul de login pentru a fi folosit.
Kubuntu este o distributie bazata default pe Kde.


4. Xfce
Reprezinta o alternativa la Gnome sau Kde. Aceste DE se axeaza pe performanta in loc de feature-uri. Are
un "look" clasic iar resursele consumate sunt minime. Este ideal pentru calculatoarele mai vechi sau pentru
utilizatorii care sunt interesati doar de performanta.
Cerinte hardware: CPU 300 MHz, RAM 192 MB.
Nota

Daca se doreste folosirea Xfce in Ubuntu acesta trebuie instalat: sudo apt-get install xfce4
Trebuie ales apoi din ecranul de login pentru a fi folosit.
Xubuntu este o distributie bazata default pe Xfce.


Resurse
Unity
Gnome
KDE
Xfce
Comparison of X Window System desktop environments
Gnome vs. Kde vs. Xfce









2.1 Sisteme grafice
Programe Desktop
Un sistem de operare Linux modern poate inlocui COMPLET, eficient si fara probleme pentru majoritatea
utilizatorilor un sistem de operare Windows. Veti avea astfel un sistem de operare mult mai stabil, mai sigur,
cu mai multa functionalitate dar si complet gratuit.
Nota

Majoritatea aplicatiilor prezentate se instaleaza automat folosind un manager de pachete precum apt-
get.
Exemplu:
sudo apt-get update
sudo apt-get install wireshark putty gns3
Pentru mai multe detalii despre instalarea de programe cititi sub-capitolul Administrarea pachetelor
software a acestui curs.

In tabelul de mai jos gasiti o mica descriere a celor mai importante programe Desktop pe Linux precum si
programul echivalent din Windows pentru o tranzitie cat mai usoara.
Nr.
Crt.
Program Linux
Echivalent
Windows
Nota
1 LibreOffice MS Office
Suita de program LibreOffice reprezinta o
alternativa eficienta la MS Office. Poate
lucra cu fisiere word, excel, PowerPoint
create cu MS Office. Proiectul LibreOffice
este urmasul lui OpenOffice. LibreOffice
ruleaza inclusiv pe Windows.
2 qtparted, gparted Partition Magic
Program de partitionare, modificare partitii
etc
3 PartImage, PING Norton Ghost
Programe folosite pentru backup sau pentru
clonarea unei partitii. PING este un live CD
extrem de eficient care poate clona orice tip
de partitie (inclusiv NTFS).
4 k3b, brasero Nero
Program pentru scrierea de CD-uri, DVD-uri,
imagini iso etc
5 xmms, amarok, banshee,exaile Winamp
Programe pentru redarea de fisiere mp3 sau
alte fisiere muzicale.
6 mplayer, xine, vlc, totem
Windows Media
Player
Programe folosite pentru vizualizare de filme
in orice format (divx, xvid, wma, dvd etc).
Codec-urile necesare se instaleaza de cele
mai multe ori automat.
7 Krusader Total Commander
Twin File manager cu functionalitate
multipla(client ftp, arhivator/dezarhivator
zip, rar etc)
8
Mozilla Firefox, Google
Chrome, Opera, Lynx - Web Browser
text util pentru lucrul in consola
Internet Explorer Web Browser
9 Mozilla Thunderbird Outlook Express Client de e-mail
10 gaim/pidgin
Yahoo
Messanger, MSN,
ICQ
Client de chat
11 gedit, kate
Notepad,
Wordpad
Editor text
12 xchm, gnochm

Vizualizator pentru fisierele chm
13 clamav, clamwin
Norton Antivirus,
Bit Defender,
AVG, Kaspersky
etc
Antivirus complet free. ClamAV este
varianta care ruleaza pe Windows
14 netfilter/iptables
Windows
Firewall, Norton
Firewall, Kerio
etc
Firewall extrem de eficient folosit cu succes
pe servere Enterprise. Ofera facilitati de
rutare/nat, modificare a pachetelor(mangle)
etc. Reprezinta SINGURA solutie tip firewall
disponibila pe Linux
15 gtkpod itunes Program pentru ipod
16 GIMP Adobe Photoshop Editor de imagini
17 Ktorrent, Transmission
BitTorrent,
uTorrent
Torrent client
18 evince Acrobat Reader PDF Viewer
19 gftp Ftp Commander

20 Lame, Grip, CD Paranoia

21 Quanta Plus, BlueFish
HomeSite, Adobe
- Dreamweaver
IDE (Integrated development environment)
folosit pentru dezvoltarea de aplicatii web
(html, javascript, php, css etc)


Alte programe utile, recomandate a fi instalate pe Linux sunt:
GNS3 - Graphical Network Simulator - Emulator pentru echipamente Cisco (Routers, Switches, ASA)
Password Gorilla - Password Manager
Putty - telnet/ssh client
Calibre - E-Book (mobi, epub etc) Manager
recordmydesktop - Desktop Recorder
Wireshark - Sniffer si analizator de pachete
Audacity - Audio Editor & Recorder
PdfEdit - PDF Editor
Nota

Multe programe folosite pe Windows ruleaza de asemenea si pe Linux. Dintre acestea enumeram:
Acrobat Reader - PDF Viewer
Google Earth
Eclipse, NetBeans - IDE pentru aplicatii Java
VMware, VMware Player, VirtualBox - Virtualizare

Pentru rularea de programe native Windows pe Linux cum ar fi jocuri, Adobe Photoshop, Visual Studio
etc se foloseste WINE.

Pentru a monta partitii de Linux precum ext3 pe Windows se poate folosi EXT2ifs


Resurse
Best Free Software for Linux
Top 100 of the Best (Useful) OpenSource Applications

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