/proc
/sys
이는 재부팅하면 해결되므로 심각한 문제는 아니지만, , 및 (모두는 아니지만 최대한 많이) /dev/pts
파일을 복구할 수 있는 방법이 있는지 궁금합니다 /dev
.
chroot
설치된 디렉토리를 삭제할 때 부분적으로 삭제했습니다.
mount -t proc proc [path/to/chroot]/proc
mount -t sysfs sys [path/to/chroot]/sys
mount --bind /dev/[path/to/chroot]/dev
mount -t devpts /dev/path [path/to/chroot]/dev/pts
우분투 16.10 amd64에서. 파일 삭제가 거부되었기 때문에 일부 파일을 삭제하지 못했습니다(오류 메시지를 기록하지 않았습니다). 이는 이해할 수 있습니다. 나는 이 솔루션이 모든 데비안 기반 시스템에서 작동할 것이라고 생각합니다.
종료 후 다음 chroot
과 같은 내용이 표시됩니다.
$ ls -bash: /dev/null: Keine Berechtigung
bash: _upvars: `-a2': invalid number specifier
-bash: /dev/null: Keine Berechtigung
bash: _upvars: `-a0': invalid number specifier
on을 사용하여 Tab자동 완성하는 중 ls
(내보내기 후 LANGUAGE=en
)
답변1
/proc
또는 에 있는 대부분의 파일은 실제로 삭제할 수 없습니다 /sys
. 이는 디스크에 저장된 것이 아닌 커널에 대한 인터페이스이며 대부분의 커널 인터페이스는 커널이 제공하려는 것이며 사용자 공간의 영향을 받지 않습니다.
예외가 가능하다는 점에 유의하십시오. 이는 드문 일이지만 드라이버는 커널 파일 시스템에서 파일을 삭제하는 데 의미를 할당할 수 있습니다. 이거 악명 높은 사건이네evvafs, 일반적으로 /sys/firmware/efi/efivars
UEFI가 있는 시스템에 설치됩니다. 해당 파일을 삭제하면 시작 구성이 삭제되어 컴퓨터가 손상될 수 있습니다. 그리고systemd는 읽기/쓰기로 마운트하는 데 사용됩니다.…
커널 파일 시스템 자체를 복원하려면 간단히 다시 마운트하면 됩니다. 실제로 rm -rf /proc /sys
이러한 파일의 대부분은 전혀 삭제할 수 없고 마운트된 항목이 있는 한 마운트 지점을 삭제할 수 없기 때문에 삭제되지 않습니다. 그러나 /proc
더 이상 존재하지 않는 상태가 되면 /sys
디렉터리를 다시 만들고 설치할 수 있습니다.
mkdir /proc /sys
mount -t proc proc /proc
mount -t sys sysfs /sys
물론 루트 쉘이 필요합니다. 없이는 /proc
여전히 루트로 로그인할 수 있지만 /sys
, 없이는 루트로 로그인하지 못할 수도 있습니다 /dev
.
그것에 관해서는 /dev
일반적으로 udev에 의해 채워집니다. udev에 다시 채우라고 지시할 수 있습니다.
mkdir /dev
mount -t devtmpfs -o mode=0755 udev /dev
mount -t devpts devpts /dev/pts
udevadm trigger