我最近从Windows迁移到Linux(xubuntu)
我是开发人员并安装了我需要的所有东西,LAMP。在Windows中,我曾经关闭所有不必要的服务 - 我不需要一直运行Apache或MySQL服务。每当我需要MySQL时,我曾经使用过:
net start mysql
我如何在Linux中做同样的事情?
- 从自动启动中禁用不需要的守护程序?
- 只在我需要它们时启动它们?
我最近从Windows迁移到Linux(xubuntu)
我是开发人员并安装了我需要的所有东西,LAMP。在Windows中,我曾经关闭所有不必要的服务 - 我不需要一直运行Apache或MySQL服务。每当我需要MySQL时,我曾经使用过:
net start mysql
我如何在Linux中做同样的事情?
Answers:
在大多数Linux发行版中,您可以通过运行以下命令(以root身份或使用sudo)手动启动/停止服务:
# /etc/init.d/apache2 start
# /etc/init.d/mysqld start
# /etc/init.d/apache2 stop
# /etc/init.d/mysqld stop
哪些自动启动的服务由/etc/rc [runlevel] .d /中的文件链接控制。使用命令“runlevel”以root身份查找当前的运行级别
# runlevel
N 2
这里表示运行级别2现在你只需删除/etc/rc2.d/中你不想启动的那些文件。
在桌面上删除apache和Mysql通常没问题,但要注意删除其他服务。
/etc/rc.d/
。
Ubuntu 10.04正处于两个服务管理系统之间的转换过程中:SysVinit(大多数Linux发行版使用的传统系统)和Upstart(Ubuntu推出的更新系统,并在越来越多的发行版中可用)。
SysVinit服务管理脚本在/etc/init.d
。您可以启动服务/etc/init.d/SERVICENAME start
并使用它来停止它/etc/init.d/SERVICENAME stop
。服务是否在引导时自动启动取决于符号链接的存在,/etc/rc?.d
其中?
是从(运行级别)2
到数字的位置。防止服务在启动时自动启动的最简单方法是使用。5
update-rc.d SERVICENAME disable
Upstart服务管理配置文件位于/etc/init
。您可以启动服务start SERVICENAME
并使用它来停止它stop SERVICENAME
。配置文件/etc/init/SERVICENAME.conf
包含一行指示何时启动服务:start on …
。禁用这些服务的一种简单方法是将该行更改为start on never and (…)
。如果您不想编辑该文件,您还可以完全禁用该服务,而不会通过将包装系统重命名为不结束而使包装系统混淆.conf
。
dpkg-divert --add --local --divert /etc/init/foo.conf.disabled --rename /etc/init/foo.conf
从Ubuntu 10.04开始,Apache附带了一个SysVinit脚本,而Mysql附带了一个Upstart脚本。
/etc/default
并在START_FOO
那里有一个你可以关闭的选项,但许多人希望在安装时运行。更新不会在没有提示的情况下覆盖您的更改,因为这些都是conffiles。
dpkg-divert
重命名服务文件。但是,如果这样做,您将无法显式启动该服务。
对于使用systemd(15.04及更高版本)的Ubuntu版本,请使用:
systemctl disable service
这将完成这项工作。它将禁用该服务,并在重新启动后不会重新启动。暂时启用只需启动服务。不启用。
要查找服务名称,请使用
service --status-all
其他命令是:
systemctl start service
- 用它来启动服务。重启后不会持续存在
systemctl stop service
- 用它来停止服务。重启后不会持续存在
systemctl restart service
- 使用它重新启动服务
systemctl status service
- 显示服务的状态。告知服务当前是否正在运行。
systemctl enable service
- 在下次重启或下次启动事件时打开服务。它在重启后仍然存在。
systemctl disable service
- 在下次重启或下次停止事件时关闭服务。它在重启后仍然存在。