“sudo apt-get update”는 무엇을합니까?


답변:


550

간단히 말해서 apt-get update실제로 새로운 버전의 소프트웨어를 설치하지는 않습니다. 대신, 업그레이드가 필요한 패키지의 업그레이드를 위해 패키지 목록을 업데이트하고 리포지토리에 방금 제공된 새 패키지를 업데이트합니다.

  • apt-get update리포지토리에서 패키지 목록을 다운로드하고 "업데이트"하여 최신 버전의 패키지 및 해당 종속성에 대한 정보를 얻습니다. 모든 리포지토리 및 PPA에 대해이 작업을 수행합니다. 에서 http://linux.die.net/man/8/apt-get :

    소스에서 패키지 색인 파일을 재 동기화하는 데 사용됩니다. 사용 가능한 패키지의 색인은 /etc/apt/sources.list(5)에 지정된 위치에서 가져옵니다 . 업그레이드 또는 dist-upgrade 전에 항상 업데이트를 수행해야합니다.

  • apt-get upgradeAPT가이 새 버전에 대해 알고 있으면 시스템에있는 새 버전의 패키지를 가져옵니다 apt-get update.

    에서 http://linux.die.net/man/8/apt-get :

    /etc/apt/sources.list(5)에 열거 된 소스에서 시스템에 현재 설치된 모든 패키지의 최신 버전을 설치하는 데 사용됩니다 . 사용 가능한 새 버전으로 현재 설치된 패키지를 검색하고 업그레이드합니다. 어떠한 경우에도 현재 설치된 패키지가 제거되지 않으며, 아직 설치되지 않은 패키지가 검색 및 설치되지 않습니다. 다른 패키지의 설치 상태를 변경하지 않고 업그레이드 할 수없는 현재 설치된 패키지의 새 버전은 현재 버전으로 유지됩니다. [Emphasis mine] apt-get이 새로운 버전의 패키지를 사용할 수 있도록 업데이트를 먼저 수행해야합니다.

  • apt-get dist-upgrade에 의해 수행되는 것과 동일한 작업을 수행 apt-get upgrade하고 종속성을 지능적으로 처리하므로 오래된 패키지를 제거하거나 새 패키지를 추가 할 수 있습니다. 여기를 참조 : 무엇 "DIST 업그레이드가"이유는 "업그레이드"보다 더 업그레이드합니까?

    에서 http://linux.die.net/man/8/apt-get :

    이 기능은 업그레이드 기능을 수행 할뿐만 아니라 새로운 버전의 패키지로 변화하는 종속성을 지능적으로 처리합니다. apt-get은 "스마트"충돌 해결 시스템을 갖추고 있으며 필요한 경우 덜 중요한 패키지를 희생하여 가장 중요한 패키지를 업그레이드하려고 시도합니다. /etc/apt/sources.list(5) 파일은 원하는 패키지 파일을 검색 할 위치의 목록이 포함되어 있습니다. 개별 패키지의 일반 설정을 재정의하는 메커니즘에 대해서는 apt_preferences (5)를 참조하십시오.

&&다음과 같이 명령을 결합 할 수 있습니다 .

sudo apt-get update && sudo apt-get install foo bar baz foo-dev foo-dbg

또는 종속성의 버전 요구 사항에 따라 가능한 최신 버전을 얻으려면 다음을 수행하십시오.

sudo apt-get update && sudo apt-get dist-upgrade

sudo두 번 모두 필요 하지만 sudo기본적으로 마지막 sudo작업 후 5 분 이내에 프롬프트 가 표시되지 않으므로 비밀번호를 한 번만 또는 전혀 입력하라는 메시지가 표시됩니다.


11
sudo apt-get update패키지를 설치할 때마다 항상 명령 을 실행해야 합니까? 그렇게하지 않으면 어떤 단점이 있습니까?
JohnnyQ 2016 년

14
@JohnnyQ 해당 명령을 실행하지 않으면 오래된 패키지가 설치 될 수 있습니다.
ζ--

아, 그것은 단지 컨벤션 일 것 같습니다. 따라서 일반적으로 업데이트되지 않는 기본 명령으로 기본 패키지를 사용하는 경우 특히 필요하지 않다고 가정합니다. 내 상황에서 문제는 apt-get update시간 이 걸리고 여기 인터넷은 여전히 ​​원시적이라는 것입니다.
JohnnyQ 2016 년

2
@JohnnyQ, apt-get 업데이트가 느리면 apt-get dist-upgrade도 느리므로 apt-get 업데이트를 먼저 수행하지 말아야한다는 주장은 아닙니다. Btw에서 /etc/apt/sources.d/ 폴더를 살펴보면 apt-get 업데이트 속도가 빨라져 사용자 정의 리포지토리가 추가되어 있고 그 중 하나가 응답하지 않아 전체 업데이트 프로세스가 느려질 수 있는지 확인할 수 있습니다.
Mladen B.

