Slackware14.1アップグレード
VirtualBoxを導入して以来、ディストリビューションのアップグレードをサボるようになったのは、失敗してもいつでもカバーできるという安心感からからか。でもいつでもできるというのと、しないというのは雲泥の差(というのは分かっているんだけど)。現存する最古のディストリビューションのSlackwareが、ここのところ1年に1回が恒例になりつつあるメジャーなアップグレードをしてSlackware14.1になったのは昨年の11月。以前のSlackware14.0だったから、メジャーではなくマイナーだったので4ヶ月ほど放置プレー。今回は、先週にアップグレードされたPorteus3.0をベースに、Porteus-ja-plusとしてOSC浜名湖で配布するライブDVDを開発するので、重い腰をあげてアップグレード。ディストロのシーラーカンスだけあって、最新のCD/DVDから起動してアップグレードをクリックなんて簡単ではなく、あくまで手作業。
簡単な手順は、Slackware14.1のインストールDVDに収録されているUPGRADE.TXTで説明されていて、以下のとおりやればうまくいくはず。ここで、/rootとあるのはSlackware14.1のインストールCD/DVDをマウントしたところ、つまり/mnt/cdromにマウントしたら、/rootは/mnt/cdromのこと。
- シングルユーザモードに移行
- glibcシェアライブラリをアップグレード
- パッケージユーティリティと関連ツールをアップグレード
- 新しいパッケージを含めてすべてをアップグレード
- /var/log/packagesを次のコマンドで確認して不要なパッケージをremovepkgで削除
- /etcにある設定ファイルを次のシェルスクリプトをupgradfg.shとして作成して実行
- slackware/kdeiに日本語ローカルファイルがあるので、これをアップグレード
- 重要! プラットフォームに合わせてinitrdを生成 64 bitまたは32 bitシングルプロセッサの場合
- マルチユーザモードに戻す
telinit 3
- 再起動
telinit 1
upgradepkg /root/slackware/a/glibc-solibs-*.t?z
upgradepkg /root/slackware/a/pkgtools-*.tgz upgradepkg /root/slackware/a/tar-*.tgz upgradepkg /root/slackware/a/xz-*.tgz upgradepkg /root/slackware/a/findutils-*.txz
upgradepkg --install-new /root/slackware/*/*.t?z次のシェルスクリプトをupgradepkg.shとして作成して、/root/で実行すると楽
#!/bin/sh for dir in a ap d e f k kde l n t tcl x xap xfce y ; do ( cd $dir ; upgradepkg --install-new *.t?z ) done
ls -lt | lessremovepkgで次のパッケージは確実に削除
removepkg Terminal aumix kdegames kdemultimedia ksecrets mysql \ printer-applet quanta rexima scim-bridge xxgdb
#!/bin/sh cd /etc find . -name "*.new" | while read configfile ; do if [ ! "$configfile" = "./rc.d/rc.inet1.conf.new" \ -a ! "$configfile" = "./rc.d/rc.local.new" \ -a ! "$configfile" = "./group.new" \ -a ! "$configfile" = "./passwd.new" \ -a ! "$configfile" = "./shadow.new" ]; then cp -a $(echo $configfile | rev | cut -f 2- -d . | rev) \ $(echo $configfile | rev | cut -f 2- -d . | rev).bak 2> /dev/null mv $configfile $(echo $configfile | rev | cut -f 2- -d . | rev) fi doneあわせて以下のファイルも確認
/usr/lib*/man.conf.new /usr/share/vim/vimrc.new
upgradepkg --install-new *-ja-*t?z
/usr/share/mkinitrd/mkinitrd_command_generator.sh -k 3.10.17 | bash32 bitマルチプロセッサ(SMP)の場合
/usr/share/mkinitrd/mkinitrd_command_generator.sh -k 3.10.17-smp | bashブートローダがLILOのときに更新
lilo
これだけなんだけど、日本語環境が書き換えられているので/etc/profile.dにあるlang.sh.bakを元に戻す
cd /etc/profile.d mv lang.sh lang.sh.new mv lang.sh.bak lang.sh
日本語キーボードのキーアサインが英語キーボードのままならば、次のコマンドを実行
setxkbmap -model jp106 -layout jp
あとはお好みで設定を変更 (^^ゞ 僕は梅フォントで表示をさらに見やすくして、いよいよPorteus-ja-plusの開発に!!(今週末に間に合うのか...)
気になったのは、KDEのオフィーススィートのCalligra Suiteの最新版2.7.4が収録されているんだけど、/kdeiにはその日本語ローカルファイルがない。Slackware14.0のときもそうだったので、とらえず古い日本語ローカルファイルの2.4.3版を使って、一部は英語のままで目をつぶっている。Webで探してみても、2.5.4という版はあるみたいだけど最新版はない。Gnome-Officeで開発されているプレゼンツールEaseも、当初から日本語ローカルファイルがない。LibreOfficeは、頑張って日本語チームが翻訳しているから充実しているけど、他のオフィスってLibreOfficeがあるから需要ないのかな。オルタネーティブを大切にしてきた文化が、ここにきて変わってきたように感じるのは気のせいだろうか。