Administració de sistemes GNU/Linux
De Viquillibres
| Aquesta pàgina necessita algunes millores, en el seu contingut o en el seu estil. Vegeu la pàgina de discussió per a més informació. |
Shell de comandaments
Programa interpret que actua com una interficie entre l'usuari i el S.O.
Sistema de fitxers de Linux/UNIX
File System: Estructura en arbre per ordenar els directoris i fitxers de dispositius estructurats en blocs.
File System Manager: gestor del sistema de fitxers.
I-node: Conté les caracteristiques dels arxius i directoris Permisos Dates Ruta llògica etc Però no el nom.
Journaling: Garanteix la integritat de les dades en cas d'una caiguda del sistema
/bin/ arxius binaris /boot/ configuració d'arrencada /etc/ arxius de configuració del sistema i de serveis /root/ directori de root /home/ directori dels usuaris
/var/cache/ dades creades per aplicacions per reduir-ne el temps d'accés /var/lock/ fitxers d bloqueig per indicar que un dispositiu està sent utilitzat /var/log/ logs /var/mail/ correus interns del propi S.O. amb avisos tipus administratius /var/www/ servidor web
/usr/x11R6/ /usr/x11/ conté dades del servidor gràfic X
/usr/include fitxers capçalera, per a programes compilats en C /usr/lib llibreries dels diferents programes. Cada programa crea el seu propi subdirectori.
/usr/bin arxius binaris /usr/sbin per SuperUser /usr/share Informació dl sistema /usr/local/ Instal·lació de programes
/proc/ processos utilitzats pel kernel (guarda una referència del processos) /dev/ “devices” arxius per enllaçar amb dispositius hardware /mnt/ per muntar manualment un sistema de fitxers
Particións d'un servidor /boot/ / swap /home/ /opt/ /var/
Esborrar: rm ruta remove fitxers
·rm -r ruta recursive
rmdir ruta remove diretoris
Crear: touch ruta crear arxiu mkdir ruta crear directori
pwd ruta actual
grep recerca de cadenes(texte)/patrons(expressions regulars) dins d'arxius
gzip/bzip2 compresos tar compactar fitxers
cp ruta(s)-origen ruta-desti copia arxius
·cp -R recursive ·cp -a copia recursiva mantenint totes les propietats
mv ruta-origen ruta-desti ·moure arxius ·renombrar arxius
ls ll o -l format llarg: permisos, usuari propietari, grup propietari, tamany en bytes, data i hora, nom -lk tamany en kbytes -s format llarg + nº de blocs ocupats -a arxius/directoris ocults -d directoris -t ordenat per temps de modificiació -u ordenat per últim accés -s ordenat per mida -i llistat dels i-nodes dels FS
file /ruta Codificació/format d'un arxiu
stat /ruta Informació de l'i-node de arxiu/directori
head Capçalera de l'arxiu tail Mostra els últims byts modificats
dmesg Misatges del nucli (lleigeix un log del sistema) dmesg | tail ultims canvis del kernel
less /ruta Paginador mes potent more Paginador ls -l | less
split Dividir arxius en trossos
-l nº de linies
cut Retalla per camps/seccions
-f nº de columna -d camp separador/delimitador
wc Word Count Conta linias, espais i caracters
uniq Filtre que elimina repeticions sort Ordena alfabeticament
tr Remplaça caracters paste Solapa el contingut d'arxius -d camp separador/delimitador
Obtenir ajuda
man comandament comandament --help info comandament
grep -i majuscules o minuscules -n nº de linia dins l'arxiu on es troba el resultat -c contar les linies -o únicament treu el resultat -e expresions regulars -oe combinació utilitzada abitualment -f busca una llista de cadenes separades per linies grep -e [Abc]\{1,3\} env | grep`-oe “NA[A-Z]\{1,3\}
Matar un programa Contr.+C Posar en segon pla Contr.+Z Finalitzar entrada Contr.+D Redireccións
Canalitza el resultat obtingut d'executar un comandament a: -Fitxers -Altres comandaments -Dispositius de sortida
echo cadena-de-texte > ruta (reescriu l'arxiu) echo cadena-de-texte >> ruta (afegeix al final de l'arxiu)
PIPES - Canonades
ls -l | greb mp3
cat ·mostrar contingut d'arxius ·editor de text ·concatenador
cat > ruta (editar arxiu nou) cat >> ruta (afegir a un arxiu) cat fitxer1 fitxer2 fitxer3 > fitxer-resultat (concatenar)
variables:
env mostra les variables de entorn/sistema
·visualitzar el valor:
echo $Variable
·declaració de variable:
Variable=Valor
uname -a informació del S.O. I arquitectura
-p
date +opcions data i hora data=`date '+%d-%m-%y'`
'cadena de text' “cadena de text amb variables” `execució d'un programa`
Usuaris locals i remots
whoami nom usuari logejat who -a usuari logejats a la maquina localment i remotament finger informació d'usuaris conectats al sistema. (local o remot)
whatis descripció de programes makewhatis base de dades
whereis localitza binaris, codi font, man de un programa dins de les rutes de la variable PATH
locate Busca arxiu updatedb
id informació d'usuari ·id d'usuari ·nom d'usuari ·GID nº identificador de grup ·Grups als que pertany l'usuari
which busca binari
Variable de sesió
echo $?
0= correcte 1=ha donat errors
comparar arxius
cmp nom1 nom2 Compare
-l diferències en mida i línia per línia -s status de finalització
- 0= arxius idèntics 1= un arxiu està dins de l'altre >1= error o diferents
diff nom1 nom2 Difference
línea per línea
0= arxius idèntics 1= arxius amb alguna diferència 2= Errors
find /ruta -opcions recerca d'arxius
-uid nº de identificador d'usuari propietari -user usuari propietari -perm permisos -name Patró de recerca (nom d'arxiu/directori) -atime data últim accés -ctime data creació -mtime data modificació -size mida -type -f fitxer -d directori -exec executar un altre comandament -ok Semblant a -exec
# find / -uid 1050 -ok chown -v 1200 {}\; canvia la propietat dels arxius d'un usuari per un altre
Caracter d'escapament: \ el seguent caracter s'ha de interpretar com a text pla, no s'ha de expandir, etc. {} nom d'arxiu a buscar
rpm -opcions Packeg Manager -a all -ql
rpm -qa | grep ftp
iptables Tallafocs Firewall
-L Llista regles -F Esborra totes les regles
nmap IPD Escaner de ports TCP/IP
nc netcat obrir ports TCP/UDP
Escolar al port 2000 nc -v -l -p 2000 > mbr.img
Còpia del MBR (imatge), des de l'ordinador origen al destí dd if=/dev/sda bs=512 count=1 | nc -q 2 172.29.1.10 2000
Còpia de la Taula de particions en format “sf” del sfdisk sfdisk -d /dev/sda | nc -q 2 172.29.1.10 2000 Gestió de sistema de fitxers
Gestió de permisos
Definició dels permisos de fitxers i directoris
Màscara
rwx rwx rwx propietari grup altres
3 tipus de permisos: r read w write x execute
chown propietari:grup ruta Change owner canvia propietari i grup
chown propietari ruta
chgroup grup ruta Change group
chmod mascara-de-permisos ruta/es change mode
111 110 100 (octal) rwx rwx rwx
7 6 4
Màscara (S.O.): Filtre que el S.O té definit i que utilitza per assignar permisos d'accés, tant als arxius com als directoris de nova creació.
Directori Arxiu
755 644
umask mascara per defecte llògica inversa/lógica negativa 0027 --> 750 000 010 111 rwx r-x ---
Permisos Avançats:
- Bit SUID 1 1 1
- Bit SGID SUID SGID Sticky-bit
- Sticky-bit
chmod 7755 /ruta
-rwsrwsrwt
Bit SUID
S'aplica a arxius executables. Fa que la aplicacio pugui ser executada per qualsevol usuari amb permisos del propietari.
Exemple: passwd find /ruta -perm +6000 -exec ls -l {} \;
Bit SGID
Utilitza un mecanisme d'herencia del directori pare cap als fills Orientat a compartir un directori per diferents usuaris d un mateix grup a una xarxa LAN.
Activa permisos de grup sobre un directori El grup del directori ha de ser el grup dels usuaris que han d'accedir. Els permisos dels fitxers vindran determinats per la màscara de l'usuari propietari de cada arxiu. Tambe es pot emprar per restringir l'acces a un directori en una LAN. Els arxius/directoris que es copiin dins del directori pare preservaran el seu grup original.
Sticky-bit
Aplicable a fitxers i directoris Únicament el propietari pot esborrar o renombrar.
Devices
Canal 0 Canal 1 Disc dur IDE --> Master hda Master hdc
Slave hdb Slave hdd
Particions: hda1 hda2
fd:
Disquetera
sda: SCSI Dispositius de blocs USB/Firewire Disc durs SATA
Eines avançades de gestió dels sistema de fitxers
mkfs Make File System a dispositius
No fer operacions sobre un FS muntat No desmuntar un FS mentres s'estar utilitzant
fdisk -l Mostra la taula de particions
·crear/eliminar particions
cfdisk amb sistema semigràfic
sfdisk -d Mostra la taula de particions en format orinal -n Verifica la taula de particions però no hi escriu -n : No escrigues realment al disc -R [o --re-read]: Fa que el nucli rellegeixi la taula de particions -N# : Només canvia la partició amb el número # -i [o --increment]: Nombre de cilindres, etc. des de 1 en comptes de 0 sfdisk -d /dev/hda > taula_particions.sf Copia taula particions sfdisk /dev/hda < taula_particions.sf Volca la taula particions
sfdisk /dev/hdb << EOF Instruccións de com s'ha de modificar la taula de ,3,L particions ,60,L EOF
End of File
gparted amb sistema grafic
mkfs tipus-de-FS ruta-al-dispositiu-partició -t ntfs /dev/sda2
fsck File system Checking
tune2fs Converteix un sistema ext2 en ext3 afegint Journaling
mount -t FS /dev/”device” /ruda-desti muntar un sistema de fitxers
mount -t vfat /dev/sdc1 /media/disk
umount /ruta device desmontar
format donar format a dispositius fdformat donar format a disquets
swapping
Tècnica de gestió de memoria (principal / RAM) del S.O.
El S.O. agafa pàgines de la memòria principal i fa un volcat (dum) a un dispositiu de memòria secundàri (disc dur).
mkswap Make FS swap a una partició ja existent
swapon Activar/desactivar la partició swap swapoff
dd crear còpies/rèpliques byte a byte (a baix nivell, raw)
Fer còpies a baix nivell (raw) de la informació guardada en dispositus de blocs Cremar una copia a un CD Esborrat físic de la informació d'un FS (en una partició o disc).
if Imput file Dispositiu origen of Ouput file Dispositiu destí bs Block size Tamany de bloc c Count Quantitat de blocs a copiar
dd if=/dev/sda of=/tmp/mbr.img bs=512 count=1
du disk usage -h human readable format -s summarize --max-depth=1
df Mostrar informació de blocs dels sistemes de fitxers que estiguin muntats. Mostra el % de espai lliure.
-h human readable format -l local -i informació dels i-nodes
lsof Mostra els arxius que estan sent utilitzats pel S.O. i per l'usuari -Fi Llistat d'i-nodes d'un FS
MBR Master Boot Record
Sector d'inici mestre (sector 0)
Capacitat: 512 bytes Contingut: Gestor d'arrancada Taula de particions
fstab
/etc/fstab
s'indica com utilitzar cada dispositiu i quina configuració utilitzar.
Quant sutilitza aquest arxiu Boot Quant el sistema reconeix un nou dispositiu de blocs connectat.
Les opcións es poden veure a man mount user: tots els usuaris poden muntar la partició, no fa falta ser root.
Comandaments d'accés a la Info de hardware
fdisk -l dmesg | tail
lsusb Hub USB lspci hwinfo hdparm
Partició
Des d'un punt de vista llògic es una part del dispositiu de blocs. Des d'un punt de vista físic es l'espai que hi ha entre una pista i una altre.
Càlcul de capacitats
1 Byte 8 bits 1 KByte 1024 B 1 MByte 1024 KB 1 GByte 1024 MB 1 TByte 1024 GB 1 PByte 1024 TB
Swapping / Memoria Virtual
Ampliar l'espai de memòria principal que podem adreçar. Augmenta el nº d'adreces de memòria.
Inconvenients: Cau el rendiment global del sistema degut al temps d'accés de R/W del disc en comparació amb la memòria principal Desgast físic dels discs durs
Gestor d'arrancada GRUB GRand Unified Bootloader
Es un programa que ajuda a administrar la part inicial del procés d'arrancada d'un sistema
Nomenclatura Independentment de la tecnologia sempre utilitza aquesta nomenclatura (SATA, SCASI, etc)
(hd0,0) (disc,particio) (hd1,1) (fd0) floppy
Configurar el GRUB Manualment durant el proces de boot (no permanent)
/boot/grub/device.map Cridar al programa grub root kernel initrd setup (guardar canvis al MBR) Arrancar un altre S.O. Muntar partició on es troba el GRUB Editar arxiu de configuració /boot/grub/menu.lst default x S.O. que s'inicia por defecte timeout x Temps d'espera en segons hiddenmenu Ocultar el menú password x Protegir amb contrasenya
Gestió de processos
Fitxer: recipient que conté i agrupa unes dades, amb un format, segons el tipus de fitxer, sota un nom lògic.
Procés: Instància d'un programa en execució.
Tipus de processos: S.O. Usuari Aplicacions Programes fets pel propi usuari
Estructura en arbre: PID PPID
Proces d'encesa d'un ordinador:
BIOS POST Power On Self Test (Auto diagnóstic al encendre) Gestor d'arrencada, Bootstrap (GRUB) kernel Manejo de memoria, planificador de tareas, entradas y salidas, comunicación interprocesos, y demás sistemas de control. Init establece el ambiente del usuario: Verifica y monta los sistemas de archivos, inicia servicios de usuario necesarios y cambia a un ambiente basado en usuario cuando el proceso de inicio termina.
ps Processos a memoria que estan sent executat
aux tots els processos l format llarg
pstree Arbre de processos -p PID
top Processos executats a memoria en temps real
PPID PID Identificador de proces USER Usuari que l'executa %CPU Consum de CPU %MEM Consum de memoria RAM Time Temps en execusió Comand Nom del procés en execusió
gnome-system-monitor Monitor del sistemas
kill -nº PID Enviar senyals als processos
-l Mostra senyals posibles -1 Reinicia -2 Mata el proces Control + C -9 Mort absoluta, forces al kernel a enviar el proces i els seus recursos a dev/null (drop) -11 El kernel mata automaticament quant un proces intenta accedir a una secció restringida de memoria -15 Et podries tancar?
xkill kill gràfic pgrep Printa PID del proces indicat pkill Program kill slay Mata els processos d'un usuari killproc Mata un process i tots els seus fills (nom programa)
startproc Posa en marxa un executable si no troba cap process associat en marxa startproc /usr/sbin/sshd
free Informe d'estat de memòries principal, cache, swap.
Estat dels processos
En execusió En execusió per la CPU Preparat Preparat per la execució En espera En espera de informació Parat Parat Zombie Ha finalitzat el procés, però encara continua a memòria.
nice estableix la prioritat d'execució d'un proccés renice modifica la prioritat d'execució d'un procces
netstat
fg foreground passar a primer plà bg background passar a segón plà jobs Llista processos que estan en segon pla
Es pot fer servir per a mantenir en marxa un scrip que controli el S.O.
Compactació / Compressió
compactador: tar compresor: gzip, bgzip2, etc
tar opcions desti orginens compactador i compresor c compactar x descompactar v verbose f especificar fitxer z gzip (comprimir) .tar.gz j bzip2 (comprimir) .tar.bz2 t llista arxius
nom_arxiu-`date '+%d-%m-%y'`.tar nom_arxiu-$(date '+%d-%m-%y').tar
gzip opcions desti compresor
-d descomprimir
bzip2 opcions origen origen destí compresor
-d descomprimir
bunzip2 origen destí descomprimir
Tar balls
Descomprimir i descompactar /usr/local/nom (per tots els usuaris) /home/user/ (només per aquest usuari) Configuració ./configure opcions (configuració de compilació i instalació) Compilació make (arxiu:Makefile) Instal·lació make install (
rpm -ivh --test paquet.rpm -q query consulta a all llista tots els paquets instalats nompaquet l list llista els arxius d'un paquet f /arxiu a quin paquet pertany un arxiu --last ultims paquets instalats -U Update actualització del paquet -e Erase eliminar tots els arxius d'un paquet
-i install -i info -v verbose -h hash -initdb inicialitzar la base de dades de paquets instalats -rebuilddb refer la base de dades de baquets instalats
--import http://www.fedora.us/FEDORA-GPG-KEY
rpmbuild creador de paquet RPM
Repositori: Base de dades de paquets disponible i actualitzada a un servidor.
yum opcions nom-paquet -install instalar paquet -update actualitzar paquet -remove eliminar paquet -check-update Actualitza la llista de paquets -serch Cerca el paquet al repositori -y Si a tot -provides nom-fitxer Saber a quin paquet està contingut un arxiu -list Llista els paquets del repositori -upgrade actualitza tots els paquets (~ dist-upgrade de aptitude) /etc/yum.conf gpgcheck=1 (fa que comprovi les claus GPG)
Distrubució Instal·lador Tipus de paquet Fedora Red-HaT rpm/YUM rpm Suse YAST rpm Debian Ubuntu Apt-get aptitude synaptic deb Mandriva urpmi rpm Gentoo emerge
tee Redirecciona les dades per la sortida estandar i per un fitxer
Programació Bash
Executar un programa
./script.sh
bash opcions script.sh -x debbugger
Variables de sessió
$0 $2 ... $9 Parametres $# Número de paràmetres $? Retorn 0=bé 1=error $*
IF sintaxi: if then else
Es pot fer de 2 maneres:
If test condició
then else
fi
if [ condició ]
then ...
Comparadors: -ne no equal
expr Permet evaluar expresions: Aritmètiques Alfanumèriques (cadenes)
Metode 1: $numA=10 $sumB=25 nomV=`expr $numA + $sumB`
Metode 2: 1 expr $cad:$cad 2 Utilitzant length i expr expr lenth $cad
for Num in rura/*
-d Verifica que es un directori -f Verifica que es un fitxer
if [ -d $ruta ]
if [ -f $Nom_Fitxer ]
case $caracter in A)... ;; B)... ;; C)... ;; D)... ;; *) echo Missatge d'avís exit 1;; esac
Exercicis:
- !/bin/bash
- Comentari. Que fa el pro
echo 'Hola. Benvingut usuari'
./holamon.sh 'cadena de texte'