Está en la página 1de 14

Practica 2.

Módulo 11 - Gestión de paquetes y procesos

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.

En este laboratorio llevarás a cabo las siguientes tareas:

❖ Investiga cómo el kernel utiliza al sistema de archivos /proc


❖ Utiliza el comando ps para ver la información del proceso
❖ Aprende a gestionar los procesos al iniciarlos, detenerlos y continuarlos
❖ Visualización de archivos de registro
❖ Gestionar la capacidad de cargar las librerías compartidas

Paso 1.

Observaremos cuales son los archivos ubicados en nuestro directorio

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.

Utiliza cat y después ps para ver la información sobre el proceso

Nota: El comando echo en este ejemplo se ejecuta inmediatamente después del


comando cat.
Paso 3.

Visualizamos el archivo /proc/cmdline para ver qué argumentos pasan al kernel durante el
arranque:

Veremos cómo iniciar y detener los procesos.


Paso 1.

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.

Terminado el proceso en el primer plano presionando Ctrl-C.

Paso 3.

para iniciar el mismo proceso en el segundo plano

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.

Para ver qué comandos se ejecutan en la terminal actual, usamos el comando:

Paso 5.

iniciamos otro comando ping en segundo plano:

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.

Emitimos el comando jobs de nuevo, para verificar dos procesos en ejecución:

Paso 11.

Iniciamos el comando ping:

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.

¿Qué sígnica esto?

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.

Desde la ventana de la terminal, escribimos los siguientes comandos:

Paso 2.

A continuación, inicia el comando top

top

Nota

La salida del comando top cambia cada 2 segundos.

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):

Al darle en entrar se quitó el promt kill


Paso 6.

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.

Primero puse la k y mi 106

De ahí solo le di en 9 para finalizar.

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.

A continuación, determina qué trabajos se están ejecutando actualmente escribiendo:

Paso 3.

Ahora, utiliza el comando kill para detener la primera instancia del


comando sleep escribiendo lo siguiente (sustituye PID con el ID de proceso de tu primer
comando sleep). También, ejecuta el comando jobs para verificar que el proceso se haya
detenido

Paso 4.

A continuación, utiliza el comando pkill para terminar el comando sleep restante, utilizando
el nombre del programa en lugar del PID:

Puedes utilizar el comando ps para ver los procesos. De forma predeterminada, el


comando ps sólo mostrará los procesos ejecutados en el shell actual.
Paso 1.

Inicia un proceso en segundo plano utilizando ping y visualiza los procesos actuales
utilizando el comando ps:

Guarda el numero de ping, nos ayudara más adelante.

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.

Utiliza el comando ps con la opción -o para especificar las columnas de salida

Paso 4.

Utilizamos la opción --sort para especificar el orden de la(s) columna(s). De manera


predeterminada, una columna especificada para la clasificación se ordenará de manera
ascendente, esto puede ser forzado colocando el símbolo plus + que aparece delante del
nombre de la columna. Para especificar un orden descendente, utiliza el signo
menos - delante del nombre de columna.
Ordena la salida del ps por %mem:

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

A continuación, agrega la siguiente línea al documento (recuerda que i te permitirá entrar


al modo de inserción) y luego guardálo y salir con ESC, :wq, Enter: 0 2 * * 0 who >>
/tmp/whothere. Después de haber completado los cambios, visualiza el archivo de registro
para el servicio crontab:

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.

Introduce el siguiente comando para deshabilitar la posibilidad de que el administrador


pueda crear las entradas crontab y regresamos al usuario administrador del sistema:
Paso 7.

Nota: Este comando produce un error

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:

También podría gustarte