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 {} +
결과를 어딘가에 공유할 수 있나요?
추신: Void를 재설치하는 것만으로도 고통스럽습니다. 장거리 여행 중이고 인터넷 접속이 일반적으로 셀룰러 또는 형편없는 Wi-Fi를 통해 이루어지기 때문입니다.
답변1
를 사용하여 영향을 받는 패키지를 다시 설치할 수 있습니다. xbps-install -f
그러면 구성 파일을 두 번 지정하지 않는 한 유지됩니다.-f
-f, --force
Force downgrade installation (if package version in repos is less
than installed version), or reinstallation (if package version in
repos is the same) to the target PKG, overwriting regular package
files and symlinks (if they have been modified) but preserving
configuration files. If -f is specified twice all files will be
unpacked, even configuration files.
xbps-pkgdb(1)
패키지 파일과 관련된 많은 문제를 감지할 수 있지만 불행하게도 현재 소유자/모드는 아니지만 추가하면 좋은 기능이 될 것입니다.
답변2
이것이 당신에게 필요한 것이기를 바랍니다.
[root@localhost usr]# find /usr/ \( ! -group root \) -exec ls -l {} +
-rwx--s--x. 1 root slocate 38464 Mar 12 2015 /usr/bin/locate
-rwxr-sr-x. 1 root nobody 141384 Aug 31 2017 /usr/bin/ssh-agent
---s--x---. 1 root stapusr 183072 Jun 19 2018 /usr/bin/staprun
-r-xr-sr-x. 1 root tty 15224 Jul 24 2015 /usr/bin/wall
-rwxr-sr-x. 1 root tty 12016 Jan 26 2018 /usr/bin/write
-rwx--s--x. 1 root utmp 17160 May 9 2018 /usr/lib64/vte/gnome-pty-helper
-rwx--s--x. 1 root utmp 9808 Aug 18 2010 /usr/libexec/utempter/utempter
-rwx--s--x. 1 root lock 15808 Aug 19 2010 /usr/sbin/lockdev
-rwxr-sr-x. 1 root postdrop 189000 Mar 23 2017 /usr/sbin/postdrop
-rwxr-sr-x. 1 root postdrop 217832 Mar 23 2017 /usr/sbin/postqueue
-r-s--x---. 1 root apache 13984 Jun 19 2018 /usr/sbin/suexec
/usr/libexec/utempter:
total 12
-rwx--s--x. 1 root utmp 9808 Aug 18 2010 utempter
답변3
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
스크립트 복원 권한.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 드라이브 폴더에 추가했습니다 . 이 파일은 최신 void xfce4 라이브 디스크에서 가져온 것입니다. 여기구글 드라이브데이터입니다.