Tens srv-tramontana arrencat i un cursor parpellejant després d'operador@srv-tramontana:~$. Sense icones, sense finestres, sense menús. Per a algú que ve de Windows o macOS, aquella pantalla pot resultar intimidadora: sembla que l'ordinador espera que sàpigues alguna cosa que ningú no t'ha dit.
Aquesta lliçó desactiva aquesta sensació. Entendràs què és exactament el que estàs mirant: què ha passat en iniciar sessió, què significa cada caràcter del prompt, quina diferència hi ha entre una consola, un terminal i una TTY, i per què el shell és el programa més important de la teva jornada. Després faràs el reconeixement inicial de srv-tramontana: comprovar quina versió corre, quanta memòria té i quant disc queda, que és literalment el primer que fa un administrador en rebre una màquina nova.
Un aclariment sobre l'enfocament: les ordres que veuràs aquí són per mirar, no per dominar. L'objectiu és que sàpigues què estàs veient i que t'hi moguis amb soltesa. El maneig seriós de la línia d'ordres comença al Mòdul 2.
Contingut
- Què passa en iniciar sessió
- El prompt, caràcter a caràcter
- Consola, terminal, TTY i emulador de terminal
- Què és el shell i per què Bash
- Entorn gràfic enfront de només text
- Anatomia d'una ordre
- Reconeixement inicial de srv-tramontana
- Dreceres de teclat de supervivència
- Usuari normal, root i el primer contacte amb sudo
- Apagar, reiniciar i tancar sessió correctament
- Què passa en iniciar sessió
Quan després de l'arrencada apareix això:
no és una pantalla decorativa. Hi ha una cadena de programes treballant:
- systemd, el procés número 1, ha arrencat tots els serveis del sistema i ha llançat un programa anomenat
gettya cada terminal virtual. gettyés qui mostra aquell missatge i espera un nom d'usuari. La seva feina és preparar el terminal i recollir qui vol entrar.- Quan escrius
operador,gettycedeix el control alogin, que demana la contrasenya, la xifra i la compara amb el hash emmagatzemat a/etc/shadow. - Si coincideix,
loginestableix la teva identitat (usuari, grups, variables d'entorn), et situa al teu directori personal/home/operadori executa el teu shell, que a Ubuntu és Bash. - Bash llegeix els seus fitxers de configuració (
/etc/profile,~/.bashrc) i mostra el prompt.
Aquest és el moment en què el sistema passa a estar a la teva disposició. I hi ha un detall important que s'aprecia millor amb la lliçó 01-01 fresca: a partir d'aquí, tot el que facis serà un procés fill del teu shell.
Abans del prompt veuràs el missatge del dia (MOTD), que a Ubuntu Server conté informació útil:
Welcome to Ubuntu 24.04.1 LTS (GNU/Linux 6.8.0-41-generic x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/pro System information as of Mon Aug 18 09:12:04 UTC 2026 System load: 0.08 Processes: 112 Usage of /: 28.4% of 22.51GB Users logged in: 0 Memory usage: 12% IPv4 address for enp0s3: 10.0.2.15 Swap usage: 0% 0 updates can be applied immediately. Last login: Mon Aug 18 08:55:31 2026 from 192.168.56.1
Val la pena llegir-lo en lloc d'ignorar-lo, perquè et dona un tauler de control gratuït: càrrega del sistema, ocupació de disc, ús de memòria, adreça IP, actualitzacions pendents i —molt important des del punt de vista de seguretat— quan i des d'on es va iniciar sessió l'última vegada. Si aquella línia Last login mostra una data o una IP que no reconeixes, tens un motiu seriós per investigar.
- El prompt, caràcter a caràcter
El prompt és la línia que el shell mostra per indicar que està llest. A Ubuntu té aquesta forma:
Desglossament:
| Part | Significat |
|---|---|
operador |
L'usuari amb el qual has iniciat sessió |
@ |
Separador, es llegeix "a" |
srv-tramontana |
El hostname: el nom de la màquina |
: |
Separador |
~ |
El directori actual. La titlla és una abreviatura del teu directori personal, aquí /home/operador |
$ |
Indica que ets un usuari normal. Si fossis root seria # |
Els tres primers elements són una resposta permanent a les tres preguntes que més problemes causen quan s'ignoren: qui soc, en quina màquina soc i on soc.
La distinció entre $ i # no és cosmètica: és un senyal de perill. Si al teu prompt apareix #, tens poder absolut sobre la màquina i cap ordre no et demanarà confirmació.
operador@srv-tramontana:~$ ← usuari normal, al seu directori personal operador@srv-tramontana:/etc$ ← usuari normal, dins de /etc root@srv-tramontana:/# ← ROOT, a l'arrel. Màxima precaució operador@portatil-alumne:~$ ← una altra màquina diferent
Aquest últim cas il·lustra per què el hostname al prompt és tan valuós: quan tinguis diverses terminals obertes contra màquines diferents, és l'única cosa que t'impedeix executar en producció el que creies estar executant en proves. És un error clàssic i car.
El prompt és configurable mitjançant la variable PS1, i al Mòdul 3 aprendràs a personalitzar-lo (molta gent hi afegeix colors, la branca de Git o l'hora).
- Consola, terminal, TTY i emulador de terminal
Quatre paraules que sonen a sinònims i no ho són. La confusió ve del fet que totes tenen origen en maquinari que ja no existeix.
| Terme | Origen històric | Què significa avui |
|---|---|---|
| Terminal | Aparell físic amb teclat i pantalla connectat a un ordinador central | Qualsevol interfície de text per interactuar amb el sistema |
| TTY | Teletypewriter, teletip: màquina d'escriure electromecànica | Nom que Linux dona a cada dispositiu de terminal (/dev/tty1) |
| Consola | El terminal físic principal, connectat directament a l'ordinador | La pantalla i el teclat directes de la màquina, sense xarxa pel mig |
| Emulador de terminal | — | Programa que simula un terminal dins d'un entorn gràfic |
| Shell | — | El programa que interpreta les teves ordres. No és el terminal |
La distinció entre les dues últimes files és la que més costa i la que més aclareix les coses:
- El terminal és el continent: la finestra o pantalla on escrius i llegeixes.
- El shell és el contingut: el programa que llegeix el que escrius, ho interpreta i executa programes.
Pots canviar de terminal mantenint el mateix shell (Bash), o canviar de shell (a Zsh, per exemple) mantenint el mateix terminal. Són peces independents que es combinen.
flowchart LR
U["Tu"] -->|tecles| T["Terminal<br/>(GNOME Terminal, PuTTY,<br/>consola física, sessió SSH)"]
T -->|text| S["Shell<br/>(Bash)"]
S -->|executa| P["Programes<br/>(ls, apt, nano...)"]
P -->|syscalls| K["Nucli Linux"]
K -.->|sortida| P
P -.->|text| S
S -.->|text| T
T -.->|píxels| U
Els terminals virtuals
Encara que srv-tramontana no tingui escriptori, Linux t'ofereix sis terminals virtuals independents a la consola física. Hi canvies amb:
- Ctrl+Alt+F1 a Ctrl+Alt+F6 (a Ubuntu Server, F1 sol ser el primer).
- En una VM de VirtualBox, la combinació és Host+F1..F6 (la tecla amfitrió és Ctrl dret per defecte), perquè VirtualBox intercepta Ctrl+Alt.
Cadascun és una sessió completa i independent: pots tenir l'operador treballant a tty1 i un altre usuari a tty2 simultàniament.
Prova-ho ara. Canvia a un altre terminal, inicia sessió i executa:
Sortida:
Aquest és el fitxer de dispositiu que representa el teu terminal actual. Coherent amb «tot és un fitxer»: el teu terminal és un fitxer a /dev, i aquesta idea la desenvoluparàs a la lliçó següent.
Si et connectes per SSH i executes el mateix:
pts significa pseudo-terminal slave: un terminal que no correspon a maquinari físic sinó a una connexió, típicament SSH o una finestra d'emulador gràfic. És la manera que té el sistema de dir-te «això no és la consola de la màquina, és una sessió remota».
Consell pràctic de debò útil: els terminals virtuals són el teu salvavides. Si un programa bloqueja el teu terminal actual i Ctrl+C no respon, canvia a un altre tty, inicia sessió i soluciona-ho des d'allà sense reiniciar la màquina. La gestió de processos que caldrà per a això és la lliçó 03-06.
- Què és el shell i per què Bash
El shell (literalment closca, perquè embolcalla el nucli) és el programa que:
- Mostra el prompt i espera.
- Llegeix la línia que escrius.
- La interpreta: separa l'ordre dels seus arguments, expandeix comodins i variables, resol canonades i redireccions.
- Demana al nucli que executi el programa corresponent.
- Espera que acabi i torna a mostrar el prompt.
És alhora una interfície interactiva i un llenguatge de programació complet, amb variables, condicionals, bucles i funcions. Aquesta dualitat és el que fa tan potent Linux: qualsevol cosa que facis a mà al terminal es pot convertir en un script sense canviar d'eina. És la base del Mòdul 4.
Shells disponibles
| Shell | Nom | Notes |
|---|---|---|
| sh | Bourne shell | L'original (1977). Avui és un enllaç a un altre shell en mode compatible |
| bash | Bourne Again SHell | L'estàndard a Linux. El que farem servir |
| dash | Debian Almquist shell | Molt ràpid i lleuger; a Ubuntu és el /bin/sh dels scripts del sistema |
| zsh | Z shell | Bash millorat. És el shell per defecte a macOS des del 2019 |
| fish | Friendly Interactive Shell | Molt còmode, però no és compatible amb POSIX |
Pots veure quin fas servir:
echo imprimeix el que li donis, i $SHELL és una variable d'entorn que conté la ruta del teu shell d'inici de sessió. Les variables d'entorn són el tema de la lliçó 03-01.
I els shells instal·lats al sistema:
# /etc/shells: valid login shells /bin/sh /usr/bin/sh /bin/bash /usr/bin/bash /bin/rbash /usr/bin/rbash /usr/bin/dash
Per què Bash en aquest curs, amb raons concretes:
- És el shell per defecte a Ubuntu, Debian, RHEL, Fedora i gairebé qualsevol distribució que et trobis.
- És el que assumeix el 95 % de la documentació, els tutorials i les respostes que trobaràs.
- És compatible amb POSIX, així que el que aprenguis funciona també a macOS, a Alpine dins d'un contenidor i en qualsevol Unix.
- En un servidor aliè, en una imatge mínima o en una situació d'emergència, Bash o alguna cosa compatible sempre hi és. Zsh i fish, no.
Res no t'impedeix fer servir Zsh al teu portàtil per comoditat. Però aprèn Bash primer: és l'idioma comú.
- Entorn gràfic enfront de només text
srv-tramontana no té escriptori. Convé entendre què és el que no té i per què és deliberat.
A Linux, la interfície gràfica no forma part del sistema: és un conjunt de programes que s'instal·len o no.
| Capa | Què fa | Exemples |
|---|---|---|
| Servidor gràfic | Dibuixa a la pantalla i gestiona teclat i ratolí | X11 (Xorg), Wayland |
| Gestor de finestres | Vores, moure, redimensionar, minimitzar | Mutter, KWin, i3 |
| Entorn d'escriptori | El conjunt complet: escriptori, tauler, aplicacions | GNOME, KDE Plasma, XFCE, Cinnamon |
| Gestor de sessions | La pantalla gràfica d'inici de sessió | GDM, SDDM |
Sobre X11 i Wayland, el mínim que has de saber:
- X11 (Xorg) és de 1984 i ha estat l'estàndard durant dècades. La seva arquitectura és client-servidor i transparent en xarxa: pots executar una aplicació a
srv-tramontanai veure'n la finestra al teu portàtil (ssh -X). Potent, però amb un disseny antiquat i problemes de seguretat coneguts: qualsevol aplicació pot llegir el que teclegen les altres. - Wayland és el substitut modern. Més simple, més segur i amb millor rendiment. És el predeterminat a Ubuntu Desktop 24.04. El seu aïllament entre aplicacions trenca algunes eines antigues, encara que cada vegada menys.
Per què un servidor no porta escriptori
| Motiu | Explicació |
|---|---|
| Recursos | GNOME consumeix 1,5-2 GB de RAM. Ubuntu Server arrenca amb ~200 MB. Aquesta diferència és memòria per a l'aplicació |
| Superfície d'atac | Cada paquet instal·lat pot tenir vulnerabilitats. Menys programari, menys risc |
| Manteniment | Menys paquets per actualitzar i menys reinicis |
| No hi ha ningú mirant | El servidor és en un armari sense monitor. S'administra per SSH |
| Automatització | Una interfície gràfica no es pot programar amb scripts. Una ordre, sí |
| Tot es fa per text | Qualsevol tasca d'administració té equivalent en línia d'ordres; el contrari no és cert |
L'últim punt és el que convenç els escèptics. Instal·lar un escriptori en un servidor de producció es considera mala pràctica al sector, no per purisme, sinó perquè cadascun d'aquests motius es paga en diners, en incidents o en hores.
- Anatomia d'una ordre
Totes les ordres segueixen la mateixa estructura:
- Ordre: el programa que s'ha d'executar (
ls,date,free). - Opcions (o flags, o modificadors): modifiquen el comportament. Comencen per guionet.
- Arguments: sobre què actua l'ordre (un fitxer, un directori, un text).
Els claudàtors indiquen que són opcionals: moltes ordres funcionen soles.
Opcions curtes i llargues
| Tipus | Format | Exemple | Notes |
|---|---|---|---|
| Curta | Un guionet, una lletra | ls -l |
Es poden agrupar: -l -a -h = -lah |
| Llarga | Dos guionets, una paraula | ls --all |
Més llegible; imprescindible en scripts |
| Amb valor | Curta o llarga amb dada | -n 5 o --lines=5 |
El valor pot anar enganxat o separat |
Un exemple desgranat completament:
total 1.3M -rw-r--r-- 1 root root 32K Aug 18 09:12 alternatives.log drwxr-x--- 2 root adm 4.0K Aug 18 06:25 apt -rw-r----- 1 syslog adm 142K Aug 18 09:14 auth.log -rw-rw-r-- 1 root utmp 98K Aug 18 09:12 lastlog -rw-r----- 1 syslog adm 311K Aug 18 09:15 syslog
Anàlisi peça a peça:
ls: l'ordre, llista el contingut d'un directori.-lh: dues opcions curtes agrupades.-l(long) mostra el format detallat amb permisos, propietari, mida i data;-h(human-readable) expressa les mides en K, M o G en lloc de bytes solts./var/log: l'argument, el directori que volem llistar.
I sobre la sortida, sense entrar en detall (els permisos són la lliçó 02-07): la primera lletra de cada línia indica el tipus de fitxer. La d d'apt significa directori; el - dels altres, fitxer regular. Veuràs la resta de lletres a la lliçó següent.
Consells sobre la sintaxi
- Linux distingeix majúscules de minúscules, sempre.
ls,LSiLsno són el mateix, iFitxer.txtifitxer.txtsón dos fitxers diferents. Això sorprèn qui ve de Windows i és font d'errors constants al principi. - Els espais separen elements. Si un nom de fitxer conté espais, cal posar-lo entre cometes:
cat "el meu fitxer.txt". --marca el final de les opcions, útil quan un argument comença per guionet.
- Reconeixement inicial de srv-tramontana
Això és el que fa un administrador en rebre una màquina nova, i el que hauries de fer sempre abans d'instal·lar res: saber què tens al davant.
Qui soc i on soc
Retorna l'usuari efectiu. Sembla trivial, però quan portes mitja hora saltant entre sudo, sessions SSH i màquines, és la primera pregunta a respondre davant de qualsevol dubte.
El nom de la màquina. La seva versió ampliada dona més context:
Static hostname: srv-tramontana
Icon name: computer-vm
Chassis: vm
Machine ID: 4f8a3d21c9b7460e8a1f2d3c5e6b7a89
Boot ID: 91c7e4d3a5b2483fa7e8d9c0b1a2f3e4
Virtualization: oracle
Operating System: Ubuntu 24.04.1 LTS
Kernel: Linux 6.8.0-41-generic
Architecture: x86-64Aquí hi ha informació valuosa en tres línies: Chassis: vm i Virtualization: oracle confirmen que ets en una màquina virtual de VirtualBox (útil quan administres màquines que no vas muntar tu), Operating System dona la versió exacta i Architecture l'arquitectura del processador.
Quin sistema és
Linux srv-tramontana 6.8.0-41-generic #41-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 2 20:41:06 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux
uname significa Unix name i -a és all. Camp per camp:
| Valor | Què és |
|---|---|
Linux |
Nom del nucli |
srv-tramontana |
Hostname |
6.8.0-41-generic |
Versió del nucli (ja la saps llegir de la lliçó 01-02) |
#41-Ubuntu SMP PREEMPT_DYNAMIC |
Compilació d'Ubuntu. SMP = suport multiprocessador |
Fri Aug 2 ... |
Data de compilació del nucli |
x86_64 |
Arquitectura: 64 bits d'Intel/AMD. En un Mac amb Apple Silicon hi veuries aarch64 |
GNU/Linux |
El sistema operatiu, amb el nom complet que vam discutir a 01-02 |
Per a la versió de la distribució, que és diferent de la del nucli:
Retén la diferència: el nucli és 6.8; la distribució és 24.04. Són dues numeracions independents i confondre-les porta a buscar documentació equivocada.
Quant fa que està encès i com va de càrrega
Lectura:
09:18:42: hora actual del sistema.up 2 days, 4:31: fa 2 dies i 4 hores i mitja que està encès.1 user: hi ha una sessió oberta.load average: 0.08, 0.12, 0.09: la càrrega mitjana en els últims 1, 5 i 15 minuts.
La càrrega mitjana mereix una explicació perquè es malinterpreta constantment: no és un percentatge. És el nombre mitjà de processos que estan fent servir la CPU o esperant per fer-la servir. La referència és el nombre de nuclis:
- En una màquina de 2 nuclis, una càrrega de
2.00significa ús ple; per sota hi ha folgança i per sobre hi ha processos esperant. - Una càrrega de
0.08en 2 nuclis, com la de l'exemple, és un sistema pràcticament ociós. - Els tres valors junts indiquen la tendència: si el primer és molt més gran que el tercer, la càrrega està pujant ara mateix.
Això s'aprofundeix a la lliçó 05-07.
Quanta memòria hi ha
total used free shared buff/cache available Mem: 3.8Gi 412Mi 2.6Gi 1.0Mi 892Mi 3.2Gi Swap: 4.0Gi 0B 4.0Gi
-h és de nou human-readable. Columna per columna:
| Columna | Significat |
|---|---|
total |
Memòria física total: 3,8 GB |
used |
Realment en ús per processos: 412 MB |
free |
Completament sense fer servir: 2,6 GB |
buff/cache |
Usada pel nucli com a memòria cau de disc: 892 MB |
available |
La xifra que importa: 3,2 GB disponibles per a programes nous |
Aquí hi ha el malentès més estès sobre Linux, i convé resoldre'l ja: la columna free no indica quanta memòria et queda. Linux fa servir agressivament la RAM lliure com a memòria cau de disc, perquè tenir memòria sense fer servir és malgastar-la. Aquella memòria cau s'allibera a l'instant si un programa la necessita.
La columna correcta és available. Un servidor amb free a 100 MB i available a 3 GB està perfectament sa. Existeix fins i tot un web dedicat a explicar-ho (linuxatemyram.com), de tan freqüent que és la confusió.
La línia Swap amb 0B usats és un bon senyal: no ha calgut recórrer al disc.
Quant disc queda
Filesystem Size Used Avail Use% Mounted on tmpfs 389M 1.3M 388M 1% /run /dev/sda2 23G 6.4G 15G 30% / tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock /dev/sda1 1.1G 6.4M 1.1G 1% /boot/efi tmpfs 389M 12K 389M 1% /run/user/1000
df és disk free. El que és rellevant:
/dev/sda2muntat a/: la partició arrel, 23 GB dels quals se'n fan servir 6,4 GB (30 %). Aquesta és la línia que cal vigilar./dev/sda1muntat a/boot/efi: la partició d'arrencada UEFI que vas crear en instal·lar.- Les línies
tmpfssón sistemes de fitxers que viuen a la memòria RAM, no al disc: s'esborren en reiniciar. Són normals, i veure-les allà il·lustra un altre cop el principi que tot es presenta com a fitxers. - La columna
Use%és la que cal vigilar en un servidor. Per damunt del 80 % convé actuar; al 100 %, com vam veure a la lliçó anterior, el sistema deixa de funcionar correctament.
I per saber la data i l'hora, que importa més del que sembla perquè afecta tots els registres:
Fixa't en UTC: per defecte els servidors se solen configurar en temps universal, no en hora local. És deliberat: evita ambigüitats amb els canvis d'horari estacional quan compares registres de diverses màquines.
Informe de reconeixement
Amb aquestes dades ja pots respondre a la Marta si et pregunta en quin estat és el servidor:
| Aspecte | Valor a srv-tramontana |
|---|---|
| Sistema | Ubuntu 24.04.1 LTS (noble) |
| Nucli | 6.8.0-41-generic, x86_64 |
| Tipus | Màquina virtual (VirtualBox) |
| Memòria | 3,8 GB totals, 3,2 GB disponibles |
| Swap | 4 GB, sense fer servir |
| Disc arrel | 23 GB, 30 % ocupat, 15 GB lliures |
| Càrrega | 0,08 — sistema ociós |
| Temps encès | 2 dies |
| Actualitzacions | 0 pendents |
Conclusió del reconeixement: hi ha marge de sobres per instal·lar Tramontana Reserves. I ara tens una foto de referència: quan d'aquí a tres mesos el servidor vagi lent, podràs comparar amb aquests números en lloc d'opinar.
- Dreceres de teclat de supervivència
Aquestes cinc dreceres separen algú que pateix al terminal d'algú que s'hi mou amb soltesa. Practica-les fins que et surtin sense pensar.
| Drecera | Què fa | Per què és imprescindible |
|---|---|---|
| Tab | Autocompleta ordres i rutes | Menys teclejar i zero errors tipogràfics |
| Tab Tab | Mostra totes les opcions possibles | Descobreixes què existeix sense sortir del terminal |
| ↑ / ↓ | Recorre l'historial d'ordres | No repeteixes el que ja vas escriure |
| Ctrl+C | Interromp el programa en execució | El teu botó de pànic |
| Ctrl+D | Fi d'entrada; tanca la sessió | Sortir correctament |
| Ctrl+L | Neteja la pantalla | Ordre mental. Equival a clear |
Tab: la drecera més rendible
Escriu hostna i prem Tab:
Bash completa fins on no hi ha ambigüitat:
Si hi ha diverses possibilitats, prem Tab dues vegades per veure-les:
Funciona igual amb rutes de fitxer:
El seu valor no és la comoditat: és la verificació. Si escrius una ruta i Tab no la completa, aquella ruta no existeix. Te n'assabentes abans d'executar l'ordre, no després. Un administrador experimentat fa servir Tab constantment per aquesta raó.
Ctrl+C i Ctrl+D: no són el mateix
Es confonen sovint i fan coses diferents:
- Ctrl+C envia el senyal
SIGINTal programa en execució, demanant-li que acabi. És el que fas servir quan una ordre s'ha quedat penjada o s'està eternitzant. - Ctrl+D envia el caràcter de fi de fitxer (EOF). No mata res: indica «no hi ha més entrada». Si el prems al prompt sense res escrit, el shell interpreta que has acabat i tanca la sessió.
Prova el primer. Executa una ordre que no acaba sola:
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. 64 bytes from 8.8.8.8: icmp_seq=1 ttl=115 time=14.2 ms 64 bytes from 8.8.8.8: icmp_seq=2 ttl=115 time=13.8 ms ^C --- 8.8.8.8 ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1002ms
El ^C de la sortida és la marca visual que has premut Ctrl+C. ping s'atura i mostra un resum. (ping comprova connectivitat de xarxa; és la lliçó 03-08.)
Hi ha moltes més dreceres —Ctrl+A, Ctrl+E, Ctrl+R, Ctrl+W— que veuràs a la lliçó 03-01 en estudiar l'entorn del shell. Amb aquestes cinc en tens de sobres per ara.
- Usuari normal, root i el primer contacte amb sudo
A Linux hi ha una separació estricta entre dos tipus de compte.
| Usuari normal | root | |
|---|---|---|
| UID | 1000 o superior | 0 |
| Prompt | $ |
# |
| Pot modificar | Només allò seu | Absolutament tot |
| Instal·lar programari | No | Sí |
| Esborrar el sistema | No | Sí, sense preguntar |
root (també anomenat superusuari) és el compte amb UID 0, i el seu poder és total i literal. El nucli no li aplica comprovacions de permisos. Pot esborrar qualsevol fitxer, matar qualsevol procés i destruir el sistema amb una ordre mal escrita. No hi ha paperera de reciclatge, no hi ha confirmació i no hi ha «desfés».
Per això Ubuntu adopta un enfocament deliberat: el compte root existeix però està deshabilitat per a inici de sessió. No té contrasenya vàlida. En lloc seu, es fa servir sudo.
sudo
sudo significa substitute user do: executar una ordre com un altre usuari, per defecte root. La seva lògica:
- Escrius
sudodavant de l'ordre. sudocomprova a/etc/sudoerssi tens autorització. El teu usuarioperadorla té per pertànyer al grupsudo.- Et demana la teva pròpia contrasenya (no la de root, que ni existeix), per confirmar que ets tu qui és al teclat.
- Executa l'ordre amb privilegis d'administrador i registra l'operació a
/var/log/auth.log. - Recorda l'autenticació uns 15 minuts per no preguntar-t'ho a cada ordre.
Comprova-ho amb un exemple clar:
La mateixa ordre retorna un usuari diferent, perquè sudo l'ha executada en nom de root.
Un altre exemple on la diferència és visible. El fitxer /etc/shadow guarda els hashes de les contrasenyes i només root el pot llegir:
Aquell Permission denied no és una fallada: és el sistema funcionant exactament com ha de fer-ho.
Tres avantatges de sudo sobre iniciar sessió com a root
- Traçabilitat. Cada ús queda registrat amb usuari, hora i ordre. Si tres persones administren el servidor, se sap qui va fer què. Amb un compte root compartit, no.
- Superfície mínima. Només l'ordre concreta s'executa amb privilegis, no tota la teva sessió. La resta del temps treballes com a usuari normal i estàs protegit dels teus propis errors.
- Sense contrasenya de root que es pugui filtrar. No existeix, així que no es pot robar ni compartir.
Regles d'higiene amb sudo
- Pensa abans d'escriure
sudo. El moment de dubtar és abans de prémer Retorn. - Llegeix l'ordre sencera abans d'executar-la, especialment si l'has copiada d'internet. No enganxis mai un
sudoque no entenguis. - No facis servir
sudo su -per costum per tenir una sessió root permanent. Perds els tres avantatges de cop. - Sospita de
sudo rm -rf. És la combinació que més sistemes ha destruït de la història.
sudo és molt més configurable del que sembla —es pot autoritzar un usuari només per a certes ordres, exigir o no contrasenya, restringir per màquina— i tot això és la lliçó 05-02.
- Apagar, reiniciar i tancar sessió correctament
Per què no s'estira del cable
Tallar l'alimentació d'un sistema en marxa té conseqüències reals:
- Dades a la memòria cau sense escriure. Linux manté a la RAM les dades pendents d'escriure al disc per agrupar operacions i guanyar rendiment. Un tall les perd.
- Sistemes de fitxers inconsistents. ext4 porta un journal que permet recuperar-se, però la recuperació pot trigar i no sempre és completa.
- Serveis sense tancar netament. Una base de dades que no tanca bé pot requerir recuperació en arrencar, o corrompre dades.
- Fitxers temporals i bloquejos orfes. En arrencar, alguns serveis es neguen a iniciar-se perquè troben un fitxer de bloqueig de la sessió anterior.
Una apagada ordenada, en canvi, avisa cada servei perquè acabi, bolca les dades pendents al disc (sync), desmunta els sistemes de fitxers i només aleshores apaga.
Les ordres
shutdown: l'ordre d'apagada ordenada.-h: halt, aturar i apagar la màquina.now: immediatament.
Programada, que és el que es fa en un servidor amb usuaris connectats:
Apaga d'aquí a 10 minuts i envia aquell missatge a tots els usuaris amb sessió oberta. És una cortesia elemental en un entorn compartit, i una cosa que la Marta agrairà.
Si te'n penedeixes:
Cancel·la l'apagada programada.
Per reiniciar:
Equivalent a sudo shutdown -r now. És el que faràs després d'actualitzar el nucli.
Taula resum:
| Ordre | Efecte |
|---|---|
sudo shutdown -h now |
Apaga ja |
sudo poweroff |
Apaga ja (més directe) |
sudo shutdown -h +10 "avís" |
Apaga d'aquí a 10 minuts avisant |
sudo shutdown -r now / sudo reboot |
Reinicia |
sudo shutdown -c |
Cancel·la una apagada programada |
sudo systemctl reboot |
Reinicia via systemd (equivalent modern) |
Veuràs les variants de systemd a la lliçó 05-05.
Tancar sessió
Tancar la sessió no apaga el servidor: només acaba el teu shell. El servidor continua funcionant i servint peticions.
O la drecera Ctrl+D. En una sessió SSH, tots dos tanquen també la connexió.
Distinció que cal tenir clara des del primer dia: exit tanca la teva sessió; shutdown apaga la màquina. Confondre'ls en un servidor remot significa deixar sense servei l'empresa i, si és una màquina en un centre de dades sense accés físic, no poder-la tornar a engegar. És un error que es comet una vegada a la vida i es recorda per sempre.
Errors Comuns i Consells
- Confondre terminal i shell. El terminal és la finestra; el shell és el programa que interpreta. Canviar d'emulador de terminal no canvia el teu shell.
- Creure que
freeindica la memòria disponible. La columna correcta ésavailable. Linux fa servir la RAM lliure com a memòria cau a propòsit. - Ignorar que Linux distingeix majúscules de minúscules.
Documentsidocumentssón directoris diferents. És la primera causa de «però si el fitxer hi és». - Pensar que el terminal està bloquejat en escriure la contrasenya. No es mostra res per disseny.
- Fer servir
sudode manera automàtica davant de qualsevol «permission denied». De vegades aquell missatge indica que estàs fent una cosa que no hauries de fer. Entén per què abans d'escalar privilegis. - Treballar habitualment com a root. Amb
sudo su -perds traçabilitat i protecció davant dels teus propis errors. - Apagar el servidor quan volies tancar sessió.
exitper sortir.shutdownnomés quan de debò vulguis apagar la màquina. - No fer servir Tab. És l'hàbit que més diferencia un principiant d'algú amb rodatge: menys errors tipogràfics i verificació gratuïta que les rutes existeixen.
- Consell. Desa el resultat del teu reconeixement inicial en un document. Tenir la foto d'un sistema sa fa que diagnosticar un sistema malalt sigui comparar, no endevinar.
- Consell. Practica les dreceres deliberadament durant una setmana, encara que al principi et resulti més lent escriure la ruta a mà. La inversió es recupera en dies.
- Consell. Si et perds o no saps on ets, tres ordres et reorienten sempre:
whoami,hostnameipwd(aquesta última la veuràs a 02-03).
Exercicis
Exercici 1
Observes aquest prompt en una de les teves terminals:
Respon:
- Quin usuari està actiu i com ho saps sense executar cap ordre?
- En quin directori es troba?
- Quin risc concret implica aquesta situació i quina precaució prendries?
- Escriu el prompt que veuries si
operadoriniciés sessió al seu directori personal al portàtilportatil-alumne.
Exercici 2
La Marta et demana un informe d'estat de srv-tramontana abans d'aprovar el desplegament de Tramontana Reserves. Indica quina ordre faries servir per obtenir cada dada, quina opció concreta i com n'interpretaries el resultat:
- Versió exacta d'Ubuntu i del nucli.
- Memòria total i realment disponible.
- Espai lliure a la partició arrel.
- Temps encès i càrrega del sistema.
- Si el servidor és físic o virtual.
Redacta després l'informe en tres o quatre frases, tal com l'hi donaries a la Marta.
Exercici 3
Diagnostica i resol aquestes tres situacions que et passen durant el teu primer dia:
- Executes
cat /var/log/auth.logi obtensPermission denied. - Llances una ordre que fa dos minuts que no retorna el control i no mostra res.
- Vols sortir de la teva sessió SSH a
srv-tramontana, escriussudo shutdown -h nowi perds la connexió. La Marta et truca dient que el web de reserves no respon. Explica què ha passat, com se soluciona i com evitar-ho.
Solucions
Solució a l'Exercici 1
1. L'usuari és root. Hi ha dos indicis independents al mateix prompt. El primer és explícit: la cadena abans de l'@ diu root. El segon és el més important i el que cal aprendre a llegir d'un cop d'ull: el prompt acaba en # en lloc de $. Aquesta convenció és universal a Unix i funciona fins i tot amb prompts personalitzats que amaguin el nom d'usuari.
2. A /etc. És la part entre : i #. Es mostra la ruta absoluta perquè no és el directori personal (si ho fos, hi apareixeria ~). /etc és el directori de configuració del sistema, que veuràs a la lliçó següent.
3. El risc i la precaució. La combinació és especialment delicada: sessió de root dins del directori de configuració del sistema. Qualsevol error tipogràfic pot deixar el servidor sense arrencar o sense accés remot. Un rm mal escrit sobre /etc/ssh/ et deixa fora del servidor; sobre /etc/fstab, sense arrencar. I no hi ha confirmació, ni paperera, ni desfés.
Precaucions concretes:
- Sortir de la sessió root amb
exiti treballar com aoperador, fent servirsudonomés per a les ordres que ho necessitin. Es recupera la traçabilitat i la protecció. - Si de debò cal una sessió root prolongada, fer còpia de qualsevol fitxer abans d'editar-lo:
cp /etc/fstab /etc/fstab.bak. - Verificar el prompt abans de cada ordre destructiva, i fer servir Tab per confirmar que les rutes existeixen.
- En una VM, prendre una instantània abans de tocar configuració crítica.
4. El prompt seria:
Amb ~ perquè és al seu directori personal (/home/operador) i amb $ perquè és un usuari normal.
Solució a l'Exercici 2
1. Versió d'Ubuntu i del nucli.
lsb_release -a dona la distribució (Ubuntu 24.04.1 LTS, nom en clau noble) i uname -r la versió del nucli (6.8.0-41-generic). Alternativa que dona totes dues de cop: hostnamectl. Són numeracions independents i cal reportar-les totes dues.
2. Memòria total i disponible.
-h per a unitats llegibles. El que es reporta és total (3,8 GB) i sobretot available (3,2 GB). No cal reportar free, perquè inclou com a "usada" la memòria cau de disc, que s'allibera a l'instant si un programa la necessita.
3. Espai lliure a l'arrel.
Passant / com a argument es limita la sortida a la partició arrel. Es reporten els gigabytes disponibles (15 GB) i el percentatge d'ús (30 %). El percentatge és la dada accionable: per damunt del 80 % cal planificar.
4. Temps encès i càrrega.
Dona totes dues coses. La càrrega (0.08 0.12 0.09) s'interpreta contra el nombre de nuclis, que s'obté amb nproc. Amb 2 nuclis, aquests valors indiquen un sistema pràcticament ociós.
5. Físic o virtual.
Les línies Chassis: vm i Virtualization: oracle ho confirmen. Alternativa directa: systemd-detect-virt, que retorna oracle a VirtualBox o none en maquinari físic.
Informe per a la Marta:
«srv-tramontana corre Ubuntu 24.04.1 LTS amb nucli 6.8.0-41 sobre una màquina virtual de VirtualBox, arquitectura de 64 bits. Té 3,8 GB de memòria, dels quals 3,2 GB estan disponibles, i no fa servir swap. La partició arrel ocupa el 30 % de 23 GB, amb 15 GB lliures. La càrrega mitjana és de 0,08 sobre 2 nuclis, és a dir, el sistema està pràcticament ociós, i fa 2 dies que està encès sense actualitzacions pendents. Hi ha recursos de sobres per desplegar Tramontana Reserves. Recomano revisar l'espai en disc quan l'aplicació comenci a generar registres, i vigilar que no superi el 80 % d'ocupació.»
Solució a l'Exercici 3
Situació 1 — Permission denied en llegir /var/log/auth.log.
Diagnòstic: no és un error del sistema, és el sistema protegint-se. auth.log registra tots els intents d'autenticació, inclosos usuaris i orígens de connexions. És informació sensible: revela quins comptes existeixen i des d'on es connecten. Per això pertany al grup adm i no és llegible per usuaris normals.
Solució:
O millor, perquè el fitxer és llarg i només solen interessar les últimes entrades:
Alternativa més elegant: l'usuari operador es podria afegir al grup adm, que té permís de lectura sobre els registres, i així consultar-los sense sudo. És la solució correcta si s'han de revisar registres amb freqüència, i es veu a la lliçó 05-01.
Consell general: davant d'un Permission denied, la reacció correcta no és «hi poso sudo», sinó «per què està protegit això?». Aquí la resposta és legítima i sudo està justificat. En altres casos, el missatge t'està avisant que ets al lloc equivocat.
Situació 2 — Una ordre fa dos minuts que no respon.
Diagnòstic: hi ha tres possibilitats i convé distingir-les abans d'actuar:
- L'ordre està treballant de debò i triga (copiar fitxers grans, actualitzar paquets, comprimir). Recorda el principi Unix: silenci és èxit, moltes ordres no informen del seu progrés.
- L'ordre espera entrada per teclat. Passa si has escrit
catsense arguments: es queda esperant el que teclegis. - L'ordre està bloquejada: esperant una connexió de xarxa que no arriba, o un recurs ocupat.
Solució progressiva:
- Ctrl+C per interrompre-la. Envia
SIGINTi en la majoria de casos ho resol. - Si esperava entrada, Ctrl+D tanca l'entrada i la deixa acabar netament.
- Si Ctrl+C no respon, canvia a un altre terminal virtual (Ctrl+Alt+F2) o obre una altra sessió SSH, i des d'allà identifica i acaba el procés. Les eines per a això —
ps,kill— són la lliçó 03-06. - Reiniciar la màquina és l'últim recurs, no el primer.
Prevenció: abans de llançar una cosa que pot trigar, pensa si convé executar-la en segon pla o dins d'una sessió persistent (tmux, screen), sobretot si estàs connectat per SSH i la connexió pot caure.
Situació 3 — Has apagat el servidor de producció.
Què ha passat: has confós tancar sessió amb apagar la màquina. sudo shutdown -h now ha executat una apagada ordenada i immediata de srv-tramontana. La connexió SSH ha caigut perquè el servidor s'estava apagant, no perquè hi hagués un problema de xarxa. I Tramontana Reserves no respon perquè el servidor que l'allotja està apagat. No hi ha corrupció de dades —l'apagada va ser ordenada—, però sí caiguda de servei.
Com se soluciona:
- En una VM local: obrir VirtualBox i arrencar-la. Un minut.
- En un servidor físic accessible: prémer el botó d'engegada.
- En un servidor remot sense accés físic: aquí hi ha la gravetat real de l'error. Necessites una consola fora de banda —IPMI, iDRAC, iLO— o el tauler de control del proveïdor de núvol. Si no disposes de cap d'aquestes vies, el servidor no es pot engegar de manera remota, i cal desplaçar algú físicament. En un centre de dades d'una altra ciutat, això són hores de caiguda.
Com evitar-ho, per ordre d'eficàcia:
- Fer servir
exito Ctrl+D per tancar sessió.shutdownnomés quan de debò vulguis apagar la màquina. És la regla que resol el 100 % dels casos. - Llegir el prompt abans de cada ordre perillosa. El hostname hi és precisament per això:
srv-tramontanano és el teu portàtil. - Diferenciar visualment les terminals de producció, amb colors o prompts diferents. Al Mòdul 3 veuràs com personalitzar
PS1; posar el prompt de producció en vermell és una pràctica molt estesa i molt eficaç. - En un servidor real, avisar sempre abans:
sudo shutdown -h +10 "Manteniment programat"dona marge per cancel·lar ambsudo shutdown -csi te n'adones de l'error. - Verificar que existeix una via d'engegada remota abans d'apagar qualsevol màquina que no tinguis al davant. És una comprovació de dos minuts que evita un desastre.
Conclusió
Ja no estàs mirant una pantalla negra incomprensible. En aquesta lliçó has vist:
- Què passa en iniciar sessió: la cadena
systemd → getty → login → shell, i el missatge del dia com a tauler de control. - El prompt caràcter a caràcter: usuari, màquina, directori, i el
$enfront del#que avisa que ets root. - La diferència entre consola, terminal, TTY i emulador, i els sis terminals virtuals com a salvavides.
- Què és el shell, per què Bash i en què es distingeix del terminal.
- Per què un servidor no porta escriptori, i què són X11, Wayland, GNOME i KDE.
- L'anatomia d'una ordre:
ordre [opcions] [arguments], opcions curtes i llargues. - El reconeixement inicial de
srv-tramontanaambuname,hostnamectl,uptime,free -hidf -h, i com interpretar el que diuen, inclosa la trampa de la columnafree. - Les dreceres de supervivència, amb Tab com l'hàbit més rendible.
- La distinció usuari normal / root i l'ús responsable de
sudo. - Com apagar, reiniciar i tancar sessió correctament, i per què no s'estira del cable.
Saps qui ets, en quina màquina ets i en quin estat es troba. Falta l'última peça d'orientació: on ets, i sobretot, què tens al voltant.
A la lliçó següent, Estructura del Sistema de Fitxers de Linux, veuràs per què a Linux no hi ha unitats C: ni D: sinó un únic arbre que neix a /, recorreràs un per un els directoris de l'estàndard FHS, entendràs de debò què significa que «tot és un fitxer» i què són /proc i /sys. I amb aquell mapa a la mà justificaràs, amb l'estàndard a la mà, per què l'aplicació de Tramontana va a /opt/tramontana/app, la seva configuració a /etc/tramontana/, els seus registres a /var/log/tramontana/ i les còpies a /srv/tramontana/backups. És la lliçó que converteix el sistema de fitxers en un territori conegut.
Curs de Linux: De Principiant a Administrador de Sistemes
Mòdul 1: Introducció a Linux
- Què és Linux?
- Història de Linux
- Distribucions de Linux
- Instal·lant Linux
- Primer Contacte amb el Sistema
- Estructura del Sistema de Fitxers de Linux
Mòdul 2: Comandes Bàsiques de Linux
- Introducció a la Línia de Comandes
- Obtenir Ajuda i Documentació del Sistema
- Navegant pel Sistema de Fitxers
- Operacions amb Fitxers i Directoris
- Visualització i Edició de Fitxers
- Enllaços Durs i Simbòlics
- Permisos i Propietat dels Fitxers
Mòdul 3: Habilitats Avançades en la Línia de Comandes
- L'Entorn del Shell: Variables, Àlies i Historial
- Ús de Comodins i Expressions Regulars
- Cerca de Fitxers i Contingut: find, locate i grep
- Canonades i Redirecció
- Processament de Text: cut, sort, uniq, sed i awk
- Gestió de Processos
- Programació de Tasques amb Cron
- Comandes de Xarxa
Mòdul 4: Scripting en Shell
- Introducció al Scripting en Shell
- Variables i Tipus de Dades
- Entrada, Sortida i Arguments d'un Script
- Estructures de Control
- Funcions i Biblioteques
- Depuració i Gestió d'Errors
- Scripts de Producció: Bones Pràctiques
Mòdul 5: Administració del Sistema
- Gestió d'Usuaris i Grups
- sudo i Permisos Especials
- Gestió de Paquets
- Gestió de Discs
- systemd i la Gestió de Serveis
- Registres del Sistema: journald i syslog
- Monitoratge del Sistema i Optimització del Rendiment
- Còpies de Seguretat i Restauració
Mòdul 6: Xarxes i Seguretat
- Configuració de Xarxes
- SSH i Accés Remot
- Tallafocs i Seguretat Perimetral
- Sistemes de Detecció d'Intrusions
- Gestió de Secrets i Certificats TLS
- Assegurant Sistemes Linux
Mòdul 7: Temes Avançats
- El Procés d'Arrencada i la Recuperació del Sistema
- Diagnòstic Avançat: strace, perf i eBPF
- Optimització del Nucli de Linux
- Virtualització amb Linux
- Contenidors de Linux i Docker
- Automatització amb Ansible
- Alta Disponibilitat i Balanceig de Càrrega
