我有一台 Debian 10(嵌入式)机器,它有一个只读文件系统。
问题是以下服务失败:“apt-daily”和“apt-daily-upgrade”。
我需要这些服务,所以删除它们不是一个选择。
对于 DPKG,我使用的脚本将暂时使文件系统可写,以便我可以手动升级包(如所述这里)。我可以为上述两项服务做类似的事情吗?
答案1
要在 apt-daily-update 期间正常ro
挂载,可以在 apt-daily-update.service 上实现 systemd 覆盖。我正是在Debian 11 机器上的rw
正常 /boot 分区上使用这种机制。ro
首先创建覆盖文件:
systemctl edit apt-daily-upgrade.service
用如下内容填充它(指定您的特定目标安装):
[Service]
ExecStartPre=-/usr/bin/mount -o remount,rw /boot
ExecStartPost=-/usr/bin/mount -o remount,ro /boot
在升级情况下,您可以通过首先在终端窗口中打开 a 来检查挂载是否从 更改ro
为rw
,然后再次更改回来。watch
watch -n1 "/usr/bin/mount -l | grep /boot"
然后,您可以从另一个终端启动apt-daily-upgrade
以下操作:
systemctl start apt-daily-upgrade.service
答案2
您可以在 systemd 单元文件中添加重新安装命令:
sudo systemctl edit --full apt-daily-upgrade.service
[Service]
Type=oneshot
ExecStartPre=-/usr/lib/apt/apt-helper wait-online #; add your remount rw here
ExecStartPost= ; add your remount ro here
^ 这还没有经过测试(但我想应该可以)