서버 업그레이드 · 7 min read · Nov 23, 2025

우분투 7.10 서버(“완벽한 설정” + ISPConfig)를 우분투 8.04 LTS로 업그레이드하는 방법

우분투 7.10 서버(“완벽한 설정” + ISPConfig)를 우분투 8.04 LTS로 업그레이드하는 방법

버전 1.0
저자: Falko Timme

이 문서에서는 우분투 7.10(Gutsy Gibbon) 서버를 우분투 8.04 LTS(Hardy Heron)로 업그레이드하는 방법을 설명합니다. 저는 ISPConfig가 설치된 상태에서 웹사이트, 이메일 및 FTP 계정, 데이터베이스, DNS 레코드 등을 설정한 우분투 7.10 서버를 사용하고 있으며, 이를 우분투 8.04 LTS로 업그레이드합니다.

이것이 여러분에게 작동할 것이라는 보장은 하지 않습니다!

1 사전 참고

소개에서 언급했듯이, 제 우분투 7.10 서버는 완벽한 서버 - 우분투 Gutsy Gibbon(우분투 7.10)에 따라 구성되어 있으며 ISPConfig가 설치되어 있습니다. 저는 ISPConfig를 사용하여 웹사이트, 이메일 및 FTP 계정, 데이터베이스, DNS 레코드 등을 설정했습니다. 저는 이를 우분투 8.04 LTS로 업그레이드하고 기존 웹사이트, 이메일 및 FTP 계정, 데이터베이스, DNS 레코드 등을 테스트한 후 ISPConfig를 테스트했으며, 이후 새로운 웹사이트, 사용자, 데이터베이스, DNS 레코드 등을 설정하여 배포 업그레이드 후 서버의 기능을 테스트했으며, 오류를 발견하지 못했습니다. 모든 것이 예상대로 작동하고 있습니다.

모든 명령은 루트 사용자로 실행하고 있다는 점에 유의하십시오. 루트가 되려면 다음을 입력하십시오:

sudo su

2 우분투 8.04 LTS 서버로의 배포 업그레이드

먼저 다음을 실행합니다:

apt-get update

시스템의 패키지 데이터베이스를 업데이트합니다.

그런 다음 패키지 update-manager-core를 설치합니다:

apt-get install update-manager-core

배포 업그레이드를 시작하려면 다음을 입력합니다:

do-release-upgrade

업그레이드 과정에서 시스템은 몇 가지 질문을 할 것이며, 우리는 다음과 같이 대답합니다:

root@server1:~# do-release-upgrade  
새로운 우분투 릴리스를 확인하는 중  
업그레이드 도구 서명 완료  
업그레이드 도구 완료  
다운로드 완료  
'/tmp/tmpZ7bZPg/hardy.tar.gz' 추출 중  
authenticate '/tmp/tmpZ7bZPg/hardy.tar.gz' against '/tmp/tmpZ7bZPg/hardy.tar.gz.gpg'
캐시 읽는 중
패키지 관리자 확인 중
SSH에서 계속 실행하시겠습니까?
이 세션은 SSH에서 실행되고 있는 것으로 보입니다. 현재 SSH에서 업그레이드를 수행하는 것은 권장되지 않습니다. 실패할 경우 복구하기가 더 어렵기 때문입니다.
계속 진행하면 추가 SSH 데몬이 포트 '9004'에서 시작됩니다.  
계속하시겠습니까?

계속 [yN] <– y
[…]

(실제로 저는 시스템을 업데이트하기 위해 SSH를 사용했습니다. 업그레이드 과정에서 SSH에서 업그레이드를 실행하는 것이 권장되지 않는다고 하지만, 저는 아무런 문제 없이 연결이 안정적이었고, 콘솔로 가거나 SSH 클라이언트를 포트 9004에 연결할 필요가 없었습니다. 연결 문제가 발생하는 경우 SSH 클라이언트를 포트 9004로 연결하거나 시스템에 물리적으로 접근할 수 있는 경우 콘솔을 사용하십시오.)

