Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >启动时不运行rc.local的Fedora 27

启动时不运行rc.local的Fedora 27
EN

Unix & Linux用户
提问于 2017-11-14 09:39:36
回答 4查看 9K关注 0票数 3

启动后,我试图让Shadon袜s服务器自动运行,我使用了rc.local文件,但它不起作用。

rc.local现在是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/usr/local/bin/ssserver -c /etc/shadowsocks.json -d start
#!/bin/bash
exit 0
  • 我将a+x特权添加到/etc/rc/d/rc.local中。
  • 我还将符号链接/etc/rc.local -> /etc/rc.d/rc.local (默认特权777)固定为建议的这里

但是,rc.local中的代码在引导时仍然不能工作。结果发现,当系统启动时,rc.local没有运行。在这里的帮助下,我能够进一步诊断这个问题。

下面是/etc/systemd/system/rc-local.service文件(我没有更改任何内容):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[Unit]
Description=/etc/rc.d/rc.local Compatibility
ConditionFileIsExecutable=/etc/rc.d/rc.local
After=network.target

[Service]
Type=forking
ExecStart=/etc/rc.d/rc.local start
TimeoutSec=0
RemainAfterExit=yes
GuessMainPID=no

--这个文件还好吗?

当我执行systemctl enable rc-local时,会得到以下错误:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
The unit files have no installation config (WantedBy, RequiredBy, Also, Alias
settings in the [Install] section, and DefaultInstance for template units).
This means they are not meant to be enabled using systemctl.
Possible reasons for having this kind of units are:
1) A unit may be statically enabled by being symlinked from another unit's 
.wants/ or .requires/ directory.
2) A unit's purpose may be to act as a helper for some other unit which has
a requirement dependency on it.
3) A unit may be started when needed via activation (socket, path, timer,
D-Bus, udev, scripted systemctl call, ...).
4) In case of template units, the unit is meant to be enabled with some
instance name specified.

我不知道是哪个原因导致了我的情况,因为rc.local文件非常简单。

EN

回答 4

Unix & Linux用户

发布于 2017-11-18 10:59:38

你rc.local腐败了!

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/usr/local/bin/ssserver -c /etc/shadowsocks.json -d start
#!/bin/bash
exit 0

应该是

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#!/bin/bash
/usr/local/bin/ssserver -c /etc/shadowsocks.json -d start
exit 0

编辑:

我不知道您的rc.local系统服务有什么问题。

然而,我会为“影子袜子”创建一个单独的系统单元,这样你就可以开始和停止它.例如,当您想重新加载配置时,您以及其他必须维护服务器的人都知道要重新启动什么服务。

一个样本阴影袜系统的单位文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[Unit]
Description=Shadowsocks proxy server

[Service]
User=www-shadow
Group=www-shadow
Type=simple
ExecStart=/usr/local/bin/ssserver -c /etc/shadowsocks/shadowsocks.json -a shadowsocks -v start
ExecStop=/usr/local/bin/ssserver -c /etc/shadowsocks/shadowsocks.json -a shadowsocks -v stop

[Install]
WantedBy=multi-user.target

注意,这里有一个用户www-shadow来运行代理,该用户是www-shadow组的成员。为了保持/etc的整洁,最好创建一个/etc/shadowsocks目录,并将JSON与其他与暗袜相关的文件放在其中。我从linode.com获得了系统单元文件的基本知识,但是他们希望以根用户的身份运行代理(baaaaaaaaaad) .考虑到它默认使用端口8388,我怀疑这是必要的。请注意,如果您不为该单元创建一个www-shadow用户和组,systemd将很高兴地以root的形式运行该服务(说来话长,显然是设计上的)。

我对暗袜没有经验(我只在代理中使用squid,对socks代理使用ssh ;-)也没有时间查找它,但是在快速查看了一个单元文件之后,它看起来是合理的(除了root的愚蠢)。

使用rc.local单元文件(这是为了向后兼容)没有多大意义,imho,您错过了一个ExecStop,您必须记住rc.local是影子袜子.

