AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 32438
Accepted
lfaraone
lfaraone
Asked: 2009-06-27 12:21:37 +0800 CST2009-06-27 12:21:37 +0800 CST 2009-06-27 12:21:37 +0800 CST

禁止服务在所有运行级别启动?

  • 772

我有一项服务foo,目前在运行级别3及以上启动。如何在不使用 的情况下阻止它这样做update-rc.d foo stop 3 .(如果我理解正确的话)会在每次运行级别更改时关闭服务。

(即,如果我处于运行级别1并启用foo,那么当我更改为运行级别3时,它将被禁用,不是吗?)

运行 Debian GNU/Linux Lenny。

debian startup debian-lenny daemon rc.d
  • 11 11 个回答
  • 177715 Views

11 个回答

  • Voted
  1. Best Answer
    PEra
    2009-07-10T04:56:09+08:002009-07-10T04:56:09+08:00

    “停止”术语不会阻止守护程序启动,而是在进入指定的运行级别时将其关闭。

    如果您只想从单个运行级别中删除服务/守护程序,如 bei freiheitupdate-rc.d所指出的,或者只是从中删除符号链接,其中 X 是您的运行级别。如果您不希望服务自动启动,可以解决问题。/etc/rcX.d/update-rc.d -f foo remove

    • 62
  2. Not Now
    2009-06-27T15:28:22+08:002009-06-27T15:28:22+08:00

    使用 sysv-rc-conf 配置 Linux 启动应用程序:

    apt-get install sysv-rc-conf
    

    正如其他人所指出的,这里也是cmd 行的update-rc.d。

    例如,运行

    update-rc.d apache2 disable
    

    从所有运行级别禁用 apache2。

    • 60
  3. Robert Siemer
    2012-06-04T11:39:29+08:002012-06-04T11:39:29+08:00

    短的:

    没有可靠的方法可以快速做到这一点。

    长:

    当前的 Debian(Debian 自 2012-06-01 起不稳定)目前没有可靠的捷径来持续禁用服务/守护进程。– 因为守护程序包的升级无条件地运行“/etc/init.d/package restart”,是否在此运行级别禁用它。

    为确保守护程序不启动,您可以:

    • 卸载它
    • 对 /etc/init.d/xyz 脚本进行本地转移(这样,没有工具会找到它)
    • 使用/滥用相应包的配置文件来引发该脚本的提前退出(例如,在 /etc/default/xyz 中提前放置一个“退出”,以防它来自 init 脚本)
    • 在该初始化脚本中查找不启动该守护进程的预定义“官方”方法

    Debian 中的初始化脚本有/曾经(?)一些 init-policy-something 步骤,它应该填补这个缺失的功能。- 我尝试使用它,发现它很复杂,发现了一个错误,然后再也没碰过它。

    更新:

    切换到“systemd”,替代“initd”。存在一个 debian 包,您可以使用以下方式禁用服务:

    cd /etc/systemd/system
    ln -s /dev/null xyz.service
    
    • 16
  4. Mark Levinsky
    2013-08-29T02:07:03+08:002013-08-29T02:07:03+08:00

    运行此命令

    apt-get 安装 rcconf

    安装后,在 SSH 中运行 rcconf,您将收到一个对话框,显示所有设置为在启动时运行的服务。通过按空格键来禁用/启用特定选项,然后您就完成了,只需单击“确定”,该服务就不会在下次启动时再次启动。多年来一直在使用它。对于像我这样的 Debian/Ubuntu 用户来说非常方便的工具。

    • 6
  5. freiheit
    2009-06-27T14:56:19+08:002009-06-27T14:56:19+08:00

    我很困惑你想要完成什么。

    你想让 foo 运行在什么运行级别?

    如果您总是希望它运行,请使用update-rc.d foo defaults; 这将在 0、1 和 6 中停止它,同时让它在 2、3、4 和 5 中运行。(1 不应该运行任何东西,除了 shell,0 和 6 停止并重新启动)

    如果要准确指定要运行的运行级别:

    update-rc.d foo stop 0 1 6 3 . start 2 4 5 .
    
    • 3
  6. user38551
    2015-11-15T17:36:54+08:002015-11-15T17:36:54+08:00

    我认为这可以完成工作:insserv -r foo

    • 3
  7. cocoa
    2017-03-15T09:45:38+08:002017-03-15T09:45:38+08:00

    从 Debian7 开始使用 insserv

    输出所有服务及其运行级别信息

    insserv --showall
    

    从所有运行级别中删除列出的脚本

    insserv --remove [specify_script]
    
    • 1
  8. Eddie
    2017-07-02T01:46:10+08:002017-07-02T01:46:10+08:00
    sudo update-rc.d SERVICE disable
    

    如果要指定运行级别。

    sudo update-rc.d SERVICE disable|enable [S|2|3|4|5]
    

    记得把service改成程序的名字。

    sudo service SERVICE restart
    
    • 1
  9. Rodent43
    2009-06-27T12:30:29+08:002009-06-27T12:30:29+08:00

    在基于红帽的系统上,您可以使用

    chkconfig httpd off
    chkconfig httpd --del
    

    从运行级别中删除服务器

    在基于 debian 的系统上,所有服务都应该由 /etc/rc?.d/ 目录中的文件启动,然后这些文件具有指向 /etc/init.d/ 目录中相应文件的符号链接。如果您希望服务不默认启动,那么您可以从 /etc/rc?.d 目录重命名/删除它,并且只要启动链接之一仍然出现在其中一个中,您的更改将在包升级时保留其他(3,4 和 5)目录。或者您可以使用 update-rc.d 命令来更改链接,如果您想在之后启动服务,那么您可以使用 /etc/init.d/service_name start 如果您离开开始,它将结束为您提供可以使用的选项,例如停止、重新启动、重新加载...

    我认为您可以使用 sysv-rc-conf 禁用它。

    • 0
  10. the_guv
    2009-11-07T00:05:09+08:002009-11-07T00:05:09+08:00

    Ubuntu 的 Bootup Manager 有点像 sysv-rc-conf light,是一个更友好的 GUI 版本,许多阅读此主题的人都会欣赏这一点。

    http://www.marzocca.net/linux/bum.html

    • 0

相关问题

  • 推荐的个人邮件服务器设置 [关闭]

  • 为什么 redhat 在企业界似乎如此受欢迎?[关闭]

  • 我应该如何将 debian/xen 机器从 etch 升级到 lenny

  • 单人 ISV,您推荐哪种类型的服务器硬件?[关闭]

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve