Академический Документы
Профессиональный Документы
Культура Документы
Gestindeservicios
17 agosto, 2013 by P. Ruiz in Sistemas Operativos en Red
Losservicios,tambinllamadosdemoniosenlaterminologaUnix,son
programasqueseejecutanensegundoplanoparaofrecerunafuncin
concretadeformaindependientedelusuarioquepuedainiciarsesinenel
sistema.
Existenserviciosquemonitorizanelsistema,quecompruebansiexisten
actualizacionespendientesdeinstalar,quecontrolanelrelojdelsistemaylo
actualizanatravsdelaredcuandoseanecesario,quegestionanlaconexin
deredyavisancuandoalgonovabien,etc.
Enlasiguientetablaseincluyenalgunosdelosserviciosmsfrecuentesen
Linux:
Tambinesfrecuenteencontrarserviciosquenoestnrelacionadosconel
funcionamientodelpropiosistema,sinoconlafuncionalidadquesteofrecea
equiposcliente.Enestacategoraseencuentranlossiguientes:
Buscar...
AunqueenunsistemaLinuxenfuncionamientoexistenmultituddeservicios
enejecucin,suadministracinesrelativamentesencilla.Slohabrque
saberdndeseencuentranycmogestionarlos(iniciarlos,reiniciarlos,
pararlos,etc).
Gestionarlosservicios
Cuandoseinstalaunprogramaque
llevaasociadoalgnservicio(comoel
servidordeimpresinCUPSoel
servidorwebApache),elprocesode
Enotrasdistribucionesla
instalacinguardaeneldirectorio
carpetapuedeser
/etc/init.delscriptnecesariopara
/etc/rc.d/init.d.
controlarlo.Estoocurretambincon
losserviciospropiosdelsistema
operativo.
Enresumidascuentas,loqueestosignificaesqueenlacarpeta/etc/init.d
seencuentrantodoslosscriptsqueseutilizanparaadministrarlosservicios
quepuedenejecutarseenUbuntu.
Elnmerodearchivosalmacenadosdependerdelasfuncionesparalasque
estconfiguradoelsistemaydelosdispositivoshardwareinstalados.
Contenidodelacarpeta
/etc/init.d.
Estosscriptsseprogramandemodoquereconozcanlossiguientes
argumentos:
start:Permiteiniciarunserviciodeformamanual.Porejemplo,para
iniciarelserviciovboxaddescribiremoslasiguienteorden:
sudo/etc/init.d/vboxaddstart
Elscriptdevuelveunmensaje
indicandosilaaccinseha
completadoconxito
stop:Permitedetenerunservicioqueseestejecutandoenestos
momentos.Porejemplo,paradetenerelservicioanterior,escribiremos
losiguiente:
sudo/etc/init.d/vboxaddstop
vboxaddesunservicioqueno
puededetenersey,cuandolo
intentamos,nosdevuelveun
error
restart:Equivalearealizarlasdosoperacionesanteriores.Primero
detieneelservicioydespusloinicia.Parareiniciarelservicioanterior,
escribimosesto:
sudo/etc/init.d/vboxaddrestart
Comoyaimaginabas,volvemos
aobtenerelmismoerrorque
antes,porque,denuevo,noha
podidodetenerse.
status:Nospermiteconsultarelestadoenelqueseencuentraun
servicio.Paracomprobarlo,slotenemosqueescribirlosiguiente:
sudo/etc/init.d/vboxaddstatus
Ascomprobamosqueelservicio
seestejecutando.
Desdelaversin9.10deUbuntu,comenzaimplantarseUpstartcomo
sustitutodelservicioinit,queesquienseencargadeiniciarlosservicios
duranteeliniciodelsistema,detenerloscuandoapagamosycontrolarsu
funcionamientomientrasestnactivos.
LaventajadeUpstartesquecontrolalosserviciosatendiendoasuseventos,
loquelepermiteaumentarsurendimiento.
Elinconvenientedetodoestoesque,dentrode/etc/init.d,ademsdelos
scriptstradicionalespodemosencontrarlosUpstartjobs(otareasUpstart,
enespaol).As,siintentamosaplicarconalgunosserviciosloqueacabamos
deaprender,podemosencontrarnosconunerrorcomoeldelaimagen
siguiente:
Elscriptcronhasidoconvertidoen
unUpstartjob.
Paraverelestadodeestetipodeservicios,podemosutilizarelcomando
initctllist.
Deestaformaobtenemoslalista
completadelosserviciosquese
estnejecutandoenelsistema.
Paraobtenerinformacinreferenteaunservicioconcreto,podemoscanalizar
lasalidaatravsdelcomandogrep:
initctllist|grepcron
Enestecaso,tambinapareceel
comandoanacronporquecoincide
conlabsqueda.
Adems,realizaremoslagestindeserviciosUpstartconlossiguientes
comandos:
start:Permiteiniciarlaejecucindeunservicio.Porejemplo,para
iniciarelserviciocron,ejecutaremoslosiguiente:
sudostartcron
Comoantes,recibimosun
mensajeinformativo,aunque
ahoratambinseincluyeelPID
delproceso.
stop:Permitedetenerlaejecucindeunservicio.Porejemplo,para
detenerelservicioanteriorescribimosesto:
sudostopcron
Denuevo,recibimosunmensaje
informativo
restart:Equivalearealizarlasdosoperacionesanteriores.Primero
detieneelservicioydespusloinicia.Parareiniciarelservicioanterior,
escribimosesto:
sudorestartcron
Debemosobservarquecuando
reiniciamoselservicio,recibeun
PIDdiferente.
Elcomandoservice
Estecomandopermitegestionardeformaindistintatantoscriptstradicionales
comoUpstartjobs.Adems,cuandousamosscripts,evitamoslanecesidad
deescribirlarutacompleta.
Laformaderealizarlasaccionesanterioresutilizandoelcomandoservice
seralasiguiente:
servicestart:Permiteiniciarlaejecucindeunservicio.Porejemplo,
parainiciarelserviciocron,ejecutaremoslosiguiente:
sudoservicecronstart
servicestop:Detieneunservicioqueseestejecutando.Por
ejemplo,paradetenerelservicioanterior,escribiramosesto:
sudoservicecronstop
servicerestart:Equivalearealizarlasdosoperacionesanteriores.
Primerodetieneelservicioydespusloinicia.Parareiniciarelservicio
anterior,escribimosesto:
sudoservicecronrestart
servicestatus:Nospermiteconsultarelestadoenelquese
encuentraunservicio.Paracomprobarlo,slotenemosqueescribirlo
siguiente:
sudoservicecronstatus
Enestecasotambinpodemoscomprobarelestadodetodoslosservicios
utilizandoelsiguientecomando:
sudoservicestatusall
Iniciaropararserviciosduranteelarranque
delsistema
Muchasveces,convienequelosserviciosseiniciendeformaautomtica
duranteeliniciodelsistema,sinesperaraqueeladministradorlospongaen
funcionamientoysinquenisiquieraseanecesarioquehayainiciadouna
sesinlocalningunodelosusuarios.
Estoocurre,porejemplo,cuandoinstalamosunservidorNFS(loveremosen
elcaptulo10).Elservicioqueatiendelasconexionesdeusuariosatravsde
laredlocaldebeestardisponible,deformaautomtica,encuantoelservidor
hayaterminadodearrancar.
LaejecucinautomticadeserviciosseorganizaenLinuxenbasealos
nivelesdeejecucin.Cadaniveldeejecucinenparticulariniciarodetendr
unosserviciosenconcreto.Recuerdaqueyahemoshabladoenelcaptulo8
delosnivelesdeejecucin(concretamente,enelapartadoAjustestrasla
instalacindeUbuntu).
Losserviciosqueseinicianconcadaniveldeejecucinseguardanenlos
directorios/etc/rc*.d(encontraremosdirectoriosdesderc0.darc6.dy
rcS.d).
Directorios/etc/rc*.d
Sinembargo,lociertoesquesetratanicamentedeenlacessimblicosa
elementosdeldirectorio/etc/init.d.Enrealidad,esenestedirectorio
dondesealmacenanlosscriptsqueformanpartedelasecuenciadearranque
delamayoradedistribucionesdetipoDebian.
Sitomamoscomoejemploelcontenidodeldirectorio/etc/rc1.d,podemos
observarque,efectivamentesetratadeenlacessimblicos(porejemplo,
K15pulseaudiohacereferenciaa../init.d/pulseaudio).
Contenidode/etc/rc1.d.
Asimplevista,tambinpodemosobservarunadiferenciaentrelosnombresde
unosscriptsyotros:unoscomienzanconlaletraKyotrosconlaletraS.El
motivoesque,alarrancarelsistemaenelniveldeejecucincorrespondiente
(enestecaso,el1),losscriptsquecomienzanconlaletraKfinalizanservicios
(Kill)ylosquecomienzanconlaletraSlosinician(start).Endefinitiva,loque
hacenespasarelargumentostopostartalscriptadecuadoen
/etc/init.d.
Siunserviciodebecorrernicamenteenunniveldeejecucinparticular,
dispondrdeunscriptdeinicio(cuyonombrecomenzarporlaletraS)enla
carpetacorrespondienteadichonivel,mientrasqueenlascarpetasdelresto
delosnivelesdeejecucindeberaparecerunscriptdefinalizacin(cuyo
nombrecomenzarporlaletraK).Deestaforma,cuandocambiemosdenivel
deejecucin,sedetendrntodoslosserviciosinnecesarios.
Elnmeroquesiguealaletrainicialhacequecadascriptseejecuteenun
ordendeterminado.Elnmeroparticularnoesimportante,peroloques
importaeslasecuencia,paraquealgunosserviciospuedaniniciarse,o
pararse,antesqueotros.
Cmofuncionanlosscriptsdeinicio?
Cuandoarrancaelsistema,seejecuta
elscript/etc/init.d/rcS.Su
misinserejecutar,deforma
ordenada,todoslosscriptsque
Enotrasdistribuciones,elnivel
comiencenporlaletraSenel
deejecucinpredeterminado
directorio/etc/rcS.d.Acadaunode
seguardaen/etc/inittab.
elloslespasa,comoprimer
Sinembargo,enUbuntuse
argumento,elvalorstart.Porel
guardadentrodelarchivo
momento,elniveldeejecucinesN
/etc/init/rc
(none).
sysinit.conf,enlavariable
DEFAULT_RUNLEVEL.
Enestaetapa,slodebenejecutarse
loselementosimprescindiblespara
llevaralsistemahastaunestado
consistente.Enestenivelnodebeiniciarseningnservicioamenosque
resulteimprescindible.
Despusdeejecutarlosscriptsquehayen/etc/rcS.d,elprocesodeinicio
cambiaalniveldeejecucinpredeterminado,quesueleser2.Apartirdeah,
seejecutaelscript/etc/init.d/rc,queiriniciando,unoauno,los
serviciosqueencuentreen/etc/rc2.d(eseldirectorioquecorrespondeal
niveldeejecucin).
DadoqueelniveldeejecucinanterioreraN,losscriptsquecomienzanporK
noseejecutan,yaqueannohayningnservicioquedetener.
Locomentadohastaahoraesvlidodeformageneralparatodoslosniveles
deejecucin,peroexistenalgunascuestionesparticulares:
ElniveldeejecucinMonousuario:Llegamosalcambiandoalnivel
deejecucin1.Estodetendrtodoslosserviciosdelsistema(comosi
todostuviesenunscriptKeneldirectorio/etc/rc1.d).Despus,se
produciruncambioalniveldeejecucinS,quenosueletenerscripts,
ysegeneraunashellparamantenimientodirectamenteen
/dev/console.
Cuandoparamosoreiniciamoselsistema(cambiandoalosnivelesde
ejecucin0o6,respectivamente),seejecutarnenordentodoslos
scriptsKcontenidoseneldirectoriocorrespondiente(/etc/rc0.do
/etc/rc6.d).Acontinuacin,siexistealgnscriptS,tambinse
ejecutadeformaordenada,peroenviandounargumentostop.
AdministrarserviciosconBootUpManager
Aunqueesimportanteconocerlabasedelfuncionamientodelosserviciosen
Ubuntuytenerasunaideacercanadecmofuncionanlascosas,yo
recomiendoutilizarlainterfazgrficaparaadministrarlosserviciosy
programasqueseinicianconelsistema.Assimplificaremos
considerablementelatareaynosevitaremoscometererrores.Laherramienta
perfectaparaestalaboresBootUpManager(tambinconocidoporla
abreviaturaBUM).
BootUpManagerpermiteuna
configuracinsencilladelosservicios
deiniciotantoparalosusuarioscomo
paralosnivelesdeejecucindel
Puedesencontrarlapgina
sistema,ascomolamodificacinde
oficialdeBootUpManager
laprioridaddeinicioyparadadelos
enlasiguientedireccin:
servicios.
http://www.marzocca.net/
Unadelascaractersticasmas
interesantesdeBootUpManageresquemuestratodoslosserviciosquese
encuentreninstaladosenelequipo,sinimportarqueestnactivosono.
ComoesteprogramaestincluidoenlosrepositoriosoficialesdeUbuntu,su
instalacinestansencillacomoabrirunaventanadeterminalyescribirel
siguientecomando:
sudoaptgetinstallbum
AunquetambinpodemosrecurriralCentrodesoftwaredeUbuntu.
Introducimospartedesunombreenelcuadrodebsqueda
Cuandoloencontremos,slo
tenemosqueseleccionarloyhacer
clicsobreelbotnInstalar.
Unavezinstalado,loejecutamosrecurriendoalDash:
Comenzamosaescribirpartedesu
nombrey,cuandoaparezca,
hacemosclicsobrel.
DadoqueBootUpManagerestpensadoparaquelousenadministradores,
loprimeroquehaceespedirquenosautentiquemos
Escribimoslacontraseade
administracinyhacemosclicsobre
elbotnAceptar.
As,llegamosalaventanaprincipal
delprograma:
Enlaparteinferior,encontramosunacasilladeverificacinjuntoalapalabra
Avanzado.
Cuandolaseleccionamosaparecen
tresnuevassolapas:Resumen,
ServiciosyScriptsdeinicioy
apagado.
Acontinuacinvamosarealizarunpequeorepasodecadaunadeellas:
LasolapaResumeneslaquecontienelainformacinqueapareca
antesdemarcarlacasillaAvanzado.Nosofreceunavisingeneralde
losserviciosqueestnactivadosduranteelarranque.Enlacolumnade
laderechapodremosverenquestadoseencuentraelservicio:
Uniconocomoeste
,indicaqueelservicioestactualmente
enfuncionamiento.
Sieliconoesas
,indicaqueelservicionoestfuncionando
enestosmomentos.
Cuandoeliconoes ,indicaqueelserviciosehaejecutado
duranteeliniciodelsistemaparaofrecerunaconfiguracininicial
y,unavezcompletadosutrabajo,hadejadodeejecutarse.Aeste
tipodeserviciosselessuelellamaroneshot(undisparo)
Y,porltimo,sieliconoes ,esqueBootUpManagernoha
sidocapazdedetectarsielscriptseestejecutando.
Podemosactivarodesactivarcualquieradeelloshaciendoclicsobresu
casilladeverificacin
LasolapaServiciosnosofreceunmayordetallesobrelosserviciosy
podremosestablecerdeunaformamsdetalladaelniveldeejecucin
enelqueseejecutacadaunodeellos.Adems,enlaparteinferiorde
laventana,apareceunabrevedescripcindelservicio(aunquela
mayoradelasvecesseencuentravaco).
AspectodelasolapaServicios.
ElttulodelasolapaScriptsdeinicioyapagadoseexplicaporssolo.
Muestralosscriptsqueseejecutancuandoarrancamosoapagamosla
mquina.Enestecaso,porcuestionesdeseguridad,BootUp
Managernopermitehacercambiosenlaconfiguracin.
Si,porejemplo,necesitamoscambiarlaprioridaddeiniciooparadadeun
servicio,slotenemosquehacerclicsobresunombreconelbotnderecho
delratn.
Enelmendecontextoque
aparece,elegimosCambiar
prioridaddeinicio/parada.
Enesemomento,aparecerunanuevaventanadondepodemoselegirel
nmeroqueindicaelordenenelqueseiniciarosepararelservicio.
Despusharemosclicsobreelbotn
Aceptarparavalidarloscambioso
enCancelarsipreferimosdejarlo
comoestaba.
Paraqueloscambiossehaganefectivos,debemosrecordarquehayque
pulsaralfinalelbotnAplicar.Tendremoslaoportunidaddeaplicarlos
cambiosenelmomento,loqueimplicaquelosscriptssedetendrnyse
volvernainiciar,oesperaralsiguientereinicio.
Paraqueloscambiosseanefectivos
enestemomento,haremosclic
sobreelbotnS.
Comprtelo:
Relacionado
Captulo9:
Administracindel
servidorUbuntu14.04
LTS
24diciembre,2014
En"Sistemas
OperativosenRed(2
ed.)"
Captulo1:
Introduccinalos
sistemasoperativosen
red
22agosto,2014
En"Sistemas
OperativosenRed(2
ed.)"
Captulo11:Instalary
configurarOpenLDAP
enUbuntu14.04LTS
3enero,2015
En"Sistemas
OperativosenRed(2
ed.)"
JAIMIEJACOBSCARTERAMGICAFLAP
69,00
Copyright2016SomeBooks.es