LPIC-101

De 33system wiki
(Redirigido desde «LPIC-1»)
Saltar a: navegación, buscar

INFINITUM90D437 -> C1B21200FD

BIOS

La BIOS es el firmaware, genralmente grabado en una memoria EEPROM, que inicia el proceso de arranque del sistema operativo. Al iniciar el equipo la BIOS ejecuta un diagnostico(POST) y le pasa el control al cargador de inicio.

IRQ

IRQ (interruptio request) se trata de una señal enviada a la CPU para suspender la accion actual y dar paso a otra de mayor prioridad. Podemos ver las interrupciones del sistema en el archivo:

/proc/interrupts

Direcciones de E/S

Las direcciones de E/S son direcciones de memoria ligadas a los dispositivos fisicos conectados al sistema. Podemos ver las direcciones de E/S en el archivo:

/proc/ioports

DMA

DMA => Direct Memory Addressing o Localizacion Directa de Memoria Es un metodo segun el cual se les permite a los perifericos transmitir informacion sin intervencion de la CPU Podemos ver los canales DMA en el archivo:

/proc/dma

HotPlug

El hotplug es el metodo de gestion de perifericos sin necesidad de apagar el sistema operativo. Para gestionar estos perifericos tenemos los siguientes demonios:

  • Sysfs:  es un sistema de ficheros virtual, montado en /sys, exporta informacion sobre los dispositivos para que las utilidades del espacio del usuario puedan acceder a esta.
  • HAL Daemon: el demonio HAL (Hardware Abstraction Layer) es un demonio del espacio del usuario que se ejecuta en todo momento y suministra informacion sobre el hardware disponible a los demas programas del espacio del usuario.
  • D-Bus: el Desktop Bus tambien es un demonio que permite a los procesos comunicarse entre si en lo referente a la notificacion de eventos, tanto de otros procesos como del hardware (por ejemplo, la disponibilidad de un nuevo dispositivo USB).
  • udev: es un sistema de ficheros virtual montado en /dev , que crea ficheros de dispositivos dinamicos conforme se cargan y descargan los drivers. Se puede configurar udev a traves de los ficheros de /etc/udev pero la configuracion estandar suele bastar para el hardware normal.

lspci

Muesta toda la informacion sobre los dispositivos PCI Comandos como setpci nos permiten consultar y configurar los dispositivos pci.

lsusb

lsusb

modulos del kernel

Listado de modulos

Los modulos del kernel suelen estar almacenados en /lib/modules.

Podemos ver un listado de los modulos utilizando el comando
lsmod

Carga de modulos

Se pueden cargar modulos de kernel con 2 comandos:

  • instmod
    permite cargar un solo modulo siempre y cuando sus dependencias esten tambien cargadas.
    insmod /lib/modules/2.6.26/kernel/drivers/block/floppy.ko 
  • modprobe
    modprobe carga el modulo correspondiente y todos de los que depende.
    modprobe floppy 
    modprobe -c archivo.conf permite cambiar el archivo de configuracion para el modulo.
    modprobe -v permite obtener una salida mas detallada de la ejecucion del comando.
    modprobe -n permite realizar una simulacion de la carga del modulo .
    modprobe -r permite eliminat un modulo y todas sus dependencias.

descargado de modulos

Para hacer que un modulo del kernel deje de ejecutarse utilizaremos el comando:

  • rmmod floppy 
  • rmmod -v da mas informacion sobre la descarga del modulo
  • rmmod -f fuerza la descarga del modulo
  • rmmod -w espera hasta que el modulo deja de utilizarse para descargarlo

Archivos

cadenas.txt

arbol
arbolito
arbolote

grep

busqueda de varias cadenas
 grep -E 'hola|adios'
busqueda de lineas vacias
 grep '^$' 1.txt 
busquedas recursivas
 grep -r 
numero de lineas
 grep -n 
suprimir los mensajes de error
 grep -s 
no mostrar las lineas con la cadena buscada
 grep -v 
busquedas que ignoren las mayusculas y minusculas
  grep -i  
realizar busquedas de la cadena exacta (w = word)
 grep -w 
realizar busquedas de una cadena y que ademas muestre n lineas siguientes (A = After)
 grep -w arbol -A 1 cadenas.txt 
 ===========================
 arbol
 arbolitos
 ===========================
realizar busquedas de una cadena y que ademas muestre n lineas anteriores (B = Before)
 grep -w arbolitos -B 1 cadenas.txt 
 =========================== 
 arbol
 arbolitos
 ===========================
exec shutdown -r now "Control-Alt-Delete pressed"
realizar busquedas de una cadena y que ademas muestre n lineas anteriores y siguientes ( C = Context)
 grep -w arbolitos -C 1 cadenas.txt 
 
 ===========================
 arbol
 arbolitos
 arbolotes
 ===========================

Filesystem Hierarchy Standard

El estándar de jerarquía del sistema de archivos (o FHS, del inglés Filesystem Hierarchy Standard) es una norma que define los directorios principales y sus contenidos en el sistema operativo GNU/Linux y otros sistemas de la familia Unix. Se diseñó originalmente en 1994 para estandarizar el sistema de archivos de las distribuciones de Linux, basándose en la tradicional organización de directorios de los sistemas Unix. En 1995 se amplió el ámbito del estándar a cualquier Unix que se adhiriese voluntariamente.

kind of directories
Shareable Unshareable
Static /usr /etc
/opt /boot
Variable /var/mail /var/run
/var/spool/nes /var/lock
  1. Pregunta de examen
bin Essential command binaries
boot Static files of the boot loader
dev Device files
etc Hos-specific system configuration
lib Essential shared libraries and kernel modules
media Mount point for removeable media
mnt Mount point for mounting a filesystem temporarily
opt Add-on application software packages
sbin Essential system binaries
srv Data for services provided by this system
tmp Temporary files
usr Secondary hierarchy
var Variable data
home User home directories (optional)
lib<qual> Alternative format format essential shared libraries (optional)
root Home directory for the root user (optional)

Busquedas en Directorios

which

which busca la localización de los programas. Sólamente busca comandos en las localizaciones definidas en el path.

type

Se utiliza para conocer si los programas on internos o externos.

type vim
vim está asociado (/usr/bin/vim)
type pidgin
pidgin is /usr/bin/pidgin

whereis

Se utiliza para encontrar los manuales y los binarios de los comandos buscados

whereis vim
vim: /usr/bin/vim /usr/bin/vim.basic /usr/bin/vim.tiny /etc/vim /usr/bin/X11/vim /usr/bin/X11/vim.basic 
/usr/bin/X11/vim.tiny /usr/share/vim /usr/share/man/man1/vim.1.gz

locate / mlocate

updatedb va a generar las base de datos de todos los archivos en base a la confiuración del archivo /etc/updatedb.conf. Deberemos configurar este archivo para evitar el indexado de directorios no deseados.

updatedb

La base de datos se guarda en el archivo /var/lib/mlocate/mlocate.db

Si creamos un archivo tras la actualización de la base de datos que hace el updatedb no podremos encontrarlo con el comando locate ya que no estará indexado. Deberemos volver a lanzar el updatedb para que se incluya y poder encontrarlo.

  • Realizar busquedas que ignoren el case sensitive (i = ignore case sensitive)

locate -i fstab

