여기에 뭔가 이상한 것이 있습니다. apt
뭔가에 의해 잠겨 있습니다. 오류 코드가 각각 일치하지 않습니다. apt update
성공은 항상 반환되는 것 같지만 0
올바른 apt-get update
오류 코드가 반환됩니다.
vlastimil@vb-nb-mint ~/Development/bash $ sudo apt-get update
Reading package lists... Done
E: Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)
E: Unable to lock directory /var/lib/apt/lists/
vlastimil@vb-nb-mint ~/Development/bash $ echo $?
100
vlastimil@vb-nb-mint ~/Development/bash $ sudo apt update
Reading package lists... Done
E: Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)
E: Unable to lock directory /var/lib/apt/lists/
vlastimil@vb-nb-mint ~/Development/bash $ echo $?
0
apt
위치:
vlastimil@vb-nb-mint ~/Development/bash $ which apt
/usr/local/bin/apt
apt
버전:
vlastimil@vb-nb-mint ~/Development/bash $ apt-show-versions apt
apt:amd64/xenial-updates 1.2.12~ubuntu16.04.1 uptodate
원래는 apt
수동 업그레이드 스크립트를 사용하고 싶었지만 이로 인해 상황이 변경되었습니다. 이 문제를 해결하는 데 도움이 되는 오류 코드 등을 아는 사람이 있습니까?
답변1
이것은 분명히 의도적인 것입니다.#778357:종료 코드 0은 성공 또는 임시 오류를 나타내고, 다른 값은 영구 오류를 나타냅니다.
매뉴얼 페이지에 명시된 바와 같이 apt
:
다른 APT 도구와의 스크립트 사용법 및 차이점
명령
apt(8)
줄은 최종 사용자 도구로 설계되었으며 버전 간에 동작이 변경될 수 있습니다. 이전 버전과의 호환성을 유지하려고 시도하지만 변경 사항이 대화형 사용에 도움이 되는 경우에는 이를 보장할 수 없습니다.의 모든 기능은 및
apt(8)
와 같은 전용 APT 도구에서 사용할 수 있습니다 . 일부 옵션의 기본값을 변경하면 됩니다( 자세한 내용은 바이너리 범위 참조). 따라서 가능한 한 이전 버전과의 호환성을 유지하므로 스크립트에서 이러한 명령을 사용하는 것이 좋습니다(일부 추가 옵션이 활성화될 수도 있음).apt-get(8)
apt-cache(8)
apt(8)
apt.conf(5)
apt
따라서 스크립트에서는 사용 하면 안 됩니다 .
apt
( 에 있다는 것이 이상합니다 /usr/local/bin
. 최신 apt
패키지가 설치되어 있다는 점을 고려하면 아마도 최신 패키지도 있을 것입니다 /usr/bin
!)