domingo, 25 de febrero de 2024

Montar un dispositivo en linux



Dando continuidad a las publicaciones anteriores, una vez que hemos formateado nuestra partición con el sistema de ficheros que queremos, lo que vamos hacer es acceder a ese punto de montaje para alojar archivos, y para eso utilizamos el comando mount
 
Este comando hace accesible una partición a través de un directorio. Para entender este concepto, utilizamos el comando mount el dispositivo y el directorio donde nosotros vamos a montar este dispositivo.
 
Hay distintas opciones como por ejemplo: 
-t para especificar el sistema de ficheros. Normalmente la obtiene del dispositivo a través del sistema de ficheros, pero en algunos casos si queremos podemos especificar otro tipo de sistema de ficheros.
-o podemos montarlo en solo lectura o lectura y escritura.
-a lo que hará es leer un fichero especial que es /etc/fstab y montará todo lo que hay definido en este fichero y se definen los puntos de montaje automáticos.
 
Y si ponemos simplemente el comando mount lo que hará es leer los fichero /etc/mtab y /proc/mounts "que es donde están definidos también los puntos de montaje" y nos mostrará lo que está montado actualmente.
 
En el post anterior había formateado la partición /dev/sda y ahora lo que sigue es montarlo.
 
 
Creamos un directorio donde lo vamos a montar, por ejemplo, prueba y simplemente utilizamos el comando mount /dev/sda1 prueba.
 
 
Podemos ejecutar el comando lsblk y veremos que hay varios montajes, pero el sda1 se han montado en /home/devnull/prueba
 
Si queremos ver que tipo de permisos tiene el montaje ejecutamos mount con un filtro grep.
 
 
En la imagen se aprecia que dentro de los paréntesis la partición sda1 tiene propiedades de lectura y escritura (rw).
 
Una vez que hemos acabado de trabajar con este dispositivo porque ya hemos grabado los ficheros que queremos, nosotros podemos desmontar la partición. Para eso utilizaré el comando umount el nombre del dispositivo y el directorio.
 

Como se ve en la imagen, el dispositivo sda1 ya no está montado en el sistema.

sábado, 17 de febrero de 2024

Crear sistema de ficheros en linux


 
En el post anterior había creado dos particiones y, ahora lo que necesitamos es darle formato a estas particiones para alojar nuestros ficheros. Para eso utilizaremos el comando mkfs con el dispositivo al que le haremos formateo y la opción -t para especificar el sistema de ficheros.
 
Si nosotros tecleamos en consola mksf y luego el tabulador nos mostrará todos los sistemas de ficheros que podemos utilizar.
 
 
Ahora le damos el formato ext4 a las particiones que tengo con la siguiente instrucción mkfs -t ext4 /dev/sda1.
 
 
Este proceso nos arroja información sobre el tamaño de los bloque de ficheros y su identificación dentro el sistema y con esto ya nuestro sistema de ficheros estaría creado.
 
Otro comando para crear memoria virtual en el sistema es mkswap, que lo que habilitará es una partición para que nosotros la podamos utilizar como memoria virtual.  El comando es muy simple mkswap /dev/sda2 y para activarla utilizaremos swapon /dev/sda2.
 
Pero el comando cfdisk nos hace esto de manera gráfica. Cuando creé la segunda partición en el post anterior le di un formato linux 83, pero ahora le daré un formato swap.
 
 
Seleccionamos la partición y le damos en tipo. 
 

Nos muestra los cambios.

Y por último escribimos los cambios.


Si queremos ver como quedaron las particiones ejecutamos fdisk



sábado, 10 de febrero de 2024

Administrar particiones con fdisk


Para administrar discos en linux necesitamos utilizar dos comandos fdisk y cfdisk, estos nos ayudarán a alistar, modificar y crear particiones.
 
El primer comando fdisk con la opción -l lo que nos hará es listar los discos y particiones.
 
  
Como vemos nos mostrará información como es el tamaño en gigabytes, el nombre del dispositivo, sectores, id y tipo de partición. Si en vez de listar todos los discos y todas las particiones quiero listar una partición en particular entonces utilizaré fdisk -l dispositivo.
 

Si queremos manipular la tabla de particiones ponemos fdisk y el dispositivo, con esta instrucción entramos en modo interactivo donde podremos operar con este dispositivo a través de ciertas letras, por ejemplo con m recibiremos ayuda de las distintas opciones que podemos hacer.
 
 
Entrando en el modo interactivo nos muestra información de todas las opciones que podemos ejecutar.
 