/etc/fstab
/etc/fstab.d
/home/riquen/Descargas/33system_16GB/fstab
/home/riquen/Descargas/33system_BLUE/fstab
/lib/init/fstab
/lib/partman/fstab.d
/lib/partman/finish.d/39create_fstab_header
/lib/partman/finish.d/40fstab_hd_entries
/lib/partman/finish.d/50fstab_removable_media_entries
/lib/partman/fstab.d/basic
/lib/partman/fstab.d/btrfs
/lib/partman/fstab.d/efi
/lib/partman/fstab.d/ext3
/lib/partman/fstab.d/jfs
/lib/partman/fstab.d/reiserfs
/lib/partman/fstab.d/xfs
/sbin/fstab-decode
/usr/include/fstab.h
/usr/lib/partconf/mkfstab
/usr/lib/udisks/udisks-helper-fstab-mounter
/usr/share/doc/mount/examples/fstab
/usr/share/doc/util-linux/examples/fstab.example2
/usr/share/initramfs-tools/scripts/casper-bottom/12fstab
/usr/share/man/man5/fstab.5.gz
/usr/share/man/man8/fstab-decode.8.gz
/usr/share/vim/vim73/syntax/fstab.vim
/var/lib/partconf/fstab.d
/var/lib/partconf/fstab.d/common
  • Realizar busquedas con expresiones regulares (r = regular expressions)
locate -r fstab$
/etc/fstab
/home/riquen/Descargas/33system_16GB/fstab
/home/riquen/Descargas/33system_BLUE/fstab
/lib/init/fstab
/usr/lib/partconf/mkfstab
/usr/share/doc/mount/examples/fstab
/usr/share/initramfs-tools/scripts/casper-bottom/12fstab

find

find solamente va a realizar búsquedas en los directorios en los que el usuario tenga permisos. Busca de manera recursiva en la ruta especificada.

  • Busquedas por nombre (-name)
 find /etc -name fstab
  • Busquedas por nombre ignorando el case sensitive (-iname)
 find /etc -iname fstab
  • Limitar el numero de directorios recursivos en los que va a buscar (-maxdepth)
# solo busca en el directorio sin usar los subdirectorios
 find /etc -maxdepth 1
  • Realizar busquedas por tipo de archivo (-type)
# busqueda de directorios (d)
 find /etc -type d
# busqueda de archivos (f)
 find /etc -type f
# busqueda de enlaces simbolicos (l)
 find /etc -type l
  • Realizar busquedas por usuario (-user) o sin usuario (-nouser)
 find /home -user usuario
 find /datos -type f -nouser
  • Realizar busquedas por identificador del usuario (-uid)
 find /home -uid 500
  • Realizar busquedas por identificador de grupo (-gid)
 find /home -gid 1002
  • Realizar busquedas por permisos (-perm)
find / -type f -perm 4755 
  • Realizar la busqueda de todos los directorios con el sticky bit
#-1000 es una mascara que muestra el sticky bit
 find / -type d -perm -1000
  • Realizar busquedas de archivos filtrando por tamaño (-size)
 find /datos -type f -size 5M
 find /datos -type f -size +5M
 find /datos -type f -size -5M
  • Ejecutar una tarea en cada uno de los objetos encotrados (-exec)
# enmascaramos el ; (\;) para que no cierre el find sino que cierre el ls -lh
# las llaves ({}) hacen referencia a cada uno de los archivos encontrados
find /datos -type f -size +5 -exec ls -lh {} \;
  • Cuando queramos ejecutar una tarea sobre una lista extremadamente larga podemos correr el riesgo de que se exceda el limite de argumentos que se puedan ejecutar. Para evitar esto utilizaremos la funcion -print del comando find. Además necesitaremos xargs que recibe los argumentos por bloques con lo que nunca llegaremos al limite.
find / -type f -size -5M -print0 | xargs -0 cp /tmp

Arranque

/var/log/messages

Es el archivo de log que recibe toda la información del sistema operativo.

dmseg

Comando que utilizamos para leer el ring buffer que se genera al inicio del sistema

  • leer el ring buffer
 dmseg
  • borrar el ring buffer (-c = clear )
 dmseg -c

runlevel

Al ejecutar el comando runlevel conocemos el nivel de ejecucion en el que nos encontramos.

 runlevel
 N 2

