웹사이트 검색

Ubuntu 16.04 LTS로 업그레이드하는 방법


소개

경고: 운영 체제의 주요 릴리스 간의 거의 모든 업그레이드와 마찬가지로 이 프로세스에는 고유한 오류, 데이터 손실 또는 손상된 소프트웨어 구성의 위험이 있습니다. 포괄적인 백업과 광범위한 테스트를 강력히 권장합니다.

이러한 문제를 방지하려면 가능하면 전체 업그레이드가 아닌 새로운 Ubuntu 16.04 서버로 마이그레이션하는 것이 좋습니다. 업그레이드할 때 소프트웨어 구성의 차이점을 검토해야 할 수도 있지만 핵심 시스템의 안정성이 더 높을 것입니다. 새 Linux 서버로 마이그레이션하는 방법에 대한 시리즈를 따라 서버 간 마이그레이션 방법을 배울 수 있습니다.

Ubuntu 운영 체제의 다음 장기 지원 릴리스인 버전 16.04(Xenial Xerus)는 2016년 4월 21일에 릴리스될 예정입니다.

이 글을 쓰는 시점에는 아직 출시되지 않았지만 15.10 시스템을 16.04의 개발 버전으로 업그레이드하는 것은 이미 가능합니다. 이것은 공식 릴리스 날짜에 앞서 업그레이드 프로세스와 16.04 자체의 기능을 모두 테스트하는 데 유용할 수 있습니다.

이 가이드는 Ubuntu 15.10을 실행하는 DigitalOcean Droplets를 포함하되 이에 국한되지 않는 시스템에 대한 프로세스를 설명합니다.

전제 조건

이 가이드는 관리 작업을 위한 sudo 권한을 가진 루트가 아닌 사용자로 구성된 Ubuntu 15.10을 실행하는 시스템이 있다고 가정합니다.

잠재적 위험

많은 시스템이 사고 없이 제자리에서 업그레이드될 수 있지만 처음부터 배포판을 설치하고, 그 과정에서 신중한 테스트를 통해 서비스를 구성하고, 애플리케이션 또는 사용자 데이터를 별도의 마이그레이션을 통해 주요 새 릴리스로 마이그레이션하는 것이 더 안전하고 예측 가능한 경우가 많습니다. 단계.

스테이징 환경에서 업그레이드에 대해 배포된 모든 소프트웨어 및 서비스를 먼저 테스트하지 않고 프로덕션 시스템을 업그레이드해서는 안 됩니다. 라이브러리, 언어 및 시스템 서비스가 크게 변경되었을 수 있습니다. Ubuntu 16.04에서 이전 LTS 릴리스 이후 중요한 변경 사항에는 Upstart 대신 systemd init 시스템으로의 전환, Python 3 지원 강조, PHP 5 대신 PHP 7이 포함됩니다.

업그레이드하기 전에 Xenial Xerus 릴리스 정보를 읽어 보십시오.

1단계 – 시스템 백업

시스템에서 주요 업그레이드를 시도하기 전에 업그레이드가 잘못되어도 데이터가 손실되지 않는지 확인해야 합니다. 이를 수행하는 가장 좋은 방법은 전체 파일 시스템을 백업하는 것입니다. 실패하면 사용자 홈 디렉토리, 사용자 정의 구성 파일 및 관계형 데이터베이스와 같은 서비스에 의해 저장된 데이터의 사본이 있는지 확인하십시오.

DigitalOcean Droplet에서 가장 쉬운 방법은 시스템 전원을 끄고 스냅샷을 찍는 것입니다(전원을 끄면 파일 시스템의 일관성이 더 높아집니다). 스냅샷 프로세스에 대한 자세한 내용은 DigitalOcean 스냅샷을 사용하여 Droplet을 자동으로 백업하는 방법을 참조하십시오. 업데이트가 성공적으로 완료되었음을 확인했으면 더 이상 비용이 청구되지 않도록 스냅샷을 삭제할 수 있습니다.

대부분의 Ubuntu 시스템에서 작동하는 백업 방법은 VPS에 대한 효과적인 백업 전략을 선택하는 방법을 참조하십시오.

2단계 – 현재 설치된 패키지 업그레이드

