FreeBSD jail 마이너 버전 업그레이드

감옥 내의 프로그램을 업데이트 하기 위해 pkg update 명령을 입력했을 때 아래와 같은 메세지가 나오셨을 수도 있습니다.

Newer FreeBSD version for package fluidsynth:
To ignore this error set IGNORE_OSVERSION=yes
- package: 1103000
- running kernel: 1102000
Ignore the mismatch and continue? [Y/n]

이는 FreeBSD 버전이 11.2 인데, pkg 의 레포는 11.3 이라서 커널 버전을 무시할 것이냐고 묻는 것입니다.

Y를 입력해 무시하고 pkg 업데이트를 진행하실수도 있습니다만, FreeBSD 11.2 는 현재 EOL (End Of Life) 상태이니 FreeBSD 업그레이드를 진행하는 것이 좋을 것입니다.

이번에는 jail 을 업그레이드 해 보겠습니다.

FreeNAS 버전이 11.2-U7 이상이여야 합니다. 이전 버전이면 에러납니다.

FreeBSD 버전 다운로드

iocage fetch -r 11.3-RELEASE

freebsd 11.3 을 다운로드 합니다. 시간이 좀 걸립니다.

jail 업그레이드

다운로드가 완료되었다면 jail 을 업그레이드 할 수 있고, 11.3 버전의 감옥을 만들 수 있습니다. 업그레이드 해 보겠습니다.

iocage upgrade -r 11.3-RELEASE [jail명]

해당 명령어를 입력하면 해당 jail 이 11.3 으로 업그레이드 됩니다. 업그레이드 되기 전에 스냅샷이 찍힙니다.

시간이 상당히 오래 걸립니다. 저의 경우 jail 하나당 15분은 걸린 듯 하네요.

만약 업그레이드 중 다음과 같은 메세지가 나타난다면 y 를 입력해 주세요.

Does this look reasonable (y/n)?

아래는 출력 예시입니다.

src component not installed, skipped
Looking up update.FreeBSD.org mirrors... 3 mirrors found.
Fetching metadata signature for 11.2-RELEASE from update1.freebsd.org... done.
Fetching metadata index... done.
Fetching 1 metadata patches. done.
Applying metadata patches... done.
Fetching 1 metadata files... done.
Inspecting system... done.

The following components of FreeBSD seem to be installed:
world/base world/doc world/lib32

The following components of FreeBSD do not seem to be installed:
world/base-dbg world/lib32-dbg


Fetching metadata signature for 11.3-RELEASE from update1.freebsd.org... done.
Fetching metadata index... done.
Fetching 1 metadata patches. done.
Applying metadata patches... done.
Fetching 1 metadata files... done.
Inspecting system... done.
Fetching files from 11.2-RELEASE for merging... done.
Preparing to download files... done.
Fetching 8243 patches.....10....20....30....40....50....60....70....80....(생략)8220....8230....8240. done.
Applying patches... done.
Fetching 599 files... ....10....20....30....40....50....60....70....80....90....(생략)550....560....570....580....590.... done.
Attempting to automatically merge changes in files... done.
The following files will be removed as part of updating to
11.3-RELEASE-p5:
/boot/loader.help
/usr/include/c++/v1/experimental/dynarray
/usr/include/pcap/export-defs.h
/usr/lib/clang/6.0.0
/usr/lib/clang/6.0.0/include
/usr/lib/clang/6.0.0/include/__clang_cuda_builtin_vars.h
/usr/lib/clang/6.0.0/include/__clang_cuda_cmath.h
/usr/lib/clang/6.0.0/include/__clang_cuda_complex_builtins.h
/usr/lib/clang/6.0.0/include/__clang_cuda_intrinsics.h
/usr/lib/clang/6.0.0/include/__clang_cuda_math_forward_declares.h
/usr/lib/clang/6.0.0/include/__clang_cuda_runtime_wrapper.h
(생략)
/var/db/etcupdate/current/root/.k5login
/var/db/etcupdate/current/root/.login
/var/db/etcupdate/current/root/.profile
/var/db/etcupdate/log
/var/db/mergemaster.mtree
/var/db/services.db
/var/yp/Makefile.dist
To install the downloaded upgrades, run "/tmp/tmpfndaxdtz install".
src component not installed, skipped
Installing updates...
Kernel updates have been installed.  Please reboot and run
"/tmp/tmpfndaxdtz install" again to finish installing updates.
src component not installed, skipped
Installing updates... done.
src component not installed, skipped
No updates are available to install.

Nginx_WAF successfully upgraded from 11.2-RELEASE-p3 to 11.3-RELEASE-p5!

이후 jail 을 재시작 해 주고

iocage exec [감옥명] freebsd-version

을 입력해 감옥의 버전을 확인하면

11.3-RELEASE-p5 으로 업그레이드 된 것을 알 수 있습니다.

pkg, port 업데이트

커널 버전이 바뀌었으니 설치된 프로그램이 오작동할 수도 있습니다. 그러니 업데이트 해 주세요.

pkg 의 경우

pkg update && pkg upgrade

또는

pkg update && pkg upgrade -f

port 의 경우

포트로 설치한 경우, 재컴파일 해 주세요.

portmanager -f 프로그램명

-f 옵션을 주면 강제 재설치 합니다.

플러그인 업데이트

플러그인은 nextcloud-업데이트 에서 서술한 대로 WebGUI 에서 업데이트를 하면 됩니다.

여담

현재 FreeNAS 가 FreeBSD 11.2 버전이 기반이라서 플러그인의 업데이트가 안되는 듯 합니다. FreeNAS 11.3 은 현재 베타 상태입니다. 조만간 정식 릴리즈가 나오겠죠.

그나저나 FreeNAS 는 FreeBSD 12 를 언제 쓸려나 싶네요. 12 버전에는 새로운 기능이 여럿 추가된 걸로 아는데 말입니다. 한편으로는 12 버전으로 업데이트 되면 업데이트 하랴 트러블슈팅 하랴 바쁠 테니 걱정도 되는군요.

시리즈 네비게이션<< 팁 : 일괄 업데이트 스크립트FreeNAS 에 Boinc 설치하기 >>

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다