init

halt

Comando utilizado para apagar la maquina

# apagado de la maquina
 halt
# apagado forzado de la maquina
 halt -f 

grub

  • En el archivo /proc/cmdline aparecen los parametros con los que arranca el kernel.
 cat /proc/cmdline
  • En el grub editamos las opciones de arranque y añadimos la siguiente opcion para conseguir una shell de administracion. Al hacer esto nos saltamos el proceso de login por lo que no necesitamos credenciales.
 init=/bin/bash
# 
 single
# una vez arrancado debemos remontar la particion / para poder cambiar el passwd
 mount -o remount,rw /
# cambiamos la passwd
 passwd

Pregunta de examen La linea que define el nivel de arranque para el sistema operativo se encuentra en

# cambiamos el nivel de ejecucion en /etc/inittab
 id:5:initdefault:
# y lo hacemos arrancar con el nivel 3
 id:3:initdefault:


  • En el archivo de configuracion etc/init/control-alt-delete.conf podemos deshabilitar la combiancion de teclas que reinicia el equipo.
#comentamos la linea exec shutdown -r now "Control-Alt-Delete pressed"
 #exec shutdown -r now "Control-Alt-Delete pressed"

Administracion de paquetes

Bibliotecas/Librerias

  • Dinamicas
  • Estaticas
  • Para conocer cuales son las librerias que utilizan los comandos. Si no se disponen de todas las librerias que el comando necesita este no funcionará o lo hará farcialmente.
ldd `which ls`
	linux-gate.so.1 =>  (0xb7769000)
	libselinux.so.1 => /lib/i386-linux-gnu/libselinux.so.1 (0xb7733000)
	librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xb772a000)
	libacl.so.1 => /lib/i386-linux-gnu/libacl.so.1 (0xb7720000)
	libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb7577000)
	libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb7572000)
	/lib/ld-linux.so.2 (0xb776a000)
	libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb7557000)
	libattr.so.1 => /lib/i386-linux-gnu/libattr.so.1 (0xb7551000)
  • ldconfig: sirve para regenerar la cache para incluir las nuevas bibliotecas en la base de datos
ldconfig

rpm

Administración de Paquetes: Debian

  • El comando dpkg sirve para gestionar paquetes
 dpkg paquete
  • Para instalar o actualizar paquetes utilizamos la opcion -i (i = install)
 dpkg -i paquete
  • Para desinstalar un paquete utilizamos la opcion -r (r = remove)
 dpkg -r paquete
  • En los repositorios siempre hay un directorio pool que almacena los paquetes
  • Para desinstalar un paquete y eliminar los archivos de configuracion debemos utilizar la opcion -P (purgue)
dpkg -P paquete
/var/lib/dpkg
  • Listar todos los paquetes instalados
dpkg -l 
Deseado=Desconocido/Instalar/Eliminar/Purgar/Retener
| Estado=No/Instalado/Config-files/Desempaquetado/Medio-conf/Medio-inst/espera-disparo/pendiente-disparo
|/ Err?=(ninguno)/Requiere-reinst (Estado,Err: mayúsc.=malo)
||/ Nombre                                         Versión                                  Arquitectura Descripción
+++-==============================================-=========================================-============-==============================================================================
ii  0ad                                            0.0.13-0ubuntu1~12.10~wfg1                amd64        Real-time strategy game of ancient warfare
ii  0ad-data                                       0.0.13-0ubuntu1~12.10~wfg1                all          Real-time strategy game of ancient warfare (data files)
ii  0ad-data-common                                0.0.13-0ubuntu1~12.10~wfg1                all          Real-time strategy game of ancient warfare (common data files)
...
  • Listar un solo paquete, desinstalarlo,purgarlo