1
그런데 "apt"는 Advanced Packaging Tool ( wiki.debian.org/Apt "APT 란 무엇입니까?")의 약자입니다 . 내가 다른 날에 배운 것을 공유하고 싶다고 생각했습니다. ( "apt"는 종종 남자 apt-get, 남자 apt에 나타나지만, 나는 그 약어가 확장 된 것을 본 적이 없다).
jgreve

47

Google 검색은 터미널에서 도움이 될 수있는 거의 모든 터미널 명령에 대한 정의를 제공 할 수 있습니다. 예를 들어

apt-get --help

sudo apt-get update 본질적으로 세 부분으로 구성됩니다.

sudo

수퍼 유저 (루트) 기능으로 다음 명령을 수행합니다. 시스템 파일을 수정하거나 응용 프로그램을 설치해야하는 많은 작업에는 추가 권한이 필요합니다.

apt-get

Ubuntu가 소프트웨어 패키지를 설치, 제거 및 관리하는 데 사용하는 명령 줄 도구입니다

update

apt-get 프로그램이 인터넷의 서버에서 패키지 목록을 업데이트하는 데 사용할 수있는 옵션입니다. 패키지 목록은 apt-get 유틸리티를 사용하여 apt-get을 사용하여 설치할 수있는 소프트웨어 패키지에 대한 중요한 정보를 제공합니다. apt-get은이 목록을 사용하여 설치할 명령이있을 때 설치할 소프트웨어를 결정합니다. 예를 들어

sudo apt-get install guake

Guake 터미널이 현재 컴퓨터의 로컬 소프트웨어 목록에 나열되어 있으므로 설치합니다. 그러나이 버전이 적절한 버전이 아니거나 프로그램이 새 버전 인 경우 전혀 사용하지 못할 수 있습니다. 따라서 apt-get을 사용하여 소프트웨어를 설치할 때 일반적으로 다음을 입력하십시오.

sudo apt-get update
sudo apt-get install <package>

apt-get이 최신 버전의 패키지를 설치하도록합니다.

정보의 또 다른 유용한 출처는 help.ubuntu.com사이트입니다. 해당 사이트를 검색하는 경우 예를 들어, 위해 apt-get찾을 것 AptGet / 하우투 결과 중 하나입니다.


Alex, 기본적으로 "apt-get update apt-get install <package>"와 같이 명령을 사용할 수 있습니까? 기본적으로 두 명령을 함께 입력하면 두 가지 작업을 수행 할 수 있습니까?
엘리시움

1
예 @Elysium, 당신이있는 경우 &&로 사이sudo apt-get update&&sudo apt-get install foo bar baz
ζ--

7
사용 &&은 두 번째 명령이 첫 번째 명령이 성공한 경우에만 실행됨을 의미합니다. 첫 번째 명령의 성공에 신경 쓰지 않으면 ;대신 사용하십시오.
Flimm

4
Google 검색으로이 질문 / 답변이 나왔습니다. FYI;)
teewuane

19

실행 sudo apt-get update하면 모든 리포지토리 및 PPA의 패키지 목록이 최신 상태인지 확인합니다. 이 명령을 실행하지 않으면 설치중인 다양한 패키지의 이전 버전이 나타나거나 종속성 문제가 발생할 수 있습니다. PPA를 추가했지만 업데이트하지 않은 경우 해당 PPA 또는 리포지토리의 패키지 목록이 없으므로 PPA의 아무것도 작동하지 않습니다.

간단히 말해서 : 설치하기 전에 실행 하는 것이 좋습니다 sudo apt-get update. 그러나 마지막 이후 리포지토리 또는 PPA를 변경하지 않은 한 실제로 시간이 오래 걸리면 건너 뛸 수 있습니다apt-get update .


13

컴퓨터에서 사용 가능한 소프트웨어 목록을 업데이트합니다.

컴퓨터에는 Ubuntu 서버가 사용할 수있는 모든 사용 가능한 소프트웨어가 포함 된 목록 (예 : 카탈로그)이 있습니다. 그러나 사용 가능한 소프트웨어 및 버전이 변경 될 수 있으므로 "업데이트"는 서버에 충돌하고 로컬 목록 (또는 카탈로그)을 업데이트하기 위해 사용 가능한 소프트웨어를 확인합니다.

그 주 update에서 개의 다른입니다 upgrade. 위에서 언급 한대로 업데이트는 사용 가능한 소프트웨어를 가져 와서 목록을 업데이트하며 upgrade컴퓨터에 설치된 새 버전의 소프트웨어 (실제 소프트웨어 업데이트)를 설치합니다.

목록을 "업데이트"하지 않고 소프트웨어를 실제로 업그레이드하려면 다음 명령을 실행하십시오.

sudo apt-get upgrade

일반적으로 "업데이트"후에 실행됩니다.


