내 우분투 시스템(커널 4.19.1의 경우 md5sums)에 소유자/그룹/날짜/속성이 이상한 빈 파일이 남아 있습니다.
이 결함이 있는 파일을 어떻게 수정하거나 해결할 수 있습니까?
$ uname -a
Linux olly-ryzen-pc1 4.20.10-042010-generic #201902150516 SMP Fri
Feb 15 10:19:07 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
통계자료
$ stat /var/lib/dpkg/info/linux-image-unsigned-4.19.1-041901-generic.md5sums
Datei: /var/lib/dpkg/info/linux-image-unsigned-4.19.1-041901-generic.md5sums
Größe: 0 Blöcke: 0 EA Block: 4096 Normale
leere Datei <= empty file
Gerät: 802h/2050d Inode: 27918873 Verknüpfungen: 1
Zugriff: (5625/-rwS-w-r-t) Uid: (477987903/ UNKNOWN) Gid: (3699747887/
UNKNOWN)
Zugriff : 2381-05-02 11:29:39.163881368 +0100
Modifiziert: 2293-06-01 00:54:46.455862499 +0100
Geändert : 2167-05-10 21:19:01.867729249 +0100
Geburt : -
lsattr
$ lsattr /var/lib/dpkg/info/linux-image-unsigned-4.19.1-041901-generic.md5sums
lsattr: Keine Daten verfügbar Beim Lesen der Flags von /var/lib/dpkg/info/linux-image-unsigned-4.19.1-041901-generic.md5sums
적절한, dpkg
이 파일은 변경하거나 삭제할 수 없지만(4.19.1 제거/제거) apt-get이 응용 프로그램을 설치하는 것을 방지합니다.
--fix-broken 또는 --reinstall dpkg도 "허용되지 않음" 메시지와 함께 종료됩니다.
삭제할 수 없습니다. 금형 제어 정보 - Datei »/var/lib/dpkg/info/linux-image-unsigned-4. 19.1-041901-generic.md5sums« kann nicht gelöscht werden: Vorgang nicht zulässig
chmod -st, chown 루트:루트
변경 없음.
rm-f
아니요.
라이브 USB
또한 문제를 해결하기 위해 USB 스틱(4.18 설치)에서 우분투 부팅을 시도했지만:
sudo e2fsck -f /dev/sba2
보고된 오류 없음
sudo badblocks -vsn /dev/sda2
불량 블록 0개 보고
및 rm
, chmod
, chown
: 위와 동일한 동작..
비교를 위해 다음은 이웃 파일입니다.
$ stat /var/lib/dpkg/info/linux-sound-base.md5sums
Datei: /var/lib/dpkg/info/linux-sound-base.md5sums
Größe: 545 Blöcke: 8 EA Block: 4096 Normale Datei
Gerät: 802h/2050d Inode: 27269131 Verknüpfungen: 1
Zugriff: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Zugriff : 2019-02-03 16:56:08.943545720 +0100
Modifiziert: 2015-07-31 05:42:23.000000000 +0200
Geändert : 2018-05-22 01:20:37.178864616 +0200
Geburt : -
$ lsattr /var/lib/dpkg/info/linux-image-unsigned-4.19.1-041901-generic.list
--------------e---
/var/lib/dpkg/info/linux-image-unsigned-4.19.1-041901-generic.list
답변1
오류가 발견되지 않았 으므로 명확한 inode를 fsck
사용해야 할 수도 있습니다 . debugfs
마지막으로 사용한게 debugfs
몇년전이니 주의하세요! 이 도구의 기능을 이해하려면 맨페이지를 읽어보세요.
복구 미디어에서 부팅 및 실행
debugfs /dev/sda2
rm
debugfs 명령을 사용하여 파일을 삭제할 수 있습니다.
rm /var/lib/dpkg/info/linux-image-unsigned-4.19.1-041901-generic.md5sums
/
( 대신 /dev/sda2가 마운트되었다고 가정 /var
)
그래도 작동하지 않으면 inode를 해제해 볼 수 있습니다. 출력에서 inode 번호(27918873)를 이미 알고 있습니다 stat
. 다음 명령을 사용하여 inode를 해제할 수 있습니다.
freei 27918873
파일 시스템을 조작한 후 debugfs
다시 실행하는 것을 권장합니다 fsck
.
답변2
일하다!
debugfs: open -w /dev/sda2
debugfs: stat 27918873
27918873: ext2_lookup이 파일을 찾을 수 없습니다.
debugfs: ncheck 27918873
인덱스 노드 경로 이름
27918873 /var/lib/dpkg/info/linux-image-unsigned-4.19.1-041901-generic.md5sums
debugfs: rm /var/lib/dpkg/info/linux-image-unsigned-4.19.1-041901-generic.md5sums
debugfs: quit
우분투@우분투:~$sudo e2fsck /dev/sda2
e2fsck 1.44.1(2018년 3월 24일) /dev/sda2: clean, 367369/30498816 파일, 20494756/121965056 블록
우분투@우분투:~$sudo e2fsck -f /dev/sda2
패스 1: inode, 블록, 크기 확인
2단계: 디렉터리 구조 확인
3단계: 디렉터리 연결 확인
4단계: 참조 횟수 확인
패스 5: 그룹 요약 정보 확인
/dev/sda2: 367369/30498816개 파일(2.1% 비연속), 20494756/121965056개 블록
메인 시스템으로 부팅
olly@olly-ryzen-pc1:~$sudo apt-get purge
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
ENTFERNT 디렉토리: linux-image-unsigned-4.19.1-041901-generic
0 활성, 0 뉴 설치, 1 주 엔페르넨 및 187 니히트 활성.
1 전체 설치 또는 설치.
Action Welden 8.626 kB Plattenplatz 프리게게벤.
Möchten Sie fortfahren? [J/n] J
(Lese Datenbank... 207988 Dateien und Verzeichnisse sind derzeit installiert.)
linux-image-unsigned-4.19.1-041901-generic(4.19.1-041901.201811041431)을 입력합니다.
완벽한!마침내! @wurtel 정말 감사합니다!