빌드 중 정전 후 MacPorts가 작동하지 않음 (sqlite 디스크 I / O 오류)


1

전원이 꺼 졌을 때 Mac Mini의 MacPorts에서 패키지를 제작하고있었습니다. 이제 아무것도 나는 MacPorts의에서 수행하려고 ( install, clean, selfupdate) 다음과 같은 오류가 발생합니다 :

sqlite error: disk I/O error (3850) while executing query: ATTACH DATABASE '/opt/local/var/macports/registry/registry.db' AS registry
    while executing
"registry::open $db_path"
    (procedure "mportinit" line 610)
    invoked from within
"mportinit ui_options global_options global_variations"
Error: /opt/local/bin/port: Failed to initialize MacPorts, sqlite error: disk I/O error (3850) while executing query: ATTACH DATABASE '/opt/local/var/macports/registry/registry.db' AS registry

이 문제를 어떻게 해결할 수 있습니까?


헛소리가 손상되어 해당 파일이 설치 한 전문가에 의존하고 새 설치에서 재생 될 수 없기 때문에 나는 백업에서 복원 것
마크

@Mark이 특정 머신에 대한 백업이 없습니다. 다른 아이디어가 있습니까?
Brian McCutchon

macports를 다시 설치하는 방법은 설치 한 포트 목록을 가지고 다시 실행하여 db가 필요한 전문가 목록을 얻는 것입니다. 따라서 아닙니다. 이것을 학습의 순간으로 생각하고 백업이 필요하다는 것을 인식하십시오. 필요한 것을 알면 macports를 처음부터 다시 설치할 수 있습니다.
Mark

@Mark Both port list installedport -qv installed같은 오류가 발생합니다. macports 외부에 설치된 포트 목록을 얻는 방법이 있습니까?
Brian McCutchon

손상된 데이터베이스에 해당 목록이 유지되므로 아니오.
Mark

답변:


0

이에 대한 해결책은 실제로 매우 간단 하며이 MacPorts 문제 에서 언급됩니다 . "pixilla @…"의 문제에 대한 의견 :

$ cd /opt/local/var/macports/registry
$ ls registry.db-journal                                                                                                                                                                             
$ sudo sqlite3 registry.db
sqlite> .tables
sqlite> SELECT id FROM ports;
sqlite> .quit

"ecronin @…"에 의한 또 다른 의견을 바탕으로, port명령을 루트로 실행하면 자동으로 수정 되어이 모든 문제를 해결했을 것입니다. 그러나 나는 항상 사용하는 것을 잊어 버린다 sudo...

편집 잠깐, 나는로 port명령을 실행했다 sudo. 기묘한. 아, 적어도 지금은 작동합니다.


나에게도 같은 일이 일어났다. 설치 중에 전원을 끕니다. sqlite 오류가 발생하지만 저널 파일이 없습니다. sqlite error: database disk image is malformed (11).
Andrew Backer
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.