我的笔记本电脑上有 2 个显卡。一个是IGP,另一个是离散的。
我写了一个shell脚本来关闭独立显卡。
如何将其转换为 systemd 脚本以在启动时运行它?
我刚切换到 debian jessie,大多数东西都运行正常,包括我的图形显示管理器wdm。
问题是,我只是不明白这是如何工作的。显然我的/etc/init.d/wdm脚本被调用了,因为当我exit在那里提前放置时,wdm 没有启动。但是当我或者重命名 /etc/rc3.d目录时(我的默认运行级别曾经是 3),然后 wdm 仍然启动。
我不知道 systemd 如何找到这个脚本,我不明白它对所有其他 init.d 脚本做了什么。
我想我很久以前读过一些关于这个的东西,但我不记得它是如何完成的。本质上,我有一个服务/etc/init.d,我想在启动时自动启动。我记得这与将脚本符号链接到/etc/rc.d目录有关,但我现在不记得了。这是什么命令?
我相信我在使用 Fedora/CentOS 衍生产品。
我已经使用/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.dcron 和 cron之间的区别@reboot。
使用的@reboot(这种方法中提到的这个论坛由hs.chandra)是一些什么比较简单,通过简单地进入crontab -e并创建一个@reboot /some_directory/to_your/script/your_script.txt,然后your_script.txt,应在每次系统启动时执行。的深入解释@reboot是here
或者通过嵌入/etc/init.d/your_script.txt到脚本的第二行,即:
#!/bin/bash
# /etc/init.d/your_script.txtRun Code Online (Sandbox Code Playgroud)
您可以运行,chmod +x /etc/init.d/your_script.txt并且your_script.txt每次系统启动时也应该运行。
Q1:两者的主要区别是什么?
Q2:哪个更健壮?
Q3:两者中是否有更好的一个?
Q4:这是嵌入脚本以在启动期间运行的正确方法吗?
我将合并一个 bash .sh 文件以在启动期间运行。
我正在运行 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)
问题:
dovecot和 的重复安装ntp到除rc0.d和之外的所有目录中rc6.d?dovecot并ntp在启动时执行吗?ntp前始终执行的正确方法是什么dovecot?我正在从一本名为“ Linux 命令行和 Shell 脚本圣经,第二版”的书中学习命令行。这本书是这么说的:
一些 Linux 实现包含一个在启动时自动启动的进程表。在 Linux 系统上,该表通常位于特殊文件 /etc/inittabs 中。
其他系统(例如流行的 Ubuntu Linux 发行版)使用 /etc/init.d 文件夹,其中包含用于在启动时启动和停止单个应用程序的脚本。脚本通过 /etc/rcX.d 文件夹下的条目启动,其中 X 是运行级别。
可能因为我是 linux 新手,我不明白引用的第二段是什么意思。有人可以用更简单的语言解释相同的内容吗?
我创建了一个启动脚本来启动/重启/停止一组应用程序。我/etc/init.d/functions在脚本中使用了 lib 。它在我的系统上运行良好,但不适用于我的客户;他收到错误:
没有这样的文件或目录 /etc/init.d/functions
现在我不知道我的客户使用哪个 linux 发行版。init.d/functions不同 Linux 发行版的文件是否不同?如果是这样,我怎样才能找到它?
这不是很正式,但看起来 systemd 即将进入 Debian,在阅读了一些关于该决定的激烈邮件列表讨论后,我很好奇 systemd 在 linux 用户中的两极分化性质。我运行 Debian (sysvinit) 和 Gentoo (OpenRC) 系统并且对 systemd 一无所知,尽管它看起来像我一样。
我看到过这个相关的问题,询问 systemd 与 upstart 的优缺点,但自该问题发布以来已经过去了 3 年,我确信那段时间情况已经发生了变化。
我的问题是:systemd 与其他 init 系统相比如何?
我有一个 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)