우분투의 모든 것을 업데이트하는 하나의 명령?


15

전체 시스템을 업데이트하고 업그레이드하는 세 가지 명령이 있다는 것을 알고 있습니다.

  • sudo apt-get update # 사용 가능한 업데이트 목록을 가져옵니다.
  • sudo apt-get upgrade # 현재 패키지를 엄격히 업그레이드
  • sudo apt-get dist-upgrade # 업데이트 설치 (새 업데이트)

이 모든 명령을 하나로 통합 하는 수퍼 업그레이드 명령이 있습니까?


1
아니요, 최대한 많이 할 수 있습니다sudo apt-get update && sudo apt-get dist-upgrade
heemayl

여전히 하나의 명령 줄입니다! ;-)
Fabby

언젠가이 질문에 걸려 넘어 질 사람들을 위해, 여기에 관련된 하나가 update있고 upgrade하나의 라이너로 askubuntu.com/a/1086022/295286
Sergiy Kolodyazhnyy

답변:


23

괜찮은 선택이 3 가지 있습니다 :

  1. 다음과 같은 스크립트를 작성할 수 있습니다.

    #!/bin/bash
    set -e
    sudo apt-get update
    sudo apt-get upgrade
    sudo apt-get dist-upgrade

    같은 이름으로 전화 update.sh와에 배치 /usr/local/bin한 후 실행하여 스크립트를 실행합니다

    sudo chmod +x /usr/local/bin/update.sh
  2. 또 다른 방법은 bash 별명을 작성 ~/.bashrc하거나 ( ) 또는 일반적으로 별명을 저장하는 모든 위치에 있습니다.

    alias update='sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade'
  3. 마지막 방법은 명령 행에서 3 개의 명령을 함께 묶는 것입니다.

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

몇 가지 선택 ...

참고:


6
당신이 사용 dist-upgrade하는 경우 upgrade사전에 아무 소용이 없습니다 ..
heemayl

3
@heemayl : 이론적으로 그렇습니다. 실제로는 직접 dist-upgrade이 실패하지만 upgrade그 후에 는 실패 하는 경우가 있습니다 dist-upgrade. 이것은 주로 패키지 종속성 정의 버그 또는 서로 다른 릴리스 / 배포 / PPA의 패키지 혼합 때문입니다. 정확히 하나의 릴리스 (기본값)에 Canonical의 공식 저장소에있는 패키지 만 사용하는 경우 이러한 오류는 매우 드물고 신속하게 수정해야합니다.
David Foerster

2
# 3의 for x in update {,dist-}upgrade; do sudo apt $x; done
감동적인

1
1 단계에서 "set -e"는 무엇을합니까?
karjedavpalaa

8

우리는 하나의 라이너 명령을 가질 수 있습니다 (스크립트 필요 없음, 복사하여 붙여 넣기)

sudo apt update -y && sudo apt full-upgrade -y && sudo apt autoremove -y && sudo apt clean -y && sudo apt autoclean -y
  • update -패키지 목록을 업데이트하지만 설치하지는 않음
  • upgrade -새 버전이있는 경우 새 버전의 패키지 설치
  • full-upgrade -업그레이드 기능을 수행하지만 시스템 전체를 업그레이드하는 데 필요한 경우 현재 설치된 패키지를 제거합니다 (잘못된 종속성 수정).
  • autoremove, autoclean그리고 clean- 더 이상 필요하지 않은 깨끗한 된 패키지
  • 옵션 -y은 모든 단계에서 권한을 요청하지 않습니다

7

너무 많은 타이핑으로 짜증이 나면 "별칭"을 스스로 정의 할 수 있습니다. 예를 들어 다음 $HOME/.profile과 같이 끝에 줄을 추가하면됩니다 .

alias sau='sudo aptitude update && sudo aptitude upgrade'

(물론 "sau"를 다른 것으로 대체 할 수 있습니다. Sudo Apt-get Update의 약자입니다.) 파일을 저장 한 후 새 셸을 열거 나 .profile을 다시 실행하여 "소스"를 실행하십시오 . $HOME/.profile. 이제 "sau"를 입력하여 전체 작업을 수행 할 수 있습니다.


흠. 나는 누군가에게 나에게 별명을 말해달라고 요청한 것 같다 : P
polandeer

네,하지만 이것이 "단일 명령"으로 할 수있는 유일한 방법입니다. 그리고 당신의 질문은 이것을 배제하지 않았습니다;)
Izzy

교활한. 어쨌든, 내가 물었던 게 너무 게으른 것이 아니라 내가 더 잘 이해하고 싶었 기 때문에 내가 물었던 유일한 이유는 내가 묻는 sudo aptitude update && sudo aptitude upgrade이유는 pacman ( sudo pacman -Syu --noconfirm)으로 할 수 있기 때문 입니다.
polandeer

이 작업을 여러 컴퓨터에서 자주 수행해야하는 경우 최소한 별칭을 가질 수있어 기쁩니다. 그러나 사용 가능한 업데이트를 표시하는 매뉴얼 페이지에 따라 apt-get update매개 변수가 -u있습니다. 그런 다음 적용 여부를 묻지 않았습니다 (지금 확인해야 할 우분투 / 데비안이 없습니다).
Izzy


2
sudo apt install unattended-upgrades

이것은 최고의 라인입니다. 다른 모든 솔루션은 매일 한 줄을 반복해서 입력해야합니다. 이것이 진정한 하나의 명령 솔루션입니다. 우분투에서 공식 apt 문서를 참조하십시오 !

.conf이 패키지 의 파일을 편집하여 /etc빈도를 설정할 수 있습니다 update, install, clean, autoremove...

또는 간단히 패키지 이름 목록으로 업데이트가 가능하다는 알림을 포함한 이메일

멋진 작은 로그 파일이 변경 될 때마다 생성되며 작은 스크립트가 gui 확장으로 작성되어 데스크탑 알림에도 팝업 될 수 있다고 생각합니다 (주제 haha ​​제외)

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