본문 바로가기
리눅스

Upgrading Ubuntu 16.04.1 LTS from 15.10

by 다움위키 2023. 12. 9.

처음에는 레드헷 계열에서 시작해서 데비안 계열, 젠투, 아치를 마지막으로 리눅스를 몇 년간 사용하지 않았습니다. 최근에 다시 데비안 계열에서 발전한 우분투 리눅스를 설치해서 사용해 왔습니다. 우분투 15.04를 설치해서 사용해던 중에 15.10으로 판올림을 시도했으나, 엔비디아 드라이버와 vmware에서 문제가 생겨서 백업된 데이터를 사용해서 우분투 15.04를 다시 설치하는 일이 있었습니다.

현재 시스템은 우분투 15.10을 기반으로 설치가 되었었고 최신 상태로 유지된 상황입니다. 이전의 판올림시에는 문제가 생겨서 상세한 과정을 기록해 두지 못했었니다. 지금부터 15.10에서 16.04로 판올림을 시도하면서 진행 과정이나 문제점을 기록해 두려 합니다.

백업

적어도 리눅스 사용시에 홈 파티션을 별도로 만들어서 사용해 오고 있습니다. 만약 부팅이 불가능한 상황이 되더라도 cd 등으로 부팅해서 해당 파티션의 데이터를 가져올 수 있도록 하기 위함입니다.

가상머신 작업

본 시스템을 판올림하기 전에 가상기계에 거의 흡사하게 설치된 우분투 15.10에서 16.04로 판올림을 시도해 보겠습니다.

ppa 제거

Wily에 맞게 설치했던 ppa를 제거합니다. 시스템 설정->소프트웨어 & 업데이트에서 기타 소프트웨어를 눌러줍니다. 개인적으로 추가했던 ppa를 전부 제거합니다.

업데이트 gui

제거 후에 일정시간이 지나거나 리부팅을 하면 새로운 우분투로 업데이트할 것인지를 물어봅니다. 지금 업그레이드를 누르고 암호로 인증을 했지만, 업데이트가 진행되지 않습니다.

수동 업데이트

명령어를 포함한 패키지를 아래와 같이 설치하고 업데이트를 실행해 봅니다.

  • sudo apt-get install update-manager-core
  • do-release-upgrade
업그레이드를 시작하시겠습니까? 
설치한 패키지 중 145개는 더 이상 캐노니컬이 지원하지 않습니다. 하지만 공동체는 계속 지원합니다. 
패키지 25개를 제거할 것입니다. 새 패키지 177개를 설치할 것입니다. 패키지 1422개를 업그레이드 할 것입니다. 
모두 954 M개의 패키지를 다운로드해야 합니다.. 현재 연결 상태로는 다운로드 과정에 약 6 분 정도가 필요합니다. 
업그레이드를 다운로드하고 설치하는 것은 긴 시간이 필요할 수도 있으며, 한번 다운로드가 끝나면 취소할 수 없습니다. 
 계속 [yN]  자세한 내용 [d]

y를 입력하고 ↵ Enter를 눌러서 계속 진행합니다. 중간에 서버 설정과 관련된 질문이 있을 수 있어서 자리를 비워서는 안 됩니다. 패키지를 70개 정도 제거할 것인지 묻는 질문도 있습니다. 8시 40분에 시작한 판올림이 9시 11분에 완료가 되었습니다.

문제점

가장 중요한 mediawiki에 접근이 되지 않습니다. 우분투 16.04에서는 php7.0이 기본 패키지로 제공이 됩니다.

  • sudo apt-get install php7.0
  • sudo apt-get install php7.0-mysql

서버 접근은 되는 것으로 보이지만, 아무것도 화면에 출력해 주지 않습니다. 그래서 php5를 설치해야 하는데 공식 repository에 없기 때문에 ppa를 등록해 주어야 합니다.

  • sudo add-apt-repository ppa:ondrej/php
  • sudo apt-get update
  • sudo apt-get install php5.6
  • sudo apt-get install php5.6-mysql

