Computer >> 컴퓨터 >  >> 프로그램 작성 >> BASH 프로그래밍

sudo apt-get update vs upgrade – 차이점은 무엇입니까?

sudo apt-get 업데이트sudo apt-get 업그레이드 데비안 또는 데비안 기반 Linux 배포판에서 모든 패키지를 최신 상태로 유지하는 데 사용할 수 있는 두 가지 명령입니다.

Linux 관리자와 DevOps를 수행하는 사람들을 위한 일반적인 명령이지만 명령줄을 자주 사용하지 않더라도 알아두면 편리합니다.

이 기사에서는 이 두 명령의 기능, 사용 방법 및 몇 가지 자주 묻는 질문에 대해 알아보겠습니다.

sudo apt-get 업데이트 및 sudo apt-get 업그레이드 ?

주요 차이점은 sudo apt-get update 배포판의 소프트웨어 저장소 및 구성했을 수 있는 타사 저장소에서 최신 버전의 패키지 목록을 가져옵니다. 즉, 각 패키지 및 종속성의 최신 버전이 무엇인지 파악하지만 실제로 이러한 업데이트를 다운로드하거나 설치하지는 않습니다.

sudo apt-get 업그레이드 명령은 시스템에 대한 각 오래된 패키지 및 종속성에 대한 업데이트를 다운로드하고 설치합니다. 하지만 sudo apt-get upgrade를 실행하기만 하면 됩니다. 오래된 패키지를 자동으로 업그레이드하지 않습니다. 변경 사항을 검토하고 업그레이드를 수행할 것인지 확인할 수 있습니다.

sudo apt-get 업데이트 사용 방법 명령

Debian 기반 Linux 배포판(Debian, Ubuntu, Linux Mint, Kali Linux, Raspberry Pi OS 등)에서 터미널 창을 엽니다.

배포판에 따라 터미널을 여는 방법에 따라 터미널 이름이 다를 수 있습니다. 예를 들어 Ubuntu 및 Linux Mint에서 기본 터미널은 Gnome 터미널이지만 응용 프로그램 메뉴의 터미널 아래에 나열될 수 있습니다.

터미널에서 sudo apt-get update를 입력합니다. 명령줄에 관리자 암호를 입력하고 Enter 키를 누릅니다.

업데이트가 있는 경우 다음과 유사한 출력이 표시됩니다.

kris@pihole:~ $ sudo apt-get update
Hit:1 https://ftp.harukasan.org/raspbian/raspbian bullseye InRelease
Get:2 https://download.docker.com/linux/raspbian bullseye InRelease [26.7 kB]
Get:3 https://archive.raspberrypi.org/debian bullseye InRelease [23.7 kB]       
Get:4 https://packages.azlux.fr/debian buster InRelease [3,989 B]               
Get:5 https://archive.raspberrypi.org/debian bullseye/main armhf Packages [282 kB]
Get:6 https://packages.azlux.fr/debian buster/main armhf Packages [3,418 B]
Fetched 340 kB in 4s (94.8 kB/s)     
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
3 packages can be upgraded. Run 'apt list --upgradable' to see them.

어떤 패키지를 업그레이드할 수 있는지 확인하려면 apt list --upgradable을 실행하세요. :

kris@pihole:~ $ apt list --upgradable
Listing... Done
libcamera0/stable 0~git20220426+18e68a9b-1 armhf [upgradable from: 0~git20220303+e68e0f1e-1]
raspi-config/stable 20220425 all [upgradable from: 20220419]
rpi-eeprom/stable 13.13-1 armhf [upgradable from: 13.12-1]

그러나 배포판의 소프트웨어 리포지토리에 최신 버전의 패키지 또는 종속성이 없으면 다음과 같은 출력이 표시됩니다.

kris@pihole:~ $ sudo apt-get update
Get:1 https://download.docker.com/linux/raspbian bullseye InRelease [26.7 kB]
Hit:2 https://ftp.harukasan.org/raspbian/raspbian bullseye InRelease           
Hit:3 https://packages.azlux.fr/debian buster InRelease                         
Hit:4 https://archive.raspberrypi.org/debian bullseye InRelease
Fetched 26.7 kB in 3s (8,789 B/s)
Reading package lists... Done

