【问题标题】:How do I install chkconfig on Ubuntu?如何在 Ubuntu 上安装 chkconfig?
【发布时间】:2014-01-07 22:11:03
【问题描述】:

我正在运行 Ubuntu 13.10,而且我对 Linux 还很陌生。我试过了:

$ sudo apt-get install chkconfig

包 chkconfig 不可用,但被另一个包引用。 这可能意味着包丢失、已过时或 只能从其他来源获得

E: 包 'chkconfig' 没有安装候选者

我手动下载了包并解压缩。生成的文件夹有一个名为:

chkconfig.install

但是我该如何运行呢?我试过了,但没有用。

$ sudo chkconfig.install

【问题讨论】:

  • chkconfig 是一个红帽主义。在 Ubuntu 中,我们使用 upstart 而不是 redhat 使用的 sysvinit。 Why is chkconfig no longer available in Ubuntu?"update-rc.d" 无需手动下载或安装任何东西。
  • 我投票结束这个问题,因为它不是关于编程的。它本来更适合askubuntu.com
  • 我也投了赞成票(即使我赞成这个问题),但我宁愿建议迁移到unix.stackexchange.com

标签: linux ubuntu


【解决方案1】:

命令chkconfig在Ubuntu中不再可用。与chkconfig等效的命令是update-rc.d。该命令几乎支持所有新版本的ubuntu。

类似的命令是

update-rc.d <service> defaults

update-rc.d <service> start 20 3 4 5

update-rc.d -f <service>  remove

【讨论】:

  • 列出特定服务运行的配置:“update-rc.d -f -n SERVICE remove”(-n 表示删除的空运行,这会导致所有链接的列表为该服务配置)
【解决方案2】:

在 Ubuntu 中 /etc/init.d 已被 /usr/lib/systemd 取代。脚本仍然可以通过“服务”启动和停止。但现在的主要命令是“systemctl”。 chkconfig 命令被抛在后面,现在您可以使用 systemctl 来执行此操作。

所以而不是:

chkconfig enable apache2

您应该查找服务名称,然后启用它

systemctl status apache2
systemctl enable apache2.service

Systemd 在判断您是否有 systemd 脚本或 /etc/init.d 脚本以及做正确的事情方面变得更加友好。

【讨论】:

    【解决方案3】:

    sysv-rc-conf 是 Ubuntu 的替代选项。

    sudo apt-get install sysv-rc-conf
    
    sysv-rc-conf --list xxxx
    

    【讨论】:

    • sysv-rc-conf --list xxxx 有什么作用?
    • 实际上它与 chkconfig --list xxxxx 非常相似(xxxx 表示你的程序) chkconfig --list http 会给你的 httpd 0:off 1:off 2:on 3:on 4:on 5 :on 6:off
    • 查看下面与 chkconfig root@debian:/home/tharanga/sto# sysv-rc-conf --list apache2 apache2 0:off 1:off 2:on 3:on 4:on 相同的输出5:开 6:关
    • 我在 chkconfig 中遇到与 sysv-rc-conf 相同的错误,即。 “软件包 sysv-rc-conf 不可用,但被另一个软件包引用”。令人抓狂的是,一个众所周知且易于使用的工具被删除,取而代之的是非标准的东西,我们必须重新开始学习如何安装和使用。
    【解决方案4】:
    alias chkconfig=sysv-rc-conf
    chkconfig --list
    

    语法

    sysv-rc-conf command line usage:  
    
            sysv-rc-conf --list [service name]
            sysv-rc-conf [--level <runlevels>] <service name> <on|off>
    

    【讨论】:

    • 请注意,我想知道如何运行:chkconfig.install。另外,如果我再次遇到这样的文件
    【解决方案5】:

    Chkconfig 是no longer available in Ubuntu

    Chkconfig 是一个脚本。可以从here下载。

    【讨论】:

      【解决方案6】:

      Ubuntu中安装这个包:

      apt install sysv-rc-conf
      

      它是chkconfig cmd 的替代品。

      安装后运行这个cmd:

      sysv-rc-conf --list
      

      它将显示所有运行级别中的所有服务。你也可以运行这个:

      sysv-rc-conf --level (runlevel number ex:1 2 3 4 5 6 )
      

      现在您可以选择在启动时应该处于活动状态的服务。

      【讨论】:

        【解决方案7】:

        但是我该如何运行呢?我尝试输入:sudo chkconfig.install 不起作用。

        我不确定你从哪里得到这个包裹或里面有什么;下载网址会有所帮助。 无法查看 chkconfig.install 的内容;我很惊讶地发现一个像 chkconfig 这样的 unix 工具被捆绑在一个 zip 存档中,也许它还没有被解压缩,一个 tar.gz?但也许它是一个 shell 脚本?

        我应该建议对其进行编辑并查看您正在执行的操作。

        sh chkconfig.install./chkconfig.install ;这可能有效....但我的建议是学习使用 update-rc.d 作为其他答案的建议,但不要直接回答问题...如果无法查看,这很难回答自己的数据。

        【讨论】:

          【解决方案8】:

          正如@jerry 所说,您可以使用以下命令添加服务。

          update-rc.d <service> defaults
          update-rc.d <service> start 20 3 4 5
          update-rc.d -f <service>  remove
          

          要验证它们,请检查上述命令,您可以检查 /etc/rc*.d/ 目录,其中以“k”开头的服务意味着它不会在引导期间执行,而以“S”开头的服务将在引导期间启动。

          # for runlevel symlinks:
          ls /etc/rc*.d/
          

          在下面的屏幕截图中,您可以看到 apache2 从 runlevel2(S02apache2) 开始并在 runlevel1(K01apache2) 停止

          您也可以使用以下命令检查服务状态,其中“+”表示服务处于运行状态“-”表示已停止。

          service --status-all
          

          安装 sysv-rc-conf 实用程序。

          apt-get install sysv-rc-conf
          example
          sysv-rc-conf --level 2345 apach22 on
          man sysv-rc-conf
          

          【讨论】:

            猜你喜欢
            • 2017-06-29
            • 2015-05-19
            • 2017-11-07
            • 2017-07-12
            • 2011-09-24
            • 2011-11-06
            • 2020-01-27
            • 2020-09-03
            • 2016-05-10
            相关资源
            最近更新 更多