标签: init-script

如何为 Systemd 编写启动脚本?

我的笔记本电脑上有 2 个显卡。一个是IGP,另一个是离散的。

我写了一个shell脚本来关闭独立显卡。

如何将其转换为 systemd 脚本以在启动时运行它?

init-script shell-script systemd

257
推荐指数
1
解决办法
49万
查看次数

systemd 如何使用 /etc/init.d 脚本?

我刚切换到 debian jessie,大多数东西都运行正常,包括我的图形显示管理器wdm

问题是,我只是不明白这是如何工作的。显然我的/etc/init.d/wdm脚本被调用了,因为当我exit在那里提前放置时,wdm 没有启动。但是当我或者重命名 /etc/rc3.d目录时(我的默认运行级别曾经是 3),然后 wdm 仍然启动。

我不知道 systemd 如何找到这个脚本,我不明白它对所有其他 init.d 脚本做了什么。

  • systemd 何时以及如何运行 init.d 脚本?
  • 从长远来看,我应该摆脱所有 init.d 脚本吗?

init-script systemd init sysvinit

153
推荐指数
2
解决办法
19万
查看次数

如何在启动时启动 /etc/init.d 中的脚本?

我想我很久以前读过一些关于这个的东西,但我不记得它是如何完成的。本质上,我有一个服务/etc/init.d,我想在启动时自动启动。我记得这与将脚本符号链接到/etc/rc.d目录有关,但我现在不记得了。这是什么命令?

我相信我在使用 Fedora/CentOS 衍生产品。

fedora boot init-script

104
推荐指数
3
解决办法
36万
查看次数

如何让unix服务看到环境变量?

我已经使用/etc/profile以下方法设置了我的环境变量:

export VAR=/home/userhome
Run Code Online (Sandbox Code Playgroud)

然后,如果我这样做,echo $VAR它会显示/home/userhome

但是当我把这个变量的引用放到/etc/init.d/servicename文件中时,它找不到这个变量。当我service servicename status使用/etc/init.d/servicename具有以下内容的文件运行时:

case "$1" in
status)    
    cd $VAR/dir
    ;;
esac
Run Code Online (Sandbox Code Playgroud)

它说 /dir: No such file or directory

但如果我运行/etc/init.d/servicename status而不是service servicename status

如何让 unix 服务看到环境变量?

init-script environment-variables services

57
推荐指数
1
解决办法
10万
查看次数

在引导/启动期间运行脚本;init.d 与 cron @reboot

我目前正在尝试了解在系统启动/引导时运行脚本的init.dcron 和 cron之间的区别@reboot

使用的@reboot(这种方法中提到的这个论坛hs.chandra)是一些什么比较简单,通过简单地进入crontab -e并创建一个@reboot /some_directory/to_your/script/your_script.txt,然后your_script.txt,应在每次系统启动时执行。的深入解释@reboothere

或者通过嵌入/etc/init.d/your_script.txt到脚本的第二行,即:

#!/bin/bash
# /etc/init.d/your_script.txt
Run Code Online (Sandbox Code Playgroud)

您可以运行,chmod +x /etc/init.d/your_script.txt并且your_script.txt每次系统启动时也应该运行。

Q1:两者的主要区别是什么?
Q2:哪个更健壮?
Q3:两者中是否有更好的一个?
Q4:这是嵌入脚本以在启动期间运行的正确方法吗?

我将合并一个 bash .sh 文件以在启动期间运行。

startup scripting cron init-script sysvinit

55
推荐指数
2
解决办法
14万
查看次数

/etc 中的 rc0.d,rc1.d,... 目录

我正在运行 Ubuntu,其中有目录/etc/rc0.d, /etc/rc1.d, /etc/rc2.d, ..., /etc/rc6.d

我机器上的示例文件:

directory      example symlinks in the dir
------------------------------------------
/etc/rc1.d:    K76dovecot, K77ntp
/etc/rc2.d:    S23ntp, S24dovecot
/etc/rc3.d:    S23ntp, S24dovecot
/etc/rc4.d:    S23ntp, S24dovecot
/etc/rc5.d:    S23ntp, S24dovecot
Run Code Online (Sandbox Code Playgroud)

问题:

  1. 多个“rc”目录的目的是什么?
  2. 为什么 Ubuntu 将dovecot和 的重复安装ntp到除rc0.d和之外的所有目录中rc6.d
  3. 如果它们像上面一样被多次指定,它们实际上是否被多次执行?
  4. 你能从上面看出以什么顺序dovecotntp在启动时执行吗?
  5. 告诉 Ubuntu在启动ntp前始终执行的正确方法是什么dovecot

init-script services init.d

38
推荐指数
3
解决办法
9万
查看次数

Linux 中“/etc/init.d”和“/etc/rcX.d”目录之间有什么联系?

我正在从一本名为“ Linux 命令行和 Shell 脚本圣经,第二版”的书中学习命令行。这本书是这么说的:

一些 Linux 实现包含一个在启动时自动启动的进程表。在 Linux 系统上,该表通常位于特殊文件 /etc/inittabs 中。

其他系统(例如流行的 Ubuntu Linux 发行版)使用 /etc/init.d 文件夹,其中包含用于在启动时启动和停止单个应用程序的脚本。脚本通过 /etc/rcX.d 文件夹下的条目启动,其中 X 是运行级别。

可能因为我是 linux 新手,我不明白引用的第二段是什么意思。有人可以用更简单的语言解释相同的内容吗?

linux init-script sysvinit

26
推荐指数
2
解决办法
3万
查看次数

没有这样的文件或目录 /etc/init.d/functions

我创建了一个启动脚本来启动/重启/停止一组应用程序。我/etc/init.d/functions在脚本中使用了 lib 。它在我的系统上运行良好,但不适用于我的客户;他收到错误:

没有这样的文件或目录 /etc/init.d/functions

现在我不知道我的客户使用哪个 linux 发行版。init.d/functions不同 Linux 发行版的文件是否不同?如果是这样,我怎样才能找到它?

init-script

24
推荐指数
3
解决办法
10万
查看次数

systemd 与其他初始化系统的区别是什么?

这不是很正式,但看起来 systemd 即将进入 Debian,在阅读了一些关于该决定的激烈邮件列表讨论后,我很好奇 systemd 在 linux 用户中的两极分化性质。我运行 Debian (sysvinit) 和 Gentoo (OpenRC) 系统并且对 systemd 一无所知,尽管它看起来像我一样。

我看到过这个相关的问题,询问 systemd 与 upstart 的优缺点,但自该问题发布以来已经过去了 3 年,我确信那段时间情况已经发生了变化。

我的问题是:systemd 与其他 init 系统相比如何?

  • 是什么让它与众不同——它可以做什么而其他 init 系统不能?
  • 从另一个初始化系统切换到它有什么损失吗?
  • 管理 systemd 与其他系统相比如何?

init-script systemd

24
推荐指数
1
解决办法
6835
查看次数

如何让这个守护进程/init 以非 root 用户身份运行?

我有一个 init 脚本来启动一个守护进程。问题是它以 root 身份运行。我希望它以名为“deploy”的用户身份运行。Ubuntu 12.04

#! /bin/sh

# File: /etc/init.d/unicorn

### BEGIN INIT INFO
# Provides:          unicorn
# Required-Start:    $local_fs $remote_fs $network $syslog
# Required-Stop:     $local_fs $remote_fs $network $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: starts the unicorn web server
# Description:       starts unicorn
### END INIT INFO

DAEMON=/usr/local/bin/unicorn_rails
DAEMON_OPTS="-c /var/www/current/config/unicorn.rb -D"
NAME=unicorn
DESC="Unicorn"
PID=/var/www/current/shared/pid/unicorn.pid

case "$1" in
  start)
    echo -n "Starting $DESC: "
    $DAEMON $DAEMON_OPTS
    echo "$NAME."
    ;;
  *)
    echo "Usage: …
Run Code Online (Sandbox Code Playgroud)

ubuntu init-script not-root-user

23
推荐指数
1
解决办法
5万
查看次数