우분투에서 소프트웨어를 업데이트하는 올바른 방법은 무엇입니까?

우분투에서 소프트웨어를 업데이트하는 올바른 방법은 무엇입니까?

안녕하세요 :) 우분투를 사용하여 소프트웨어를 다운로드하는 방법에 따라 소프트웨어 업데이트는 어떻게 다릅니까? 예를 들어 apt-package 관리자를 사용하여 수동으로 다운로드하거나 /etc/apt/sources.list에 일부 저장소를 추가하는 경우입니다. Flatpack 또는 스냅 다운로드 소프트웨어도 사용할 수 있습니다.

sudo apt update를 호출하면 실제로 어떤 일이 발생하나요? 어떤 저장소를 확인해야 하나요?

답변1

Ubuntu에 패키지를 설치하는 방법에는 여러 가지가 있으며 그 중 일부는 언급하지 않았습니다. 완전한 답변을 드리기 위해 모든 내용을 설명하고 싶습니다.

기본 저장소인 패키지 관리자를 통해 설치

패키지 관리자( apt또는 기타) apt-get에는 aptitude소프트웨어를 다운로드할 수 있는 위치 목록이 있습니다. 소프트웨어는 일반적으로 신뢰할 수 있고 제대로 작동하며 잘 유지 관리됩니다. 이러한 위치를 "저장소"라고 합니다. 저장소의 URL은 에 저장됩니다 /etc/apt/sources.list. 런타임 시 apt update패키지 관리자는 저장소에 쿼리하여 사용 가능한 패키지를 확인합니다. 정보를 로컬 캐시에 저장합니다.

패키지를 설치할 때 apt install패키지 관리자는 로컬 캐시를 확인하여 패키지를 다운로드할 위치를 결정합니다. 그런 다음 패키지를 다운로드합니다. 패키지는 DEB 형식의 아카이브로 제공됩니다. 아카이브는 로컬 파일 시스템에 압축이 풀립니다. 또한 패키지에는 새로 설치된 소프트웨어를 설정하기 위해 자동으로 한 번 실행되는 일부 코드가 포함될 수 있습니다.

apt upgrade소프트웨어가 통과되거나 업데이트되면 apt dist-upgrade기존 패키지의 새 버전이 다운로드됩니다. 현재 버전이 시스템에서 제거되었습니다.패키지 관리자는 어떤 패키지에서 어떤 파일이 제공되는지 알기 때문에 어떤 파일을 제거해야 하는지 알고 있습니다.그런 다음 위의 방법에 따라 새 버전을 설치하십시오.

패키지 관리자, 사용자 정의 저장소를 통해 설치

URL을 추가하여 기본 저장소를 확장하는 것도 가능 /etc/apt/sources.list하지만 /etc/apt/sources.list.d/지금은 사용해야 합니다. 패키지 관리자는 이를 기본 저장소로 처리합니다. 설치, 제거, 업데이트는 동일하게 작동합니다. 사용자 정의 저장소를 추가할 때 사용자는 주의해야 합니다. 사용자 정의 저장소는 시스템용으로 생성되어야 합니다.
참고 사항: 개인적인 경험으로 볼 때, 한 Ubuntu 버전에서 다음 버전으로 업그레이드하기 전에 기본이 아닌 리포지토리에서 설치된 모든 패키지를 제거하는 것이 좋습니다.

패키지 관리자를 통해 설치, 수동으로 다운로드

DEB 파일을 수동으로 다운로드할 수도 있습니다. 이 패키지를 설치할 수 있습니다 dpkg -i. 패키지 관리자는 이 패키지가 어디서 왔는지 모르기 때문에 이 패키지를 업데이트하지 않습니다.

스냅을 통해 설치

snapcraft는 Debian 기반 Ubuntu뿐만 아니라 모든 Linux 배포판과 호환되는 패키지 관리자 대체품입니다. 스냅샷 패키지는 시스템에 압축이 풀리지 않습니다. 또한 소프트웨어가 설치되고(내용이 직접 표시됨) 소프트웨어는 시스템 내의 통제된 환경(샌드박스 및 가상 머신 등)에서 실행됩니다. 스냅이 제거되면 패키지가 언로드되어 제거됩니다. 업데이트도 비슷하게 발생합니다.

완전 수동 설치

또한 여러 파일을 다운로드하여 하드 드라이브의 적절한 위치에 배치할 수도 있습니다. 사용자 정의 소프트웨어는 일반적으로 /opt에 들어갑니다. 바이너리(또는 그에 대한 링크)는 에 설치됩니다 $PATH. 이렇게 하면 소프트웨어에 쉽게 액세스할 수 있습니다. 패키지 관리자는 이 소프트웨어에 대해 아무것도 모릅니다. 업데이트도 수동으로 설치해야 합니다. 소프트웨어에 자동 업데이트 기능이 있는 경우도 있는데 이는 어려울 수 있습니다. 맞춤형 소프트웨어는 유사 /usr/local하거나 심지어 유사한 위치 에도 설치할 수 있습니다 /usr. 자신이 하고 있는 일을 정말로 알지 않는 한 후자를 수행해서는 안 됩니다. 사용자 정의 소프트웨어는 패키지 관리자가 제어하는 ​​소프트웨어와 심각한 충돌을 일으킬 수 있습니다.

유제:
apt-get을 사용하여 Ubuntu 소프트웨어 업데이트
Apper를 통해 패키지를 업데이트하는지, Debian의 소프트웨어 센터를 통해 패키지를 업데이트하는지에 따라 차이가 있나요?

답변2

대리점에서 제공한 소스에서만 소프트웨어를 설치하는 것이 좋습니다. 수행 중인 작업을 정확히 알고 있는 경우에만 리포지토리를 수동으로 추가하거나 패키지 또는 기타 소프트웨어를 수동으로 설치하십시오. 그것이 무엇을 하는지에 대한 질문은 sudo apt update: 구성한 모든 저장소에서 사용 가능한 최신 패키지를 가져옵니다. 스냅팩이나 플랫팩에도 동일하게 적용됩니다. 중앙 저장소에서 설치하면 apt update.

답변3

apt update업데이트는 저장소 /etc/apt/sources.list에도 있습니다 . 최신 버전의 패키지에 대해 알아볼 /etc/apt/sources.list.d/수 있도록 먼저 실행하는 것이 중요합니다 .apt

apt upgrade실제로는 사용 가능한 업데이트 버전이 있는 설치된 패키지를 업그레이드합니다. 단, 해당 패키지는 다음을 통해 설치되었으며 apt원본 저장소가 위 위치에 있는 경우에 한합니다.

리포지토리가 다르고 캐시/데이터베이스 에 없기 때문에 패키지는 업그레이드 snap되지 않습니다 .flatpakaptapt

답변4

apt update모든 소프트웨어 소스를 확인하세요. 이것이 배포판 저장소와 추가한 PPA입니다. 내가 아는 한 이것은 flatpak을 포함하지 않지만( flatpak update이 목적을 위해) 배포판이 그런 식으로 설치된 경우 snap을 포함할 수 있습니다. 물론 수동으로 설치한 항목(.deb 다운로드 또는 기타 설치 방법)은 이 방법으로 확인되지 않습니다.

그러나 Ubuntu에는 자체 업데이트 정책이 있으며 일부 배포판은 배포 수명 주기가 끝날 때까지 업데이트되고("기본" 저장소) 업데이트가 거의 없거나 전혀 없는 배포판("유니버스" 저장소 및 기타)(및 대부분의 배포판)을 명심하십시오. ) 스냅 설치 패키지는 "기본"에 없습니다).

관련 정보