업그레이드할 수 있는 패키지에 대한 언급이 없고 apt list --upgradable 실행에 대한 메모도 없습니다. .

그러나 이것이 반드시 시스템에 오래된 소프트웨어가 없다는 것을 의미하는 것은 아니며, 패키지 목록의 최신 버전을 이미 가지고 있다는 것입니다. sudo apt-get update를 실행했을 수 있습니다. 여러 번.

언제든지 apt list --upgradable을 실행할 수 있습니다. 업그레이드할 수 있는 항목이 있는지 다시 확인하세요.

또는 더 현대적인 sudo apt update를 사용할 수 있습니다. 대신 명령합니다. 이 명령은 항상 업그레이드할 수 있는 패키지 수 또는 모든 것이 최신 상태라는 메모를 표시합니다.

apt의 차이점에 대한 자세한 내용은 및 apt-get , 아래에서 이 섹션을 확인하세요.

sudo apt-get 업그레이드 사용 방법 명령

sudo apt-get update 실행 후 명령, 동일한 터미널 창에서 sudo apt-get upgrade 입력 , 필요한 경우 비밀번호를 입력하고 Enter 키를 누르십시오.

그러면 다음과 유사한 출력이 표시됩니다.

kris@pihole:~ $ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
  libcamera0 raspi-config rpi-eeprom
3 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 2,616 kB of archives.
After this operation, 1,596 kB of additional disk space will be used.
Do you want to continue? [Y/n] 

출력 하단에 업그레이드될 패키지가 표시됩니다.

The following packages will be upgraded:
  libcamera0 raspi-config rpi-eeprom
3 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

가져와야 하는 데이터의 양 및 업그레이드된 패키지가 설치된 후 사용할 저장 공간의 양:

Need to get 2,616 kB of archives.
After this operation, 1,596 kB of additional disk space will be used.

마지막으로 업그레이드를 계속할지 묻는 메시지가 표시됩니다.

Do you want to continue? [Y/n] 

y를 입력할 수 있습니다. , Y , 또는 업그레이드를 계속하려면 또는 n , N , 또는 아니요 업그레이드 종료 명령.

종료를 선택하면 다음과 같은 출력이 표시됩니다.

kris@pihole:~ $ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
  libcamera0 raspi-config rpi-eeprom
3 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 2,616 kB of archives.
After this operation, 1,596 kB of additional disk space will be used.
Do you want to continue? [Y/n] n
Abort.

업그레이드를 계속하도록 선택하면 다음과 같은 긴 출력이 표시됩니다.

kris@pihole:~ $ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
  libcamera0 raspi-config rpi-eeprom
3 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 2,616 kB of archives.
After this operation, 1,596 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 https://archive.raspberrypi.org/debian bullseye/main armhf libcamera0 armhf 0~git20220426+18e68a9b-1 [548 kB]
Get:2 https://archive.raspberrypi.org/debian bullseye/main armhf raspi-config all 20220425 [30.3 kB]
Get:3 https://archive.raspberrypi.org/debian bullseye/main armhf rpi-eeprom armhf 13.13-1 [2,037 kB]
Fetched 2,616 kB in 3s (1,019 kB/s)   
Reading changelogs... Done
(Reading database ... 43496 files and directories currently installed.)
Preparing to unpack .../libcamera0_0~git20220426+18e68a9b-1_armhf.deb ...
Unpacking libcamera0:armhf (0~git20220426+18e68a9b-1) over (0~git20220303+e68e0f1e-1) ...
Preparing to unpack .../raspi-config_20220425_all.deb ...
Unpacking raspi-config (20220425) over (20220419) ...
Preparing to unpack .../rpi-eeprom_13.13-1_armhf.deb ...
Unpacking rpi-eeprom (13.13-1) over (13.12-1) ...
Setting up rpi-eeprom (13.13-1) ...
Setting up libcamera0:armhf (0~git20220426+18e68a9b-1) ...
Setting up raspi-config (20220425) ...
Processing triggers for man-db (2.9.4-2) ...
Processing triggers for libc-bin (2.31-13+rpt2+rpi1+deb11u2) ...

완료되면 오래된 패키지와 종속 항목이 모두 업데이트됩니다.

sudo apt-get upgrade에 대해 기억해야 할 중요한 사항 명령은 아무것도 제거하지 않고 할 수 있는 것만 업그레이드한다는 것입니다.

예를 들어 업그레이드에 새 종속성이 필요한 경우 upgrade 명령은 이를 다운로드하여 설치하지만 이전 종속성을 제거하지는 않습니다. 이전 종속성을 제거하려면 다른 명령이 필요합니다. 새 커널 버전으로 업그레이드할 때 이것을 많이 보게 될 것입니다.

업그레이드 후 이와 유사한 메시지가 표시되는 경우:

The following packages were automatically installed and are no longer required:
  g++-8 gir1.2-mutter-4 libapache2-mod-php7.2 libcrystalhd3
Use 'sudo apt autoremove' to remove them.

제안을 따르고 sudo apt autoremove를 사용할 수 있습니다. 불필요한 패키지를 제거합니다.

sudo apt-get upgrade와 함께 특수 옵션을 사용하는 방법 명령

sudo apt-get upgrade와 함께 사용할 수 있는 여러 특수 옵션 또는 매개변수가 있습니다. 명령이지만 두 가지가 두드러집니다. --dry-run--예 .

--dry-run 사용 방법 옵션:

--dry-run (또는 -s 또는 --시뮬레이션 ) 옵션은 업그레이드 프로세스 동안 발생하는 일을 시뮬레이션하지만 실제로 시스템에서 아무 것도 변경하지 않습니다.

kris@pihole:~ $ sudo apt-get upgrade --dry-run
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
  libcamera0 raspi-config rpi-eeprom
3 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Inst libcamera0 [0~git20220303+e68e0f1e-1] (0~git20220426+18e68a9b-1 Raspberry Pi Foundation:stable [armhf])
Inst raspi-config [20220331] (20220425 Raspberry Pi Foundation:stable [all])
Inst rpi-eeprom [13.12-1] (13.13-1 Raspberry Pi Foundation:stable [armhf])
Conf libcamera0 (0~git20220426+18e68a9b-1 Raspberry Pi Foundation:stable [armhf])
Conf raspi-config (20220425 Raspberry Pi Foundation:stable [all])
Conf rpi-eeprom (13.13-1 Raspberry Pi Foundation:stable [armhf])

다시 말하지만 Debian 및 Debian 기반 배포판은 매우 안정적이지만 이 옵션은 업그레이드 중에 충돌이 없는지 확인하려는 경우에 유용합니다.

--yes 사용 방법 옵션:

--yes (또는 -y 또는 --assume-yes ) 옵션은 안전한 경우 모든 프롬프트에 자동으로 예라고 응답합니다.

kris@pihole:~ $ sudo apt-get upgrade --yes
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
  libcamera0 raspi-config rpi-eeprom
3 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 2,616 kB of archives.
After this operation, 1,596 kB of additional disk space will be used.
Get:1 https://archive.raspberrypi.org/debian bullseye/main armhf libcamera0 armhf 0~git20220426+18e68a9b-1 [548 kB]
Get:2 https://archive.raspberrypi.org/debian bullseye/main armhf raspi-config all 20220425 [30.3 kB]
Get:3 https://archive.raspberrypi.org/debian bullseye/main armhf rpi-eeprom armhf 13.13-1 [2,037 kB]
...
Processing triggers for libc-bin (2.31-13+rpt2+rpi1+deb11u2) ...

계속하시겠습니까? [예/아니요] 위에서 건너뛰고 모든 패키지가 업그레이드됩니다.

FAQ

sudo란? 및 apt-get ?

sudo apt-get update에 대해 주의해야 할 중요한 사항 및 sudo apt-get 업그레이드 두 명령 모두 sudo의 세 부분으로 구성되어 있다는 것입니다. , apt-get업데이트 또는 업그레이드 .

sudo "superuser do"의 약자이며 루트 또는 관리자 권한으로 프로그램을 실행할 수 있습니다.

예를 들어 시스템을 재부팅하려면 수퍼유저/루트 수준 권한이 필요하므로 reboot를 실행합니다. 터미널에서 다음과 유사한 오류를 반환할 수 있습니다.

Failed to set wall message, ignoring: Interactive authentication required.
Failed to reboot system via logind: Interactive authentication required.
Failed to open initctl fifo: Permission denied
Failed to talk to init daemon.

