본문 바로가기

Anything

Linux Mint 18.1에서 18.2로의 강제 업그레이드

저는 Linux Mint 18.1을 데스크톱으로 쓰고 있었습니다. 


LG그램쪽은 2014년형 모델이고, 오른쪽 넷북은 2008년형 XNOTE 넷북이에요. 오늘은 리눅스 민트를 업그레이드 하려고 하는데, 민트 업그레이드 메니져가 말썽이네요? 뭐, 물론, 동작을 하지 않는 것은 아닌데, 리포지터리를 자기 멋대로 북미 민트 메인 호스트(packages.linuxmint.com)로 잡고, 기반 OS 리포지터리도 캐노니컬 북미 미러를 잡네요. :( 북미 미러를 잡으니깐 이게 다운로드 속도가 안나오더라구요.


혹시나 해서 카이스트 미러 들어가 봤는데 18.2 이미 미러링을 제공해주고 있는데도 그런걸로 봐서, 업그레이드 매니져 디폴트가 그런것 같더라구요. 이걸 어찌할까 고민하다가 강제로 업그레이드를 갈겼습니다. ㅋ 이걸 하는 방법은 간단합니다.


1. 업데이트 관리자에서 업데이트 정책(편집 -> 업데이트 정책)을 바꿔줘야 합니다. 항상 모든 업데이트 하기를 눌러주세요.


  업데이트 관리자를 이용해서 업그레이드를 한번이라도 실행했다면 리포지터리를 카이스트나 선호하는 미러로 바꿔준 뒤에 아래 내용을 따라하셔야합니다!


2. 업데이트 관리자를 과감하게 닫고 터미널 하나를 열어주세요.

jaehoon@jaehoon ~ $ sudo apt update && sudo apt upgrade

  우선은 이렇게 해서 지금 설치된 모든 패키지들이 최신버젼이 되도록 만들어 줘야 합니다. 이걸 안해주면 18.2 소냐를 깔았을 때 의존성 문제로(패키지가 삭제된게 있다면 고생해야겠지요) 죽도록 고생해야 할 수도 있습니다. (고생까지는 아니더라도 시간이 진짜 오래 걸릴 수도 있습니다)


3. 리포지터리를 강제로 바꿉니다. 터미널에 계속 받아 쓰세요.

jaehoon@jaehoon ~ $ sudo sed -i 's/serena/sonya/' /etc/apt/sources.list

jaehoon@jaehoon ~ $ sudo sed -i 's/serena/sonya/' /etc/apt/sources.list.d/official-package-repositories.list


(소스 패키지도 쓰고 계신다면 바로 밑줄도 실행해주셔야 하고 아니라면 하지 마세요)

jaehoon@jaehoon ~ $ sudo sed -i 's/serena/sonya/' /etc/apt/sources.list.d/official-source-repositories.list

4. 이제 진짜 업데이트를 할 차례입니다.

jaehoon@jaehoon ~ $ sudo -s

jaehoon ~ # apt update

jaehoon ~ # apt upgrade   # ==> 이거 실행할 때 패키지 디폴트 or 유지 할꺼냐고 뭔가 많이 물어볼겁니다. 이건 취향에 맞게...

jaehoon ~ # apt full-upgrade

jaehoon ~ # reboot


이걸 하고 나면 짜잔~ 업그레이드가 완료되었습니다.



중요한 점은 아까 업그레이드 정책 설정을 원래 쓰던걸로 바꿔줘야하며,  일부 설정을 패키지 디폴트로 밀었다면, 그 설정도 다시해줘야 합니다.


설정 디폴트로 밀꺼냐고 물어볼때 제대로 안읽어보고 하시면 다시 설정해야 하니까(귀찮으니까) 잘 읽고 하세요. 저는 실수로 rc.local 패키지 디폴트로 밀었다가 블루투스 죽이는 명령을 다시 입력해야 했죠... 저 같은 경우는 부팅한 후에 블루투스가 자동으로 켜지는데(심지어 그걸 비활성화를 시키는 버튼이 없죠) 그게 너무 혐오스러워서 /etc/rc.local 파일 맨 밑에 블루투스 강제로 죽이는 명령하나 때려놨어요. 이걸 아예 없애자니 나중에 쓸일이 있을거 같고, ... 그래서 이렇게 때웠답니다.

#!/bin/sh -e

#

# rc.local

#

# This script is executed at the end of each multiuser runlevel.

# Make sure that the script will "exit 0" on success or any other

# value on error.

#

# In order to enable or disable this script just change the execution

# bits.

#

# By default this script does nothing.


rfkill block bluetooth  # 요겁니다. 요게 부팅한 직후에 블루투스를 강제로 죽여줍니다.

exit 0

헣헣

즐거운 하루되세요.


2017. 07. 19. PS 친한 동생이 몇가지 질문을 했는데, serena (18.1)가 아닌 다른 버젼에서도 먹히는 방법인가? 라는 내용이었습니다. 결론말 말씀드리자면, "부분적으로 가능" 입니다. backport 리포지터리 넣어 주시고 위 방법대로 리포지터리만 소냐쪽으로 돌려주면 어느정도 먹힙니다. 그런데 버젼 차이가 많이 나는 경우, 예를 들면 Mint 16에서 바로 Sonya로? 그건 아마 의존성 문제가 많이 있을 수 있습니다. 그러니까 리포지터리 트릭을 통해서 16에서 17로, 17에서 18로, 18에서 18.2 소냐로 올라오는 단계적인 업그레이드를 하셔야 될겁니다.


2017. 07. 23. PS 위 방법은 공식적으로 권장되는 방법이 아닙니다. 되도록이면 업그레이드 메니져를 활용하세요. 부득이한 경우에만 활용하시길 바랍니다.

'Anything' 카테고리의 다른 글

Tomboy - 확장성 좋은 아이디어 노트 for Linux  (0) 2017.07.19
Knote - 스티키 노트 for 리눅스  (0) 2017.07.19
Xpad - 스티키 노트 for 리눅스 민트  (0) 2017.07.18
I love Mint.  (0) 2017.07.18
I'm Getting Started!  (0) 2017.07.07