[…]
완료 http://de.archive.ubuntu.com hardy-updates/main 패키지
완료 http://de.archive.ubuntu.com hardy-updates/restricted 패키지
완료 http://de.archive.ubuntu.com hardy-updates/main 소스
완료 http://de.archive.ubuntu.com hardy-updates/restricted 소스
완료 http://de.archive.ubuntu.com hardy-updates/universe 패키지
완료 http://de.archive.ubuntu.com hardy-updates/universe 소스
완료 http://de.archive.ubuntu.com hardy-updates/multiverse 패키지
완료 http://de.archive.ubuntu.com hardy-updates/multiverse 소스
다운로드 완료

패키지 관리자 확인 중
패키지 목록 읽는 중: 완료hardy-security/multiverse 패키지: 98
상태 정보 읽는 중: 완료
상태 정보 읽는 중: 완료
상태 정보 읽는 중: 완료

변경 사항 계산 중

업그레이드를 시작하시겠습니까?

2 패키지가 제거될 예정입니다. 33개의 새로운 패키지가 설치될 예정입니다. 406개의 패키지가 업그레이드될 예정입니다.

총 216M를 다운로드해야 합니다. 이 다운로드는 귀하의 연결로 약 2분이 소요됩니다.

업그레이드를 가져오고 설치하는 데 몇 시간이 걸릴 수 있습니다. 다운로드가 완료되면 프로세스를 취소할 수 없습니다.

계속 [yN] 세부정보 [d] <– y

[…]

구성 파일 /etc/mysql/my.cnf' ==> 설치 이후 수정됨(사용자 또는 스크립트에 의해). ==> 패키지 배포자가 업데이트된 버전을 제공했습니다. 어떻게 하시겠습니까? 귀하의 옵션은: Y 또는 I : 패키지 유지 관리자의 버전을 설치합니다. N 또는 O : 현재 설치된 버전을 유지합니다. D : 버전 간의 차이를 보여줍니다. Z : 이 프로세스를 백그라운드로 실행하여 상황을 검사합니다. 기본 동작은 현재 버전을 유지하는 것입니다. *** my.cnf (Y/I/N/O/D/Z) [기본=N] ? <-- ENTER 또는 N [...] 구성 파일/etc/mime.types’
==> 설치 이후 수정됨(사용자 또는 스크립트에 의해).
==> 패키지 배포자가 업데이트된 버전을 제공했습니다.
어떻게 하시겠습니까? 귀하의 옵션은:
Y 또는 I : 패키지 유지 관리자의 버전을 설치합니다.
N 또는 O : 현재 설치된 버전을 유지합니다.
D : 버전 간의 차이를 보여줍니다.
Z : 이 프로세스를 백그라운드로 실행하여 상황을 검사합니다.
기본 동작은 현재 버전을 유지하는 것입니다.
* mime.types (Y/I/N/O/D/Z) [기본=N] ? <– ENTER 또는 N

[…]

구성 파일 /etc/bind/named.conf' ==> 설치 이후 수정됨(사용자 또는 스크립트에 의해). ==> 패키지 배포자가 업데이트된 버전을 제공했습니다. 어떻게 하시겠습니까? 귀하의 옵션은: Y 또는 I : 패키지 유지 관리자의 버전을 설치합니다. N 또는 O : 현재 설치된 버전을 유지합니다. D : 버전 간의 차이를 보여줍니다. Z : 이 프로세스를 백그라운드로 실행하여 상황을 검사합니다. 기본 동작은 현재 버전을 유지하는 것입니다. * named.conf (Y/I/N/O/D/Z) [기본=N] ? <-- ENTER 또는 N [...] 구성 파일/etc/php5/cli/php.ini’의 새 버전이 제공되지만, 현재 설치된 버전은 로컬에서 수정되었습니다.

php.ini에 대해 어떻게 하시겠습니까? <– 현재 설치된 로컬 버전을 유지합니다.

[…]