dpkg -l openssh-server
Deseado=Desconocido/Instalar/Eliminar/Purgar/Retener
| Estado=No/Instalado/Config-files/Desempaquetado/Medio-conf/Medio-inst/espera-disparo/pendiente-disparo
|/ Err?=(ninguno)/Requiere-reinst (Estado,Err: mayúsc.=malo)
||/ Nombre                               Versión                Arquitecdpkg -r openssh-server
+++-====================================-=======================-=======================-==============================================================================
ii  openssh-server                       1:6.0p1-3ubuntu1        amd64                   secure shell (SSH) server, for secure access from remote machines

# ii = installed
dpkg -r openssh-server
Deseado=Desconocido/Instalar/Eliminar/Purgar/Retener
| Estado=No/Instalado/Config-files/Desempaquetado/Medio-conf/Medio-inst/espera-disparo/pendiente-disparo
|/ Err?=(ninguno)/Requiere-reinst (Estado,Err: mayúsc.=malo)
||/ Nombre                               Versión                Arquitectura            Descripción
+++-====================================-=======================-=======================-==============================================================================
rc  openssh-server                       1:6.0p1-3ubuntu1        amd64                   secure shell (SSH) server, for secure access from remote machinestura            Descripción

# rc = remove + config files
dpkg -P openssh-server
Deseado=Desconocido/Instalar/Eliminar/Purgar/Retener
| Estado=No/Instalado/Config-files/Desempaquetado/Medio-conf/Medio-inst/espera-disparo/pendiente-disparo
|/ Err?=(ninguno)/Requiere-reinst (Estado,Err: mayúsc.=malo)
||/ Nombre                               Versión                Arquitectura            Descripción
+++-====================================-=======================-=======================-==============================================================================
un  openssh-server                       1:6.0p1-3ubuntu1        amd64                   secure shell (SSH) server, for secure access from remote machines

# un = unknown (desinstalado)
  • Mostar la informacion del paquete instalado -s (s = show)
dpkg -s openssh
  • Mostrar los archivos instalados por el paquete (L = list files)
dpkg -L openssh-server
  • Conocer el paquete al que corresponde un binario (S = search)
dpkg -S `which sshd`
Se registran todos los eventos de dpkg en /var/log/dpkg.log.
  • Sacar una lista de los paquetes instalados
grep "status installed" /var/log/dpkg.log
  • Mostrar el contenido de un paquete (C = Content)
dpkg -C paquete
  • Mostrar la informacion del paquete (I = Information)
dpkg -I paquete
  • Extraer los archivos de un paquete (x = extract)
dkpg -x paquete
  • Reconfigurar las opciones de instalacion de un paquete
apt-get install slapd
# pide la contraseña de administracion
dpkg-reconfigure slapd
apt-get
  • Descarga el paquete y sus dependencias para su instalacion.
  • instalacion de un paquete (install)
apt-get install screen
  • desinstalacion de un paquete (remove)
apt-get remove screen
  • purgar un paquete (purge)
apt-get purge screen
  • buscar un paquete, busca tanto en el nombre como en la descripcion
apt-cache searc screen
  • El directorio de configuracion de apt se encuentra en /etc/apt/ y /etc/apt/apt.conf.d
  • El archivo de repositorios es el /etc/apt/sources.list o crear un archivo de repositorios en /etc/apt/sources.list.d'. Añadiendo la direccion de los nuevos repositorios en los archivos y refrescando la base de datos podremos tener acceso a ellos.
  • Mostrar la informacion de un paquete (show = mostart)
apt-cache show slapd
  • Regenar la cache. Busca en todos los repositorios definidos y se descarga la informacion de ellos al equipo local.(update)
apt-get update
  • Actualizar los paquetes del sistema. Compara los paquetes instalados con los de la cache e instala los mas nuevos. (upgrade)
apt-get upgrade

