수년 동안 Linux를 사용한 후에는 그렇게 심각한 실수를 저지른 적이 없습니다. 더 잘 알았어야 했는데 솔직히 내가 무슨 생각을 했는지 전혀 모르겠습니다.
내가 받은 작은 오류 메시지를 수정하려고 시도하는 동안(지금은 더 큰 문제와는 아무 관련이 없음) "그냥 pacdiff를 실행하고 이전 파일을 덮어쓰십시오"라는 기사를 발견했고 이에 대한 많은 조사 없이 취재를 시작했습니다.
덮어쓰기 전에 백업을 만들 용기가 있었고 /etc/shadow
몇 가지 항목을 입력한 후 덮어쓰기를 중단했지만 이제 루트와 모든 사용자가 잠겨 있습니다. 나도 덮어썼기 때문에 다시 시작하기가 두렵기 때문에 지금 컴퓨터를 사용하고 있습니다 /etc/grub.d
(백업이 없습니다)! 백업은 루트가 소유한 /etc/shadow
내 디렉토리에 있으므로 /home
지금은 읽을 수 없지만 가지고 있습니다.
pacdiff
정확히 무엇을 하는가 (O)verwrite with pacnew
? 지침을 찾았습니다./etc/shadow 파일 복원, 그런데 grub-boot loader
지금 재부팅해도 되나요?
내 루트 및 기본 파티션은 암호화되지 않았지만 LUKS 암호화 파티션이 있습니다. 상황이 더 악화되어 암호화된 파티션을 포맷하지 않고 다시 설치해야 하는 경우 비밀번호를 사용하여 LUKS 암호화된 파티션을 열 수 있는 /home
경우가 있습니까 ? cryptsetup
마운트 및 오픈 정보는 LUKS 파티션 헤더에 저장되어 있으니 괜찮겠죠? 루트 액세스 권한이 없기 때문에 어떤 비밀번호를 사용하고 있는지 알 수 없지만 이것이 기본값인 것은 거의 확신합니다.
어떻게 진행하나요? 나는 계획을 세울 때까지 이 기계를 끄지 않을 것입니다. 저는 이중 부팅 Manjaro/Windows를 사용하고 있습니다. 부팅 가능한 Manjaro USB를 만들었고 필요한 경우 다른 컴퓨터를 만들 수 있습니다. 어떤 도움이라도 대단히 감사하겠습니다. 가장 자랑스러운 순간은 아니지만 좋은 교훈을 얻었습니다. 나는 그 어느 때보다 당신이 필요합니다.
답변1
저는 Manjaro를 사용해 본 적이 없지만 Arch Linux의 프로세스는 귀하의 상황에도 적합할 것입니다.
/home
Manjaro 라이브 USB를 부팅하고, Manjaro 설치의 루트 파일 시스템을 마운트하고, 기존 디렉터리를 마운트하고, 백업 복사본을 shadow
해당 위치에 다시 넣을 수 있어야 합니다 .
그런 다음 설치된 Manjaro를 시작할 수도 있습니다. /etc/grub.d
이는 GRUB 구성을 (재)생성하는 데만 사용되며 시작 프로세스 중에는 필요하지 않기 때문입니다. 그러나 포함된 파일을 복원(또는 백업이 없는 경우 다시 편집)하는 것이 매우 중요합니다. 그렇지 않으면 다음에 일부 패키지 업데이트로 인해 재부팅이 트리거될 때 시스템이 부팅할 수 없게 됩니다(또는 더 이상 더 이상 부팅할 수 없음) 이중 부팅) 위험. -부트로더 구성을 만듭니다.
이는 암호화된 루트 파일 시스템이 있는 경우에도 작동할 수 있습니다. udev
모든 블록 장치(예: MD RAID 어레이 또는 LVM 볼륨)가 사용 가능해지면 즉시 활성화해야 하며 일반적으로 남은 작업은 다음과 같습니다.
귀하의 경우 암호화된 장치를 열면 다음을 수행할 수 있습니다.
cryptsetup open /dev/your_encrypted_device decrypted_device_name
LUKS 헤더가 지워지지 않는 한 비밀번호만 필요합니다. (LUKS 헤더가 삭제되거나 손상된 경우 백업이 없는 경우 데이터를 복구할 수 없으므로 주의하시기 바랍니다.)
파일 시스템을 마운트합니다. 예를 들어
mount /dev/sdaN /
또는mount /dev/mapper/mapped_dev /
.
lsblk
장치 트리를 탐색하고 열거나 설치할 올바른 장치를 찾는 데 도움이 될 수 있습니다(열 참조 TYPE
).
pacman이 수정 시간이 패키지 데이터베이스에 기록된 시간과 일치하지 않는 새 버전의 파일을 설치하면 기존 파일을 덮어쓰지 않고 대신 .pacnew
파일이 생성됩니다.
.pacnew
롤링 릴리스 배포에서는 패키지 업데이트로 인해 주요 변경 사항이 발생할 수 있으므로 적시에 파일을 처리하는 것이 중요합니다. 예를 들어 기존 구성 파일에는 설치 중인 프로그램 버전에서 더 이상 사용되지 않으며 다른 옵션이 필요한 옵션이 언급될 수 있습니다. Distro 유지 관리 담당자는 가능한 모든 상황을 처리할 수 없으며 구성 파일을 확인하는 작업은 사용자에게 맡겨집니다.
pacdiff
이 프로세스를 돕기 위해 설계되었습니다. 패키지 관리자가 추적한 pacnew
(및 ) 파일을 살펴 .pacsave
보고 이를 볼 수 있습니다. "(O)verwrite with pacnew"는 바로 이러한 작업을 수행합니다. 즉, 기존 파일이 버전으로 교체되고 .pacnew
사용자 정의 구성이 손실됩니다.
가장 올바른 조치는 일반적으로 .pacnew
기존 버전과 파일 버전을 확인하고 필요한 경우 병합하는 것이지만 일부 .pacnew
파일은 조치를 취하지 않아도 됩니다. Manjaro가 이와 관련하여 Arch와 일치한다고 가정하면 이는 사용자 데이터베이스( /etc/passwd
및 /etc/shadow
포함 )에도 해당됩니다."Pacman이 관련 작업 메시지를 출력하지 않는 한".