将 systemd 脚本输出重定向到控制台
Redirect systemd script output to console
如何将 systemd ExecStart 脚本 运行 的脚本输出重定向到启动控制台?
我需要在启动前调试脚本的问题,但我不能使用 journalctl,因为它嵌入 linux ROM rootfs。
现在我的 .service 文件如下所示:
[Unit]
Description=Init script
After=network.target
Before=getty@tty1.service
[Service]
Type=oneshot
ExecStart=/usr/lib/systemd/test_init_script
ExecStartPre=/usr/bin/echo -e 3%G
ExecReload=/bin/kill -HUP $MAINPID
WorkingDirectory=/
Enviroment=TERM=xterm
[Install]
WantedBy=multi-user.target
test_init_script:
#!/bin/sh -
echo "Test!"
它没有用,启动后我收到消息:
#systemctl status test_init_script.service
test_init_script.service - Init script
Loaded: loaded (/usr/lib/systemd/test_init_script.service)
Active: failed (Result: exit-code) Since Thu 1970-01-01 08:26:03 CST; 19s ago
Process: 170 ExecStartOre=/usr/bin/echo -e -G (code=exited, status=203/EXEC)
有人知道如何将脚本输出重定向到终端吗?
好的,所以我通过使用更改的文件构建图像来解决这个问题:
/etc/journald.conf
我在哪里将存储选项更改为易失性:
Storage=volatile
此选项意味着所有日志数据都将存储在 RAM 中,因此这是只读文件系统的解决方法。
请参阅 journald 手册页以查看更多选项。
如何将 systemd ExecStart 脚本 运行 的脚本输出重定向到启动控制台?
我需要在启动前调试脚本的问题,但我不能使用 journalctl,因为它嵌入 linux ROM rootfs。
现在我的 .service 文件如下所示:
[Unit]
Description=Init script
After=network.target
Before=getty@tty1.service
[Service]
Type=oneshot
ExecStart=/usr/lib/systemd/test_init_script
ExecStartPre=/usr/bin/echo -e 3%G
ExecReload=/bin/kill -HUP $MAINPID
WorkingDirectory=/
Enviroment=TERM=xterm
[Install]
WantedBy=multi-user.target
test_init_script:
#!/bin/sh -
echo "Test!"
它没有用,启动后我收到消息:
#systemctl status test_init_script.service
test_init_script.service - Init script
Loaded: loaded (/usr/lib/systemd/test_init_script.service)
Active: failed (Result: exit-code) Since Thu 1970-01-01 08:26:03 CST; 19s ago
Process: 170 ExecStartOre=/usr/bin/echo -e -G (code=exited, status=203/EXEC)
有人知道如何将脚本输出重定向到终端吗?
好的,所以我通过使用更改的文件构建图像来解决这个问题:
/etc/journald.conf
我在哪里将存储选项更改为易失性:
Storage=volatile
此选项意味着所有日志数据都将存储在 RAM 中,因此这是只读文件系统的解决方法。
请参阅 journald 手册页以查看更多选项。