이전에는 php5-fpm.sock의 위치가 /var/run/php5-fpm.sock였지만, 여기서는 /var/run/php/php5.6-fpm.sock로 바꾸었습니다.

그리고 php-xcache패키지가 없어서 미디어위키 실행을 하면 오류가 생기기 때문에 Shared memory settings를 아래와 같이 바꾸어 줍니다.

  • sudo nano /var/www/html/w/LocalSettings.php
## Shared memory settings
#$wgMainCacheType = CACHE_ACCEL; #apc, xcache를 사용할 때 설정.
$wgMainCacheType = CACHE_NONE;
$wgMemCachedServers = array();

가상머신 작업2

16.04를 처음부터 설치해서 설정을 해 보겠습니다.

  • sudo apt-get install nginx
  • sudo systemctl enable nginx
  • sudo apt-get install mariadb-server mariadb-client
  • sudo systemctl enable mysql
  • sudo mysql_secure_installation
  • sudo apt-get install php7.0-fpm
  • sudo apt-get install php7.0-cli php7.0-mcrypt php7.0-gd
  • sudo apt-get install php7.0-mysql php7.0-xml php7.0-intl
미디어위키 백업된 데이트를 가져와서 실행을 시켰습니다. IntraACL은 동작을 하지 않아서 패치를 지우고 동작을 시켰습니다. 또한 LinkAttributes, Piwik, Translate extension에서 오류가 생겨서 extension을 사용하지 않도록 설정을 바꾸니 미디어위키가 동작을 합니다. LinkAttributes extension은 대문 지면에 사용되기 때문에 패치가 이루어져야 할 것으로 보입니다.
  지면을 저장하니 문제가 생깁니다. 다음판 미디어위키가 출시되기를 기다려야 할 것 같습니다.

해결책

nvidia driver

정확한 문제가 뭔지 찾기가 힘든가 봅니다. 우선은 해결한 분이 있다고 하니 그 방법을 소개해 봅니다.

  • sudo apt-get purge nvidia*
  • reboot (now I had noveau display driver working)
  • sudo apt-get install intel-microcode
  • sudo apt-get install intel-gpu-tools
  • reboot (for testing, everything was working fine)
  • sudo apt-get install nvidia-361(I think nvidia-current is better long term option).
  • reboot
어쩌면 다음 주제인 Secure Boot 선택사항이 켜진 문제와 동일할 수도 있습니다. 확인이 필요합니다.

vmware module

우분투 커널 4.4.0-20이후로는 커널 선택사항 중에 EFI_SECURE_BOOT_SIG_ENFORCE이 켜져 있다고 합니다. 그래서 바이오스에서 UFEI Secure Boot가 켜져 있으면 third party 모듈이 로딩되지 않는다고 합니다. 우분투 커널 4.4.0-21.37이후 커널에서는 아래와 같이 꺼버릴 수 있습니다.

  • sudo apt install mokutil
  • sudo mokutil --disable-validation

시스템 업데이트

판올림 시작

  • sudo apt-get install update-manager-core
  • do-release-upgrade
Checking for a new Ubuntu release
No new release found

위와 같은 메시지가 나오면서 판올림이 되지 않았습니다.

  • sudo update-manager -c -d
  • sudo do-release-upgrade -d

이 과정은 몇 번 반복했더니 ubuntu-16.04.1로 판올림에 대한 안내 메시지가 나왔습니다.

설치 후에 오류가 있지만 판올림을 했다는 메시지가 나왔습니다. 해당되는 패키지는 아래와 같습니다.

 adwaita-icon-theme
 empathy
 mcp-account-manager-uoa
 account-plugin-aim
 account-plugin-jabber
 account-plugin-salut
 account-plugin-yahoo
 apturl
 brasero
...

