我想在 rc.sysinit 执行时删除一个文件,我写了类似下面的内容:
是 | rm /etc/anImportantFileWhichBelongsToSystem
我猜测执行 rc.sysinit 的父用户是“root”,这意味着它可以做任何他想做的事情,但就我而言,我无法从硬盘中删除一个简单的文件,并且没有显示错误,文件的属性是:700
我应该怎么办?
答案1
正如@Daniel Beck 所说,您确实应该使用 rm -f 来实现这一点。您不需要奇怪(但有效)的 yes-pipe 黑客。
此时文件系统可能不可写入。您是否测试过是否可以在脚本中的此时创建文件?
touch /etc/testfile
或者,只是为了确保它已安装且可写入。文件上可能有扩展属性。扩展属性是覆盖 root 权限的属性。说什么
lsattr file
。
答案2
尝试将其移动到/dev/null
或unlink
或echo :> /etc/anImportantFileWhichBelongsToSystem
答案3
可能的问题是文件系统可能未挂载和/或未挂载为 R/W。您可能必须在 rc.sysinit 完成后再执行此操作。