dpkg info 디렉터리의 ext4에서 파일을 이동하거나 삭제하는 중 오류가 발생했습니다.

dpkg info 디렉터리의 ext4에서 파일을 이동하거나 삭제하는 중 오류가 발생했습니다.

내 우분투 시스템(커널 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

rmdebugfs 명령을 사용하여 파일을 삭제할 수 있습니다.

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 정말 감사합니다!

관련 정보