첫 번째. 미리 감사드립니다.
그건 좀 비슷해#216697: 파일이 없거나 손상된 패키지를 다시 설치합니다.하지만 그 사람의 경우에는 복구 후에도 시스템을 계속 사용할 수 있습니다. 내 것은 없습니다. X를 시작할 수 없습니다. 네트워크가 없으며 systemd가 모든 요구 사항을 충족하지 않아 서비스를 시작할 수 없습니다. 기술적인 측면에서 시스템이 손상되었습니다. (페도라 26 i686)
DNF에는 --installroot 명령이 있으며 LiveUSB OS로 부팅하면 루트 파일 시스템 파티션을 마운트하고 다음을 수행할 수 있습니다.dnf --installroot=/run/media/liveuser/sda6/ repolist내가 구성한 모든 저장소가 나열됩니다. 나는 더 노력했다dnf --installroot=/run/media/liveuser/sda6/ list --all수백 개의 패키지 이름이 스크롤됩니다. 나는 DNF db 또는 rpmdb 등을 가정하고 있습니다.(정말 모르겠어요, 미안해요)손상되지 않은 것 같습니다.
DNF를 사용하면 실행되지 않는 시스템을 사용할 수 있지만 실행되지 않는 시스템에서 RPM -V를 사용하는 방법을 모르겠습니다. 실시간 운영체제만 다루는 것 같습니다. 나는 그것을 루트할 수 있다고 생각했지만 아무것도 망칠 위험을 감수하고 싶지 않았기 때문에 설치를 확인하고 손상된 패키지를 강제로 다시 설치하는 솔루션을 찾으려고 미친 듯이 물어보고 검색했지만 비어 있었습니다.
최후의 수단으로 나는 사용할 것이다dnf --installroot={경로} 재설치 *하지만 이는 다운로드하는 데 많은 시간과 많은 데이터를 낭비합니다. 적어도 무인으로 발생할 수 있습니다. 또는 계속해서 liveOS를 사용하고 1~2주 정도 기다린 후 비활성화된 시스템에 Fedora 27이 출시되면 설치할 수도 있지만 이는 모든 패키지를 강제로 다시 설치하는 것만큼이나 무모한 일처럼 보입니다. 나는 이것을하는 방법을 정말로 배우고 싶습니다.
RPM 닌자: 도와주세요!
답변1
rpm --root
대략 다음과 같은 옵션을 찾고 있는 것 같습니다 dnf --installroot
. 이는 RPM 매뉴얼 페이지에 설명되어 있습니다.
--root DIRECTORY
Use the file system tree rooted at DIRECTORY for all operations.
Note that this means the database within DIRECTORY will be used
for dependency checks and any scriptlet(s) (e.g. %post if
installing, or %prep if building, a package) will be run after a
chroot(2) to DIRECTORY.
모든 패키지가 설치된 파일 시스템에 설치되어 있는지 확인하려면 /run/media/liveuser/sda6/
다음과 같은 명령을 실행하십시오.
rpm --root /run/media/liveuser/sda6/ -Va