감옥 내의 프로그램을 업데이트 하기 위해 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 버전으로 업데이트 되면 업데이트 하랴 트러블슈팅 하랴 바쁠 테니 걱정도 되는군요.