p --> Muestra tabla de particiones e información del dispositivo.
n --> Crea una nueva partición.
t  --> Cambia el tipo de partición.
d --> Eliminamos una partición.
w --> Grabaremos modificaciones que hemos hecho.
q --> Para salir.
 
Por ejemplo, si queremos crear una nueva partición ponemos fdisk /dev/sda para entrar en el modo interactivo. 
 
Presionamos n para crear una nueva partición y luego tenemos que especificar si queremos primaria o extendida, si ya tenemos una partición extendida nos dará la opción de crearla como lógica. En este caso vamos a crear una partición primaria con p, y nos dice cuál es el número de partición que queremos, seleccionamos el número 1. Nos dirá dónde queremos poner el primer sector, normalmente no se cambia y simplemente presionamos intro. Luego nos dirá cuál es el último sector que es para el tamaño, podemos utilizar formatos de +100 megabytes o +1 gigabytes, por ejemplo, +19 gigabytes basta en este caso para crearlo porque es un disco de prueba.
 
 
Entonces si ponemos p veremos que ahora aparece la nueva partición /dev/sda.

 
Esto nos dice el dispositivo, el sector donde empieza y donde termina, el tipo y el tamaño. Si nosotros escribimos t selecciona la partición automáticamente porque sólo hay una partición, si tuviéramos varias nos diría cuál elegiríamos. Luego tenemos que especificar un código de tipo de partición, con L mayúscula podemos obtener todos estos códigos. En este caso le voy a poner 83 para continuar con una partición Linux. 

 
Una vez que nosotros ya hemos creado las particiones que queremos lo que tenemos que escribir es la tabla de particiones, para eso escribimos w y salimos, el programa cerrará el modo interactivo.
 
 
Nosotros podemos listar otra vez los discos y particiones y veremos que se ha creado una partición.
 
 
Otra manera de modificar las particiones es utilizando el comando cfdisk que es una interfaz visual que opera igual que fdisk.
 
 
Como vemos se nos abre una pantalla y aquí nosotros podemos operar. Por ejemplo, nos muestra que ya tenemos una partición, y que podríamos crear una nueva partición con un espacio libre de 1023 megabytes. Si bajamos con la flecha del teclado nos da más acciones, una vez seguros de lo que hemos hecho escribimos los cambios con w. Volvemos a ejecutar fdisk -l y veremos que se ha creado la nueva partición. Entonces cfdisk nos ofrece una interfaz visual y mucho más fácil de utilizar que fdisk.

sábado, 3 de febrero de 2024

Ldd y Ldconfig



Voy a enseñar que hacen los comandos ldd y ldconfig. El primero lo que hace es mostrar las dependencias y las librerías necesarias para ejecutar una aplicación. En el post anterior nos faltaba una librería para poder ejecutar vim
 
 
Nosotros podemos listar las librerías necesarias para este programa poniendo el ldd y la ruta, pero en este caso podemos utilizar la sustitución con witch y nos va a decir en qué directorio está.

 
Lo que nos arroja la consulta es, cuales son las librerías que nosotros necesitamos para ejecutarla, cuál es la ruta y donde está esa librería. En el caso de no encontrarla nos aparecerá "not found" que es lo que le pasa a nuestra aplicación.
 
Cómo ya sabemos la librería que nos falta vamos a crear un directorio en /root/lib/ que tiene la librería que nosotros necesitamos. 
 
 
Vamos a utilizar el comando ldconfig para reconfigurar la base de datos de librería, una vez configurado /etc/ld.so.conf  vamos a tener que ejecutar este comando para actualizar esta base de datos.
 
Si yo creo un fichero dentro del directorio /etc/ld.so.conf.d/prueba.conf  y le redirijo la salida de éste a la ruta donde yo tengo mi librería /root/lib/.
 
 
Hago un cat del fichero y vemos si redirigió el contenido. Si vuelvo a intentar ejecutar vim veremos que no puedo porque no he ejecutado el comando ldconfig.
 
 
Yo si ejecuto de ldconfig va a releer todos los directorios donde nosotros no lo hemos especificado y ahora si vuelvo a hacer el ldd $(which vim) vemos que ahora sí están todos las librería correctas.
 
 
Es decir yo puedo ejecutar vim, si queremos ver lo que realiza cuando nosotros ejecutamos ldconfig le añadimos -v. Si queremos que nos muestre la base de datos actual, es decir, las librerías que podemos utilizar, entonces utilizaremos la opción -p y nos limitará el contenido de la base de datos donde está todas las librerías.
 
 
Si nosotros quisiéramos especificar otro fichero de configuración en vez de por defecto /etc/ld.so.conf.d podemos utilizar la opción -f y el fichero donde están los directorios con las librerías.