구성 파일 /etc/apache2/apache2.conf' ==> 설치 이후 수정됨(사용자 또는 스크립트에 의해). ==> 패키지 배포자가 업데이트된 버전을 제공했습니다. 어떻게 하시겠습니까? 귀하의 옵션은: Y 또는 I : 패키지 유지 관리자의 버전을 설치합니다. N 또는 O : 현재 설치된 버전을 유지합니다. D : 버전 간의 차이를 보여줍니다. Z : 이 프로세스를 백그라운드로 실행하여 상황을 검사합니다. 기본 동작은 현재 버전을 유지하는 것입니다. * apache2.conf (Y/I/N/O/D/Z) [기본=N] ? <-- ENTER 또는 N [...] 구성 파일/etc/apache2/mods-available/dir.conf’
==> 설치 이후 수정됨(사용자 또는 스크립트에 의해).
==> 패키지 배포자가 업데이트된 버전을 제공했습니다.
어떻게 하시겠습니까? 귀하의 옵션은:
Y 또는 I : 패키지 유지 관리자의 버전을 설치합니다.
N 또는 O : 현재 설치된 버전을 유지합니다.
D : 버전 간의 차이를 보여줍니다.
Z : 이 프로세스를 백그라운드로 실행하여 상황을 검사합니다.
기본 동작은 현재 버전을 유지하는 것입니다.
* dir.conf (Y/I/N/O/D/Z) [기본=N] ? <– ENTER 또는 N

[…]

구성 파일 /etc/php5/apache2/php.ini'의 새 버전이 제공되지만, 현재 설치된 버전은 로컬에서 수정되었습니다. php.ini에 대해 어떻게 하시겠습니까? <-- 현재 설치된 로컬 버전을 유지합니다. [...] 구성 파일/etc/default/saslauthd’
==> 설치 이후 수정됨(사용자 또는 스크립트에 의해).
==> 패키지 배포자가 업데이트된 버전을 제공했습니다.
어떻게 하시겠습니까? 귀하의 옵션은:
Y 또는 I : 패키지 유지 관리자의 버전을 설치합니다.
N 또는 O : 현재 설치된 버전을 유지합니다.
D : 버전 간의 차이를 보여줍니다.
Z : 이 프로세스를 백그라운드로 실행하여 상황을 검사합니다.
기본 동작은 현재 버전을 유지하는 것입니다.
* saslauthd (Y/I/N/O/D/Z) [기본=N] ? <– ENTER 또는 N

[…]

구식 소프트웨어 검색 중
패키지 목록 읽는 중: 완료
상태 정보 읽는 중: 완료
상태 정보 읽는 중: 완료
상태 정보 읽는 중: 완료

구식 패키지를 제거하시겠습니까?

18 패키지가 제거될 예정입니다.

계속 [yN] 세부정보 [d] <– y

[…]

업그레이드가 끝나면 시스템 재시작이 필요합니다:

[…]
시스템 업그레이드가 완료되었습니다.

재시작 필요
업그레이드를 완료하려면 재시작이 필요합니다.
‘y’를 선택하면 시스템이 재시작됩니다.

지금 시스템을 재시작하시겠습니까? [yN] <– y

[이메일 protected]의 방송 메시지
(/dev/pts/0) 13:14에 …

시스템이 지금 재부팅됩니다!
root@server1:~#

재부팅 후, 새로운 우분투 8.04 LTS(Hardy Heron) 서버를 사용할 수 있습니다.

A

uname -a

새로운 커널이 있음을 보여줍니다…

root@server1:~# uname -a  
Linux server1.example.com 2.6.24-16-server #1 SMP Thu Apr 10 13:58:00 UTC 2008 i686 GNU/Linux  
root@server1:~#

3 추가 단계

배포 업그레이드가 이제 완료되었지만, ISPConfig와의 호환성을 위해 다음 단계를 따르는 것이 강력히 권장됩니다:

3.1 기본 셸 변경

/bin/sh가 /bin/dash가 아닌 /bin/bash에 대한 심볼릭 링크인지 확인하려면 다음을 실행하십시오:

ln -sf /bin/bash /bin/sh

