
Recientemente migré de Windows a Linux (xubuntu)
Soy desarrollador y he instalado todo lo que necesito, LAMP. En Windows solía desactivar todos los servicios innecesarios; no necesito que el servicio Apache o MySQL esté ejecutándose todo el tiempo. Siempre que necesitaba MySQL solía usar:
net start mysql
¿Cómo hago lo mismo en Linux?
- ¿Desactivar demonios no necesarios para que no se inicien automáticamente?
- ¿Iniciarlos sólo cuando los necesito?
Respuesta1
En la mayoría de las distribuciones de Linux, puede iniciar/detener servicios manualmente (como root o usando sudo) ejecutando los siguientes comandos:
# /etc/init.d/apache2 start
# /etc/init.d/mysqld start
# /etc/init.d/apache2 stop
# /etc/init.d/mysqld stop
Los servicios que se inician automáticamente se controlan mediante enlaces de archivos en /etc/rc[runlevel].d/ . Encuentre su nivel de ejecución actual usando el comando "nivel de ejecución" como root
# runlevel
N 2
Lo que aquí indica el nivel de ejecución 2. Ahora sólo tiene que eliminar aquellos archivos en /etc/rc2.d/ que no desea que se inicien.
Por lo general, está bien eliminar Apache y Mysql en un escritorio, pero tenga cuidado de eliminar otros servicios.
Respuesta2
Para las versiones de Ubuntu que usan systemd (15.04 y posteriores), use:
systemctl disable service
Esto hará el trabajo. Deshabilitará el servicio y no se reiniciará después de reiniciar. Para habilitar temporalmente simplementecomenzarel servicio. Nopermitir.
Para encontrar el nombre del servicio utilice
service --status-all
Otros comandos son:
systemctl start service
- Úselo para iniciar un servicio. No persiste después de reiniciar
systemctl stop service
- Úselo para detener un servicio. No persiste después de reiniciar
systemctl restart service
- Úselo para reiniciar un servicio.
systemctl status service
- Muestra el estado de un servicio. Indica si un servicio se está ejecutando actualmente.
systemctl enable service
- Activa el servicio en el próximo reinicio o en el próximo evento de inicio. Persiste después del reinicio.
systemctl disable service
- Desactiva el servicio en el próximo reinicio o en el siguiente evento de detención. Persiste después del reinicio.
Respuesta3
Ubuntu 10.04 se encuentra en medio de una transición entre dos sistemas de gestión de servicios: SysVinit (el sistema tradicional, utilizado por la mayoría de las distribuciones de Linux) y Upstart (un sistema más nuevo impulsado por Ubuntu y que está disponible en cada vez más distribuciones).
Los scripts de gestión de servicios SysVinit están en formato /etc/init.d
. Puede iniciar el servicio /etc/init.d/SERVICENAME start
y detenerlo con /etc/init.d/SERVICENAME stop
. Que el servicio se inicie automáticamente al arrancar depende de la presencia de enlaces simbólicos en /etc/rc?.d
donde ?
hay un dígito desde 2
hasta 5
(elnivel de ejecución). La forma más sencilla de evitar que un servicio se inicie automáticamente al arrancar es utilizar update-rc.d SERVICENAME disable
.
Los archivos de configuración de administración de servicios Upstart están en formato /etc/init
. Puede iniciar el servicio start SERVICENAME
y detenerlo con stop SERVICENAME
. El archivo de configuración /etc/init/SERVICENAME.conf
contiene una línea que indica cuándo iniciar el servicio: start on …
. Una forma sencilla de desactivar estos servicios es cambiar esa línea a start on never and (…)
. Si no desea editar el archivo, también puede desactivar completamente el servicio sin confundir al sistema de empaquetado, cambiándole el nombre para que no termine en .conf
.
dpkg-divert --add --local --divert /etc/init/foo.conf.disabled --rename /etc/init/foo.conf
A partir de Ubuntu 10.04, Apache viene con un script SysVinit y Mysql viene con un script Upstart.