설치 후에 wily에 해당하는 ppa를 전부 제거를 했습니다. 그리고 오류메시지에 나온 제일 위의 패키지를 제거했더니, 몇십 개를 새로 설치하고 백 몇십 개의 패키지를 함께 제거를 한다는 메시지가 나옵니다.

  • sudo apt-get purge adwaita-icon-theme

지워지는 꾸머리중에서 반드시 필요한 패키지를 선택해서 설치시도하면, 몇십 개의 패키지를 함께 설치한다는 안내 메시지가 나옵니다.

  • sudo apt-get install ubuntu-desktop

특별히 이 시스템은 이전에 수동으로 편집했던 파일 때문에 설치가 되지 않는 문제가 발생합니다. 아래와 같이 수정하고 위의 명령을 실행하니 정상적으로 설치됩니다.

  • sudo rm /etc/alternatives/x-cursor-theme
  • sudo update-alternatives --auto x-cursor-theme

시스템을 최신의 상태로 다시 한번 점검합니다.

  • sudo apt-get update
  • sudo apt-get upgrade
Processing triggers for shared-mime-info (1.5-2ubuntu0.1) ...
Unknown media type in type 'all/all'
Unknown media type in type 'all/allfiles'

Unknown media type오류가 생겼습니다. 아래와 같이 새롭게 생성을 합니다.

  • sudo rm /usr/share/mime/packages/kde.xml
  • sudo update-mime-database /usr/share/mime

중간에 autoremove도 몇 번 실행해야 하는 경우도 있습니다. 메시지가 나오는 것에 맞게 적절히 조치를 해서 더 이상 특별한 안내 메시지는 나오지 않을 때까지 진행합니다.

Enlightenment 설치

새롭게 ppa를 등록하고 설치를 했지만, nvidia 드라이버 문제로 검은색 화면으로 출력되었습니다. 패키지를 전부 삭제하고 새롭게 설치한 했습니다.

  • sudo apt-get purge e20 terminology
  • sudo apt-get autoremove
  • sudo apt-get install e20 terminology

설정을 제거하고 e20으로 새롭게 진입했더니 정상적으로 동작을 했습니다.

  • rm -rf .e .elementary

Php 설치

PPA를 등록하고 php5.6을 설치했지만, 의존성으로 인해서 php7.0도 설치가 되었습니다. Nginx 기동시에는 php5.6과 연동되도록 설정을 했습니다.

  • sudo add-apt-repository ppa:ondrej/php
  • sudo apt-get update
  • sudo apt-get install php5.6-fpm
  • sudo systemctl enable php5.6-fpm
  • sudo systemctl start php5.6-fpm
  • sudo apt-get install php5.6-mcrypt php5.6-gd
  • sudo apt-get install php5.6-mysql
  • sudo apt-get install php5.6-mbstring php5.6-xml
  • sudo apt-get install php5.6-intl

미디어위키를 위한 xcache는 패키지이름이 다릅니다.

  • sudo apt-get install php-xcache

설정 /etc/nginx/site-available/default을 수정하고 서비스를 재시작합니다.

	location ~ \.php$ {
		include snippets/fastcgi-php.conf;
		fastcgi_pass unix:/var/run/php/php5.6-fpm.sock;
		fastcgi_read_timeout 300;
	}
  • sudo systemctl restart nginx
  • sudo systemctl restart php5.6-fpm

Snort 설치

Snort 설치 문서에 따라 패키지를 새롭게 컴파일했습니다.

ELK stack 설치

Installing ELK stack on ubuntu를 보고 진행합니다.

awstats

betterawstats와 함께 잘 작동합니다.

문제점

  • 로케일 설정으로 특정 프로그램만 한글 입력기가 붙게 만들지 못합니다.
  • 유니티 데스크탑에서는 qtconfig로 qt 라이브러리를 사용하는 프로그램들이 gtk+ 테마를 사용하도록 변경할 수 있지만, e에서는 동작하지 않습니다.
  • qbittorrent가 제대로 동작하지 않습니다.

External Resources