3.2 AppArmor 비활성화

AppArmor는 확장된 보안을 제공해야 하는 보안 확장(SELinux와 유사)입니다. 제 생각에는 안전한 시스템을 구성하는 데 필요하지 않으며, 일반적으로 장점보다 더 많은 문제를 일으킵니다(어떤 서비스가 예상대로 작동하지 않아 일주일 동안 문제를 해결한 후, 모든 것이 괜찮았고, 단지 AppArmor가 문제를 일으킨 것임을 알게 되는 경우를 생각해 보십시오). 따라서 저는 이를 비활성화합니다.

다음과 같이 비활성화할 수 있습니다:

/etc/init.d/apparmor stop  
update-rc.d -f apparmor remove

3.3 Saslauthd

다음으로, saslauthd 구성을 약간 수정해야 합니다. 그렇지 않으면 이메일을 보내려고 할 때 다음과 같은 오류가 발생할 수 있습니다:

Apr 28 13:21:57 server1 postfix/smtpd[5668]: warning: SASL authentication failure: cannot connect to saslauthd server: Permission denied  
Apr 28 13:21:57 server1 postfix/smtpd[5668]: warning: unknown[192.168.0.210]: SASL LOGIN authentication failed: generic failure

/etc/default/saslauthd를 열고 다음과 같이 수정합니다:

vi /etc/default/saslauthd
#
# saslauthd 데몬에 대한 설정
# 자세한 내용은 /usr/share/doc/sasl2-bin/README.Debian을 참조하십시오.
#

# saslauthd가 자동으로 시작 시 실행되어야 합니까? (기본값: 아니오)
START=yes

# 이 saslauthd 인스턴스에 대한 설명. 권장.
# (제안: SASL 인증 데몬)
DESC="SASL Authentication Daemon"

# 이 saslauthd 인스턴스의 짧은 이름. 강력히 권장.
# (제안: saslauthd)
NAME="saslauthd"

# saslauthd가 사용할 인증 메커니즘은 무엇입니까? (기본값: pam)
#
# 이 Debian 패키지에서 사용 가능한 옵션:
# getpwent  -- getpwent() 라이브러리 함수 사용
# kerberos5 -- Kerberos 5 사용
# pam       -- PAM 사용
# rimap     -- 원격 IMAP 서버 사용
# shadow    -- 로컬 shadow 비밀번호 파일 사용
# sasldb    -- 로컬 sasldb 데이터베이스 파일 사용
# ldap      -- LDAP 사용(구성은 /etc/saslauthd.conf에 있음)
#
# 한 번에 하나의 옵션만 사용할 수 있습니다. 자세한 내용은 saslauthd 매뉴얼 페이지를 참조하십시오.
#
# 예: MECHANISMS="pam"
MECHANISMS="pam"

# 이 메커니즘에 대한 추가 옵션. (기본값: 없음)
# 메커니즘별 옵션에 대한 정보는 saslauthd 매뉴얼 페이지를 참조하십시오.
MECH_OPTIONS=""

# 몇 개의 saslauthd 프로세스를 실행해야 합니까? (기본값: 5)
# 0의 값은 각 연결에 대해 새 프로세스를 포크합니다.
THREADS=5

# 기타 옵션 (기본값: -c -m /var/run/saslauthd)
# 참고: -m 옵션을 반드시 지정해야 saslauthd가 실행됩니다!
#
# Debian 전용 정보는 /usr/share/doc/sasl2-bin/README.Debian을 참조하십시오.
# 일반 정보는 saslauthd 매뉴얼 페이지를 참조하십시오.
#
# postfix 사용자에 대한 예: "-c -m /var/spool/postfix/var/run/saslauthd"
#OPTIONS="-c -m /var/run/saslauthd"
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r"

그런 다음 postfix 사용자를 sasl 그룹에 추가하고 Postfix와 saslauthd를 모두 재시작합니다:

adduser postfix sasl  
/etc/init.d/postfix restart  
/etc/init.d/saslauthd restart

4 링크

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.