OpenSolaris 안전하게 Image Update하기

lateau의 이미지

어제 134가 새롭게 올라왔길래 방금 전 업데이트해보고 겸사겸사 글 올려봅니다. 강좌에 올릴만한 좋은 내용은 아니지만 적당한 카테고리가 없어 강좌에 올립니다. -_-;
아직까지 불안정한 요소도 많기에 관심있으신 분들은 다 아시는 내용이라 생각합니다. 일명 '공포'라고 불리기도 한다죠...

1. 업데이트 전: snapshot(be) 만들어 두기
Image Update를 하기 전 반드시 해두어야 할 것이 snapshot을 만들어 두는 겁니다.
아무 생각없이 Image Update 했다가 pkg가 segfault를 내요라는 질문이 심심치 않게 올라올 정도니까요.

$ beadm list              # beadm 으로 현재 be를 확인해 봅니다
....
opensolaris-133 NR    /   124.70M   static    2010-03-08 23:16

현재 활성화된 BE(Boot Environment)는 Activate항목이 NR로 지정되어 있을 겁니다. 이를 기반으로 Image Update의 대상이 될 be를 하나 더 만들어 둡니다.

$ pfexec beadm create -e opensolaris-133 opensolaris-134

이 때 beName은 편하신대로 지어주시면 됩니다. 기존의 것과 중복만 되지 않으면 별 다른 문제는 없습니다. 저는 opensolaris-134라는 이름을 사용했습니다.
새로운 be의 생성이 완료되었다면 한 번 확인을 더 해봅니다.

$ beadm list
...
opensolaris-134  -    /   1.07G   static    2010-03-11 15:00
 
$ zfs list | grep opensolaris-134
rpool/ROOT/opensolaris-134 1.07G 7.14G 4.06G /

문제없이 생성된 것 같군요. 생성된 be에 대해 더 자세히 알고 싶은 분들은 zfs list에 옵션을 넣어주고 확인해 보시면 될 겁니다.

2. Image Update 실행
image udpate는 새롭게 생성한 be로 재부팅해서 실행하는 방법도 있지만, 저는 beadm으로 마운트시켜서 사용하는 방법을 주로 사용하고 있습니다.

$ pfexec beadm mount opensolaris-134 /mnt

새로운 be를 /mnt에 마운트 시켜놓고,

$ pfexec pkg -R /mnt image-update

Image Update를 실행시킵니다. 다운로드와 설치가 모두 끝났다면,

$ pfexec beadm unmount opensolaris-134      # 마운트를 해제시킨 다음,
$ pfexec beadm activate opensolaris-134     # 다음 부팅시 활성화 되도록 지정해 둡니다.
$ beadm list
...
opensolaris-134  R    /   1.07G   static    2010-03-11 15:00      # 활성화 되어있군요. 현재 사용 중인 be는 'N', 방금 활성화시킨 be는 'R'로 표시되면 정상입니다.

3. 재부팅
pkg refresh --full 등을 실행시켜 봅니다. segfault가 떨어지지 않고 정상적으로 움직이면 Image Update의 공포에서 일단 한 시름 놓은 겁니다. -_-;
Image Update 과정에서 OpenSolris의 전부라고 표현해도 될만큼 중요한 요소인 zfs를 살짝 맛보실 수 있습니다. beadm도 결국 zfs의 자식이나 마찬가지니까요.

저는 이 과정에서 beadm 하나만을 사용했지만 zfs snapshot으로 한 번 더 보완해주는 방법도 있습니다. 문제가 생겼을 경우 zfs rollback으로 복원시켜버리는거죠.

즐겁고 유쾌하고 설명할 수 있는 능력이 없어 잘 표현은 못하겠지만, 이 짧은 과정에서 OpenSolaris만의 맛을 느낄 수 있다라고 생각합니다.
'공포'에서 벗어나기 위한 몸부림이긴 하지만 정말 이렇게 유연할 수가 없구나 라는 생각을 하게 만들 거든요. :)

Forums: 
sauron의 이미지

OpenSolaris 정보가 얼마 없는데, 좋은 팁 보고 갑니다 ~~

innobeing의 이미지





오픈솔라리스에 대한 '국어 정보'는 접하기 참 힘든데,

좋은 팁과 정보, 계속해서 업로드 부탁드립니다.

좋은 정보 감사하고, 잘 배우고 있습니다!




댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.