debパッケージ構築環境pbuilderの完成
その他一般権限で行う諸設定
以下のようなシェルスクリプトvbox3.shをつくり実行する。
# xdg-usr-dirsの設定 cat > ~/.config/user-dirs.conf << EOF enabled=False EOF cat > ~/.config/user-dirs.dirs << EOF XDG_DESKTOP_DIR="\$HOME/Desktop" XDG_DOWNLOAD_DIR="\$HOME" XDG_TEMPLATES_DIR="\$HOME" XDG_PUBLICSHARE_DIR="\$HOME" XDG_DOCUMENTS_DIR="\$HOME" XDG_MUSIC_DIR="\$HOME" XDG_PICTURES_DIR="\$HOME" XDG_VIDEOS_DIR="\$HOME" EOF cat > ~/.config/user-dirs.locale << EOF C EOF # ホームに作られた日本語のディレクトリを削除 find . -maxdepth 1 -type d |perl -ne 'print if /[^[:ascii:]]/' |xargs rm -r # ~/bin作成 mkdir ~/bin source ~/.profile # ~/bin をPATHに追加 # pbuilder環境作成 mkdir ~/debian mkdir -p pbuilder/result # ここではDebian lenny と sid のパッケージ構築環境を用意する。 ln -s /usr/share/doc/pbuilder/examples/pbuilder-distribution.sh ~/bin/pbuilder-lenny ln -s /usr/share/doc/pbuilder/examples/pbuilder-distribution.sh ~/bin/pbuilder-sid
リンクした「pbuilder-lenny」などのスクリプトを使う方法はpbuilderを使ってHardy用のdebパッケージをIntrepidで作るを参照すること。
補足事項
ひらがなの「む」、「ろ」、「\」キーが反応しないため、\(バックスラッシュ)や|(バー)、_(アンダースコア)が入力できない。xevにすら反応しないため解決不能。
関連記事:
VirtualBoxにUbuntu Jauntyをインストール(その1)
VirtualBoxにUbuntuのdebパッケージ作成環境を作るbashスクリプト
sudoの設定からGuest Additionalのインストールまで
Ubuntu Jaunty Jackalope のRC版が公開されたのでVirtaulBox 2.2.0にインストールし、Ubuntu/Debian向けdebパッケージ構築環境を作った。その際の手順をまとめておく。
GUIを用いたVirtualBoxへのインストール
riken.jpから落としたubuntu-9.04-rc-desktop-i386.isoからインストールした。デフォルトからの変更点は、
- メモリ256MB
- ビデオメモリ16MB
- ユーザー名「tks」
- 共有フォルダは/home/publicを共有名「pub」で設定
パスワード無しでsudo出来るようにする。
sudo時に一々パスワードを入力するのは面倒なので、ユーザーtksをsudoグループに追加し、sudoグループのメンバーはパスワード無しでsudo出来るようにする。
$ []sudo usermod -g users -a -G sudo tks[]
[]tksをsudoグループに追加、ついでにプライマリグループをusersに変更[]
$ []sudo groupdel tks[] []いらなくなったtksグループを削除[]
$ []sudo visudo[] []「/etc/sudoers」を編集[]
[][sudo] password for tks: []
# ここまで省略 # Members of the admin group may gain root privileges %admin ALL=(ALL) ALL # Uncomment to allow members of group sudo to not need a password # (Note that later entries override this, so you might need to move # it further down) %sudo ALL=NOPASSWD: ALL
パッケージのアップグレードとインストール
以下のようなスクリプト「vbox1.sh」を用意し、root権限で実行する。
#!/bin/bash if ! [ -w / ] ; then echo "You need root privilege." exit 1 fi # パッケージのインデックスを最新に apt-get update # 使わないソフトウェアを削除 apt-get purge brasero ekiga evolution-common evolution-webcal gnome-games \ pidgin totem xsane f-spot tracker tomboy transmission-common tsclient vinagre \ gstreamer0.10-plugins-base openoffice.org-common totem* compiz* nvidia* \ language-support-input-ja language-support-fonts-ja #gimp # パッケージのアップグレード apt-get dist-upgrade # 必要なパッケージをインストール apt-get install build-essential devscripts ubuntu-dev-tools debhelper dh-make \ diff patch quilt fakeroot lintian pbuilder autotools-dev vim autofs \ scim-anthy ttf-vlgothic # autoremoveされないように # 依存関係で入ったパッケージを削除 apt-get --purge autoremove echo "Please reboot with new kernel."
終了したら新たにインストールされたカーネルで再起動する。
Guest Additionalのインストールとマウス統合、共有フォルダの設定
VBoxGuestAdditions.isoをあらかじめマウントしておき、以下のようなシェルスクリプトvbox2.shをルート権限で実行する。
#!/bin/bash if ! [ -w / ] ; then echo "You need root privilege." exit 1 fi # Guest Additional のインストール if ! [ -x /media/cdrom/VBoxLinuxAdditions-x86.run ] ; then echo "Please mount VBoxGuestAdditions." exit 1 fi /media/cdrom/VBoxLinuxAdditions-x86.run # マウス統合を有功にするための追加設定を/etc/X11/xorg.confへ cat >> /etc/X11/xorg.conf << EOF Section "InputDevice" Identifier "Configured Mouse" Driver "vboxmouse" Option "CorePointer" EndSection EOF # autofsを設定してホストの共有フォルダpubに/misc/vboxからアクセスできるようにする。 sed -i '/timeout/s/^#//' /etc/auto.master sed -i '/^cd/avbox\t\t-fstype=vboxsf,uid=1000,gid=100\t:pub' /etc/auto.misc
再起動するとGuest Additionalが有効になる。
VirtualBoxにUbuntu Jauntyをインストール(その2)
ホームパーティションをExt3からExt4に移行
Fedora 11 のリリースを控えてFedora 10 でもカーネルのバージョンが2.6.27から2.6.29に上がりExt4ファイルシステムを使えるようになったので、「/home」に割り当てているパーティション(LABELは「fc_home」)をExt3からExt4に移行させることにした。
Ext4への移行方法はExt4 - Linux Kernel Newbiesに乗っている。実際にはシングルユーザーモードでホームパーティションをアンマウントし、以下の様に実行した。
なお、既に存在しているファイルはExt4のエクステントを使用せず恩恵を受けられない。これを改善するには「e4defrag」ツールを使用する必要があるもののまだ開発途上であり、いずれ「e2fsprogs」に含まれるようになるということらしい。*1
# []umount LABEL=fc_home[]
# []partimage[] []PartImageでパーティションをバックアップしておく[]
# []tune2fs -O extents,uninit_bg,dir_index LABEL=fc_home[] []一瞬で終了する[]
[]tune2fs 1.41.4 (27-Jan-2009)[][]Please run e2fsck on the filesystem.[]
# []fsck -pDf LABEL=fc_home[]
[]fsck 1.41.4 (27-Jan-2009)[]
[]fc_home: Group descriptor 0 checksum is invalid. FIXED.[]
[]fc_home: Group descriptor 1 checksum is invalid. FIXED.[]
[]...省略...[]
# []vi /etc/fstab[] []ホームパーティションのファイルシステムを「ext3」から「ext4」に書き換え[]
参考:
ext4 へのマイグレーション
GParted Live on USB の作成
GParted Live on USBの記述に沿ってGPartedのLiveUSBを作った。環境は、GNOME2.24 on Fedora10 である。
FAT32でフォーマットしたUSBメモリを挿したところ自動で/media/diskにマウントしたので、
リンク先からgparted-live-0.4.3-2.zipをダウンロードし、USBメモリに展開した。
以上で起動可能なGParted LiveのUSBメモリを作ることが出来た。
$ []rm -rf /media/disk/*[] []USBメモリの中身を掃除[]
$ []unzip gparted-live-0.4.3-2.zip -d /media/disk/[]
[]Archive: gparted-live-0.4.3-2.zip[]
[] extracting: /media/disk/COPYING[]
[]...省略...[]
[] extracting: /media/disk/utils/README.txt[]
$ []rpm -qf /usr/bin/syslinux[]
[]syslinux-3.61-3.fc10.i386[] []バージョンが3.71より古い。[]
$ []wget 'http://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-3.75.tar.bz2'[]
[] 最新版のsyslinuxをダウンロード[]
[]...省略...[]
$ []wget 'http://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-3.75.tar.bz2.sign'[]
[] せっかくなので署名も検証してみる。詳しくは[]http://www.kernel.org/signature.html[]を参照[]
[]...省略...[]
$ []gpg --keyserver wwwkeys.pgp.net --recv-keys 0x517D0F0E[]
[]gpg: 鍵517D0F0Eをhkpからサーバーwwwkeys.pgp.netに要求[]
[]gpg: 鍵517D0F0E: 公開鍵“Linux Kernel Archives Verification Key <ftpadmin@kernel.org>”を読み込みました[]
[]gpg: 絶対的に信用する鍵が見つかりません[]
[]gpg: 処理数の合計: 1[]
[]gpg: 読込み: 1[]
$ []gpg2 --verify syslinux-3.75.tar.bz2.sign[]
[]gpg: 2009年04月17日 02時30分10秒 JSTにDSA鍵ID 517D0F0Eで施された署名[]
[]gpg: “Linux Kernel Archives Verification Key <ftpadmin@kernel.org>”からの正しい署名[]
[]gpg: 警告: この鍵は信用できる署名で証明されていません![]
[]gpg: この署名が所有者のものかどうかの検証手段がありません。[]
[]主鍵の指紋: C75D C40A 11D7 AF88 9981 ED5B C86B A06A 517D 0F0E[]
$ []tar jxf syslinux-3.75.tar.bz2[]
$ []sudo syslinux-3.75/linux/syslinux -s /dev/sdb1[]
$ []sudo cat syslinux-3.75/mbr/mbr.bin > /dev/sdb[]
完成したLive USBでパーテションを操作後再起動すると、swap領域のUUIDが変化したため起動時に以下のメッセージが表示され、ハイバネーションから復帰できなくなったので「/etc/fstab」を修正後「mkinitrd」コマンドで初期RAMディスクイメージを再作成し直した。
Unable to access resume device (UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)
またswapが無効になったため「swapon」コマンドで有効にしておいた。
$ []blkid[] []swap領域のUUIDを確認[]
[]...省略...[]
[]/dev/sda8: TYPE="swap" LABEL="SWAP" UUID="yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"[]
$ []sudo vim /etc/fstab[] []swap領域のUUIDを書き直す[]
$ []cd /boot[]
$ []ls[]
[]...省略...[]
[]initrd-2.6.29.1-30.fc10.i686.img[]
$ []uname -r[]
[]2.6.29.1-30.fc10.i686[]
$ []sudo cp -a initrd-2.6.29.1-30.fc10.i686.img{,_}[] []initrdのバックアップを作成[]
$ []sudo mkinitrd -f -v initrd-2.6.29.1-30.fc10.i686.img 2.6.29.1-30.fc10.i686[]
[]Creating initramfs[]
[]...省略...[]
$ []swapon -a[] []swapを有効化[]
ちなみにRIPLinuxを使った方が、LiveUSBの製作も簡単でダウンロードサイズもあまり変わらない上、含まれるソフトウェアが最新に保たれているためお薦めかもしれない。
Icon Theme Updater 0.9.1 をリリース
Icon Theme Updater 0.9.1をリリースした。
- KDE3系のアイコンテーマの一部でコンピュータのアイコンが表示されるようにした。(「kcmsystem」を流用)
- AquafusionとGlossy-Glassで「folder-saved-search」のアイコンを補った。密かに後の布石。