릴리스 업그레이드를 시작하기 전에 현재 릴리스용 모든 패키지의 최신 버전을 설치하는 것이 가장 안전합니다. 패키지 목록을 업데이트하여 시작하십시오.

  1. sudo apt-get update

다음으로 설치된 패키지를 사용 가능한 최신 버전으로 업그레이드합니다.

  1. sudo apt-get upgrade

업그레이드 목록이 표시되고 계속하라는 메시지가 표시됩니다. y(예)로 대답하고 Enter 키를 누릅니다.

이 과정은 다소 시간이 걸릴 수 있습니다. 완료되면 dist-upgrade 명령을 사용하여 종속성 변경, 필요에 따라 새 패키지 추가 또는 제거와 관련된 업그레이드를 수행합니다. 이것은 apt-get upgrade에 의해 지연되었을 수 있는 일련의 업그레이드를 처리합니다.

  1. sudo apt-get dist-upgrade

계속하라는 메시지가 표시되면 다시 y로 대답하고 업그레이드가 완료될 때까지 기다립니다.

Ubuntu 15.10이 최신 버전으로 설치되었으므로 do-release-upgrade를 사용하여 16.04 릴리스로 업그레이드할 수 있습니다.

3단계 – Ubuntu의 do-release-upgrade 도구를 사용하여 업그레이드 수행

먼저 update-manager-core 패키지가 설치되어 있는지 확인합니다.

  1. sudo apt-get install update-manager-core

전통적으로 Debian 릴리스는 패키지 리포지토리를 지정하는 Apt의 /etc/apt/sources.list를 변경하고 apt-get dist-upgrade를 사용하여 업그레이드를 수행하여 업그레이드할 수 있었습니다. 그 자체. Ubuntu는 여전히 Debian에서 파생된 배포판이므로 이 프로세스는 여전히 작동할 가능성이 높습니다. 그러나 대신 새 릴리스 확인, sources.list 업데이트 및 Ubuntu 프로젝트에서 제공하는 도구인 do-release-upgrade를 사용합니다. 기타 다양한 작업. 원격 연결을 통해 수행해야 하는 서버 업그레이드에 대해 공식적으로 권장되는 업그레이드 경로입니다.

옵션 없이 do-release-upgrade를 실행하여 시작합니다.

  1. sudo do-release-upgrade

Ubuntu 16.04가 아직 릴리스되지 않은 경우 다음이 표시됩니다.

Checking for a new Ubuntu release
No new release found

공식 릴리스 전에 16.04로 업그레이드하려면 개발 릴리스를 사용하기 위해 -d 옵션을 지정하십시오.

  1. sudo do-release-upgrade -d

SSH를 통해 시스템에 연결된 경우 DigitalOcean Droplet과 마찬가지로 계속할지 여부를 묻는 메시지가 표시됩니다.

Droplet에서는 SSH를 통해 업그레이드하는 것이 안전합니다. do-upgrade-release에서 이에 대해 알려주지 않았지만 DigitalOcean 제어판에서 사용 가능한 콘솔을 사용하여 SSH를 실행하지 않고 Droplet에 연결할 수 있습니다.

가상 머신 또는 다른 공급자가 호스팅하는 관리 서버의 경우 SSH 연결이 끊어지면 특히 시스템 콘솔에 원격으로 연결할 다른 방법이 없는 경우 위험하다는 점을 염두에 두어야 합니다. 제어 중인 다른 시스템의 경우 시스템에 직접 물리적으로 액세스할 수 있는 경우에만 주요 운영 체제 업그레이드를 수행하는 것이 가장 안전하다는 점을 기억하십시오.

프롬프트에서 y를 입력하고 Enter 키를 눌러 계속합니다.

Reading cache

Checking package manager

Continue running under SSH?

This session appears to be running under ssh. It is not recommended
to perform a upgrade over ssh currently because in case of failure it
is harder to recover.

If you continue, an additional ssh daemon will be started at port
'1022'.
Do you want to continue?

Continue [yN] y

다음으로 do-release-upgrade가 포트 1022에서 sshd의 새 인스턴스를 시작한다는 알림을 받게 됩니다.

Starting additional sshd 

To make recovery in case of failure easier, an additional sshd will 
be started on port '1022'. If anything goes wrong with the running 
ssh you can still connect to the additional one. 
If you run a firewall, you may need to temporarily open this port. As 
this is potentially dangerous it's not done automatically. You can 
open the port with e.g.: 
'iptables -I INPUT -p tcp --dport 1022 -j ACCEPT' 