Control de Procesos

  • ctrl + c: Detiene el proceso
  • ctrl + z: Pausa el proceso, le quita los recursos pero el proceso sigue ahí.
  • fg (foreground) 1: El proceso pausado 1 recupera sus recursos y continua su ejecucion.
  • ejecutamos un programa en background: Solamente hay que añadir al final del comando el signo &.
 ping 8.8.8.8 & 
  • ejecutar un comando en background sin que muestre la salida por pantalla
 ping 8.8.8.8 > /dev/null & 
  • jobs: muestra los procesos pausados
ping 8.8.8.8 > /dev/null & 
[1] 6001
jobs
[1]+  Ejecutando              ping 8.8.8.8 > /dev/null &
  • nohup: desconecta el proceso de la terminal

ps

 ps
  PID TTY          TIME CMD
 4031 pts/2    00:00:00 bash
 6001 pts/2    00:00:00 ping
 6587 pts/2    00:00:00 ps
  • mas detalles de los procesos (f )
ps -f 
UID        PID  PPID  C STIME TTY          TIME CMD
egarcia   4031  3973  0 10:06 pts/2    00:00:00 /bin/bash
egarcia   6001  4031  0 11:32 pts/2    00:00:00 ping 8.8.8.8
egarcia   6617  4031  0 11:54 pts/2    00:00:00 ps -f

  • modo bsd
ps axjf
 PPID   PID  PGID   SID TTY      TPGID STAT   UID   TIME COMMAND
    0     2     0     0 ?           -1 S        0   0:00 [kthreadd]
    2     3     0     0 ?           -1 S        0   0:01  \_ [ksoftirqd/0]
    2     6     0     0 ?           -1 S        0   0:00  \_ [migration/0]
    2     7     0     0 ?           -1 S        0   0:00  \_ [watchdog/0]
    2     8     0     0 ?           -1 S        0   0:00  \_ [migration/1]
    2    10     0     0 ?           -1 S        0   0:01  \_ [ksoftirqd/1]
    2    11     0     0 ?           -1 S        0   0:00  \_ [watchdog/1]
    2    12     0     0 ?           -1 S        0   0:00  \_ [migration/2]
  • listar los procesos de un usuario
ps -u user
  • matar un proceso
kill PID
  • matar un proceso de manera fozada
kill -9 PID
  • mostrar las señales de kill
kill -l
  • pgrep, muestra el pid del proceso indicado
 pgrep lightdm 
  • pkill, lista los procesos como pgrep y los mata
pkill lightdm
  • top: muestra en pantalla un listado detallado del estado del host
  • mostrar snapshot de top (b = batch)
top -b
  • pstree: muestra la relacion de los procesos en modo arbol
pstree
init─┬─GoogleTalkPlugi───5*[{GoogleTalkPlugi}]
     ├─NetworkManager─┬─dhclient
     │                ├─dnsmasq
     │                └─2*[{NetworkManager}]
     ├─accounts-daemon───{accounts-daemon}
     ├─acpid
     ├─apache2─┬─PassengerWatchd─┬─PassengerHelper─┬─ruby───2*[{ruby}]
     │         │                 │                 └─3*[{PassengerHelper}]
     │         │                 ├─PassengerLoggin───{PassengerLoggin}
     │         │                 └─3*[{PassengerWatchd}]
     │         └─5*[apache2]
     ├─at-spi-bus-laun─┬─dbus-daemon
     │                 └─3*[{at-spi-bus-laun}]
     ├─at-spi2-registr───{at-spi2-registr}
     ├─atd
     ├─avahi-daemon───avahi-daemon
     ├─bluetooth-apple───2*[{bluetooth-apple}]
     ├─bluetoothd
  • w: muestra las sesiones y los usuarios activos.
 12:39:23 up  2:53,  3 users,  load average: 0,19, 0,27, 0,34
USUARIO  TTY      DE               LOGIN@   IDLE   JCPU   PCPU WHAT
user  tty7     :0               09:47    2:52m  2:57   0.57s /usr/bin/lxsession -
user  pts/2    :0               10:06    0.00s  1.06s  0.01s w
user  pts/3    :0               12:26    2:39   2.55s  2.43s htop
  • matar una sesion de un usuario
