GNU/Linux LPIC-1 / 10 de Octubre de 2018

Repaso:

ps
ps -e
ps -F
ps -eF –sort rss
ps -o cmd,rss

Comando ‘top’

tecla ‘t’, cambia forma de ver el top
tecla ‘l’, quita la primera linea de la cabecera
tecla ‘m’, quita más información de la cabecera

PR: prioridad – indica prioridad del proceso: a más prioridad más egoísta, menos amable.
NI: niceness (amabilidad): programa amable, el que tiene menos prioridad. A más amabilidad, menos prioridad, menos egoísta.
VIRT: tamaño máximo en memoria que el proceso podría llegar a tener
RES: tamaño real del proceso
SHR: shared, qué tamaño del que ocupa el proceso está compartido con otros procesos.
S: estado del programa, T stoped, R ready, S, Z(zombie)
%CPU: de todo el tiempo que lleva el programa en marcha, cuanto de este tiempo está realmente ejecutándose en el procesador
TIME: tiempo que lleva ejecutándose

x: ordenar (se pone en negrita)
R: invertir ordenación (mayor a menor o al revés)
< ó >: desplazamos la columna de ordenación
i: filtra y muestra procesos con más de un 0,0% de CPU (detectamos procesos egoístas)
f: decidir columnas a mostrar por top.
c: todo lo que hay entre corchetes, son funciones del kernel, y lo que no, te muestra la ruta exacta del programa
V: visualiza arbol de procesos
W: guardar configuración visual del top

Si salimos del top, no se guarda nuestra personalización del top.
Para guardarla, apretar W
Para borrar la configuración, hay que borrar el fichero donde se gurada: 

borramos .toprc y se restaura la configuración del top (rm .toprc)

d: delay – cambiamos intervalo de actualización del top

Dentro del top, podemos matar procesos con la ‘k’:

con k matamos un proceso, indicando su PID y luego la señal que le envíamos (15 amable, por ejemplo)

Alternativa a top más intuitiva: requiere instalación: htop

F3: para buscar

F5, vemos árbol de procesos

F7/F8: amabilidad, prioridad
F9: mato proceso
F2: personalización de la vista

Con F9 matamos, y nos dá la opción del tipo de señal de Kill a enviar

killall y kill

killall -s  9 bash
kill -s 9 PID


Señales 19 y 18 para detener y re-emprender un proceso

kill -s 19 PID
kill -s 18 PID

comando w


Lista los programas que se han usado desde más tiempo
que usuario (lpic1) desde que terminal (tty2), desde que ordenador (:0 – sale la IP si es por ssh) y desde cuando, está ejecutando ese programa
:0-> mi ordenador, ordenador local


Si ponemos gedit en el bash, el terminal se queda bloqueado
Si ponemos gedit &, el bash se queda liberado
gedit &-> pone el proceso en segundo plano:

comando jobs: qué procesos están en segundo plano?

comando fg: foreground, re-enganchamos un proceso a su proceso padre:

Con CONTROL+Z, envia una señal para detener el programa (señal 19)

Ahora con bg %2, lo podemos poner otra vez en segundo plano

Se suele usar en servidores, con procesos que se bloquean, etc…


Particiones, puntos de montaje, etc…

Comando findmnt:

muestra puntos de montaje de particiones de tipo extended 4

¿Qué es un punto de montaje? Es una carpeta que es un poco especial  porque nos dá acceso a un dispositivo en concreto (particion, CD, pen drive, etc): es la carpeta de entrada que me permite acceder a un determinado dispositivo.
En Windows, punto de montaje sería el C: el D: el F:, etc
En Linux no son letras, son carpetas

¿Qué puntos de montaje podemos encontrar en Linux?

El que siempre está, es especial, y es el raiz (/). SIEMPRE está. Es donde está todo el sistema:

punto de montaje /, es donde está todo el sistema

para entrar en otra particion, en el CD o en lo que sea, accederemos a  una subcarpeta de la raiz /.
En la raiz / está TODO. Todo el sistema.

Un punto de montaje te “tele-transporta” a otro sitio: a otro dispositivo

La partició /dev/sdc6 es el punto de montaje / 
Muestra puntos de montaje del tipo ext4
Búscame el punto de montaje de la partición /dev/sdc6
Dime qué hay mpontado en el punto de montaje /

Crear un punto de montaje a mano (creamos una puerta de entrada que nos dejará accedir a otro punto del ordenador: a otra particion del disco duro):