如果您想要修复rc.local单元,它必须是755 (chmod 755 /etc/rc.d/rc.local),没有人想要一个全局可写的守护进程脚本,这可能是它的另一个问题。Imho,systemd并不总是合理的,但我怀疑它会运行一个可写的脚本。

为了安全起见,你能在你的问题中张贴ls -l /etc/rc.d/rc.local的输出吗?

EDIT2:

哦(我很傻,它一直在那里,我没有注意到),您的单元文件缺少一个[Install]指令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[Install]
WantedBy=multi-user.target
票数 4
EN

Unix & Linux用户

发布于 2017-11-15 05:29:26

Fedora 27使用不运行systemd/etc/rc.local

AskUbuntu上有几种解决方案或建议的解决方案

票数 2
EN

Unix & Linux用户

发布于 2017-11-15 02:18:53

要查看/etc/rc.local是否“正在运行”,可以在/etc/rc.local中键入类似的内容

/bin/date >> /root/test.txt

重新启动并查看文件/root/test.txt中是否有日期。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/404544

复制
相关文章
为什么我退出了编程工作
从很小的时候就在印度出生和成长,在那里我们只有少数的职业选择。工程师和医生是很多人的头两个选择。现在,随着互联网的兴起,事情正在发生变化,但是父母期望孩子成为医生或工程师的情况并不少见。
程序那些事儿
2023/03/07
3150
为什么我退出了编程工作
setInterval()与clearInterval()的用法
setInterval() 方法可按照指定的周期来调用函数或计算表达式。  --简单地说就是过一段时间调用一次该函数 setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。代码演示如下 var backId=setInterval("aaa()",1000); $('.aaa').mouseover(function(){ clearInter
郑小超.
2018/01/24
1.8K0
HTML DOM clearInterval() 方法
clearInterval() 方法可取消由 setInterval() 设置的 timeout。
全栈程序员站长
2022/07/07
5800
我为什么要创建一个不能被实例化的类
Python 由于多继承的原因,可能会出现钻石继承[1]又叫菱形继承。为了保留多继承的优点,但又摒除缺点,于是有了混入这种编程模式。
青南
2020/04/08
3.4K0
我为什么要创建一个不能被实例化的类
HTML DOM clearInterval() 方法
clearInterval() 方法可取消由 setInterval() 设置的 timeout。 clearInterval() 方法的参数必须是由 setInterval() 返回的 ID 值。
一个会写诗的程序员
2018/08/17
9760
OGG的PURGEOLDEXTRACTS不能工作问题的解决
PURGEOLDEXTRACTS /ogg/dirdat/horcl/hz*,USECHECKPOINTS,MINKEEPDAYS 2
星哥玩云
2022/08/17
8410
为什么我不建议你通过 Python 去找工作?
这是读者“前进一点”在微信上问我的一个问题,我当时给他的回复是“Python 挺火的,学 Python 就好。”但当我在 B 站上看了羊哥的一期视频后,深感懊悔,觉得自己给出的建议是不负责任的。
黄啊码
2022/06/20
2.8K0
为什么我不建议你通过 Python 去找工作?
这是读者“前进一点”在微信上问我的一个问题,我当时给他的回复是“Python 挺火的,学 Python 就好。”但当我在 B 站上看了羊哥的一期视频后,深感懊悔,觉得自己给出的建议是不负责任的。
沉默王二
2020/05/26
2.7K0
setTimeout实现setInterval和clearInterval[通俗易懂]
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/09
4930
为什么我要拒绝梦寐以求的数据科学家工作?
在深入探讨这个问题前,让我们退后一步,先试着回答另一个问题:为什么要成为数据科学家?
CDA数据分析师
2018/10/25
9350
为什么我要拒绝梦寐以求的数据科学家工作?
setInterval与clearInterval使用示例
setInterval是一个很有用的js函数,可以用来重复执行某些功能,利用这个我们可以实现一些很有趣的功能,比如: 不刷新页面的情况下,"实时"获取其它会员给你发来的问候,并弹出显示之类 下面给一个示例代码:(里面用了一些jquery的方法) Code <html> <head> <title>jquery 操作 Select</title> <script type="text/javascript" src="jquery-1.2.6.pack.js"></script> <script type
菩提树下的杨过
2018/01/23
1.6K0
躺着办公这么快乐,为什么我是还想回公司工作?
今天是小N在家办公的第八天 办公姿势:躺着 办公位置:床上 实现了零距离通勤 起床就已经到达工位 说起来这个办公位置, 大家晒出来的环境真是五花八门: 拿鞋盒子抬高电脑工作的 用洗衣机当办公桌的 还有在大树下园林式办公的 一边听着鸡鸣声一边工作的 还有拿着手机 全村跑着找wifi信号连网开视频会议的 想象中的在家办公和实际确实有所不同 除了”配置环境“以外 在家办公遇到的阻碍还有很多: 01 猫大爷 离开电脑去上个洗手间, 猫把电脑当做红毯 优雅地从上面上走过,
腾讯NEXT学位
2020/02/24
5430
躺着办公这么快乐,为什么我是还想回公司工作?
我用编程模拟疫情的传播来告诉你: 为什么现在的你还不能出门
暂时还不要流动! 还不到时候! 请告诫身边人: 不要流动! 不要流动!! 不要流动!!! 还没有到真正的时候。 本视频以数据可视化 非常直观地告诉我们疫情的传播与爆发过程 希望每个人都能点进去看
我被狗咬了
2020/02/19
2.1K0
我用编程模拟疫情的传播来告诉你: 为什么现在的你还不能出门
为什么OpenAI不能被计划?
然而,没有人说,OpenAI最初所做的这一切,注定要迎来AI的「iPhone时刻」。
新智元
2023/09/09
1660
为什么OpenAI不能被计划?
对不起,我的健康码不能给你
题图摄于广州番禺 本文记录一次关于隐私保护的事情。 近日,我去了趟某运营商的营业厅,开通一个新的手机号。入门时,扫了场所码,显示的是绿码。 营业员在帮我办理业务时,除了拍照我的身份证件外,还说要留存我的健康码和行程码。 这个要求就有点奇怪了,尽管我两个码都是正常,但作为从事隐私信息保护工作的我,对涉及自己隐私数据的事情,觉得还是要和他掰斥一下。 首先,我问他为什么需要留存我的两码?因为这两个码是用于防疫的,与办理手机业务没啥关系,他们也不是卫生防疫部门。 营业员理直气壮地说,这是他们的业务流程规定的。因为我
Henry Zhang
2023/04/04
4050
对不起,我的健康码不能给你
每次不能把工作干好的时候,就看看
软件蚕食一切。未来属于程序员。所以人人都想当程序员。但是并不是每个人都能当好程序员。在你做出决定前还是先看看自己能不能当好程序员吧。可是什么样的人不适合当程序员呢?不要喝鸡汤,我们看看 Quora 上面是如何回答的。 在全栈开发者 Adam Leffert 看来,最重要的是态度: 我认为编程要想成功最重要的是态度。当然,最低水平的智力还是要的。以我这么久的经验来看,还没见过蠢到不会做的。 但是好坏程序员之间的差别几乎永远是态度。 耐心:对我来说这是最重要的一条。写代码和调试极其令人沮丧。要想做好,你得保持冷
前朝楚水
2018/04/02
6900
我的前端工作流
在 Node.js 出现以前,以往的前端开发工作属于石器时代。而随着前端技术的大爆炸来临,我们需要赶上这一次潮流,加入到前端开发到摩登时代去。这篇博文主要是记录如何构建前端工作流。
零式的天空
2022/03/22
6310
扶我起来,前端还没倒下,我不能睡
长路漫漫,唯夜作伴。虽然一天的工作头昏脑胀,但是仍然放不下我心心念念的前端啊,扶我起来,我还可以学~
小闫同学啊
2019/12/17
8310
点击加载更多

相似问题

如何使用Uplodify和Servlet/JSP

12

在JSP和Servlet中使用对象

11

Cookie JSP和Servlet身份验证困难

10

如何使用JSP和Servlet导出CSV

10

如何使用servlet和jsp执行SPA?

45
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文