我扔了一堆飞镖,试图让我的 python 脚本每分钟执行一次。所以我想我会把它简化为每分钟做一次“可能工作的最简单的事情”(我正在运行 debian/testing)。
我在以下位置创建了一个单行文件/etc/cron.d/perminute:
* * * * * /bin/touch /home/me/ding_dong
Run Code Online (Sandbox Code Playgroud)
它由 root 拥有,并且是可执行的(不确定其中任何一个是否重要)。然后我做了:
sudo service cron reload
Run Code Online (Sandbox Code Playgroud)
然后坐下来,ls -ltr在我的主目录 ( /home/me) 中一次又一次地开始运行。但是我的 ding_dong 文件从来没有出现过。我知道如果我做了一个sudo /bin/touch /home/me/ding_dong,它会立即出现。
显然在这里遗漏了一些愚蠢的东西。
在运行 Ubuntu 的 Beagle Bone Black 上启用 NovAtel USB 蜂窝调制解调器的脚本中,我看到了这一行:
/sbin/modprobe option
Run Code Online (Sandbox Code Playgroud)
我查看了modprobe手册页,它说了很多关于选项的内容(注意 s),但没有关于单一option 论点。有没有叫的模块之类的option??或者这对他们设置调制解调器是否有其他副作用?
我有一个自定义的 Debian 软件包,我为我们的软件构建了一个创建 systemd 服务的软件包。在安装时启用/启动服务的首选/惯用方法是什么?
我所做的是将以下三行添加到我的postinst脚本中:
systemctl --system daemon-reload
systemctl enable my_service.service
systemctl start my_service.service
Run Code Online (Sandbox Code Playgroud)
这工作得很好,直到我们尝试在我们最初运行的图像创建中包含加载这个包,debootstrap在这一点上,结果systemctl似乎需要设置很多通常不会在该过程中设置的环境内容。