내 ArchLinux를 동기화할 수 없습니다. 사용하려고 하면 pacman
다음과 같은 결과가 나타납니다.
ThinkPad-de-Micael_Andre% sudo pacman -Syu
[sudo] password for dmicaelandre:
Sorry, try again.
[sudo] password for dmicaelandre:
:: Synchronizing package databases...
error: failed to update core (unable to lock database)
error: failed to update extra (unable to lock database)
error: failed to update community (unable to lock database)
error: failed to update multilib (unable to lock database)
error: failed to update archlinuxfr (unable to lock database)
error: failed to update blackarch (unable to lock database)
error: failed to synchronize any databases
error: failed to init transaction (unable to lock database)
error: could not lock database: File exists
if you're sure a package manager is not already
running, you can remove /var/lib/pacman/db.lck
분명히 팩맨은 다른 프로세스에서 사용되고 있습니다. 어떻게 pacman
출근할 수 있나요?
답변1
프로그램에서 다른 것(자신의 다른 인스턴스 포함)이 리소스를 잠갔다고 말할 때 가장 먼저 확인해야 할 것은 무언가가 실제로 실행 중이고 리소스를 사용하고 있다는 것입니다. 실제로 사용하고 있는 것이 없는지 확인한 후 잠금을 해제할 수 있습니다.
일반적으로 프로그램은 어떤 프로세스가 리소스를 사용하고 있는지 알려주거나 잠금을 제거하는 방법을 알려줍니다. 이 경우 패키지 관리자 데이터베이스는 파일에 의해 잠겨 있으며 db.lck
실행하라는 오류 메시지가 표시됩니다 remove /var/lib/packman/db.lck
.
그 이유는 일반적으로 프로그램이 마지막으로 사용되었을 때 프로그램이 제대로 종료되지 않고 잠금 해제되지 않았기 때문입니다. 이는 버그가 발생하여 중단되었을 수도 있고, 시스템이 정리할 기회도 주지 않고 프로세스를 종료했을 수도 있습니다. 시스템이 정지되거나, 종료되거나, 전원이 끊겼을 수도 있습니다. 이러한 이벤트로 인해 리소스 잠금이 파일 시스템에 남아 있을 수 있으며 수동 제거가 필요할 수 있습니다.
틀림없이,항상 실시간 진행 상황을 확인하세요.잠긴 파일을 삭제하기 전에.