하지만 sudo reboot를 실행하면 , 관리자 비밀번호를 입력하면 재부팅이 실행됩니다. 수퍼유저로 명령을 실행하면 시스템이 즉시 다시 시작됩니다.

apt-get 패키지를 설치하고 관리하는 데 사용하는 데비안 및 데비안 기반 Linux 배포판의 명령줄 도구입니다.

apt-get의 차이점은 무엇인가요? 및 apt ?

apt 데비안 및 데비안 기반 배포판에 응용 프로그램을 설치하고 관리하기 위한 보다 현대적인 도구입니다.

대부분의 경우 aptapt-get 서로 바꿔서 사용할 수 있습니다 – sudo apt updatesudo apt-get 업데이트 둘 다 시스템의 패키지 목록을 업데이트합니다.

주목하게 될 주요 차이점은 apt 입력하기 쉽고 출력이 일반적으로 더 유용하며 패키지 설치 시 진행률 표시줄과 같은 몇 가지 사용자 친화적인 기능이 포함되어 있습니다.

이 기사의 대부분의 예제는 apt-get을 사용하지만 , apt를 사용하는 것이 좋습니다. 대신.

sudo apt-get 업데이트입니까? 및 sudo apt-get 업그레이드 사용하기에 안전한가요?

예, Debian 및 Debian 기반 배포판은 일반적으로 매우 안정적이며 업데이트업그레이드 명령을 사용하는 것이 안전합니다. 이는 패키지/종속성 및 배포판 자체에 대한 주요 업데이트가 1년에 한두 번만 릴리스되기 때문입니다.

단점은 Arch Linux와 같은 최첨단 배포판과 달리 최신 버전의 패키지를 사용하려는 경우 추가 작업이 필요할 수 있다는 것입니다. PPA를 통해 타사 저장소를 구성하거나 Flatpak의 Snap과 같은 대체 패키징 시스템을 사용하거나 패키지를 직접 컴파일해야 할 수도 있습니다.

그러나 약간 오래된 소프트웨어와 함께 제공되는 안정성은 적어도 제 생각에는 그만한 가치가 있습니다.

sudo apt-get 업데이트를 연결할 수 있습니까? 및 sudo apt-get 업그레이드 명령?

sudo apt-get update를 실행하는 것이 지루하지 않나요? , 완료될 때까지 기다린 다음 sudo apt-get upgrade 실행 ?

sudo apt-get updatesudo apt-get 업그레이드 매우 빠르게 실행되며 때로는 일련의 명령을 실행하고 몇 분 후에 다시 확인하는 것이 더 쉽습니다.

&& 사용 연산자를 사용하면 다음과 같이 여러 명령을 연결할 수 있습니다.

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

&&로 기억해야 할 중요한 사항 연산자는 연산자 앞의 명령이 성공한 경우에만 연산자 뒤의 명령이 실행된다는 것입니다.

위의 예를 사용하여 sudo apt-get upgrade sudo apt-get update인 경우에만 실행됩니다. 성공. 패키지 목록을 업데이트하는 동안 네트워크 문제와 같은 일종의 오류가 있는 경우 sudo apt-get update 건너뜁니다.

sudo apt- dist-upgrade 받기 및 sudo apt 전체 업그레이드 , 사용하기에 안전한가요?

이 스택 오버플로 스레드에 따르면 이러한 명령은 내부에서 동일한 작업을 수행합니다. 즉, 오래된 패키지를 업그레이드하고 필요할 때마다 일부 패키지를 지능적으로 제거합니다.

본질적으로 그것들은 sudo apt-get upgrade의 조합과 같습니다. 및 sudo apt autoremove 명령.

이 명령을 실행하면 반드시 대부분의 경우 안전합니다.

그러나 나를 포함하여 많은 사람들이 sudo apt-get update 사용을 권장합니다. 및 sudo apt-get 업그레이드 대신에. 업그레이드 이후 예정된 변경 사항을 검토할 기회가 더 많습니다. 패키지를 제거하지 않으며 덜 파괴적입니다.

./thanks_for_reading.sh

sudo apt-get update에서 이 분석을 찾은 경우 및 sudo apt-get 업그레이드 유용합니다. 더 많은 사람들이 혜택을 받을 수 있도록 친구들과 공유해 주세요.

또한 언제든지 Twitter에 연락하여 의견을 알려주세요.