PART 1- Afegint un servei al sistema
des del principi
1.- Instal·lació
del servei:
a) Descarrega
i compila echod.c.
Comprova
que pots compilar echod.c executant
l'ordre: gcc -O echod.c -o echod. Un
nou executable de nom echod serà creat.
És un programa servidor que:
Escoltarà pel port 9999/tcp
Fa un eco de qualsevol missatge enviat al
servidor des del terminal.
b) Canvia el codi font
per fer que escolti pel port 9998/tcp.
Torna a compilar el programa.
c) Amb privilegis de root,
copia echod dins de /usr/sbin.
d) Descarrega myservice.service.
Canvia el nom del fitxer a echod.service.
Edita el contingut de echod.service i fes
els següents canvis:
Primera
línia --> #
Contingut de /etc/systemd/system/echod.service
Description=Servei Echod
ExecStart=/usr/sbin/echod
e) Copia echod.service
dins de /etc/systemd/system
f) Habilita el servei.
Executa les següents ordres amb privilegis de root: systemctl
daemon-reload
systemctl enable echod.service
g) Inicia el
servei echod executant amb privilegis de root: systemctl
start echod.service
h) Comprova
l'estat de servei echod
executant:
systemctl status
echod.service
2.- Comprova que pots aturar/iniciar/reiniciar
el servei amb l'ordre systemctl.
3.- Comprova amb l'ordre sudo
netstat -atupn que si el servei
echod.service està actiu, hi ha un
programa en execució que escolta pel port 9998/tcp.
4.- Comprova que el servei està habilitat
(és a dir, si reinicies l'ordinador, el servei es
posa en marxa automàticament). Executa: sysemctl
list-unit-files | grep echod
5.- El
programa
és un servidor que fa un eco (repeteix) de
qualsevol cadena de caracters enviada pel client.
No existeix un client i per comprovar el seu
funcionament s'ha d'utilitzar el programa telnet. Connecta-t'hi
des de la màquina host via client telnet (si no
ho tens, instala-ho).Comprova el seu funcionament.
PART 2 1.- Afegeix un segon disc dur a la teva
màquina virtual de pràctiques del M06UF1 de 20GB,
de nom pr4.vdi, de tipus dinàmic i
connectada al port SATA1. 2.- Inicia el sistema. Obre un terminal i
executa l'ordre sudo dd
if=/dev/sda of=/dev/sdb per clonar el
disc del sistema en el nou disc dur. 3.-
Atura
el procés iniciat a l'apartat 2.
Recorda que aturar no és terminar. 4.-
Inicia un altre procés executant l'ordre dd
if=/dev/zero of=/dev/null bs=1M 5.-
Atura
el procés iniciat
a l'apartat 4.
Recorda que aturar
no és terminar. 6-
Mostra
l'estat dels
processos
iniciats als
apartats 2 i 4
executant:
ps
aux
|
grep "dd
if="
|
grep
-v grep.
Com
comproves que
estan
aturats?. 7.-
Envia a segon pla (background) el procés
aturat a l'apartat 3. 8.-
Envia a segon pla (background)
el procés aturat a l'apartat 5. 9- Fes una llista de
processos enviats al segon pla amb
l'odre job -l.
Comprova els seus número de tasca i els seus
PID del procés. Estan
aturats o en
execució?. 10.-
Finalitza el procés que vas iniciar a la
pregunta 4 utilitzant el seu número de tasca i
enviant la senyal SIGTERM (o SIGKILL si el procés
ignora SIGTERM). 11-
Fes una llista de
processos enviats
al segon pla amb
l'odre job -l.
Comprova que has terminat el
procés de l'apartat 4.
PART
3 1.- Inicia un terminal. Executa l'ordre sudo dd
if=/dev/sda of=/dev/sdb bs=1M & per clonar el
disc del sistema en el nou disc dur i comprova que s'executa en 2n
terme. 2.- Inicia un altre terminal i executa l'ordre dd
if=/dev/zero of=/dev/null bs=1M & i
comprova que s'executa en 2n terme. 3.- Mostra l'estat dels processos iniciats als apartats 1
i 2 executant: ps aux | grep "dd
if=" | grep -v grep. Estan aturats o
en execució?. 4.- Fes una llista de processos enviats al segon pla amb
l'odre job -l. Estan aturats o en execució?. 5.- Envia a primer pla (foreground) el procés iniciat a
l'apartat 1. 6.- Termina el procés iniciat a l'apartat 1 utilitzant el
senyal SIGINT. 7.- Envia a primer pla (foreground) el procés iniciat a
l'apartat 2. 8.- Torna a enviar segon pla (background) el procés iniciat
a l'apartat 2. 9.- Termina el procés iniciat a l'apartat 2 utilitzant el
senyal SIGTERM (o SIGKILL si el procés ignora SIGTERM). 10.- Comprova que no resta cap procés executant-se en 2n
terme amb jobs -l.