もうここまで来ると酔狂です
DesktopBSDは、2010年5月に開発再開が宣言されてからもう二年が経とうとしていますが、全くなんの音沙汰もないままここまで来てしまいました。とはいえ、PC-BSDもGhostBSDも鈍重だったり、インストーラがうまく動かなかったり、動作がギクシャクしたりと、まだ難がある状態で、普通にインストールして普通に動くDesktopBSDはまだ捨てがたいものがあります。と思っているそんな中、FreeBSD9.0が発表されました。FreeBSD7.xの余命もそれほど長くないようなので、ベースOSを9.0にしてみます。
とはいっても、ちょっとここまで来ると酔狂でしょうねぇ。最新バージョンの1.7が発表されたのが、2009年9月で二年半以上も前、この時のベースOSがFreeBSD 7.2-RELEASEですが、このバージョンは、2010年6月でサポート終了、デスクトップ環境はKDE3で、KDE4が現行バージョンになっている現状で、一部BROKENなどとマークされるportsも現れている、DesktopBSDで開発されたdesktopbsd-toolsのportsもBROKENとなっている、という状態なので、いくら安定して動くといっても必要なメンテがちゃんとされているのか怪しい状態です。FreeBSD7.xの余命を上で心配しましたが、それよりもKDE3の余命を心配しないといけないかも知れません。KDE3が動かなくなったら、DesktopBSDは完全にアウトですから。
といいつつ、9.0-RELEASEへアップデート
とはいっても、やっぱりやります。まだ、動きましたし。手順は、以下の通りです。
- DesktopBSD 1.7をインストールします。
- キーボードの設定を日本語に変更します。Konsoleを立ち上げて、suでroot権限になって、以下のコマンドを打ちます。
# sysinstall - Webブラウザを立ち上げ、以下のサイトからdiablo-jdkのファイルをダウンロードして、/usr/ports/distfilesに入れます。
URL : http://www.freebsdfoundation.org/cgi-bin/download?download=diablo-caffe-freebsd7-i386-1.6.0_07-b02.tar.bz2
ベースOSを9.0にした後、インストールされている前パッケージを再インストールしますが、その時にこのファイルだけウェブ・サイトからライセンスに同意して取ってこないといけないので、その作業をGuiのブラウザが使えるこの時点で済ませてしまうということです。 - ports-treeをアップデートします。
# portsnap fetch && portsnap update - portmasterをインストールします。
# cd /usr/ports/ports-mgmt
# make config-recursive
# make install clean - インストールされているパッケージリストを状態付きで作成するため、以下のコマンドを流します。
# portmaster -L > /root/versions.txt - デスクトップ環境を立ち上げずにSHELLで作業をしたいので、GUIのログインマネージャーを無効にしまて再起動します。/etc/ttysの以下の部分を
ttyv8 "/usr/local/bin/kdm -nodaemon" xterm on secure ttyv8 "/usr/local/bin/kdm -nodaemon" xterm off secure # shutdown -r now - オリジナルベースOSの7.2-RELEASEを最新版にします。
# freebsd-update fetch && freebsd-update install
# shutdown -r now
# freebsd-update install - 7.2-RELEASEから直接9.0-RELEASEへのアップグレードはできないので、一旦7.x系の最新版7.4-RELEASEにアップグレードします。
- 以下のコマンドを流します。
# freebsd-update -r 7.4-RELEASE upgrade - 上記の処理の過程で、設定ファイルの編集が必要になった部分について、問題ないか確認を求められるので、確認します。[ENTER]キーを押すと、viで対象ファイルが開かれますので、内容を適宜編集します。ファイルの中では、
<<<<<<< current version >>>>>>>
(元の内容)
-------------------------------
(新しい内容)
<<<<<<< 7.4-release >>>>>>>
といった感じで表示されるので、いらない方を消していきます。私が今回やったときは、/etc/groupを除いて全て新しい内容にしました。/etc/groupファイルでは、旧ファイルには、wheelグループに自分のユーザー名が入っていたのですが、新ファイルには、rootしか入っていなかったので、ここに自分のユーザー名を足しました。
尚、この際、エディタは、一般人には使いにくいと評判のviが使われています。ただ、面食らうのは何もしないときはコマンドモードになっていて、普通の物書き用のアプリならファイル開いた後はキーボードたたいたら、その文字が文面に入るのに、viだと何も変わらないからという点に尽きるような気がします。以下のコマンドを覚えておいたらここでの作業はできます。dd 一行削除 x 一文字削除 a 編集モードへの切替(カーソルの後ろに文字入力) [ESC] 編集モードからコマンドモードへの変更 /(字句) (字句)の検索 :w[ENTER] 上書き保存 :q[ENTER] エディタ終了 - インストールコマンドを打ちます。
# freebsd-update install[ENTER] - コマンドプロンプトに戻ったら、以下のコマンドを打って再起動します。
# shutdown -r now[ENTER] - 再起動したら、もう一度インストールコマンドを打ちます。
# freebsd-update install[ENTER]
- 以下のコマンドを流します。
- 7.4-RELEASEから9.0-RELEASEへアップグレードします。
- 以下のコマンドを流します。
# freebsd-update -r 9.0-RELEASE upgrade - 上記の処理の過程で、設定ファイルの編集が必要になった部分について、問題ないか確認を求められるので、確認します。[ENTER]キーを押すと、viで対象ファイルが開かれますので、内容を適宜編集します。Viの操作方法は、上記を参照してください。ファイルの中では、
<<<<<<< current version >>>>>>>
(元の内容)
-------------------------------
(新しい内容)
<<<<<<< 9.0-release >>>>>>>
といった感じで表示されるので、いらない方を消していきます。私が今回やったときは、/etc/groupと/etc/ttysを除いて全て新しい内容にしました。/etc/groupファイルでは、旧ファイルには、wheelグループに自分のユーザー名が入っていたのですが、新ファイルには、rootしか入っていなかったので、ここに自分のユーザー名を足しました。
- インストールコマンドを打ちます。
# freebsd-update install[ENTER] - コマンドプロンプトに戻ったら、以下のコマンドを打って再起動します。
# shutdown -r now[ENTER] - 再起動したら、もう一度インストールコマンドを打ちます。
# freebsd-update install[ENTER]
- 以下のコマンドを流します。
- インストールされているPackageを全てアップグレードします。
# portmaster -adf[ENTER] - /etc/make.confに以下の記載を追加して、portsを落とす際に近くのサーバを使うようにします。
MASTER_SITE_OVERRIDE=ftp://ftp.jp.freebsd.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/ - /root/.cshrcに以下の記載を追加して、packageを落とす際のサーバを指定します。今回、ftp.jp.freebsd.orgを見たところ、以下のpackageが一番新しかったので、ここを指定しました。
setenv PACKAGESITE ftp://ftp.jp.freebsd.org/pub/FreeBSD/ports/i386/packages-9-stable/Latest/ - 先にやっておかないとKDE3関連のpackageで軒並みbuild errorが出るので、以下のアップデートを最初にやります。
# mv /usr/local/lib/libqt-mt.so /usr/local/lib/libqt-mt.so.old[ENTER]
# cd /usr/ports/x11-toolkits/qt33 && make[ENTER]
# mv /usr/local/lib/libqt-mt.so.old /usr/local/lib/libqt-mt.so[ENTER]
# portmaster -C x11-toolkits/qt33[ENTER] - 現在は、不要になったpackageを削除します。6.で作ったパッケージリストに「このポーツはもう何にも使われていないから消された。」とかいろいろコメントしてある(英語ですが。)ので、それから判断します。今回の作業は、具体的には以下のようなものでした。
# pkg_delete -f gccxml-0.6.0[ENTER]
# pkg_delete -f libusb-0.1.12_4[ENTER]
# pkg_delete -f libutempter-1.1.5_1[ENTER]
# pkg_delete -f lzmautils--devel-4.999.8[ENTER]
# pkg_delete -f automake-1.5_5,1[ENTER]
# pkg_delete -f automake-1.6.3_1[ENTER]
# pkg_delete -f automake-1.7.9_2[ENTER]
# pkg_delete -f automake-1.8.5_3[ENTER]
# pkg_delete -f automake-1.9.6_3[ENTER]
# pkg_delete -f libmusicbrainz-2.1.5[ENTER]
# pkg_delete -f libtunepimp-0.5.3_9,1[ENTER]
# pkg_delete -f poppler-qt-0.10.6_1[ENTER]
# pkg_delete -f desktopbsd-tools-1.6.3[ENTER]
# pkg_delete -f sunbird-i18n-0.9[ENTER]
# pkg_delete -f opera-9.64.20090302_1[ENTER] - 次に名前の変わったpackageを入れ替えます。ここら辺も6.で作ったパッケージリストにあるコメントから判断します。(名前の変わった理由はいろいろあって、それは、/usr/ports/UPDATINGの対応する箇所を参照してください。)今回の作業は、具体的には以下のようなものでした。
# portmaster --packages-if-newer -d -o net/mpd5 net/mpd[ENTER]
# portmaster --packages-if-newer -d -o math/gmp math/libgmp4[ENTER]
# portmaster --packages-if-newer -d -o devel/autoconf devel/autoconf262[ENTER]
# portmaster --packages-if-newer -d -o devel/automake devel/automake110[ENTER]
# portmaster --packages-if-newer -d -o devel/libtool devel/libtool22[ENTER]
# portmaster --packages-if-newer -d -o devel/libltdl devel/libltdl22[ENTER]
# portmaster --packages-if-newer -d -o multimedia/mp4v2 multimedia/mpeg4ip-libmpeg4v2[ENTER]
# portmaster --packages-if-newer -d -o devel/apr1 devel/apr[ENTER]
# portmaster --packages-if-newer -d -o devel/gdb66 devel/gdb6[ENTER]
# pkg_delete -f kdebase-workspace-4.3.1[ENTER]
# portmaster --packages-if-newer -d x11/kde4-workspace[ENTER]
# portmaster --packages-if-newer -d -o graphics/giflib graphics/libungif[ENTER]
# portmaster --packages-if-newer -d -o www/neon29 www/neon28[ENTER]
# portmaster --packages-if-newer -d -o graphics/poppler-glib graphics/poppler-gtk[ENTER]
# portmaster --packages-if-newer -d -o multimedia/phonon multimedia/qt4-phonon[ENTER]
# portmaster --packages-if-newer -d -o multimedia/phonon-gstreamer multimedia/qt4-phonon-gst[ENTER]
# portmaster --packages-if-newer -d -o www/firefox35 www/firefox[ENTER]
# portmaster --packages-if-newer -d -o www/firefox35-i18n www/firefox-i18n[ENTER]
# portmaster --packages-if-newer -d -o www/seamonkey deskutils/sunbird[ENTER]
# portmaster --packages-if-newer -d -m LOCALIZED_LANG=ja -o editors/libreoffice editors/openoffice.org-3[ENTER]
# portmaster --packages-if-newer -d -o lang/perl5.12 lang/perl5.8[ENTER]
# portmaster --packages-if-newer -d -o lang/python27 lang/python26[ENTER] - 全パッケージを再ビルドします。
# portmaster -adPf[ENTER] - /etc/make.confに以下の記載を追加して、portsを落とす際に近くのサーバを使うようにします。
# freebsd-update install[ENTER] |
ttyv8 "/usr/local/bin/kdm -nodaemon" xterm off secure |
ttyv8 "/usr/local/bin/kdm -nodaemon" xterm on secure |
これで作業は完了です。再起動すると、元のようにDesktopBSDが立ち上がるはずです。上記の手順は、日本語になっていない状態でやっていますが、日本語にした状態からでも一緒です。ここから日本語がする手順も「DesktopBSDを日本語化しよう」と一緒です。
(2012年 5月 5日 記)