To continue please press [ENTER]

엔터 키를 치시오. 다음으로 미러 항목을 찾을 수 없다는 경고가 표시될 수 있습니다. DigitalOcean 시스템에서는 실제로 16.04용 로컬 미러를 사용할 수 있으므로 이 경고를 무시하고 업그레이드를 진행하는 것이 안전합니다. Y 입력:

Updating repository information

No valid mirror found 

While scanning your repository information no mirror entry for the 
upgrade was found. This can happen if you run an internal mirror or 
if the mirror information is out of date. 

Do you want to rewrite your 'sources.list' file anyway? If you choose 
'Yes' here it will update all 'trusty' to 'xenial' entries. 
If you select 'No' the upgrade will cancel. 

Continue [yN] y

새 패키지 목록이 다운로드되고 변경 사항이 계산되면 업그레이드를 시작할지 묻는 메시지가 표시됩니다. 계속하려면 y를 다시 입력합니다.

Do you want to start the upgrade?


6 installed packages are no longer supported by Canonical. You can
still get support from the community.

9 packages are going to be removed. 104 new packages are going to be
installed. 399 packages are going to be upgraded.

You have to download a total of 232 M. This download will take about
46 seconds with your connection.

Installing the upgrade can take several hours. Once the download has
finished, the process cannot be canceled.

 Continue [yN]  Details [d]y

이제 새 패키지를 검색한 다음 압축을 풀고 설치합니다. 시스템이 빠른 연결 상태에 있더라도 시간이 걸립니다.

설치하는 동안 다양한 질문에 대한 대화형 대화 상자가 표시될 수 있습니다. 예를 들어 필요할 때 서비스를 자동으로 다시 시작할지 묻는 메시지가 표시될 수 있습니다.

이 경우 "예\라고 대답하는 것이 안전합니다. 다른 경우에는 수정한 구성 파일을 설치 중인 패키지의 기본 버전으로 바꿀지 묻는 메시지가 표시될 수 있습니다. 판단을 요구하며 이 자습서의 범위를 벗어나는 특정 소프트웨어에 대한 지식이 필요할 수 있습니다.

새 패키지 설치가 완료되면 사용하지 않는 패키지를 제거할 준비가 되었는지 묻는 메시지가 표시됩니다. 사용자 지정 구성이 없는 스톡 시스템에서는 여기에 y를 입력하는 것이 안전해야 합니다. 많이 수정한 시스템에서 d를 입력하고 나중에 다시 설치해야 하는 항목이 포함된 경우 제거할 패키지 목록을 검사할 수 있습니다.

Remove obsolete packages? 


53 packages are going to be removed. 

 Continue [yN]  Details [d]y

마지막으로 모든 것이 잘 진행되었다고 가정하면 업그레이드가 완료되었으며 다시 시작해야 한다는 알림이 표시됩니다. 계속하려면 y를 입력합니다.

System upgrade is complete.

Restart required 

To finish the upgrade, a restart is required. 
If you select 'y' the system will be restarted. 

Continue [yN] y

SSH 세션에서 다음과 같은 내용이 표시될 수 있습니다.

=== Command detached from window (Thu Apr  7 13:13:33 2016) ===
=== Command terminated normally (Thu Apr  7 13:13:43 2016) ===

SSH 세션이 서버 측에서 종료되기 때문에 로컬 프롬프트로 나가려면 여기에서 키를 눌러야 할 수도 있습니다. 시스템이 재부팅될 때까지 잠시 기다렸다가 다시 연결하십시오. 로그인하면 현재 Xenial Xerus에 있음을 확인하는 메시지가 표시됩니다.

Welcome to Ubuntu Xenial Xerus (development branch) (GNU/Linux 4.4.0-17-generic x86_64)

결론

이제 작동하는 Ubuntu 16.04 설치가 있어야 합니다. 여기에서 서비스 및 배포된 애플리케이션에 필요한 구성 변경을 조사해야 할 수 있습니다. 앞으로 몇 주 안에 다양한 주제에 대해 Ubuntu 16.04에 대한 DigitalOcean 가이드를 게시할 예정입니다.