
apt
에서 명령이 update
사용 가능한 패키지 목록을 업데이트하지만 해당 패키지에서 이미 설치된 소프트웨어를 업그레이드하지는 않는다는 것을 이해합니다 .
또한 위에서 설명한 대로 upgrade
업데이트한 패키지에서 이미 설치한 모든 소프트웨어가 업그레이드된다는 점을 이해합니다 .update
update
Ubuntu/Debian 개발자가 이렇게 분할 하고 upgrade
대신 하나의 명령으로 두 작업을 모두 수행한 이유는 무엇입니까 ?
이것은 우분투 개발자의 아키텍처 철학에 대한 질문에 가깝습니다.
답변1
update
와 사이의 차이점에 대한 기록은 upgrade
실제로 꽤 멋집니다.
아주 오래 전, 즉 우분투가 존재하기 몇 년 전인 약 2000년 전쯤에 대역폭과 디스크 공간은 1990년대 중반에 비해 확장되었지만 훨씬 더 제한적이었습니다. 광대역 서비스는 이제 막 시작되었고, 전화접속은 여전히 온라인 접속을 위한 중요한 방법이었습니다. 큰 디스크는 여전히 수백 MB에 불과했습니다. Apt는 dpkg 위에 구축된 반짝이고 새롭고, 급진적이고 혁명적이었습니다.
생각해 보면 적절한 데이터베이스는 정말 놀라운 것입니다.모두소프트웨어모두알려진 저장소. 이는 종속성을 계산하고 사용 가능한 업그레이드를 식별할 수 있을 만큼 충분히 상세하지만 당시의 전화 접속 모뎀을 통해 전송하고 당시의 소형 드라이브에 저장할 수 있을 만큼 작습니다. 전화로 데이터베이스를 업데이트하는 데는 시간이 걸릴 수 있습니다.분좋은 연결을 통해. 지금은 오랜 시간이 걸렸지만 패키지 업데이트를 수동으로(apt 이전에) 검색하면 시간이 많이 걸릴 수 있습니다.시간.
그 당시 배포판은 다르게 구축되었습니다. 지속적인 통합도 없고 연기 테스트도 없으며(글쎄, 전혀 테스트가 많지 않습니다!) 빌드 팜이 이제 막 시작되었습니다. 업그레이드를 지금보다 더 자주 되돌려야 했습니다. 많은 사용자가 선택했습니다.~ 아니다다양한 이유로 특정 패키지를 업그레이드하거나 오늘 특정 업그레이드만 선택하고(수동으로 테스트하기 위해) 내일 다른 업그레이드를 선택합니다.
그 후 15년여 동안,도구많이 바뀌지 않았기 때문에 여전히 별도의 update
및 upgrade
작업이 있습니다. 그만큼사용자 작업 흐름distro 안정성이 향상됨에 따라 진화했으며, 수동으로 수행되었던 소스/업데이트/업그레이드 관리의 대부분이 자동화 계층( software-updater
, unattended-upgrades
) 뒤에 서서히 숨겨졌습니다.
소프트웨어 패키지 도구를 현대화하는 것은 Snaps, AppImage 및 Flatpak이 최근 등장한 이유 중 하나이지만 이것이 다음 장입니다.
답변2
업그레이드가 필요할 수 있는 유일한 시간은 아니며 apt-get update
단순히 패키지 목록을 업데이트하고 싶을 때마다 업그레이드하고 싶지 않습니다.
제대로 작동하는 우물은 얼마 전에 운영되었는지 apt-get upgrade
에 따라 달라질 수 있지만 이는 과 에도 마찬가지입니다! 이 모든 것이 암시되어야 합니까 ? 당연히 아니지! 자원 효율성과 디자인 청결성의 단순한 문제로, 하나의 작업이 여러 다른 작업에 공통적인 경우 이를 제외해야 합니다.apt-get update
apt-get remove
apt-get install
apt-get update
반대로, apt-get remove
과 가 최근에 실행되어 성공적으로 완료되었는지 apt-get install
여부에 따라 달라질 수 있다는 점을 고려하면 의 각 실행에 대해 apt-get update
의미가 있습니까 ? 아니요, 다시 한 번 말씀드리지만, 제가 하려는 일과 앞으로 할 일이 충돌할 수도 있기 때문입니다.apt-get upgrade
apt-get update
apt-get upgrade
답변3
소프트웨어 소스를 변경할 때마다 sudo apt update
사용 가능한 소프트웨어 목록을 새로 고치려면 명령을 실행해야 합니다. 그런 다음 방금 추가한 새 소프트웨어 소스에서 사용 가능한 패키지를 검색하거나 설치할 수 있습니다.
이 명령은 sudo apt upgrade
Software Updater 응용 프로그램을 사용하여 설치된 패키지 목록을 업그레이드하는 것과 동일한 터미널입니다. 이는 새 소프트웨어 소스를 추가하고, 새 소프트웨어 소스의 패키지를 포함하도록 사용 가능한 소프트웨어 목록을 업데이트하고, 방금 추가한 새 소프트웨어 소스에서 새 패키지를 설치하는 일반적인 워크플로우와 다르기 때문에 더 편리합니다. 덜 혼란스럽고 sudo apt update
및 sudo apt upgrade
별도의 명령입니다.
또한 분리하는 것이 덜 혼란스럽습니다 sudo apt update
. 성공적으로 sudo apt upgrade
실행하면 sudo apt update
인터넷에 연결되어 있음을 확인한 것이기 때문입니다. 이후 실행 시 문제가 발생한다면 sudo apt upgrade
인터넷 연결 문제보다는 패키지 관리 문제일 가능성이 높으며, 결과는 sudo apt upgrade
문제 진단 및 해결의 단서를 제공할 것입니다.