我失去了理智,我chown -R root:root /usr
在Void Linux系统上做过
有人会这么友善地ls -lR /usr
将Void系统上的结果邮寄给我吗?我将仔细研究这些更改,使所有内容再次正常运行,然后在此问题中将我的发现发表在这里。
根据msp9011的回复,并意识到我需要有关xfce4,networkmanager系统的信息,请从以下位置发布结果:
find /usr/ \( -perm -4000 \) -exec ls -l {} +
和
find /usr/ \( ! -group root \) -exec ls -l {} +
您可以在某处分享结果吗?
PS只是重新安装Void会很痛苦,因为我正要去长途旅行,而且我的互联网访问通常是通过蜂窝网络或不良的wifi进行的。
我通过Void live usb棒恢复了权限!我做了一个find /usr -printf "0%m %u:%g %p\n" > permissions-all
生成具有/ usr中所有权限的文件。然后从无聊的安装启动,我使用了一个简单的bash脚本来还原所有权限。xbps-install -f
如果连接性很差,并且想要还原系统的大部分内容(例如xfce4),这是有问题的。谢谢大家的思考,我学到了很多东西!
/ usr / permissions-all的头
0755 root:root /usr
0755 root:root /usr/lib
0755 root:root /usr/lib/libimobiledevice.so.6.0.0
0777 root:root /usr/lib/libsoxr.so.0
0777 root:root /usr/lib/libXvMCr600.so.1.0
0777 root:root /usr/lib/libwebpmux.so.3
0755 root:root /usr/lib/audit
0755 root:root /usr/lib/audit/sotruss-lib.so
0777 root:root /usr/lib/libfontenc.so.1
0755 root:root /usr/lib/libvulkan_radeon.so
0755 root:root /usr/lib/libthunarx-3.so.0.0.0
0777 root:root /usr/lib/libturbojpeg.so.0
脚本restore-permissions.sh
#!/bin/bash
set -e
while read p ug f
do
if [ -e "$f" ] ; then
ug_=$(find "$f" -maxdepth 0 -printf "%u:%g")
p_=$(find "$f" -maxdepth 0 -printf "0%m")
if [ "$ug_" != "$ug" ] ; then
echo "$f wrong ug $ug_ should be $ug, fixing"
chown $ug "$f"
fi
if [ "$p_" != "$p" ] ; then
echo "$f wrong perms $p_ should be $p, fixing"
chmod $p "$f"
fi
fi
done < permissions-all
我已经将我permissions-all
的还原脚本和还原脚本添加到了公共的google-drive文件夹中,因此任何有相同问题的人都可以尝试。该文件来自最新的无效xfce4活动磁盘。在这里google-drive是数据。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句