스크립트에서 apt-get을 안정적으로 대체합니까?

스크립트에서 apt-get을 안정적으로 대체합니까?

apt-getUbuntu용 최신 GitHub 실행기에서 GitHub Action으로 다음 명령 중 일부를 실행하면 다음 경고가 표시됩니다.

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

apt-getUbuntu의 최신 GitHub 실행기에서 다음 명령과 동일한 작업을 수행하는 대신 무엇을 사용해야 합니까?

    sudo apt install -y dos2unix
    sudo apt update && sudo apt upgrade
    sudo apt clean

처음에는 위의 경고 메시지를 무시했습니다. 그러나 어젯밤 Ubuntu의 최신 실행기에서 많은 작업이 불규칙한 결과를 반환했으며 일부 손상된 작업에서는 apt-get warning위에 표시된 것과 같은 결과가 나타났습니다. 현재 여기에 게시할 어젯밤의 불안정 로그가 없습니다. 하지만 우리는 예측할 수 없는 간헐적인 불규칙한 동작을 방지하고 싶습니다.

스크립트를 사용하는 것보다 더 나은 대안이 있습니까 apt-get?

답변1

apt-get대신에 다음 을 사용해야 합니다 apt:

sudo apt-get install -y dos2unix
sudo apt-get update && sudo apt upgrade
sudo apt-get clean

이에 대한 설명은 다음과 같습니다.매뉴얼 apt페이지:

명령 apt(8)줄은 최종 사용자 도구로 설계되었으며 버전 간에 동작이 변경될 수 있습니다. 이전 버전과의 호환성을 유지하려고 시도하지만 변경 사항이 대화형 사용에 도움이 되는 경우에는 이를 보장할 수 없습니다.

의 모든 기능은 및 apt(8)와 같은 전용 APT 도구에서 사용할 수 있습니다 . 일부 옵션의 기본값을 변경하면 됩니다( 자세한 내용은 바이너리 범위 참조). 따라서 가능한 한 이전 버전과의 호환성을 유지하므로 스크립트에서 이러한 명령을 사용하는 것이 좋습니다(일부 추가 옵션이 활성화될 수도 있음).apt-get(8)apt-cache(8)apt(8)apt.conf(5)

관련 정보