El punto de montaje lo podemos crear donde nos dé la gana, pero los puntos de montaje a mano, se suelen poner en mnt:

hemos montado una partición: parece ser una partición de arranque de Windows
fusebl: no es sistema de archivos nativo de Linux

umount

con umnount, desmontamos la partición y cuando mostramos la carpeta, se muestra vacía
findmnt -D
El unico señalado es el unico punto de montaje de una partición de disco
filtramos con grep los unicos puntos de montaje que son dispositivos de verdad: tenemos la información más limpia (ext4: formato de la partición)
findmnt -o TARGET,SOURCE,FSTYPE,USED

lsblk: información de las particiones que hay en los discos duros que hay

lsblk \ RM=removable?

¿por que hay unas particiones q ocupan tan poco y por que hay saltos desde la sda2 a la sda5? Solo pueden existir 4 particiones en un disco, en general, clásicamente (ahora eso ya se ha superado). 

particion extendida: dentro de ella, podemos crear multiples particiones. Es un envoltorio, para poder tener más de 4 particiones en un disco duro. Dentro de una p.extendida, no hay limite en el numero de particiones que tenga.

gparted: gestor de partición con entorno gráfico 

particiones dentro de la particion extendida: particion logica

fuera de las extendidas: particion primario

del 1 al 4 se reserva para las particiones primarias. Extendidas empiezan a partir de las 5.

Este sistema de partiicones  ya esta obsoleto  y está a punto de cambiar: ahora ya no tienen límite. Tema BIOS/UEFI.

BIOS: solo permite 4 particiones primarias por disco.

lsblk -f 

UUID: etiqueta propia asignada por el sistema

El UUID no cambia NUNCA. Sda1,2,3, puede cambiar…

Por precaucion, como no sabemos si en el proximo reinicio sda1 seguirá siendo sda1, lo haremos refiriendonos al UUID.

Personalizando los datos a visualizar
No nos deja desmontar si estamos dentro!
montamos una ISO: mount -o loop archivo.iso /dev/sda5 /mnt/hola3

dispositivo loop
una ISO no es una particion, pero puede hacerse que se vea como una particion con el loop

http://tinycorelinux.net/
TinyCore: Linux muy pequeños

Para escribir varios comandos a la vez, se concatenan con &&:

tail me enseña solo la ultima linea: el ultimo punto de montaje, que es el que nos interesa

Separar el sistema de los datos de usuarios (home).
Montaremos en otra particion, la carpeta home:

O la carpeta boot también puede estar montada en otra particion,  porque son cosas delicadas

Otra tipica de montar en otra particion es: /var/log (donde están los registros del sistema)

Los logs pueden llegar a crecer muuuuuuuuuuucho hasta ocupar toda la particion! Te podrias llegar a quedar sin espacio de sistema, si está en la misma partición! (Si te descuidas).

Vamos a ir creando particiones por terminal, en el espacio sin asignar:

fdisk -l, nos dice los discos que tenemos
dispositivo loop0: dispositivo generado por el sistema tras montar la ISO

Tipo de etiqueta de disco: puede ser “dos” o “gpt” (GUID partition table)
dos: BIOS – Los discos solo pueden tener 4 particiones primarias
gpt: UEFI – 
Orden de arranque: BIOS,gestor de arranque,kernel,init

comienzo: 2048 – Se refiere a sectores. Final = en que sector acaba
1 sector=1 bloque de 512 bytes
va por bloques (lsblk!), para no tener que leer y escribir bytes como un loco, se usan bloques (sectores!)

numero de sectores x 512bytes = tamaño particion


fdisk

Crear particion nueva en un determinado disco:

n: crear nueva partición

Ahora la particion ya está creada y se le ha de dar formato: mkfs (make filesystem)

jfsutils

si por ejemplo necesitamos el formato jfs, instalamos este paquete con:

apt install jfsutils


vfat = FAT32 en linux!

En Debian mkfs.vfat es un enlace a mkfs.fat!

Vamos a escribirlo explícitamente (fat 32):

mkfs.vfat -F 32 -n EtiquetaDisco /dev/sdc4
Patición FAT32 creada!

Borrar particiones:

fsck: chequeando particiones

btfsfix: chequeo y reparación en caso de particiones NTFS

ntfsfix para chequear las NTFS

No se puede hacer el checkeao si la partición está montada!!


df

findmnt es más moderno que el cásico df. La opción -D es para imitar al df

1 Mebibyte = 1024 bytes
Sistema internacional: 1Mbyte = 1000 bytes