skill -KILL  pts/3

nice & renice

Utilizados para cambiar la prioridad de los procesos y el uso de los recursos. Las prioridades de los proceson van del -20 al 19.

  • -20 : prioridad alta
  • 19 : prioridad baja

Solo el usuario root puede cambia la prioridad de todos los procesos. Los usuarios solo pueden cambiar la prioridad de sus procesos.

  • establecer la prioridad (n = )
 nice -n +9 comando<pre>
* cambiar la prioridad
<pre>renice -8 PID

Particiones y sistemas de archivos

  • Crear un sistema de archivos ext2 sobre una particion
 mkfs.ext2 /dev/sda5 
  • Añadir una etiqueta al sistema de archivos
 mkfs.ext2 -L datos1 /dev/sda5 
  • Establecer el tamaño del bloque
 mkfs.ext2 -b 2024 /dev/sda5 
  • Cambiar el porcentaje reservado para el root del 5% al 1%
 mkfs.ext2 -m 1 /dev/sda5 
  • fdisk
  • blkid
  • mkswap
  • montar un sistema de archivos
mount /dev/sda5 /mnt/datos1
  • desmontar un sistema de archivos que esta ocupado
# identificamos el usuario activo
lsof /mnt/datos1
# averiguamos el usuario y cerramos su sesion
kill -9 PID
# desmontamos
umount /mnt/datos1
### ó
fuser -k -m /mnt/datos1
  • remontar una particion y cambiarle el modo
mount -o remount,rw /dev/sda5
  • resetear la swap
swapoff /dev/sdb1
swapon /dev/sdb1

Cuotas

  • Remontamos la particion con las quotas de usuario y de grupo
 mount -o remount,usrquota,grpquota /
# comprobamos el remontado
 mount
  • Generamos los indices

quotacheck -augv

  • Pra la particion / utilizamos la opcion m (m = no remount)

quotacheck -augvm

  • Instalar quotas
apt-get install quota
  • Para desabilitar el selinux
vim /etc/sysconfig/selinux 
...
SELINUX=disable
...
  • repquota: Muestra un reporte de las cuotas
  • grace time: perido de gracia. Es el tiempo que se le da al usuario para realizar limpieza en su sistema de ficheros /* Cuotas */ una vez excedido el hard quota.
  • Para editar las quotas vamos a utilizar una herramienta gráfica llamada edquota
  • Para que el editor que utilicemos sea el que queramos podemos exportar la variable
 
# exportamos la variable del editor
export EDITOR=vim 
# editamos la quota del usuario en la particion elegida
edquota -f /punto/de/montaje -u usuario
  • activamos las quotas (augv = all, users, groups, verbose)
quotaon -augv 
  • Creamos un archivo de 10 Megas
dd if=/dev/zero of=File10MB bs=10M count=1
  • Cambiar el periodo de gracia
# para todos los usuarios de todos los puntos de montaje
edquota -t
# para todos los usuarios de un punto de montaje
edquota -t -f /punto/de/montaje
# para un usuario en un punto de montaje
edquota -f /punto/de/montaje -T usuario

setquota

  • el comando
setquota -u usuario -T 86400 60 0 /punto/de/montaje
# setquota = comando sin interfaz grafico
# -u = especifica el usuario
# usuario = usuario sobre el que se realiza el cambio
# -T = grace time; especifica el tiempo de gracia del usuario
# 86400 = tiempo en segundos para el tiempo de gracia
# 60 0 = numero de bloques e inodos
# /punto/de/montaje = particion sobre la que se efectua el cambio de quota

warmquota

vim /etc/warnquota.conf

  • Se utiliza para enviar un mensaje de alerta a los usuarios cuando rebasan la quota