-
Notifications
You must be signed in to change notification settings - Fork 2
ArchLinux
-
De ce ArchLinux? E o distribuţie ideală pentru studiu. Când "înveţi Arch", înveţi Linux "curat", având foarte puţin de-a face cu lucruri specifice ArchLinux. Un alt avantaj este faptul că, în caz de erori, vezi mesajele de eroare, respectiv că înveţi unde să te uiţi ca să depanezi problema - deoarece instalezi şi configurezi fiecare componentă individual
-
Acolo unde vezi astfel de instrucţiuni, înseamnă că trebuie să introduci comanda ca userul
root. De exemplu, următoarea linie înseamnă să introduciuname -aşi să apeşi enter. Scrisul cu litere mici/mari contează:# uname -a -
Acolo unde vezi o comandă precedată de
$şi nu de#, înseamnă că trebuie să o execuţi în calitate de utilizator normal (mai jos vei învăţa cum să creezi un cont de utilizator normal)
- descarcă ultima imagine .iso a lui archlinux
- crează un nou sistem de operare în VirtualBox, cerinţe minime: RAM: 512Mb, Hard Disk: 8Gb
- boot up
- ai în faţa ta un shell, un program care aşteaptă să îi dai comenzi, şi eşti
autentificat cu utilizatorul
root. Instalarea sistemului o vei face cu acest cont de administrator, însă în timpul folosirii Linux, este imperativ să foloseşti root doar în scopuri administrative.
Dacă foloseşti o tastatură cu un layout fizic diferit de cel englezesc:
`# loadkeys <layout>`
De exemplu:
`# loadkeys de-latin1-nodeadkeys`
Pentru un font mai uşor de citit:
`# setfont Lat2-Terminus16`
În primul rând, trebuie să partiţionăm hard diskul (fie el şi virtual, sistemul
de operare nu ştie asta). Pentru asta, folosim un program numit cgdisk:
`# cgdisk /dev/sda`
/dev/sda este un device, reprezintă întregul nostru hard disk. Ştim că este
primul conectat la calculator (dacă ar fi un calculator real, ar fi conectat
prin cablul "master SATA") deoarece are litera a. Device-ul "slave SATA" ar
fi avut numele /dev/sdb.
Dacă apare o avertizare despre "Non-GPT or damaged disk detected", apasă o tastă - este normal să avem o astfel de avertizare, din moment ce n-am organizat încă în niciun fel hard disk-ul.
În TUI-ul prezentat (text user interface), poţi naviga cu săgeţile. Alege
opţiunea New pentru a crea o nouă partiţie. Acceptă primul sector standard
(2048) iar la mărime, introdu 6600M. Pentru tipul partiţiei, acceptă valoarea
implicită 8300 prin simpla apăsare a Enter. Ca nume al partiţiei, introdu
root. Ne vom referi deci la această partiţie ca fiind root partition.
Navigând cu săgeţile, activează Free Space de 1.6G rămaşi liberi şi crează
o nouă partiţie de mărime 1G numită home, urmând aceeaşi paşi ca pentru
"root partition".
În spaţiul rămas liber la sfârşitul discului, crează o nouă partiţie de tipul
8200 ("Linux swap") numită "swap".
Într-un final, activează spaţiul liber de 1007.0KiB de la începutul discului,
şi crează aici o nouă partiţie de tipul EF02 numită gpt, acceptând valorile
implicite pentru start şi mărime.
La sfârşitul acestor operaţiuni, discul va fi partiţionat astfel
Alege operaţiunea Write şi confirmă cu yes pentru a scrie tabela de partiţii
pe hard disk, apoi Quit.
Cu comanda # lsblk /dev/sda (lsblk = "list block") vei putea vedea hard disk-ul
/dev/sda, şi într-o structură arborescentă, partiţiile din el. Orientează-te
după dimensiunile acestora pentru a decide care partiţie dintre sda1, sda2,
sda3, sda4 cărei partiţii corespunde dintre root, home, swap, gpt.
În cazul meu, lsblk îmi spune că:
-
rooteste/dev/sda1 -
homeeste/dev/sda2 -
swapeste/dev/sda3 -
gpteste/dev/sda4
Atenţie: Ordinea nu este neapărat relevantă, trebuie să te orientezi după dimensiunile fiecărei partiţii.
Acum am creat partiţiile, însă o partiţie este doar o împărţire a hard disk-ului.
Pentru a putea folosi o partiţie, trebuie să o formatăm cu un filesystem. Un filesystem este ca o bază de date, şi în funcţie de filesystem-ul folosit, putem avea anumite facilităţi. Majoritatea filesystem-urilor permit organizarea datelor în fişiere şi directoare, altele conţin şi drepturi de acces asupra fişierelor şi directoarelor. Altele au anumite particularităţi ce ţin de performanţă. Există chiar şi filesystem-uri care permit accesul transparent la fişiere prin reţea, prin internet, de ca şi cum acele fişiere ar fi salvate local.
Deci hai să formatăm partiţiile "root" şi "home" cu filesystem-ul ext4. De
exemplu:
`# mkfs.ext4 -L root /dev/sda1`
`# mkfs.ext4 -L home /dev/sda2`
Atenţie: Foloseşte numerele corespunzătoare partiţiilor root şi home,
care nu sunt neapărat 1 şi 2 ca în exemplul de mai sus.
Pentru partiţia swap, foloseşte ceva similar, adaptând partiţia (aici: 3):
`# mkswap -L swap /dev/sda3`
Atunci când un sistem de operare nu mai are memorie RAM suficientă, el poate alege să mute procese sau părţi din procese care nu rulează din RAM pe hard disk, mai exact pe această partiţie "swap". Această "memorie de lucru" se mai numeşte şi "memorie virtuală". Trebuie să şi activăm memoria virtuală pentru a face uz de ea:
`# swapon /dev/sda3`
Putem chiar să vedem cât RAM este folosit, în megabytes (parametrul -m):
`# free -m`
Am creat partiţiile şi le-am formatat cu un filesystem, dar ceea ce încă n-am făcut a fost "montarea" lor (en. mounting). Pentru a face asta, avem nevoie de un "mount point", un director deja existent.
În linux, nu există "My computer", în care se află toate partiţiile, care sunt limitate la numărul de litere din alfabet, aşa cum e sub Windows. În linux, avem un "root directory" care este mountpoint-ul partiţiei root.
Deci hai să montăm partiţia root sub un director oarecare, dar vom alege pentru
moment un director deja existent: /mnt:
`# mount /dev/sda1 /mnt`
Atenţie: Sper că nu mai e nevoie să îţi aduc aminte că în loc de sda1
trebuie să foloseşti partiţia "root".
După instalarea sistemului şi după reboot de pe hard disk (nu de pe CD, cum
am făcut momentan), partiţia root va fi montată în directorul "/". Noi nu putem
să montăm deocamdată partiţia de pe hard disk în /, deoarece în / este montat
deja un sistem - şi anume cel live, de pe CD, pe care se află programele folosite,
gen "mount", "lsblk", "mkswap", ş.a.m.d.
Hai să vedem ce se află în directorul /mnt, viitorul "root" al sistemului:
`# ls /mnt`
Avem un singur director în el, lost+found, care a fost creat de mkfs.ext4.
După instalarea sistemului, pe partiţia root se vor afla directoare similare cu cele aflate în directorul root al sistemului live de pe CD:
`# ls /` (comanda "ls" vine de la "list")
Ce observăm aici? Observăm că avem un subdirector home, care pare să se potrivească
foarte bine cu partiţia noastră "home". Directorul "home" conţine câte un
subdirector pentru fiecare utilizator al sistemului, unde aceştia îşi pot salva
fişierele.
Hai să creăm un "home" şi în viitorul root al sistemului - însă pentru asta trebuie să creăm un director gol, un mountpoint, pentru această partiţie:
`# mkdir /mnt/home` (comanda "mkdir" vine de la "make directory")
Şi să montăm device-ul corespunzător partiţiei "home" în directorul nou creat
"/mnt/home". Înainte de aceasta, putem observa cu ls /mnt/home că directorul
este într-adevăr gol. Apoi:
`# mount /dev/sda2 /mnt/home`
Dacă listăm din nou conţinutul directorului /mnt/home, observăm că şi acesta
conţine un director lost+found, semn că şi acest director este mountpoint-ul
unei partiţii.
Pentru a ne convinge de acest lucru, putem lista toate mountpoint-urile cu comanda:
`# mount`
care ne va afişa (cel mai probabil pe ultimele două rânduri) toate mountpoint-urile, inclusiv cele ale sistemului live, de pe CD.
Acum hai să instalăm programele din grupurile "base" si "base-devel":
`# pacstrap /mnt base base-devel`
Instalarea lor se va face, după cum se vede, în viitorul root al sistemului.
După descărcarea de pe internet şi instalarea programelor, care este practic dezarhivarea unor arhive cu programe binare, ne putem forma o imagine despre ce vom avea pe hard disk:
`# ls /mnt`
Cu puţin spirit de observaţie, poţi vedea că structura de directoare este izbitor de asemănătoare cu cea de pe root-ul sistemului live pe care-l foloseşti momentan:
`# ls /`
Acum este momentul potrivit să generăm lista de partiţii şi să o salvăm în
fişierul /etc/fstab din viitorul root:
`# genfstab -U -p /mnt >> /mnt/etc/fstab`
genfstab este o comandă disponibilă doar în sistemul live. -U este un parametru
de sine stătător care îi spune comenzii să nu identifice partiţiile folosind
numele device-urilor precum /dev/sda1, ci folosind nişte identificatori
unici numiţi UUID. -p este un alt parametru care are ca efect sărirea peste
mountpoint-urile irelevante pentru viitorul sistem instalat (aminteşte-ţi de
faptul că comanda mount a listat mult mai multe mountpoint-uri decât ultimele
două, /dev/sda1 şi /dev/sda2, care sunt de fapt singurele relevante).
Următorul parametru, /mnt, îi spune comenzii să genereze directoare ca
mountpoint-uri relative la /mnt (din moment ce directorul /mnt va deveni
directorul / după reboot în noul sistem).
Cu operatorul >> redirecţionăm outputul comenzii, adăugându-l la fişierul
/mnt/etc/fstab. Dacă am fi folosit o singură săgeată, >, am fi suprascris
conţinutul deja existent în acel fişier.
Încearcă de exemplu aceeaşi comandă, fără redirecţionare:
`# genfstab -U -p /mnt`
Numele fişierului "fstab" vine de la "filesystem table" şi va fi folosit în procedura de iniţializare a sistemului pentru a "monta" partiţiile corecte în directoarele (mountpoint-urile) corecte.
În directorul /etc se află toate setările sistemului, în fişiere text simple,
curate, ale căror scopuri le vei învăţa pe măsură ce înveţi să administrezi
sistemul. Este un fel de "registry" pentru Linux, doar că lucrurile sunt mai
transparente şi mai uşor de editat.
Hai să vizualizăm acest fişier cu noul conţinut. Facem asta cu un editor text,
de exemplu vi, căruia îi pasăm ca prim parametru calea către fişier:
`# vi /mnt/etc/fstab`
Vi este un editor modal. Cursorul este vizibil în gri. "Modal" înseamnă că
tastele pe care le apeşi depind de mode-ul în care se află editorul. Momentan
te afli în normal mode, în care tasta j mută cursorul în jos, iar k îl
mută în sus.
Nu o să prezint decât comenzile vi atunci când va fi nevoie de editarea unui
fişier, dar ţin să te atenţionez: vi ţi se va pare greoi dacă nu eşti stăpân
pe tastatură - e gândit pentru touch typist, adică oameni care folosesc
toate cele 10 degete pentru a tasta fără a privi tastatura. Pe deasupra,
a folosi un editor precum vim implică efort adiţional la început, însă din
proprie experienţă pot spune că este un editor foarte puternic şi uşor de
folosit, după ce i-ai înţeles modul de funcţionare.
Pentru a ieşi din editor, intră în command mode apăsând tasta :, apoi
dă-i comanda q de la quit şi apasă Enter (carriage return). Altfel spus,
dă-i comanda :q<CR>.
Acum că avem toate piesele din puzzle, este momentul să configurăm viitorul
sistem - care e deja instalat (comanda pacstrap a făcut o mare parte din
această muncă, apelâng în fundal package managerul distribuţiei ArchLinux
numit pacman).
Să ne amintim faptul că directorul /mnt este la fel de root directory ca
şi directorul root "real", al sistemului live, /. Acum, deoarece avem instalate
toate programele şi fişierele de configurare (în directorul /etc, după cum
ai reţinut), putem schimba acest "root directory" din cel actual în cel nou,
cu sistemul de pe hard disk. Procedura se numeşte "change root" şi în mod normal
se face cu comanda chroot, însă noi o vom face cu un program special gândit
pentru archlinux numit arch-chroot:
`# arch-chroot /mnt`
Observi că promptul s-a schimbat, acum vezi doar "sh" (de la "shell"), versiunea,
şi indicatorul faptului că foloseşti sistemul ca utilizatorul root, prin
simbolul # de după versiune. Probabil eşti confuz acum, însă utilizatorul
"root" şi "root directory" sunt lucruri diferite. Directorul root este mereu
/ (şi noi l-am "chrooted"), iar numele utilizatorului de administrare cu
drepturi depline este "root" (user pe care n-ar trebui să-l folosim decât în
scopuri administrative, ceea ce vom şi face în ceea ce urmează - vom configura
sistemul).
Ca să ne convingem că suntem logaţi ca "root", întrebăm sistemul "who am I?":
`# whoami`
Atenţie: sistemul pe care-l foloseşti acum, împreună cu programele folosite,
este exact sistemul pe care îl vei folosi după reboot. Ca să ne convingem de
acest fapt, hai să creăm un fişier gol în directorul root / (pe care îl vom
şterge ulterior, după reboot):
`# cd /` (numele comenzii vine de la "change directory")
Acum ne aflăm în directorul /. Pentru a crea un fişier text gol, putem fie
să deschidem editorul vi şi apoi să salvăm fişierul, fie să folosim o comandă
gândită exact în acest scop: crearea de fişiere goale:
`# touch am_trecut_pe_aici`
Atenţie: în Linux, fişierele nu au nevoie neapărată de o extensie. Ai fi putut
adăuga extensia .txt la nume, dar poţi edita fişierul fără probleme şi aşa.
Înainte de a trece la configurarea sistemului, hai să învăţăm să edităm fişiere
text (va trebui să ştim asta pentru a configura sistemul, din moment ce fişierele
de configurare din directorul /etc sunt fişiere text).
În primul rând, hai să adăugăm nişte text în acest fişier, direct din shell,
lucru pe care îl ştim deja (redirecţionare cu ">>" respectiv ">"). Pentru asta,
avem nevoie mai întâi de o comandă care generează ce output dorim noi: comanda
echo. Încearcă:
`# echo "hello world"`
Încearcă să redirecţionezi acest output în fişierul nostru de test:
`# echo "hello world" >> am_trecut_pe_aici`
Indiciu: e suficient să tastezi "am" şi să apeşi tasta TAB pentru autocompletion.
Pentru a ne face viaţa mai uşoară cu editarea, hai să instalăm mai întâi "vi iMproved", prescurtat "vim":
`# pacman -S vim`
Hai să vedem ce se află în fişier cu editorul vim:
`# vim am_trecut_pe_aici`
Pentru a edita, trebuie să intrăm în insert mode, apăsând tasta i. Apasă câteva
litere pentru a le introduce în fişier. Atenţie: săgeţile nu vor funcţiona, pentru
mişcări în fişier trebuie să intri înapoi din normal mode, şi să foloseşti
tastele j respectiv k pentru a te muta în sus/jos cu o linie, şi tastele
h respectiv l pentru a te mişca la stânga/dreapta cu cursorul. Pentru a ieşi
din insert mode, trebuie să apeşi o dată tasta ESC.
Ştiu că pare obositor şi chiar este obositor la început, dar după ce înveţi să foloseşti acest editor, vei vedea că poţi combina comenzi pentru a edita foarte rapid fişiere. Ca să te conving de puterea acestui editor, uite o demonstraţie: http://www.youtube.com/watch?v=q93dmBmtvXY (ai răbdare până spre sfârşit, ultimele 10 secunde sunt cele mai impresionante).
Pentru a te mişca în sus şi în jos, ai nevoie de mai multe linii, dar fişierul
curent conţine doar o singură linie. O altă metodă de a intra în insert mode
este apăsarea tastei o, care va crea o linie nouă goală sub cea actuală, sau
O pentru a crea o linie nouă (şi intrarea în insert mode) deasupra liniei
actuale.
Apasă ESC pentru a te asigura că eşti în normal mode, şi apoi o pentru a adăuga
text. Adaugă mai multe linii de text în fişier. Când ai terminat de editat, apasă
ESC pentru a intra în normal mode, şi : pentru a intra în command mode. Dă-i
comanda :w<CR> pentru a scris fişierul pe disk, apoi :q pentru a ieşi din editor.
Poţi combina aceste două comenzi: :wq<CR>.
Acum că ştim să edităm fişiere text, hai să edităm câteva fişiere de configurare.
Schimbă directorul de lucru în /etc:
`# cd /etc` ("cd" vine de la "change directory")
Editează fişierul /etc/hostname. Suntem deja în directorul /etc
(comanda pwd - "print working directory" ne confirmă asta), deci e suficient:
`# vim hostname`
Intră în insert mode apăsând tasta i şi introdu numele calculatorului - un
cuvânt, felul în care va fi cunoscut acest calculator. Google "how to choose
a hostname" pentru idei :-)
Intră înapoi în normal mode apăsând ESC, şi apoi în command mode, salvează
fişierul şi ieşi: :wq.
La ieşire, vim îţi va spune că a creat un nou fişier. Este normal ca, dacă un fişier de configurare necesită editări şi acesta nu există încă, să îl creezi pur şi simplu.
Alt fişier care trebuie să existe este /etc/locale.gen, cu următoarea linie
necomentată:
en_US.UTF-8 UTF-8
Navighează în acel fişier cu j în normal mode, şi când ai găsit această linie,
asigură-te că cursorul e poziţionat pe primul caracter # (care denotă că
restul liniei e un comentariu) şi apasă o dată tasta x pentru a şterge acel
caracter. Apoi :wq<CR> aşa cum eşti obişnuit.
"locale" vine de la "localizare". "Localizarea" unui program (lucru pe care îl vei face şi tu în programele PHP) înseamnă afişarea formatelor numerelor, banilor, dăţilor, şi alte elemente, într-un format specific limbii utilizatorului. Noi vom folosi localizarea americană ("US") deoarece şi felul în care vei scrie codul PHP este înrudit cu aceasta - americanii folosesc punct în numere cu virgulă, de exemplu, şi virgulă pentru a grupa câte trei cifre în numere mari.
Pentru a genera localizarea bibliotecilor, mai trebuie să rulezi şi comanda:
`# locale-gen`
Un alt fişier este /etc/locale.conf:
`# vim locale.conf`
Intră în insert mode cu i şi introdu conţinutul:
LANG=en_US.UTF-8
Apoi apasă <ESC> pentru normal mode, şi :wq<CR> pentru a salva şi a ieşi
din editor.
Fişierul /etc/vconsole.conf cu următorul conţinut:
KEYMAP=us
FONT=Lat2-Terminus16
KEYMAP determină folosirea unui layout al tastaturii, dacă ai încărcat unul
la început cu loadkeys, aici trebuie să pui din nou setarea pentru a te
asigura că setarea este păstrată la fiecare boot-up. Fontul este cel pe care
l-ai setat cu comanda setfont.
Sistemul de operare mai trebuie să ştie şi fusul orar folosit. Pentru asta,
vom crea un symlink în /etc/localtime către fişierul care conţine informaţii
precum latitudinea şi longitudinea:
`# ln -s /usr/share/zoneinfo/Europe/Bucharest /etc/localtimel`
Nu uita că pe măsură ce introduci "zo", "Eu", poţi apăsa TAB pentru autocomplete.
Legat de timp, trebuie să mai sincronizezi şi timpul sistemului (care va fi salvat
în /etc/adjtime) cu timpul din BIOS, cu comanda:
`# hwclock --systohc --utc`
UTC este timpul universal, şi cu acesta vei lucra ca programator (de exemplu,
atunci când ai o bază de date pe care trebuie să o distribui în diferite locaţii
de pe planetă pentru performanţă - însă timpii pe care-i salvezi în această
bază de date distribuită trebuie să folosească acelaşi timp, acelaşi fus orar,
pentru a avea o bază de date consistentă).
Într-un final, trebuie să facem ceva management de utilizatori.
Setează parola pentru root, şi asigură-te că n-o vei pierde niciodată:
`# passwd`
Crează un utilizator (eu îl voi numi "flav") pentru uzul comun al sistemului:
`# useradd -m -g users -s /bin/bash flav`
Pentru o listă a descrierii parametrilor, foloseşte:
`# useradd --help`
Dacă outputul nu are loc pe ecran, trece acel output printr-un alt program
(în acest caz programul se numeşte "less", dar poate fi orice alt program), se numeşte
"piping", cu operatorul "pipeline" |, astfel:
`# useradd --help | less`
Pentru a ieşi din less, apasă q.
Setează o parolă pentru utilizatorul nou creat:
`# passwd flav`
Ultimul lucru de care mai avem nevoie este un bootloader - un program care este
încărcat de BIOS-ul calculatorului (chiar dacă e virtual, şi el are un BIOS) şi
care la rândul lui încarcă kernelul sistemului de operare, numit linux.
Unul dintre aceste programe este GRUB, îl instalăm cu package managerul ArchLinux:
`# pacman -S grub-bios`
Confirmă cu "Y" (sau simplu Enter, "Y" este opţiunea implicită, lucru semnalizat prin faptul că e scris cu literă mare, nu litera mică "y"). Pacman va instala şi alte programe de care depinde grub.
Pentru a instala GRUB (care va folosi partiţia gpt pe care am creat-o şi n-am
menţionat-o până acum, şi care nu apare nici în /etc/fstab deoarece nu va
fi folosită de sistemul de operare) introdu comanda:
`# grub-install --target=i386-pc --recheck /dev/sda`
Şi instalează şi localizarea englezească pentru GRUB:
`# cp /usr/share/locale/en\@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo`
Un lucru ne va mai deranja: rezoluţia prea mică. Hai să setăm o rezoluţie acceptabilă.
Pentru aceasta, deschide fişierul /etc/default/grub:
`# vim /etc/default/grub`
Şi intră în search mode cu tasta / apoi caută directiva GRUB_GFXMODE. După
ce vei apăsa <CR>, te vei întoarce în normal mode. În normal mode fiind, poţi
naviga spre dreapta caracter cu caracter cu tasta l, sau poţi înainta un cuvânt
cu tasta w (abv. de la "word"). Poziţionează cursorul (eventual folosind tastele
h respectiv l) pe litera de după simbolul =, adică unde începe valoarea
acestei variabile. Apasă C (Litera mare C) pentru a intra în insert mode,
schimbând tot textul până la sfârşitul liniei, şi introdu valoarea 1024x768x24.
Într-un final, mai trebuie să generăm meniul care va fi prezentat la boot up. Am putea scrie acest fişier manual, dar o putem face automatizat:
`# grub-mkconfig -o /boot/grub/grub.cfg`
Te poţi uita la fişierul /boot/grub/grub.cfg dacă eşti curios, eventual
poţi edita titlurile intrărilor (caută directiva "menuentry").
Acum putem ieşi din mediul "chrooted":
`# exit`
Şi "demontăm" partiţiile montate anterior, în ordinea inversă:
`# umount /mnt/home`
Şi root directory:
`# umount /mnt`
Apoi halt:
`# halt`
Opreşte maşina virtuală şi detaşează .iso-ul de la CD, apoi dă-i drumul din
nou la sistem, de data asta de pe hard disk (va folosi root directory care
a fost montat temporar în sistemul live sub /mnt dar care de acum încolo
va fi montat direct sub /).
Autentifică-te cu utilizatorul de uz comun pe care l-ai creat anterior (mai
ştii parola, nu?), şi ca să te convingi că am operat pe hard disk în tot
acest timp, convinge-te că fişierul /am_trecut_pe_aici există, cu comanda:
`$ cat /am_trecut_pe_aici`
În mod normal, ai şterge acel fişier cu:
`$ rm /am_trecut_pe_aici` ("rm" vine de la "remove")
însă cum nu tu ai creat acel fişier, ci userul "root", nu ai acest drept.
Acum te afli în terminalul 1, prescurtat tty1. Poţi schimba în tty2 apăsând
combinaţia de taste ALT+F2. Acum te poţi autentifica în paralel ca "root" pentru
prima ta misiune de mentenanţă a sistemului: ştergerea acelui fişier care poluează
filesystem-ul:
`# rm /am_trecut_pe_aici`
Atenţie: în Linux nu există "trash bin", un fişier o dată şters cu comanda "rm",
şters rămâne - acesta este unul dintre motive pentru care niciodată nu lucrezi
în linux ca root, poţi strica întregul sistem. Deci schimbă înapoi în tty1 cu
ALT+F1, nu înainte de a ieşi din contul root din tty2 cu comanda:
`# logout`
Pentru un curs Linux, urmează http://www.ee.surrey.ac.uk/Teaching/Unix/
Ceea ce nu avem momentan este o conexiune internet. În linux, astfel de funcţionalităţi sunt puse la dispoziţie de servicii. Avem nevoie de o adresă IP, iar o posibilitate de a obţine o adresă este folosirea serviciului DHCP, prin care îi cerem unui alt calculator, de obicei al ISP-ului, să ne dea o astfel de adresă IP.
Cum noi însă ne aflăm într-o maşină virtuală, rolul ISP-ului este preluat de VirtualBox. Un calculator are mai multe interfeţe pentru internet, de obicei câte una pentru fiecare placă de reţea. Pentru a vedea lista interfeţelor disponibile:
`$ ip -o link`
Una dintre interfeţe va fi numită lo de la loopback - este interfaţa prin care,
dacă trec pachete de date, ele ajung înapoi tot la calculator. Dacă vrei de
exemplu ca un program (un daemon) să îşi ofere serviciile doar local, îl pui
să asculte doar pe această interfaţă - este interfaţa corespunzătoare hostname-ului
"localhost".
Uită-te însă după o a doua interfaţă, pusă la dispoziţie de VirtualBox, şi notează-ţi
numele. Ar trebui să fie ceva de genul enp0s3, şi reţine-i acest nume.
Pentru managementul serviciilor, ArchLinux foloseşte systemd. Unul dintre
programele (comenzile) din suita de programe "systemd" este systemctl - "system
control". Hai să activăm serviciul DHCP pentru interfaţa enp0s3:
`# systemctl enable dhcpcd@enp0s3.service`
Comanda ne spune că a creat un symlink (cu comanda "ln -s"). Asta înseamnă că serviciul va fi pornit la următorul boot up. Însă putem să şi pornim serviciul, fără a restarta sistemul:
`# systemctl start dhcpcd@enp0s3.service`
Acum comanda
`$ ip addr`
ne spune, pe lângă informaţiile afişate anterior precum adresa MAC a dispozitivului, şi adresele IPv4 şi IPv6 pe care ni le-a înmânat VirtualBox.
Putem confirma că avem acces la internet cu comanda:
$ ping google.com
- versionarea $HOME cu git, setarea git
- ssh, agent, sftp, ...
- operarea directă via git pe gistul cu soluţii
- compilarea cărţii
