Documentos de Académico
Documentos de Profesional
Documentos de Cultura
En esta práctica vamos a hacer Ubicaciones de los Datos de Linux. Mediante la realización
de esta práctica de laboratorio, los estudiantes aprenderán acerca de la ubicación de la
información del kernel, información del proceso, las librerías, los archivos de registro, y los
paquetes de software.
Paso 1.
Recuerda que los directorios que tienen los números para los nombres representan procesos
que se ejecutan en el sistema. El primer proceso es siempre /sbin/init, po lo que el
directorio /proc/1 contendrá los archivos con la información sobre el proceso init en
ejecución.
Paso 2.
Visualizamos el archivo /proc/cmdline para ver qué argumentos pasan al kernel durante el
arranque:
La salida del ping está siendo redirigida al archivo /dev/null (que se conoce comúnmente
como bit bucket).
Observa que la terminal aparece que se cuelga con este comando. Esto se debe a la
ejecución de este comando en el «primer plano». El sistema continuará
procesando ping hasta que el proceso termine o lo suspenda el usuario.
Paso 2.
Paso 3.
nota*Al añadir el signo & al final del comando, el proceso se inicia en el segundo plano y
permite al usuario mantener el control de la terminal.
Esto significa que este proceso tiene un número de trabajo 1 (como lo muestra la salida [1])
y un identificador de proceso (PID) de 98 Cada terminal/shell tendrá sus números de trabajo
únicos. El PID vale para todo el sistema; cada proceso tiene un número de identificación
único.
Recuerda que mis resultados pueden variar con los tuyos.
Paso 4.
Paso 5.
Paso 6.
Ahora, debe haber dos comandos ping ejecutándose en segundo plano. Para verificarlo,
emite el comando jobs de nuevo
Paso 7.
Una vez que hayamos comprobado que dos comandos ping se ejecutan, llevaremos al
primer comando al primer plano:
Paso 8.
Observa que, una vez más, el comando ping ha tomado el control de la terminal. Para
suspender (pausar) el proceso y recuperar el control de la terminal, escribe Ctrl-Z:
Paso 9.
Para que este proceso continúe ejecutándose en segundo plano, usaremos el siguiente
comando:
Paso 10.
Paso 11.
Paso 12.
Emitimos el comando Jobs para verificar que estén los 3 procesos en ejecución.
Paso 13.
Utilizando el número de trabajo, detuvimos el último comando ping con el comando kill y
verificamos que se haya detenido la ejecución del comando jobs:
Paso 14.
Por último, puedes detener todos los comandos ping con el comando killall. Después de
ejecutar el comando killall, esperamos unos instantes, y luego ejecutamos el
comando jobs para comprobar que todos los procesos se hayan detenido:
En esta práctica vamos a utilizar el comando top para trabajar con los procesos.
Bueno por defecto, el programa top ordena los procesos en orden descendente del
porcentaje de uso de la CPU, por lo que los programas de mayor actividad estarán en la
parte superior de nuestra lista.
Paso 1.
Paso 2.
top
Nota
Paso 3.
El comando top es un programa interactivo, lo que significa que puedes emitir comandos
dentro del programa. Vas a utilizar el comando top para terminar los procesos ping. Primero
introducimos de la letra k.
Y esto cambio:
Paso 4.
En el prompt PID to kill: escribe el PID del primer proceso ping en ejecución, y a
continuación, presiona Entrar. Observa que el prompt cambia como a continuación:
Escribí 105 porque fue mi primer ping, esto varia, al dar enter me salió esto.
Paso 5
En el prompt Kill PID with signal [15]: introduce la señal para enviar a este proceso. En este
caso, solamente presiona la tecla Entrar para utilizar la señal por defecto. Ten en cuenta
que el primer comando ping se elimina y sólo un comando ping permanece en el listado
(es posible que tengas que esperar unos segundos mientras el comando top actualiza):
A continuación, termina los procesos restantes ping como antes, excepto que esta vez, en
el prompt de la señal Kill PID with signal [15]: utiliza el valor de 9 en lugar de aceptar el valor
predeterminado 15. Presiona Entrar para aceptar y entrar.
Paso 7.
Introduce q para salir del comando top. La siguiente pantalla refleja que ambos
comandos ping fueron terminados:
En esta tarea, vamos a seguir trabajando con los procesos. Vas a utilizar pkill y kill para
terminar los procesos.
Paso 1.
El comando sleep se utiliza normalmente para hacer una pausa en un programa (script
shell) por un período de tiempo específico. En este caso se utiliza sólo para proporcionar un
comando que se tarda mucho tiempo en ejecutarse.
Paso 2.
Paso 3.
Paso 4.
A continuación, utiliza el comando pkill para terminar el comando sleep restante, utilizando
el nombre del programa en lugar del PID:
Inicia un proceso en segundo plano utilizando ping y visualiza los procesos actuales
utilizando el comando ps:
Paso 2.
Ejecuta el comando ps usando la opción -e, para que se muestren todos los procesos.
Nota*
Debido a que este entorno es de un sistema operativo virtualizado, hay muchos menos
procesos que lo que normalmente se muestra con Linux corriendo directamente en el
hardware.
Paso 3.
Paso 4.
Paso 5.
Mientras que el comando ps puede mostrar el porcentaje de memoria utilizado por el
proceso, el comando free mostrará el uso total de la memoria del sistema:
Paso 6.
Detén el comando ping con el siguiente comando kill y verifica con el comando jobs:
Saber dónde se almacenan los archivos de registro del sistema y la forma de mantenerlos
es importante para un administrador de sistemas.
Hay dos daemons que manejan los mensajes de registro: el daemon syslogd y el
daemon klogd. Normalmente, no tienes que preocuparte por el klogd; éste sólo se ocupa
de los mensajes de registro del kernel y envía su información de registro al daemon syslogd.
Paso 1.
Debido a que los próximos comandos que se ejecutarán en este laboratorio requieren
derechos de superusuario, utiliza el comando su para cambiar a la cuenta de root:
Contraseña: netlab123
Paso 2.
Los registros del sistema se almacenan en el directorio /var/log. Lista los archivos en este
directorio:
Paso 3.
Cada archivo de registro representa un servicio o función. Los nuevos datos se almacenan
en la parte inferior del archivo.
Comandos:
ssh localhost
{En el primer prompt, introduce yes} {En el segundo prompt, introduce abc} {En el tercer
prompt, introduce abc} {En el cuarto prompt, introduce abc}
tail -5 /var/log/auth.log
Paso 4.
Para ver otro ejemplo de las entradas de registro, ejecuta los siguientes comandos:
crontab -e
Paso 5.
Visualiza las últimas cinco líneas del archivo /var/log/dmesg para ver los mensajes del kernel
desde el momento del arranque y ejecuta el comando dmesg canalizado al
comando tail para ver los cinco últimos mensajes del kernel.
Paso 6.
Paso 8.
En lugar de cambiar de usuario al root con el comando su, utiliza sudo para ejecutar el
siguiente comando con los privilegios de root:
Las librerías compartidas son archivos que contienen código que los programan ejecutables
pueden enlazar con el fin de utilizar ese código. Esto ayuda a reducir la cantidad del
espacio necesario para este código ya que cada programa no tiene que tener su propia
copia del código de la librería.
Estos archivos de la librería se almacenan con más frecuencia en los directorios /lib y /usr/lib.
Los directorios adicionales se pueden añadir mediante la edición del archivo de
configuración, /etc/ld.so.conf. También puedes crear archivos con nombres que terminan
en .conf y colocarlos en el directorio /etc/ld.so.conf.d. Por último, también puedes
configurar la variable de entorno LD_LIBRARY_PATH
Paso 1.
Como un usuario normal, vas a ejecutar el comando ldconfig para imprimir la lista de las
librerías compartidas:
Para salir, solo presionamos q.
Paso 2.
Con el fin de ver qué librerías están vinculadas a un ejecutable, tal como /bin/bash, ejecuta
el comando ldd: