标签: init-script

hostapd 不会通过“服务”启动——而是直接启动

我无法hostapd作为服务启动。当我尝试启动它时失败:

$ sudo service hostapd start
[FAIL] Starting advanced IEEE 802.11 management: hostapd failed!
Run Code Online (Sandbox Code Playgroud)

据我了解,这使用了以下配置/etc/default/hostapd

$ cat /etc/default/hostapd 
# Defaults for hostapd initscript
#
# See /usr/share/doc/hostapd/README.Debian for information about alternative
# methods of managing hostapd.
#
# Uncomment and set DAEMON_CONF to the absolute path of a hostapd configuration
# file and hostapd will be started during system boot. An example configuration
# file can be found at /usr/share/doc/hostapd/examples/hostapd.conf.gz
#
#DAEMON_CONF=""
DAEMON_CONF=”/etc/hostapd/hostapd.conf”

# Additional daemon …
Run Code Online (Sandbox Code Playgroud)

networking init-script services init.d hostapd

20
推荐指数
3
解决办法
11万
查看次数

unable to install anything using apt-get because of insserv

Whenever I try to install something using apt-get I get the error messages involving insserv. I have tried install many different packages but everything give same error. And apparently, CUPS package is doing/has done something because every error message involves it. The following are the errors displayed when I ran sudo apt-get install wine1.8 winetricks:

After this operation, 716 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Extracting templates from packages: …
Run Code Online (Sandbox Code Playgroud)

startup ubuntu init-script cups

19
推荐指数
1
解决办法
3万
查看次数

/etc/rc.d 与 /etc/init.d

ubuntu 的/etc/init.d目录(功能上)与我认为更标准的目录/etc/rc.d/(至少在 arch 上)完全相同吗?对于启动脚本,规范使用 init.d 而不是 rc.d 是否有任何特殊原因?

ubuntu init-script

18
推荐指数
4
解决办法
3万
查看次数

对 /etc/init.d 与 /lib/systemd/system 服务感到困惑

我正在尝试在 Debian 8.5 机器上运行 MongoDB。当我安装这个包(从 percona.com 预先构建)时,我注意到以下文件:

/etc/init.d/mongod (1)
/lib/systemd/system/mongod.service (2)
Run Code Online (Sandbox Code Playgroud)

我知道它/etc/init.d/mongod在启动时或在其他特定系统状态下被调用,只要它是通过update-rc.d. 这对我来说完全没问题。该脚本初始化并启动 mongo 守护进程。它似乎有启动、停止、重启等的“触发器”,据我所知,我可以用sudo service mongod <action>.

/lib/systemd/system/mongod.service 似乎做同样的事情(即运行 mongo),但配置较少 - ExecStart 参数中只有一行:

[Unit]
Description=MongoDB (High-performance, schema-free document-oriented database)
After=time-sync.target network.target
[Service]
Type=forking
User=mongod
Group=mongod
PermissionsStartOnly=true
EnvironmentFile=/etc/default/mongod
ExecStart=/usr/bin/env bash -c "/usr/bin/mongod $OPTIONS > ${STDOUT} 2> ${STDERR}"
PIDFile=/var/run/mongod.pid
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

据我了解,这可以通过sudo systemctl start mongod.

  • 我不明白是否在启动时调用。

  • 我不明白为什么需要这些“服务”文件中的两个,以及如何摆脱一个(可能是 /lib/systemd 中的一个,因为它简单得多)。

  • 我不明白这两者之间是否有任何关系。

  • 我也读过它也systemctl适用于init.d脚本,在这种情况下,我不明白这两个文件中的哪一个将由systemctl mongod start.

认为有一些冗余,我应该只选择两种方式之一。我想确定它是

  • 在启动时调用 …

linux init-script systemd sysvinit

18
推荐指数
1
解决办法
9397
查看次数

init 进程可以是 Linux 中的 shell 脚本吗?

我正在阅读有关设置自定义 initramfs教程,其中指出:

唯一缺少的是 /init,它是 initramfs 根目录中的可执行文件,一旦加载内核就会执行。因为 sys-apps/busybox 包含一个功能齐全的 shell,这意味着您可以将 /init 二进制文件编写为一个简单的 shell 脚本(而不是使它成为一个必须编译的用汇编程序或 C 编写的复杂应用程序)。

并给出了一个以 init 开头的 shell 脚本示例 #!/bin/busybox sh

到目前为止,我的印象是 init 是启动的主进程,所有其他用户空间进程最终都是 init 的子进程。但是,在给定的示例中,第一个进程实际上是bin/busybox/ sh从中产生后来的 init 的。

这是正确的解释吗?例如,如果我当时有一个可用的解释器,我可以将 init 编写为 Python 脚本等吗?

linux init-script init

16
推荐指数
2
解决办法
8130
查看次数

应该使用“invoke-rc.d”还是“service”来重启服务?

