Linux 시스템 파일을 복구할 수 있나요? 아니면 유일한 옵션을 다시 설치하는 것입니까?

Linux 시스템 파일을 복구할 수 있나요? 아니면 유일한 옵션을 다시 설치하는 것입니까?

저를 괴롭히는 Linux에 관한 질문이 있습니다. Windows에서는 시스템 파일이 손상된 경우 디스크를 다시 포맷하지 않고 간단히 시스템 파일을 다시 설치할 수 있습니다. 이는 좋은 옵션입니다. Linux에도 비슷한 것이 있나요?

Raspberry Pi에서 Raspbian Distro를 실행하고 있는데 정전이 발생한 후 시스템이 다시 손상되었습니다. Netatalk 서버를 Mac용 TimeMachine으로 실행합니다. 정전 후 시스템이 부팅되지 않아 문제를 해결하려면 파일 시스템에서 fsck.ext4를 수동으로 실행해야 했습니다. 그리고 수정해야 할 오류가 많이 있었습니다. 이것을 실행한 후 시스템이 부팅되지만 주변에서 이상한 오류가 발생합니다. 시스템 이름을 모르기 때문에 pi@(알 수 없음)으로 표시되고 ls 또는 sudo와 같은 일부 기본 시스템 프로그램에서 "권한 거부" 오류가 발생합니다. 카드를 다른 컴퓨터에 연결하고 sudo에 대한 올바른 권한을 수동으로 설정했지만 이제 실행하면 "세그먼트 오류" 오류가 발생하여 파일이 분명히 손상되었습니다.

이제 내 요점은 모든 것을 다시 설치하는 것이 고통스러울 것이라는 것입니다. 내 netatalk의 모든 사용자 정의를 손상시키지 않고 모든 시스템 파일을 다시 설치하여 문제를 해결할 수 있는 옵션이 있습니까?

답변1

Debian 기반 배포판에서는 aptitude reinstall <corrupted-packages>문제를 해결하는 데 도움이 될 수 있습니다.

특정 파일이 손상되었음을 알고 있는 경우 dpkg -S /my/corrupted/file.

"기본 시스템" 패키지만 다시 설치해 볼 수도 있습니다.

# aptitude reinstall "~prequired"
# aptitude reinstall "~pimportant"
# aptitude reinstall "~pstandard"

재설치를 시도해 볼 수도 있지만 매우 조심해야 합니다.모든 것:

# aptitude reinstall "~i"

저는 이러한 "대규모" 재설치를 테스트한 적이 없으므로... 보장할 수 없습니다.

답변2

배포판이 Debian/Ubuntu 기반이라면 하나를 선택하거나 apt시도해 aptitude보겠습니다.

Redhat 기반 배포판(예: CentOS/Fedora/RHEL)의 경우 RPM을 사용하여 설치된 패키지의 특정 측면을 확인하고 수정할 수 있습니다.

모든 패키지 확인

% rpm -qVav
.........    /usr/bin/rdesktop
.........    /usr/share/doc/rdesktop-1.6.0
.........  d /usr/share/doc/rdesktop-1.6.0/AUTHORS
.........  d /usr/share/doc/rdesktop-1.6.0/COPYING
.........  d /usr/share/doc/rdesktop-1.6.0/ChangeLog
.........  d /usr/share/doc/rdesktop-1.6.0/HACKING
.........  d /usr/share/doc/rdesktop-1.6.0/README
.........  d /usr/share/doc/rdesktop-1.6.0/TODO
.........  d /usr/share/doc/rdesktop-1.6.0/ipv6.txt
.........  d /usr/share/doc/rdesktop-1.6.0/keymap-names.txt
.........  d /usr/share/doc/rdesktop-1.6.0/keymapping.txt
...
...

openssh 확인

% rpm -qVv openssh
.........    /etc/ssh
..?......  c /etc/ssh/moduli
.........    /usr/bin/ssh-keygen
.........    /usr/libexec/openssh
.........    /usr/libexec/openssh/ssh-keysign
.........    /usr/share/doc/openssh-5.5p1
.........  d /usr/share/doc/openssh-5.5p1/CREDITS
.........  d /usr/share/doc/openssh-5.5p1/ChangeLog
.........  d /usr/share/doc/openssh-5.5p1/INSTALL
.........  d /usr/share/doc/openssh-5.5p1/LICENCE
.........  d /usr/share/doc/openssh-5.5p1/OVERVIEW
...
...

권한 및 소유권 수정

% rpm --setperms {packagename}
% rpm --setugids {packagename}

노트:출력에 대한 자세한 내용은 참고 man rpm자료를 참조하세요 .-V|--verify

자세한 내용은 이 문서를 참조하세요.http://www.cyberciti.biz/tips/reset-rhel-centos-fedora-package-file-permission.html.

답변3

Fedora 시스템(실제로 좋은 것이라고 생각함)에서는 yum reinstall <package>패키지를 다시 설치할 수 있습니다(대부분의 손상이 해결되어야 함). 그리고 rpm -Va어떤 종류의 문제가 있는 패키지 목록을 제공합니다(출력에 대한 자세한 내용은 설명서 참조). 어떤 이해할 수 없는 이유로 새로 설치된 패키지에서도 차이점을 보고하는 경우가 많지만 (아직은) 추가 조사를 할 만큼 신경쓰이지는 않습니다. 그럼에도 불구하고, 손상이 너무 심각한 경우 가능한 모든 것을 회수하고 다시 설치하는 것이 여전히 최선의 선택입니다.

관련 정보