sudo apt-get install그때 는 무엇입니까 ? 일반 업그레이드 대신 특정 패키지를 설치 하시겠습니까?
피터 Mortensen

12

apt-get update로컬 저장소 정보가 업데이트되므로 새 패키지를 설치하기 전에 한 번 실행해야합니다 . 서로 직후에 여러 패키지를 설치하려는 경우을 실행할 필요가 없습니다 apt-get update. 또한 입력하면 여러 패키지를 한 번에 설치할 수 있습니다 sudo apt-get install package1 package2...


그 좋은 트릭!
Emerson Hsieh

6

sudo apt-get install ...(또는 sudo aptitude install ...) 를 사용하여 명령 줄에서 패키지를 설치하거나을 사용 upgrade하거나 dist-upgrade사용하지 않고 명령 줄에서 패키지 를 업그레이드 할 때 인터넷이 아닌install 로컬 시스템의 구성에서 다음 정보를 얻습니다 .

  1. 사용 가능한 패키지

  2. 사용 가능한 버전

  3. 사용 가능한 패키지를 검색 할 위치

sudo apt-get update(또는 sudo aptitude update)를 실행 하면 로컬 시스템에서이를 업데이트합니다. 이 단계 는 인터넷 소스에서 현재 설치된 패키지 패키지에 대한 업데이트를 포함하여 설치할 수있는 패키지에 대한 정보를 실제로 검색하는 단계입니다 .

GUI 인터페이스 (Update Manager, 소프트웨어 센터 또는 Synaptic Package Manager)를 사용하여 패키지를 설치하면 작업이 sudo apt-get update자동으로 수행됩니다. 명령 행에서 패키지를 설치할 때는 그렇지 않으며, 최근에 그렇게하지 않은 경우 항상 직접 설치해야합니다 .

사용 가능한 업데이트 된 버전의 패키지에 대한 정보는 sudo apt-get update(또는 sudo aptitude update) 를 실행하여 얻을 수 있으므로 소프트웨어를 추가 또는 제거하지 않은 경우에도 패키지를 설치하기 전에이 패키지를 실행하고 최신 업데이트를 설치하기 위해이 패키지를 실행하는 것이 좋습니다. 출처 (예 : PPA) .

같은 시간에 여러 패키지 관리 작업을 수행하려는 경우 각 패키지 관리 작업을 실행 sudo apt-get update하기 전에 수행 할 필요는 없습니다 . 정보가 한동안 업데이트되지 않은 경우에만 정보를 실행해야합니다.


4

위에서 언급 한 것처럼 엘리아 케이건 (Eliah Kagan) 은 GUI 애플리케이션이 / 전에 실행 되기를 기대 하지만, 비교적 새로운 공격 보안 VM 머신에서 흥미로운 오류 404를 발견했습니다.apt-get updateapt-get installapt-get upgrade

명령 줄에서을 실행 apt-get update한 다음 System Tools / Software-Update 명령을 다시 시도했지만 이번에는 404 오류가 발생하지 않았습니다.

따라서 항상 apt-get updateGUI 응용 프로그램에서 실행 한다고 가정 할 수는 없습니다 ...


흥미로운 ... apt-getSoftware Updater / Update Manager를 실행하여 수행 한 자동 확인보다 실행시 더 잘 처리되는 서버와 비정상적인 네트워킹 상황이있을 수 있습니까? HTTP 프록시를 사용하십니까? 그리고 다시 일어날 수 있습니까, 아니면 한 번만 일어 났습니까? 격리 된 이상인 경우 일시적인 서버 구성 오류로 인해 문제가 발생했는지 궁금합니다. 어떤 거울을 사용하십니까? 더 많은 정보를 사용하면 대답을 향상시킬 수 있습니다. (Btw, 이것은 별도의 답변으로 의도 된 것인가, 아니면 의견으로 변환되어야 하는가?)
Eliah Kagan

3

나보다 많은 사람들이 말했듯이 이것은 로컬 저장소 (패키지 목록)를 업데이트합니다.

설치하려고하면 문제가 발생할 수 있습니다

apt-get install foobar

foobar 또는 종속성은 저장소에 최신 버전이 없습니다. .deb 파일을 수동으로 설치하거나 타사에서 ppa를 설치하는 경우 특히 문제가 될 수 있습니다.

기본적으로 목록마스터 목록 과 일치 하는지 확인 합니다 .


2

Ubuntu에 VLC 미디어 플레이어 를 설치하는 예를 살펴 보겠습니다 .

sudo apt-get update

사용 가능한 업데이트가 있는지 리포지토리를 확인합니다.

그런데, ...한데

sudo apt-get install vlc vlc-plugin-pulse mozilla-plugin-vlc

우리가 검색 한 저장소에서 VLC 미디어 플레이어를 설치합니다.

루트 사용자 (관리자)로 로그인 한 경우 sudo이미 슈퍼 사용자 권한이 있으므로을 사용할 필요가 없습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.