↑ 「FreeBSDで遊ぼう」のページへ

↑ トップページへ

★ [SilverSackの自画自賛] FreeBSDで遊ぼう

★

 DesktopBSDをアップデートしよう


開発再開は宣言されたものの

オリジナルの開発者が「開発のモティベーションがなくなった」として開発が停止してしまったDesktopBSDに対して、別の5人ほどの部隊が「開発を再開します」と宣言したのが2010年5月ですが、特に更なるアナウンスがないまま一年が過ぎてしまいました。現在最新のDesktopBSDは、Ver.1.7なのですが、これのベースはFreeBSD 7.2 releaseで、既にサポートが終わったバージョンになってしまいました。更に、このVer.1.7がリリースされたのは、2009年9月なのですが、今、インストールしてPorts Treeを更新すると、インストールされている600ほどのPackageのうち500位は新バージョンがあります、なんて状況になってます。で、まあ、これではまずかろうということで、freebsd-updateを使ってアップデートしてみることにしました。どうせ7.4とかにしても500のPackageのアップデートはするから手間は大して変わらんだろうということで、7.2から8.2にアップデートすることにしました。FreeBSDのサイトの8.2のReleaseサイトを見ると、FreeBSD 7.x/8.xからのアップデート方法が書いてあります。概略以下の手順になるようです。

  1. 8.2-relreaseをダウンロードする。
  2. インストールする
  3. 再起動する
  4. インストールする
  5. インストールされているPackageを全て再インストールする
  6. インストールする

で、この手順に従ってやってみました。

DesktopBSD 1.7のベースをFreeBSD 8.2-releaseへ
  1. コンソールモードへの切り替え
    GUI環境ではこの作業は(恐らく)できないので、コンソールモードに切り替えます。/etc/ttysの以下の部分を
     ttyv8 "/usr/local/bin/kdm -nodaemon" xterm on secure
    以下のように編集します。
     ttyv8 "/usr/local/bin/kdm -nodaemon" xterm off secure
    編集したら再起動します。
  2. 8.2-releaseのダウンロード
    1. 再起動したらコンソールモードになっているので、rootでログインします。
    2. 以下のコマンドを打ちます。
         # freebsd-update upgrade -r 8.2-RELEASE[ENTER]
      この作業の中で、現行の設定ファイルで、変更になるところについて、元の内容を残すか、新しい内容に変更するか聞いてくるので、編集します。
         <<<<<<< current version >>>>>>>
         (元の内容)
         -------------------------------
         (新しい内容)
         <<<<<<< 8.2-release >>>>>>>
      といった感じで表示されるので、いらない方を消していきます。私が今回やったときは、一ヶ所を除いて全て新しい内容にしました。古い内容にしたのは、/etc/groupファイルで、旧ファイルには、wheelグループに自分のユーザー名が入っていたのですが、新ファイルには、rootしか入っていなかったので、ここに自分のユーザー名を足しました(こうすると結局旧内容は消すことになりますが。)。
      尚、この際、エディタは、一般人には使いにくいと評判のviが使われているので、viの操作はネットとかで情報を仕入れておく必要があります。ただ、面食らうのは何もしないときはコマンドモードになっていて、普通の物書き用のアプリならファイル開いた後はキーボードたたいたら、その文字が文面に入るのに、viだと何も変わらないからに尽きるような気がします。ここでは、大半の作業がいらない内容を消す作業なので、一文字消すコマンド(x)、一行消すコマンド(dd)を覚えておいたら、それで作業の大半ができてしまうので、それほど違和感ないかもしれません。
      これで、8.2-releaseの取得が終わったので、インストール作業に移ります。
  3. 8.2-releaseのインストール
    1. インストールコマンドを打ちます。
         # freebsd-update install[ENTER]
    2. コマンドプロンプトに戻ったら、rebootコマンドを打って再起動します。
         # reboot[ENTER]
    3. 再起動したら、もう一度インストールコマンドを打ちます。
         # freebsd-update install[ENTER]
      コマンドが実行されて、コマンドプロンプトに戻ったら、Packageのアップデートに移ります。
  4. Packageのアップデート
    7.xから8.xにアップデートする場合は、パッケージは全て再インストールすることになりますので、ここでは全てのPackageを再インストールします。7.4にアップデートした方が手間が少ないのですが、DesktopBSD 1.7をアップデートすると考えると500のPackageをアップデートするか、600のPackageをアップデートするかという違いで、結局は似たような手間になります。
    1. Ports Treeをアップデートします。
         # portsnap fetch && portsnap update[ENTER]
    2. 以下のコマンドを使って、インストールされているPackageのリストを作成します。
         # portmaster -L > /root/allinstalledpackages.txt[ENTER]
    3. /usr/ports/UPDATINGファイルと上で作ったPackageリストを見ながら、Packageのアップデート時の注意点をリストアップします。UPDATINGファイルの2009年9月以降の分について、対応するPackageがインストールされているかを見ながら、関係のある項目をピックアップされていくといった作業になります。「ALT」キー+「F1~F8」キーで端末の切り替えができるので、それを使うと別の端末にそれぞれのファイルを表示させて、切り替えながら見るという感じで作業ができます。
         # ee /root/allinstalledpackages.txt[ENTER]
      別端末で
         # ee /usr/ports/UPDATING[ENTER]
    4. 注意点を見て行くと、このアップデートはこれより先にやっておかないといけないとか、いろいろな条件が出て来るので、それを元にアップデートの順番というか手順を決めます。
      その後、それに従ってアップデート作業を進めていきます。portmasterやportupgradeや場合によっては、make deinstall/make reinstallも駆使して、それぞれのアップデート作業を行います。
  5. 8.2-releaseの再インストール
    Packageのアップデートが終わったら、もう一度インストールコマンドを流して、不要ライブラリの掃除をします。
       # freebsd-update install[ENTER]
    コマンドプロンプトに戻ったら、rebootコマンドを打って再起動します。
       # reboot[ENTER]

これで作業は完了です。心なしか、7.2の時よりも動作が機敏になった印象です。最近、PC-BSD 8.2がリリースされましたが、こちらの方が圧倒的に軽いし、安定感もあります。PC-BSDは、徐々に安定感は上がっている感じですが、UbuntuファミリーでもKubuntuは飛び抜けて重かったりするので、ベースがKDE4である間は鈍重なのはどうしようもないんでしょうね。DesktopBSDは、KDE3で見てくれはショボかったりするのですが、現在のPC-BSDの完成度を見るとまだまだ需要があるような気がするのですが。

今回の作業やってみて思ったのは、「FreeBSD 8.2-RELESEベースのDesktopBSDを作るのは、そんなに難しくないんじゃないの?」ということで、ファンとしては、8.2-RELEASEベースのバージョンの発表くらいはやってくれても良いんじゃないか、なんて思います。ただ、デスクトップ環境のベースとしているKDE3が機能追加なく、従って新しい開発ターゲットも出て来ない状況では、開発サイドとしては、やる気にならない、ってことになるんでしょうねぇ。

(2011年 5月21日 記)