我对哪种情况最好以及在哪种情况下感到困惑:

invoke-rc.d apache2 restart
Run Code Online (Sandbox Code Playgroud)

或者

service apache2 restart
Run Code Online (Sandbox Code Playgroud)

有真正的区别吗?

man service 有以下有趣的一点:

service 在尽可能可预测的环境中运行 System V init 脚本,删除大多数环境变量并将当前工作目录设置为 /。

我主要对 Debian 感兴趣,但也对 Mint(也基于 Debian)感兴趣。

linux debian init-script linux-mint services

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

为什么initramfs以只读方式挂载根文件系统

将根文件系统挂载ro在 initramfs(和 initrd)中的原因是什么。

例如,Gentoo initramfs 指南使用以下命令挂载根文件系统:

mount -o ro /dev/sda1 /mnt/root
Run Code Online (Sandbox Code Playgroud)

为什么不是下面的?

mount -o rw /dev/sda1 /mnt/root
Run Code Online (Sandbox Code Playgroud)

我可以看到可能有一个很好的理由(并且可能涉及switchroot),但是似乎没有任何地方记录。

linux boot kernel init-script initramfs

12
推荐指数
1
解决办法
9533
查看次数

如何在 Redhat 下将 shell 脚本作为守护程序运行?

我有一个 shell 脚本,它本质上是一个带有一些日志记录的单行代码,我试图从一个 init 脚本运行它。我正在使用daemon里面的函数/etc/init.d/functions来运行它,因为 Redhat 似乎没有start-stop-daemon可用。当我调用 init 脚本 ( /etc/init.d/script start) 时,它停留在前台,而不是完成并让进程继续运行。我让这个脚本守护进程的正确方法是什么?

要运行的脚本:

# conf file where variables are defined
. /etc/script.conf

echo "Starting..." | logger -i
echo "Monitoring $LOG_LOCATION." | logger -i
echo "Sending to $MONITOR_HOST:$MONITOR_PORT." | logger -i

tail -n 1 -F $LOG_LOCATION |
grep WARN --line-buffered  |
/usr/bin/nc -vv $MONITOR_HOST $MONITOR_PORT 2>&1 |
logger -i
Run Code Online (Sandbox Code Playgroud)

初始化脚本:

#!/bin/bash


# Source Defaults
. /etc/default/script

# Source init functions
. /etc/init.d/functions

prog=/usr/local/bin/script.sh …
Run Code Online (Sandbox Code Playgroud)

rhel init-script shell-script

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

带有内核和 BusyBox 的最小 Linux:忽略 /etc/inittab,只执行 /init

我设法创建了一个小型且功能齐全的实时 Linux CD,其中仅包含内核(使用默认选项编译)和 BusyBox(使用默认选项 + 静态编译,所有小程序都存在,包括/sbin/init)。我没有问题,建立initrd和填充/dev/proc并且/sys也是我在所有与我没有任何问题/initshell脚本。

最近我读到 BusyBox 支持/etc/inittab配置(至少在某种程度上),我非常想执行以下任一操作:

  • 忘记我的/initshell 脚本,完全依赖于/etc/inittab配置。
  • 使用/initshell 脚本和/etc/inittab配置。

现在是实际问题 -/etc/inittab当我的发行版启动时,这似乎完全被忽略了。症状是:

  • 当我删除/init并离开时,/etc/inittab我最终会遇到内核恐慌。我的假设是内核根本不执行/sbin/init,或者/sbin/init没有 find (or read) /etc/inittab
  • 我读到 BusyBox 即使没有/etc/inittab. 所以,我删除了/initand/etc/inittab并猜猜是什么 - 内核再次恐慌。
  • 我试图执行/sbin/init从我的外壳经过几次猜测,其中包括exec /sbin/initsetsid /sbin/initexec setsid /sbin/init我结束了内核崩溃。文件系统上存在和不存在 /etc/inittab 的情况。 …

linux init-script busybox init sysvinit

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

从 Ubuntu 启动过程中删除抽象

近 5 年后我一直在使用 Linux,并观察到引导过程几乎被抽象化了。我的意思是,用户看不到幕后发生的事情(由于启动画面等)。现在,这可能对最终用户有好处,但对极客来说却不是 :)

我想带回旧时代的冗长。这是我所做的:

通过从命令行中删除“splash”和“quiet”参数,我已经能够摆脱其中的一些。但是,我仍然看不到正在启动的服务(如init.d 中的服务)。

我认为这是因为 init 守护进程被新贵取代了。是否有一些配置文件我可以调整以恢复正在发生的事情的详细程度。

此外,一旦登录屏幕出现,它就会清除引导日志历史记录。有没有办法禁用它?

注意:我知道我可以通过简单地将发行版切换到 Arch 或 Slackware 来做到这一点。但我不想那样做。

linux boot ubuntu init-script

11
推荐指数
2
解决办法
694
查看次数