Vine Linux Magazine http://vinelinux.org/vlmagazine/ Vine Linux Magazine です
  • Vine Linux 5.x から 6.x へのアップグレードについて http://vinelinux.org/vlmagazine/20120730.html <![CDATA[

    2012年7月30日、Project Vine は待望の最新バージョン Vine Linux 6.1 のリリース を発表しました。 Vine Linux 6.0 リリース以後のセキュリティ修正、バグフィックスはもちろん、 SandyBridge / IvyBridge への対応強化や、Kernel を 3.0.38 にあげるなど、 マイナーバージョンが 1 あがっただけとしては意欲的なアップグレードと なっています。

    その一方で、前メジャーバージョンである Vine Linux 5 系列のサポートが切れる 2012年8月6日(最新メジャーバージョン Vine Linux 6 系列が最初にリリースされた 2011年8月6日から一年目)も、徐々に近づいており、その日を過ぎると セキュリティ修正やバグフィックスなどは行われなくなりますので、 Vine 5.x をお使いの皆さんは早めのアップグレードをおすすめします。

    本記事では、Vine Linux 5.x から Vine Linux 6.x へのアップグレード方法について 概説を行います。


    なにはともあれバックアップを

    システムのアップグレード中に起こりうる、万が一のトラブル (アップグレードに失敗する、システムが起動しなくなる、ディスク容量を超えてしまう、ディスクが破損する、ハードウェア対応に問題が起こり正常に動作しなくなる、など) に備え、可能な限り バックアップ をとっておくことをおすすめします。

    システム全体のダンプ (dd によるディスクイメージ全体のバックアップ、 dump によるファイルシステムのダンプ、など) を用意した別のハードディスクや他ホスト上に取得しておけば、 万が一の場合の復旧にも安心ですが、 最低でもユーザのホームディレクトリ(/home/ 以下)や、 各種設定ファイル(/etc/ 以下)、 データベースファイルなど(/var/ 以下)のバックアップだけでも 行っておくようにしましょう。


    アップグレードの実際

    Vine Linux システムのアップグレードは、基本的にパッケージ単位で行われます。

    1. 現在インストールされているパッケージのより新しいバージョンに差し替え
    2. Vine Linux 6 以降で新しく導入されたパッケージ群の新規インストール

    DVD メディア (や DVD メディアを書き込んだ USB メディア) からのアップグレードの場合は、この両者について最大限考慮した上でパッケージ群のアップグレードが行われますが、apt-get を使ったアップグレードの場合は、後者のパッケージ群については考慮されないことに注意して下さい。

    また、Vine Linux 5.x から Vine Linux 6.1 へアップグレードする前に、 Vine Linux 5 系列の最新状態(Vine Linux 5.2 + updates)にしておくと、 アップグレード時のトラブルを最小限に抑えられる可能性があります。

    $ rpm -qa | grep apt-sourceslist-
    apt-sourceslist-main-1.2-1vl5
    apt-sourceslist-nonfree-1.2-1vl5
    apt-sourceslist-plus-1.2-1vl5
    

    となっていることを確認し、/etc/apt/sources.list/etc/apt/sources.list.d/ 以下のファイルでも Vine Linux 5.2 の apt リポジトリを向いていることを確認の上で、

    $ sudo apt-get update
    $ sudo apt-get dist-upgrade
    

    を実行し、Vine Linux 5 系列の最新状態(Vine Linux 5.2 + updates)に アップグレードしておくとよいでしょう。


    DVD/USB メディアを使ったアップグレード

    Project Vine が推奨するアップグレード方法です。

    Vine Linux では、インストールイメージとして CD メディア用と DVD メディア用の 2種類を用意していますが、DVD メディア用の方が より多くのパッケージを収録していますので、アップグレード時の 問題がより発生しにくいと期待できます。

    また、DVD ドライブを装備していないマシンであっても、 よほど古いマシンでなければ USB からの起動が可能ですので、 USB メモリメディア (2GB 以上)に DVD インストーライメージを 書き込み、USB メディアからインストーラを起動することが可能です。 この方法については Vine Linux 6 インストールガイド (Microsoft Windows の場合Linux の場合) を参照して下さい。

    インストールメディアの準備ができたら、実際にインストーラを起動します。

    そのあとは、 Vine Linux 6 インストールガイド に従い、アップグレード作業を行って下さい。 インストーラが、既存のハードディスク上にインストールされている Vine Linux 5.x を検出し、 「既存インストールのアップグレード」 という項目を表示するはずです。

    インストーラによるアップグレードが済んだ場合、システム再起動後にも若干の作業が必要です。再起動し、ログイン後に以下のコマンドを実行して、アップグレードを完了して下さい。

    $ sudo apt-get update
    $ sudo apt-get dist-upgrade
    

    CD メディアを使ったアップグレード、または Vine Linux / Vine Plus 以外のパッケージ(商用パッケージや自家製のパッケージなど)がインストールされていた環境では、以下のメッセージが出る事があります。

    これらを解決するためには 'apt-get --fix-broken install' を実行する必要があるかもしれません。
    以下のパッケージは解決できない依存関係を持っています:
    (中略)
    E: 未解決の依存関係があります。--fix-broken オプションをためして下さい。
    

    この場合、以下の手順を実行して下さい。

    $ sudo apt-get -f install
    $ sudo apt-get dist-upgrade
    

    apt-get によるアップグレード

    推奨はしませんが、

    • わざわざインストーラメディアを用意したくない場合
    • サーバ用に使用しており最小限のパッケージしかインストールされておらず、
      わざわざインストーラを起動せずにアップグレードしたい場合
    • あるいは実機が遠隔地にありメディアを利用するのが困難である場合

    などには、現在動いている Vine Linux 5.2 上から直接アップグレードを行うことが可能です。

    ただし、この場合は、現在動いているシステムを直接書き換えることになるため、 アップグレード時にトラブルがより発生しやすくなる可能性があります。 特に、Vine Linux 5.x と Vine Linux 6.1 では rpm のバージョンが異なっているため、 rpmapt-get の実行順序によっては、 rpm データベースが破損してしまう可能性もありますので、 システム全体のバックアップを必ず取っておいて下さい。

    原則としては、上で記した、DVD/USB メディアからのアップグレードをおすすめします。


    apt-sourceslist-* の入れ替え

    手動アップグレードに備えて、apt のリポジトリを Vine Linux 6.x に向けます。 apt-sourceslist-mainapt-sourceslist-plusapt-sourceslist-nonfreewget などを使ってダウンロード後、以下のコマンドを実行してインストールします。

    $ sudo apt-get install apt-sourceslist-*
    パッケージリストを読みこんでいます... 完了
    依存情報ツリーを作成しています... 完了        
    'apt-sourceslist-main-1.4-1vl6.noarch.rpm' として apt-sourceslist-main を選択しました
    'apt-sourceslist-nonfree-1.4-1vl6.noarch.rpm' として apt-sourceslist-nonfree を選択しました
    'apt-sourceslist-plus-1.4-1vl6.noarch.rpm' として apt-sourceslist-plus を選択しました
    以下のパッケージがアップグレードされます:
      apt-sourceslist-main apt-sourceslist-nonfree apt-sourceslist-plus
    アップグレード: 3 個, 新規インストール: 0 個, 削除: 0 個, 保留: 0 個
    0B/10.9kB のアーカイブを取得する必要があります。
    展開後に 54B が解放されます。
    変更を適用しています...
    準備中                                ############################## [100%]
    更新/インストール中
      apt-sourceslist-main-1.4-1vl6.noarch   ############################## [100%]
      apt-sourceslist-nonfree-1.4-1vl6.noarc ############################## [100%]
      apt-sourceslist-plus-1.4-1vl6.noarch   ############################## [100%]
    クリーニング/削除中
      apt-sourceslist-main-1.2-1vl5.noarch   ############################## [100%]
      apt-sourceslist-nonfree-1.2-1vl5.noarc ############################## [100%]
      apt-sourceslist-plus-1.2-1vl5.noarch   ############################## [100%]
    完了
    

    /etc/apt/sources.list ファイルに別途リポジトリを記述していたり、/etc/apt/sources.list.d/ 以下のファイルを修正している場合は、それらのファイル上のリポジトリが正しく 6 を向いていることを確認して下さい。


    dist-upgrade の実行

    では、apt-get を使って Vine Linux 6.1 へのアップグレードを 実際に行います。ここでは、VirtualBox 上に DVD イメージからインストールした Vine Linux 5.2 (i386) + updates 環境を、Vine Linux 6.1 (i386) に アップグレードしています。

    まずは apt-get update から行います。 正しく Vine Linux 6.x のリポジトリを取得していることを確認して下さい。

    $ sudo apt-get update
    取得:1 http://updates.vinelinux.org 6/i386 release [1937B]
    1937B を 0s 秒で取得しました (12.4kB/s)
    取得:1 http://updates.vinelinux.org 6/i386/main pkglist [538kB]
    取得:2 http://updates.vinelinux.org 6/i386/main release [162B]
    取得:3 http://updates.vinelinux.org 6/i386/updates pkglist [81.8kB]
    取得:4 http://updates.vinelinux.org 6/i386/updates release [163B]
    取得:5 http://updates.vinelinux.org 6/i386/main srclist [240kB]
    取得:6 http://updates.vinelinux.org 6/i386/updates srclist [23.2kB]
    取得:7 http://updates.vinelinux.org 6/i386/nonfree pkglist [40.3kB]
    取得:8 http://updates.vinelinux.org 6/i386/nonfree release [164B]
    取得:9 http://updates.vinelinux.org 6/i386/nonfree srclist [29.0kB]
    取得:10 http://updates.vinelinux.org 6/i386/plus pkglist [1129kB]
    取得:11 http://updates.vinelinux.org 6/i386/plus release [163B]
    取得:12 http://updates.vinelinux.org 6/i386/plus srclist [528kB]
    2610kB を 1s 秒で取得しました (1431kB/s)        
    パッケージリストを読みこんでいます... 完了
    依存情報ツリーを作成しています... 完了
    

    続いて apt-get dist-upgrade によるアップグレードを行いますが、恐らく次のようなメッセージが出るはずです。

    $ sudo apt-get dist-upgrade
    パッケージリストを読みこんでいます... 完了
    依存情報ツリーを作成しています... 完了        
    アップグレードパッケージを検出しています... 失敗
    以下のパッケージは解決できない依存関係を持っています:
      util-linux: 廃止: util-linux-ng (< 2.19)
    E: *エラー* pkgProblemResolver::Resolve は停止しました。おそらくホールドされたパッケージが原因でしょう。
    

    これは、Vine Linux 5.x で必須パッケージとして指定されている util-linux-ng が、Vine Linux 6.x では util-linux に置き換えられていることが原因です。先に util-linux だけ差し替えておきます。

    $ sudo apt-get install util-linux
    パッケージリストを読みこんでいます... 完了
    依存情報ツリーを作成しています... 完了        
    以下の追加パッケージがインストールされます:
      binutils e2fsprogs glibc glibc-common glibc-devel glibc-headers libblkid
      libmount libuuid zlib
    以下のパッケージがアップグレードされます:
      binutils e2fsprogs glibc glibc-common glibc-devel glibc-headers zlib
    以下のパッケージがリプレースされます:
      util-linux-ng (by util-linux)
    以下のパッケージが新たにインストールされます:
      libblkid libmount libuuid util-linux
    アップグレード: 7 個, 新規インストール: 4 個, リプレース: 1 個, 削除: 0 個, 保留: 780 個
    28.9MB のアーカイブを取得する必要があります。
    展開後に 26.4MB のディスク容量が追加消費されます。
    続行しますか? [Y/n]
    取得:1 http://updates.vinelinux.org 6/i386/main zlib 1.2.5-2vl6 [59.1kB]
    取得:2 http://updates.vinelinux.org 6/i386/main binutils 2.20.51.0.12-1vl6 [3849kB]
    取得:3 http://updates.vinelinux.org 6/i386/main glibc-headers 2.11.1-9vl6 [652kB]
    取得:4 http://updates.vinelinux.org 6/i386/main glibc-devel 2.11.1-9vl6 [1034kB]
    取得:5 http://updates.vinelinux.org 6/i386/main glibc 2.11.1-9vl6 [12.1MB]
    取得:6 http://updates.vinelinux.org 6/i386/main glibc-common 2.11.1-9vl6 [7442kB]
    取得:7 http://updates.vinelinux.org 6/i386/main libuuid 2.19-2vl6 [56.8kB]
    取得:8 http://updates.vinelinux.org 6/i386/main libblkid 2.19-2vl6 [126kB]
    取得:9 http://updates.vinelinux.org 6/i386/main e2fsprogs 1.41.14-1vl6 [928kB]
    取得:10 http://updates.vinelinux.org 6/i386/main libmount 2.19-2vl6 [116kB]
    取得:11 http://updates.vinelinux.org 6/i386/main util-linux 2.19-2vl6 [2560kB]
    28.9MB を 5s 秒で取得しました (5411kB/s)
    変更を適用しています...
    準備中                                ############################## [100%]
    更新/インストール中
      glibc-2.11.1-9vl6.i686                 ############################## [100%]
      libuuid-2.19-2vl6.i686                 ############################## [100%]
      libblkid-2.19-2vl6.i686                ############################## [100%]
      zlib-1.2.5-2vl6.i686                   ############################## [100%]
      glibc-common-2.11.1-9vl6.i686          ############################## [100%]
      glibc-headers-2.11.1-9vl6.i686         ############################## [100%]
      glibc-devel-2.11.1-9vl6.i686           ############################## [100%]
      e2fsprogs-1.41.14-1vl6.i686            ############################## [100%]
      libmount-2.19-2vl6.i686                ############################## [100%]
      binutils-2.20.51.0.12-1vl6.i686        ############################## [100%]
      util-linux-2.19-2vl6.i686              ############################## [100%]
    クリーニング/削除中
      zlib-1.2.3-4vl5.i386                   ############################## [100%]
      binutils-2.18.50.0.9-3vl5.i386         ############################## [100%]
      glibc-headers-2.8-6vl5.i386            ############################## [100%]
      glibc-devel-2.8-6vl5.i386              ############################## [100%]
      glibc-2.8-6vl5.i386                    ############################## [100%]
      glibc-common-2.8-6vl5.i386             ############################## [100%]
      e2fsprogs-1.41.4-1vl5.i386             ############################## [100%]
      util-linux-ng-2.14.1-2vl5.i386         ############################## [100%]
    完了
    reboot required.
    

    util-linux の依存関係に従い、glibc なども同時に差し替えられました。画面に表示されている通り、念のためシステムを再起動しておきましょう。

    再起動し、ログインしたら、いよいよ全体のアップグレードを始めます。

    $ sudo apt-get dist-upgrade
    パッケージリストを読みこんでいます... 完了
    依存情報ツリーを作成しています... 完了        
    アップグレードパッケージを検出しています... 完了
    以下のパッケージがアップグレードされます:
      ConsoleKit ConsoleKit-libs ConsoleKit-x11 GConf2 ImageMagick JF MAKEDEV
      NetworkManager NetworkManager-glib NetworkManager-gnome ORBit2 OpenEXR-libs
      PolicyKit PolicyKit-gnome PolicyKit-gnome-libs PyOpenGL SDL
      TrueType-ipafont-doc TrueType-ipafont-mincho TrueType-vlgothic Xaw3d aalib
      acl acpid alsa-firmware alsa-lib alsa-plugins-pulseaudio alsa-tools
      alsa-tools-firmware alsa-utils alternatives anacron anthy apache2 apel apr
      apr-util apt arts aspell aspell-el at atk audiofile audit-libs authconfig
      authconfig-gtk autoconf autofs automake avahi avahi-glib avahi-gobject
      avahi-tools avahi-ui babl backintime-common backintime-gnome basesystem bash
      bc bcm43xx-fwcutter beecrypt bind bind-libs bind-utils bison blueman bluez
      bluez-alsa bluez-cups bluez-firmware bluez-gstreamer bluez-hcidump bluez-libs
      brasero brasero-libs build-essential byacc bzip2 cairo cairomm ccsm
      cdparanoia cdrdao cheese chkconfig compiz compiz-bcop compiz-gnome
      compiz-plugins compiz-plugins-extra compiz-plugins-extra-gnome
      compiz-plugins-gnome compizconfig-backend-gconf compizconfig-python
      control-center convmv coreutils cpio cpufrequtils cpuspeed cracklib
      cracklib-dicts crontabs ctags cups cups-libs cups-pdf curl cvs cyrus-sasl
      cyrus-sasl-md5 cyrus-sasl-plain dash db4 dbus dbus-glib dbus-python dbus-x11
      desktop-file-utils dev86 device-mapper device-mapper-libs dhclient dhcp dia
      diffstat diffutils dkms dmidecode dmraid dnsmasq dosfstools dovecot
      dvd+rw-tools ed eject ekiga elfutils elfutils-libelf elfutils-libs emacs
      emacsen-common enchant eog eplaser-cups eruby esound-libs etcskel ethtool
      evince evolution-data-server exiv2 expat file file-roller filesystem
      findutils firefox firstboot firstboot-tui flex flim fltk fontconfig foomatic
      freeglut freetype2 ftdumps ftp fuse fxload gamin gawk gc gcalctool gcc
      gcc-c++ gcc-cpp gconf-editor gd gdbm gdm gedit gedit-plugins geeqie gegl
      gettext gettext-devel gettext-libs gftp ggz-client-libs ghostscript
      ghostscript-fonts giflib gimp gksu glib2 glibmm glx-utils gmp gnome-applets
      gnome-audio gnome-backgrounds gnome-desktop gnome-desktop-libs
      gnome-doc-utils gnome-games gnome-icon-theme gnome-keyring gnome-media
      gnome-menus gnome-mime-data gnome-mount gnome-netstatus gnome-nettool
      gnome-panel gnome-power-manager gnome-python gnome-python-applet
      gnome-python-desktop gnome-python-extras gnome-python-gnomeprint
      gnome-python-libegg gnome-screensaver gnome-screenshot gnome-session
      gnome-settings-daemon gnome-system-monitor gnome-terminal gnome-themes
      gnome-user-docs gnome-utils gnome-vfs2 gnome-vfs2-smb gnome-volume-manager
      gnuchess gnupg gnutls gparted gpgme graphviz grep groff grub gsm gstreamer
      gstreamer-plugins gstreamer-plugins-base gstreamer-plugins-good
      gstreamer-python gthumb gtk-vnc gtk-xfce-engine gtk2 gtk2-engines gtkglext
      gtkmm2 gtksourceview2 gtkspell gucharmap guile gvfs gvfs-archive gvfs-fuse
      gvfs-gphoto2 gvfs-obexftp gvfs-smb gzip hal hal-info hardinfo hdparm
      hicolor-icon-theme hwdata ilmbase indent info initscripts inkscape
      install-info intltool iproute iptables iputils ipw2100-firmware
      ipw2200-firmware irb irqbalance iso-codes iwlwifi-1000-ucode
      iwlwifi-3945-ucode iwlwifi-4965-ucode iwlwifi-5000-ucode iwlwifi-5150-ucode
      iwlwifi-6000-ucode iwlwifi-6050-ucode jasper-libs jed jman_pages jvf kasumi
      kbd kernel-doc kernel-headers kernel-source keyutils-libs kpartx krb5-libs
      kudzu lcms leafpad less lftp lha libICE libIDL libSM libX11 libXScrnSaver
      libXTrap libXau libXaw libXcomposite libXcursor libXdamage libXdmcp libXext
      libXfixes libXfont libXfontcache libXft libXi libXinerama libXmu libXp libXpm
      libXrandr libXrender libXres libXt libXtst libXv libXvMC libXxf86dga
      libXxf86misc libXxf86vm libacl libao libarchive libart_lgpl libattr
      libavc1394 libbonobo libbonoboui libburn libcanberra libcanberra-gtk2 libcap
      libcdio libcompizconfig libcroco libdaemon libdmx libdrm libdv liberuby
      libevent libexif libexpat libffi libfontenc libgcc libgcrypt libggz libgksu
      libglade2 libglademm2 libgnome libgnomecanvas libgnomecups libgnomekbd
      libgnomeprint libgnomeprintui libgnomeui libgpg-error libgphoto2 libgpod
      libgsf libgtop2 libgweather libical libidn libisofs libkpathsea libmng libmtp
      libmusicbrainz libnfsidmap libnl libnotify libogg liboil libotf libpaper
      libpciaccess libpng libproxy libproxy-bin libproxy-mozjs libproxy-python
      libpurple libraw1394 librsvg2 libruby libsamplerate libsexy libsigc++
      libsigsegv libsmbclient libsmbios libsndfile libsoup libspectre libtalloc
      libtasn1 libtdb libtheora libtiff libtool libtool-ltdl libusb libuser
      libutempter libv4l libvisual libvorbis libwmf libwnck libx86 libxcb
      libxkbfile libxklavier libxml2 libxml2-python libxslt lirc logrotate lua lv
      lvm2 lzma-libs lzo m4 mailcap mailx make man-pages mdadm meld mesa-demos
      mesa-libGL mesa-libGLU mesa-libOSMesa metacity mew mew-common mingetty
      mkinitrd mkkpkg mktcapdir mod_ssl-apache2 module-init-tools mpage nash
      nautilus ncurses ncurses-devel neon net-tools netpbm netpbm-progs newt
      nfs-utils nkf notification-daemon notify-python nscd nspr nss nss_ldap
      ntfs-3g ntfsprogs ntp ntsysv obex-data-server opal open-iscsi openMotif
      openjpeg openldap openobex openssh openssh-askpass-gnome openssh-clients
      openssh-server openssl pam pango pangomm parted passwd patch patchutils
      pavucontrol pciutils pciutils-libs pcmciautils pcre perl perl-Date-Manip
      perl-HTML-Parser perl-HTML-Tagset perl-Parse-Yapp perl-SVG perl-SVG-Parser
      perl-String-CRC32 perl-Tk perl-Tk-TableMatrix perl-URI perl-XML-Encoding
      perl-XML-LibXML perl-XML-NamespaceSupport perl-XML-Parser perl-XML-SAX
      perl-libwww-perl pidgin pixman pkgconfig pm-utils poppler poppler-data popt
      postfix ppp procmail procps proftpd psmisc ptlib pulseaudio
      pulseaudio-core-libs pulseaudio-esound-compat pulseaudio-libs
      pulseaudio-libs-glib2 pulseaudio-module-bluetooth pulseaudio-module-gconf
      pulseaudio-module-x11 pulseaudio-utils pump pycairo pygobject pygtk2
      pygtk2-libglade pygtkglext pygtksourceview pyorbit python python-docs
      python-numeric python-setuptools python-sexy pyxf86config qt4 quota rail
      rarian rarian-compat rdesktop readline readline-devel reiserfsprogs rhpl
      rhpxl rhythmbox riece rootfiles rp-pppoe rpm rpm-build rpm-libs rpm-python
      rpminstall rpmver rsh rsync ruby ruby-docs ruby-mode ruby-openssl ruby-tcltk
      samba samba-client samba-common samba-doc samba-domainjoin-gui samba-swat
      samba-winbind scim scim-anthy scim-bridge scim-bridge-gtk scim-bridge-qt4
      screen sed self-build-setup semi setup shadow-utils shared-mime-info
      simple-ccsm slang slocate smbios-utils sound-juicer sound-theme-freedesktop
      sox speex sqlite3 squashfs-tools startup-notification strace subversion sudo
      sylpheed synaptic sysfsutils system-config-boot system-config-date
      system-config-display system-config-keyboard system-config-language
      system-config-lvm system-config-network system-config-network-tui
      system-config-printer system-config-printer-libs system-config-securitylevel
      system-config-securitylevel-tui system-config-services system-config-users
      t1lib taglib tamago tar tcl tcp_wrappers tcsh telnet texinfo thunderbird time
      tk tmpwatch totem-mozilla totem-pl-parser traceroute transmission tsclient
      tuxonice-userui tzdata udev unionfs-utils unique unixODBC unzip update-watch
      urw-fonts usbutils usermode usermode-gtk vbetool vconfig vim-man vim-tiny
      vinagre vine-app-install vine-app-install-data
      vine-app-install-data-screenshots vine-backgrounds vine-keyring vine-logos
      vine-menus vine-release vino vixie-cron vte vutils vutils-gui w3m w3m-img
      wget which wireless-tools words wpa_supplicant xchat xdg-user-dirs
      xdg-user-dirs-gtk xdg-utils xfsprogs xinetd xkeyboard-config xml-common
      xorg-x11-apps xorg-x11-drivers xorg-x11-drv-acecad xorg-x11-drv-aiptek
      xorg-x11-drv-apm xorg-x11-drv-ast xorg-x11-drv-ati xorg-x11-drv-cirrus
      xorg-x11-drv-dummy xorg-x11-drv-elographics xorg-x11-drv-evdev
      xorg-x11-drv-fbdev xorg-x11-drv-fpit xorg-x11-drv-geode xorg-x11-drv-glint
      xorg-x11-drv-hyperpen xorg-x11-drv-i128 xorg-x11-drv-i740 xorg-x11-drv-intel
      xorg-x11-drv-keyboard xorg-x11-drv-mach64 xorg-x11-drv-mga xorg-x11-drv-mouse
      xorg-x11-drv-mutouch xorg-x11-drv-neomagic xorg-x11-drv-nv
      xorg-x11-drv-openchrome xorg-x11-drv-penmount xorg-x11-drv-r128
      xorg-x11-drv-rendition xorg-x11-drv-s3virge xorg-x11-drv-savage
      xorg-x11-drv-siliconmotion xorg-x11-drv-sis xorg-x11-drv-sisusb
      xorg-x11-drv-synaptics xorg-x11-drv-tdfx xorg-x11-drv-trident
      xorg-x11-drv-v4l xorg-x11-drv-vesa xorg-x11-drv-vmmouse xorg-x11-drv-vmware
      xorg-x11-drv-void xorg-x11-drv-voodoo xorg-x11-filesystem xorg-x11-font-utils
      xorg-x11-fonts-misc xorg-x11-server-Xorg xorg-x11-server-common
      xorg-x11-server-utils xorg-x11-utils xorg-x11-xauth xorg-x11-xdm
      xorg-x11-xinit xorg-x11-xkb-utils xorg-x11-xsm xterm xulrunner yatex yelp
      zd1211-firmware zenity zip zsh
    以下のパッケージがリプレースされます:
      SysVinit (by upstart)  Vine-manual (by vine-tex-guide, vine-manual-base) 
      bootsplash (by plymouth)  cdrtools-cdda2wav (by icedax)  cdrtools-cdrecord
      (by wodim)  cdrtools-mkisofs (by genisoimage)  dvipdfmx (by texlive-common) 
      eel2 (by nautilus)  gnome-keyring-manager (by seahorse)  hpijs (by hplip) 
      htmlview (by xdg-utils)  kernel-firmware (by linux-firmware)  libjpeg (by
      libjpeg-turbo)  libstdc++34 (by libstdc++)  libstdc++34-devel (by
      libstdc++-devel)  man (by man-db)  nautilus-cd-burner (by brasero) 
      openssh-askpass (by openssh-askpass-gnome)  portmap (by rpcbind)  tetex (by
      texlive-common)  tetex-macros (by texlive-macros)  totem-common (by totem) 
      totem-gstreamer (by totem)  xdvik (by texlive-common)  xdvik-motif (by
      texlive-common)
    以下のパッケージが削除されます:
      perl-libxml-enno tetex-extra
    以下のパッケージが新たにインストールされます:
      ImageMagick-c++ ModemManager SysVinit-tools WebKit-gtk atkmm clutter
      clutter-gtk db4-utils device-mapper-event device-mapper-event-libs
      docbook-dtds flac gamin-python gdk-pixbuf2 genisoimage geoclue glew gmime
      gnome-disk-utility-libs gnome-keyring-pam gnome-panel-libs
      gnome-python-gnomekeyring gnome-python-rsvg gobject-introspection grubby gsl
      hplip hplip-libs icedax isomd5sum jack-audio-connection-kit json-glib
      kernel#2.6.35-21vl6 kernel#3.0.38-1vl6 kernel-devel#3.0.38-1vl6 libassuan
      libasyncns libatasmart libcddb libdiscid libedit libemf libfreebob libgdata
      libgnome-keyring libgomp libgssglue libgudev1 libicu libiec61883
      libimobiledevice libjpeg-turbo libmusicbrainz3 libnih libplist libptexenc
      libstdc++ libstdc++-devel libtirpc libudev libusb1 libvpx linux-firmware
      lua-rex lvm2-libs m17n-lib man-db mobile-broadband-provider-info mpfr mtools
      nas-libs nautilus-libs net-snmp oniguruma orc perl-DBD-SQLite perl-DBI
      perl-XML-DOM perl-XML-RegExp perl-XML-XQL perl-YAML-Syck plymouth
      plymouth-core-libs plymouth-graphics-libs plymouth-plugin-script
      plymouth-scripts plymouth-system-theme plymouth-theme-script polkit
      polkit-gnome poppler-utils pyOpenSSL python-Coherence python-configobj
      python-decorator python-ethtool python-imaging python-iwlib python-lxml
      python-slip python-slip-dbus python-slip-gtk python-smbios python-twisted
      python-zope-interface pyxdg qt quvi rpcbind samba-winbind-clients sane
      seahorse sg3_utils-libs sgml-common slang-slsh smbios-utils-bin
      smbios-utils-python smp_utils system-config-services-docs
      system-setup-keyboard texlive texlive-collection-basic
      texlive-collection-fontsrecommended texlive-collection-langcyrillic
      texlive-collection-langgerman texlive-collection-latex
      texlive-collection-latexrecommended texlive-collection-xetex texlive-common
      texlive-macros totem transmission-cli transmission-common transmission-gtk
      udisks upower upstart usbmuxd vine-manual-base vine-tex-guide vorbis-tools
      wodim xcb-util xorg-x11-drv-nouveau xorg-x11-drv-wacom xz xz-libs
    アップグレード: 779 個, 新規インストール: 147 個, リプレース: 25 個, 削除: 2 個, 保留: 0 個
    1277MB のアーカイブを取得する必要があります。
    展開後に 875MB のディスク容量が追加消費されます。
    続行しますか? [Y/n]
    ...
    (以下省略)
    

    パッケージの取得とアップグレードには長い時間がかかります。正常に終了したら再起動し、Vine Linux 6.1 にアップグレードされていることを確認しましょう。

    商用パッケージや自家製のパッケージなど、Vine Linux / Vine Plus で配布されたものではないパッケージがインストールされている環境では、dist-upgrade 実行時に更にエラーが表示される場合があります。その際は、いちどそれらのパッケージを削除した状態で試してみるなどして下さい。


    新規導入されたパッケージの追加インストール

    Vine Linux 5.x にはなく、Vine Linux 6.x で導入されたパッケージは、この方法ではインストールされていませんので、必要に応じてインストールする必要があります。

    たとえば、Vine Linux 5.x でのデスクトップ環境での日本語入力システムは scim + anthy でしたが、Vine Linux 6.x からは IBus + Mozc に変更されていますので、IBus + Mosc を導入したい場合には、手動で追加インストールする必要があります。

    $ sudo apt-get install ibus-mozc
    パッケージリストを読みこんでいます... 完了
    依存情報ツリーを作成しています... 完了        
    以下の追加パッケージがインストールされます:
      ibus mozc-server protobuf
    以下のパッケージが新たにインストールされます:
      ibus ibus-mozc mozc-server protobuf
    アップグレード: 0 個, 新規インストール: 4 個, 削除: 0 個, 保留: 0 個
    17.8MB のアーカイブを取得する必要があります。
    展開後に 30.5MB のディスク容量が追加消費されます。
    続行しますか? [Y/n]
    取得:1 http://updates.vinelinux.org 6/i386/main ibus 1.3.9-6vl6 [908kB]
    取得:2 http://updates.vinelinux.org 6/i386/main protobuf 2.3.0-3vl6 [393kB]
    取得:3 http://updates.vinelinux.org 6/i386/main mozc-server 1.5.1090.102-1vl6 [15.8MB]
    取得:4 http://updates.vinelinux.org 6/i386/main ibus-mozc 1.5.1090.102-1vl6 [617kB]
    17.8MB を 2s 秒で取得しました (7793kB/s)
    変更を適用しています...
    準備中                                ############################## [100%]
    更新/インストール中
      protobuf-2.3.0-3vl6.i686               ############################## [100%]
      mozc-server-1.5.1090.102-1vl6.i686     ############################## [100%]
      ibus-1.3.9-6vl6.i686                   ############################## [100%]
      ibus-mozc-1.5.1090.102-1vl6.i686       ############################## [100%]
    完了
    

    おわりに

    Vine Linux Magazine では、Vine Linux に関する様々な情報、小ネタ、Tips、ノウハウ(バッドノウハウ含む)、活用事例などを書いていただける方を募集しています。また、「XXの記事を書いて欲しい」などのご要望なども随時お待ちしておりますので、ML や Twitter のハッシュタグ #VineLinux、IRC、個別メールなどでお知らせください。


    参考リンク

    ]]>
    2012-07-30T00:00:00+09:00 <![CDATA[

    2012年7月30日、Project Vine は待望の最新バージョン Vine Linux 6.1 のリリース を発表しました。 Vine Linux 6.0 リリース以後のセキュリティ修正、バグフィックスはもちろん、 SandyBridge / IvyBridge への対応強化や、Kernel を 3.0.38 にあげるなど、 マイナーバージョンが 1 あがっただけとしては意欲的なアップグレードと なっています。

    その一方で、前メジャーバージョンである Vine Linux 5 系列のサポートが切れる 2012年8月6日(最新メジャーバージョン Vine Linux 6 系列が最初にリリースされた 2011年8月6日から一年目)も、徐々に近づいており、その日を過ぎると セキュリティ修正やバグフィックスなどは行われなくなりますので、 Vine 5.x をお使いの皆さんは早めのアップグレードをおすすめします。

    本記事では、Vine Linux 5.x から Vine Linux 6.x へのアップグレード方法について 概説を行います。


    なにはともあれバックアップを

    システムのアップグレード中に起こりうる、万が一のトラブル (アップグレードに失敗する、システムが起動しなくなる、ディスク容量を超えてしまう、ディスクが破損する、ハードウェア対応に問題が起こり正常に動作しなくなる、など) に備え、可能な限り バックアップ をとっておくことをおすすめします。

    システム全体のダンプ (dd によるディスクイメージ全体のバックアップ、 dump によるファイルシステムのダンプ、など) を用意した別のハードディスクや他ホスト上に取得しておけば、 万が一の場合の復旧にも安心ですが、 最低でもユーザのホームディレクトリ(/home/ 以下)や、 各種設定ファイル(/etc/ 以下)、 データベースファイルなど(/var/ 以下)のバックアップだけでも 行っておくようにしましょう。


    アップグレードの実際

    Vine Linux システムのアップグレードは、基本的にパッケージ単位で行われます。

    1. 現在インストールされているパッケージのより新しいバージョンに差し替え
    2. Vine Linux 6 以降で新しく導入されたパッケージ群の新規インストール

    DVD メディア (や DVD メディアを書き込んだ USB メディア) からのアップグレードの場合は、この両者について最大限考慮した上でパッケージ群のアップグレードが行われますが、apt-get を使ったアップグレードの場合は、後者のパッケージ群については考慮されないことに注意して下さい。

    また、Vine Linux 5.x から Vine Linux 6.1 へアップグレードする前に、 Vine Linux 5 系列の最新状態(Vine Linux 5.2 + updates)にしておくと、 アップグレード時のトラブルを最小限に抑えられる可能性があります。

    $ rpm -qa | grep apt-sourceslist-
    apt-sourceslist-main-1.2-1vl5
    apt-sourceslist-nonfree-1.2-1vl5
    apt-sourceslist-plus-1.2-1vl5
    

    となっていることを確認し、/etc/apt/sources.list/etc/apt/sources.list.d/ 以下のファイルでも Vine Linux 5.2 の apt リポジトリを向いていることを確認の上で、

    $ sudo apt-get update
    $ sudo apt-get dist-upgrade
    

    を実行し、Vine Linux 5 系列の最新状態(Vine Linux 5.2 + updates)に アップグレードしておくとよいでしょう。


    DVD/USB メディアを使ったアップグレード

    Project Vine が推奨するアップグレード方法です。

    Vine Linux では、インストールイメージとして CD メディア用と DVD メディア用の 2種類を用意していますが、DVD メディア用の方が より多くのパッケージを収録していますので、アップグレード時の 問題がより発生しにくいと期待できます。

    また、DVD ドライブを装備していないマシンであっても、 よほど古いマシンでなければ USB からの起動が可能ですので、 USB メモリメディア (2GB 以上)に DVD インストーライメージを 書き込み、USB メディアからインストーラを起動することが可能です。 この方法については Vine Linux 6 インストールガイド (Microsoft Windows の場合Linux の場合) を参照して下さい。

    インストールメディアの準備ができたら、実際にインストーラを起動します。

    そのあとは、 Vine Linux 6 インストールガイド に従い、アップグレード作業を行って下さい。 インストーラが、既存のハードディスク上にインストールされている Vine Linux 5.x を検出し、 「既存インストールのアップグレード」 という項目を表示するはずです。

    インストーラによるアップグレードが済んだ場合、システム再起動後にも若干の作業が必要です。再起動し、ログイン後に以下のコマンドを実行して、アップグレードを完了して下さい。

    $ sudo apt-get update
    $ sudo apt-get dist-upgrade
    

    CD メディアを使ったアップグレード、または Vine Linux / Vine Plus 以外のパッケージ(商用パッケージや自家製のパッケージなど)がインストールされていた環境では、以下のメッセージが出る事があります。

    これらを解決するためには 'apt-get --fix-broken install' を実行する必要があるかもしれません。
    以下のパッケージは解決できない依存関係を持っています:
    (中略)
    E: 未解決の依存関係があります。--fix-broken オプションをためして下さい。
    

    この場合、以下の手順を実行して下さい。

    $ sudo apt-get -f install
    $ sudo apt-get dist-upgrade
    

    apt-get によるアップグレード

    推奨はしませんが、

    • わざわざインストーラメディアを用意したくない場合
    • サーバ用に使用しており最小限のパッケージしかインストールされておらず、
      わざわざインストーラを起動せずにアップグレードしたい場合
    • あるいは実機が遠隔地にありメディアを利用するのが困難である場合

    などには、現在動いている Vine Linux 5.2 上から直接アップグレードを行うことが可能です。

    ただし、この場合は、現在動いているシステムを直接書き換えることになるため、 アップグレード時にトラブルがより発生しやすくなる可能性があります。 特に、Vine Linux 5.x と Vine Linux 6.1 では rpm のバージョンが異なっているため、 rpmapt-get の実行順序によっては、 rpm データベースが破損してしまう可能性もありますので、 システム全体のバックアップを必ず取っておいて下さい。

    原則としては、上で記した、DVD/USB メディアからのアップグレードをおすすめします。


    apt-sourceslist-* の入れ替え

    手動アップグレードに備えて、apt のリポジトリを Vine Linux 6.x に向けます。 apt-sourceslist-mainapt-sourceslist-plusapt-sourceslist-nonfreewget などを使ってダウンロード後、以下のコマンドを実行してインストールします。

    $ sudo apt-get install apt-sourceslist-*
    パッケージリストを読みこんでいます... 完了
    依存情報ツリーを作成しています... 完了        
    'apt-sourceslist-main-1.4-1vl6.noarch.rpm' として apt-sourceslist-main を選択しました
    'apt-sourceslist-nonfree-1.4-1vl6.noarch.rpm' として apt-sourceslist-nonfree を選択しました
    'apt-sourceslist-plus-1.4-1vl6.noarch.rpm' として apt-sourceslist-plus を選択しました
    以下のパッケージがアップグレードされます:
      apt-sourceslist-main apt-sourceslist-nonfree apt-sourceslist-plus
    アップグレード: 3 個, 新規インストール: 0 個, 削除: 0 個, 保留: 0 個
    0B/10.9kB のアーカイブを取得する必要があります。
    展開後に 54B が解放されます。
    変更を適用しています...
    準備中                                ############################## [100%]
    更新/インストール中
      apt-sourceslist-main-1.4-1vl6.noarch   ############################## [100%]
      apt-sourceslist-nonfree-1.4-1vl6.noarc ############################## [100%]
      apt-sourceslist-plus-1.4-1vl6.noarch   ############################## [100%]
    クリーニング/削除中
      apt-sourceslist-main-1.2-1vl5.noarch   ############################## [100%]
      apt-sourceslist-nonfree-1.2-1vl5.noarc ############################## [100%]
      apt-sourceslist-plus-1.2-1vl5.noarch   ############################## [100%]
    完了
    

    /etc/apt/sources.list ファイルに別途リポジトリを記述していたり、/etc/apt/sources.list.d/ 以下のファイルを修正している場合は、それらのファイル上のリポジトリが正しく 6 を向いていることを確認して下さい。


    dist-upgrade の実行

    では、apt-get を使って Vine Linux 6.1 へのアップグレードを 実際に行います。ここでは、VirtualBox 上に DVD イメージからインストールした Vine Linux 5.2 (i386) + updates 環境を、Vine Linux 6.1 (i386) に アップグレードしています。

    まずは apt-get update から行います。 正しく Vine Linux 6.x のリポジトリを取得していることを確認して下さい。

    $ sudo apt-get update
    取得:1 http://updates.vinelinux.org 6/i386 release [1937B]
    1937B を 0s 秒で取得しました (12.4kB/s)
    取得:1 http://updates.vinelinux.org 6/i386/main pkglist [538kB]
    取得:2 http://updates.vinelinux.org 6/i386/main release [162B]
    取得:3 http://updates.vinelinux.org 6/i386/updates pkglist [81.8kB]
    取得:4 http://updates.vinelinux.org 6/i386/updates release [163B]
    取得:5 http://updates.vinelinux.org 6/i386/main srclist [240kB]
    取得:6 http://updates.vinelinux.org 6/i386/updates srclist [23.2kB]
    取得:7 http://updates.vinelinux.org 6/i386/nonfree pkglist [40.3kB]
    取得:8 http://updates.vinelinux.org 6/i386/nonfree release [164B]
    取得:9 http://updates.vinelinux.org 6/i386/nonfree srclist [29.0kB]
    取得:10 http://updates.vinelinux.org 6/i386/plus pkglist [1129kB]
    取得:11 http://updates.vinelinux.org 6/i386/plus release [163B]
    取得:12 http://updates.vinelinux.org 6/i386/plus srclist [528kB]
    2610kB を 1s 秒で取得しました (1431kB/s)        
    パッケージリストを読みこんでいます... 完了
    依存情報ツリーを作成しています... 完了
    

    続いて apt-get dist-upgrade によるアップグレードを行いますが、恐らく次のようなメッセージが出るはずです。

    $ sudo apt-get dist-upgrade
    パッケージリストを読みこんでいます... 完了
    依存情報ツリーを作成しています... 完了        
    アップグレードパッケージを検出しています... 失敗
    以下のパッケージは解決できない依存関係を持っています:
      util-linux: 廃止: util-linux-ng (< 2.19)
    E: *エラー* pkgProblemResolver::Resolve は停止しました。おそらくホールドされたパッケージが原因でしょう。
    

    これは、Vine Linux 5.x で必須パッケージとして指定されている util-linux-ng が、Vine Linux 6.x では util-linux に置き換えられていることが原因です。先に util-linux だけ差し替えておきます。

    $ sudo apt-get install util-linux
    パッケージリストを読みこんでいます... 完了
    依存情報ツリーを作成しています... 完了        
    以下の追加パッケージがインストールされます:
      binutils e2fsprogs glibc glibc-common glibc-devel glibc-headers libblkid
      libmount libuuid zlib
    以下のパッケージがアップグレードされます:
      binutils e2fsprogs glibc glibc-common glibc-devel glibc-headers zlib
    以下のパッケージがリプレースされます:
      util-linux-ng (by util-linux)
    以下のパッケージが新たにインストールされます:
      libblkid libmount libuuid util-linux
    アップグレード: 7 個, 新規インストール: 4 個, リプレース: 1 個, 削除: 0 個, 保留: 780 個
    28.9MB のアーカイブを取得する必要があります。
    展開後に 26.4MB のディスク容量が追加消費されます。
    続行しますか? [Y/n]
    取得:1 http://updates.vinelinux.org 6/i386/main zlib 1.2.5-2vl6 [59.1kB]
    取得:2 http://updates.vinelinux.org 6/i386/main binutils 2.20.51.0.12-1vl6 [3849kB]
    取得:3 http://updates.vinelinux.org 6/i386/main glibc-headers 2.11.1-9vl6 [652kB]
    取得:4 http://updates.vinelinux.org 6/i386/main glibc-devel 2.11.1-9vl6 [1034kB]
    取得:5 http://updates.vinelinux.org 6/i386/main glibc 2.11.1-9vl6 [12.1MB]
    取得:6 http://updates.vinelinux.org 6/i386/main glibc-common 2.11.1-9vl6 [7442kB]
    取得:7 http://updates.vinelinux.org 6/i386/main libuuid 2.19-2vl6 [56.8kB]
    取得:8 http://updates.vinelinux.org 6/i386/main libblkid 2.19-2vl6 [126kB]
    取得:9 http://updates.vinelinux.org 6/i386/main e2fsprogs 1.41.14-1vl6 [928kB]
    取得:10 http://updates.vinelinux.org 6/i386/main libmount 2.19-2vl6 [116kB]
    取得:11 http://updates.vinelinux.org 6/i386/main util-linux 2.19-2vl6 [2560kB]
    28.9MB を 5s 秒で取得しました (5411kB/s)
    変更を適用しています...
    準備中                                ############################## [100%]
    更新/インストール中
      glibc-2.11.1-9vl6.i686                 ############################## [100%]
      libuuid-2.19-2vl6.i686                 ############################## [100%]
      libblkid-2.19-2vl6.i686                ############################## [100%]
      zlib-1.2.5-2vl6.i686                   ############################## [100%]
      glibc-common-2.11.1-9vl6.i686          ############################## [100%]
      glibc-headers-2.11.1-9vl6.i686         ############################## [100%]
      glibc-devel-2.11.1-9vl6.i686           ############################## [100%]
      e2fsprogs-1.41.14-1vl6.i686            ############################## [100%]
      libmount-2.19-2vl6.i686                ############################## [100%]
      binutils-2.20.51.0.12-1vl6.i686        ############################## [100%]
      util-linux-2.19-2vl6.i686              ############################## [100%]
    クリーニング/削除中
      zlib-1.2.3-4vl5.i386                   ############################## [100%]
      binutils-2.18.50.0.9-3vl5.i386         ############################## [100%]
      glibc-headers-2.8-6vl5.i386            ############################## [100%]
      glibc-devel-2.8-6vl5.i386              ############################## [100%]
      glibc-2.8-6vl5.i386                    ############################## [100%]
      glibc-common-2.8-6vl5.i386             ############################## [100%]
      e2fsprogs-1.41.4-1vl5.i386             ############################## [100%]
      util-linux-ng-2.14.1-2vl5.i386         ############################## [100%]
    完了
    reboot required.
    

    util-linux の依存関係に従い、glibc なども同時に差し替えられました。画面に表示されている通り、念のためシステムを再起動しておきましょう。

    再起動し、ログインしたら、いよいよ全体のアップグレードを始めます。

    $ sudo apt-get dist-upgrade
    パッケージリストを読みこんでいます... 完了
    依存情報ツリーを作成しています... 完了        
    アップグレードパッケージを検出しています... 完了
    以下のパッケージがアップグレードされます:
      ConsoleKit ConsoleKit-libs ConsoleKit-x11 GConf2 ImageMagick JF MAKEDEV
      NetworkManager NetworkManager-glib NetworkManager-gnome ORBit2 OpenEXR-libs
      PolicyKit PolicyKit-gnome PolicyKit-gnome-libs PyOpenGL SDL
      TrueType-ipafont-doc TrueType-ipafont-mincho TrueType-vlgothic Xaw3d aalib
      acl acpid alsa-firmware alsa-lib alsa-plugins-pulseaudio alsa-tools
      alsa-tools-firmware alsa-utils alternatives anacron anthy apache2 apel apr
      apr-util apt arts aspell aspell-el at atk audiofile audit-libs authconfig
      authconfig-gtk autoconf autofs automake avahi avahi-glib avahi-gobject
      avahi-tools avahi-ui babl backintime-common backintime-gnome basesystem bash
      bc bcm43xx-fwcutter beecrypt bind bind-libs bind-utils bison blueman bluez
      bluez-alsa bluez-cups bluez-firmware bluez-gstreamer bluez-hcidump bluez-libs
      brasero brasero-libs build-essential byacc bzip2 cairo cairomm ccsm
      cdparanoia cdrdao cheese chkconfig compiz compiz-bcop compiz-gnome
      compiz-plugins compiz-plugins-extra compiz-plugins-extra-gnome
      compiz-plugins-gnome compizconfig-backend-gconf compizconfig-python
      control-center convmv coreutils cpio cpufrequtils cpuspeed cracklib
      cracklib-dicts crontabs ctags cups cups-libs cups-pdf curl cvs cyrus-sasl
      cyrus-sasl-md5 cyrus-sasl-plain dash db4 dbus dbus-glib dbus-python dbus-x11
      desktop-file-utils dev86 device-mapper device-mapper-libs dhclient dhcp dia
      diffstat diffutils dkms dmidecode dmraid dnsmasq dosfstools dovecot
      dvd+rw-tools ed eject ekiga elfutils elfutils-libelf elfutils-libs emacs
      emacsen-common enchant eog eplaser-cups eruby esound-libs etcskel ethtool
      evince evolution-data-server exiv2 expat file file-roller filesystem
      findutils firefox firstboot firstboot-tui flex flim fltk fontconfig foomatic
      freeglut freetype2 ftdumps ftp fuse fxload gamin gawk gc gcalctool gcc
      gcc-c++ gcc-cpp gconf-editor gd gdbm gdm gedit gedit-plugins geeqie gegl
      gettext gettext-devel gettext-libs gftp ggz-client-libs ghostscript
      ghostscript-fonts giflib gimp gksu glib2 glibmm glx-utils gmp gnome-applets
      gnome-audio gnome-backgrounds gnome-desktop gnome-desktop-libs
      gnome-doc-utils gnome-games gnome-icon-theme gnome-keyring gnome-media
      gnome-menus gnome-mime-data gnome-mount gnome-netstatus gnome-nettool
      gnome-panel gnome-power-manager gnome-python gnome-python-applet
      gnome-python-desktop gnome-python-extras gnome-python-gnomeprint
      gnome-python-libegg gnome-screensaver gnome-screenshot gnome-session
      gnome-settings-daemon gnome-system-monitor gnome-terminal gnome-themes
      gnome-user-docs gnome-utils gnome-vfs2 gnome-vfs2-smb gnome-volume-manager
      gnuchess gnupg gnutls gparted gpgme graphviz grep groff grub gsm gstreamer
      gstreamer-plugins gstreamer-plugins-base gstreamer-plugins-good
      gstreamer-python gthumb gtk-vnc gtk-xfce-engine gtk2 gtk2-engines gtkglext
      gtkmm2 gtksourceview2 gtkspell gucharmap guile gvfs gvfs-archive gvfs-fuse
      gvfs-gphoto2 gvfs-obexftp gvfs-smb gzip hal hal-info hardinfo hdparm
      hicolor-icon-theme hwdata ilmbase indent info initscripts inkscape
      install-info intltool iproute iptables iputils ipw2100-firmware
      ipw2200-firmware irb irqbalance iso-codes iwlwifi-1000-ucode
      iwlwifi-3945-ucode iwlwifi-4965-ucode iwlwifi-5000-ucode iwlwifi-5150-ucode
      iwlwifi-6000-ucode iwlwifi-6050-ucode jasper-libs jed jman_pages jvf kasumi
      kbd kernel-doc kernel-headers kernel-source keyutils-libs kpartx krb5-libs
      kudzu lcms leafpad less lftp lha libICE libIDL libSM libX11 libXScrnSaver
      libXTrap libXau libXaw libXcomposite libXcursor libXdamage libXdmcp libXext
      libXfixes libXfont libXfontcache libXft libXi libXinerama libXmu libXp libXpm
      libXrandr libXrender libXres libXt libXtst libXv libXvMC libXxf86dga
      libXxf86misc libXxf86vm libacl libao libarchive libart_lgpl libattr
      libavc1394 libbonobo libbonoboui libburn libcanberra libcanberra-gtk2 libcap
      libcdio libcompizconfig libcroco libdaemon libdmx libdrm libdv liberuby
      libevent libexif libexpat libffi libfontenc libgcc libgcrypt libggz libgksu
      libglade2 libglademm2 libgnome libgnomecanvas libgnomecups libgnomekbd
      libgnomeprint libgnomeprintui libgnomeui libgpg-error libgphoto2 libgpod
      libgsf libgtop2 libgweather libical libidn libisofs libkpathsea libmng libmtp
      libmusicbrainz libnfsidmap libnl libnotify libogg liboil libotf libpaper
      libpciaccess libpng libproxy libproxy-bin libproxy-mozjs libproxy-python
      libpurple libraw1394 librsvg2 libruby libsamplerate libsexy libsigc++
      libsigsegv libsmbclient libsmbios libsndfile libsoup libspectre libtalloc
      libtasn1 libtdb libtheora libtiff libtool libtool-ltdl libusb libuser
      libutempter libv4l libvisual libvorbis libwmf libwnck libx86 libxcb
      libxkbfile libxklavier libxml2 libxml2-python libxslt lirc logrotate lua lv
      lvm2 lzma-libs lzo m4 mailcap mailx make man-pages mdadm meld mesa-demos
      mesa-libGL mesa-libGLU mesa-libOSMesa metacity mew mew-common mingetty
      mkinitrd mkkpkg mktcapdir mod_ssl-apache2 module-init-tools mpage nash
      nautilus ncurses ncurses-devel neon net-tools netpbm netpbm-progs newt
      nfs-utils nkf notification-daemon notify-python nscd nspr nss nss_ldap
      ntfs-3g ntfsprogs ntp ntsysv obex-data-server opal open-iscsi openMotif
      openjpeg openldap openobex openssh openssh-askpass-gnome openssh-clients
      openssh-server openssl pam pango pangomm parted passwd patch patchutils
      pavucontrol pciutils pciutils-libs pcmciautils pcre perl perl-Date-Manip
      perl-HTML-Parser perl-HTML-Tagset perl-Parse-Yapp perl-SVG perl-SVG-Parser
      perl-String-CRC32 perl-Tk perl-Tk-TableMatrix perl-URI perl-XML-Encoding
      perl-XML-LibXML perl-XML-NamespaceSupport perl-XML-Parser perl-XML-SAX
      perl-libwww-perl pidgin pixman pkgconfig pm-utils poppler poppler-data popt
      postfix ppp procmail procps proftpd psmisc ptlib pulseaudio
      pulseaudio-core-libs pulseaudio-esound-compat pulseaudio-libs
      pulseaudio-libs-glib2 pulseaudio-module-bluetooth pulseaudio-module-gconf
      pulseaudio-module-x11 pulseaudio-utils pump pycairo pygobject pygtk2
      pygtk2-libglade pygtkglext pygtksourceview pyorbit python python-docs
      python-numeric python-setuptools python-sexy pyxf86config qt4 quota rail
      rarian rarian-compat rdesktop readline readline-devel reiserfsprogs rhpl
      rhpxl rhythmbox riece rootfiles rp-pppoe rpm rpm-build rpm-libs rpm-python
      rpminstall rpmver rsh rsync ruby ruby-docs ruby-mode ruby-openssl ruby-tcltk
      samba samba-client samba-common samba-doc samba-domainjoin-gui samba-swat
      samba-winbind scim scim-anthy scim-bridge scim-bridge-gtk scim-bridge-qt4
      screen sed self-build-setup semi setup shadow-utils shared-mime-info
      simple-ccsm slang slocate smbios-utils sound-juicer sound-theme-freedesktop
      sox speex sqlite3 squashfs-tools startup-notification strace subversion sudo
      sylpheed synaptic sysfsutils system-config-boot system-config-date
      system-config-display system-config-keyboard system-config-language
      system-config-lvm system-config-network system-config-network-tui
      system-config-printer system-config-printer-libs system-config-securitylevel
      system-config-securitylevel-tui system-config-services system-config-users
      t1lib taglib tamago tar tcl tcp_wrappers tcsh telnet texinfo thunderbird time
      tk tmpwatch totem-mozilla totem-pl-parser traceroute transmission tsclient
      tuxonice-userui tzdata udev unionfs-utils unique unixODBC unzip update-watch
      urw-fonts usbutils usermode usermode-gtk vbetool vconfig vim-man vim-tiny
      vinagre vine-app-install vine-app-install-data
      vine-app-install-data-screenshots vine-backgrounds vine-keyring vine-logos
      vine-menus vine-release vino vixie-cron vte vutils vutils-gui w3m w3m-img
      wget which wireless-tools words wpa_supplicant xchat xdg-user-dirs
      xdg-user-dirs-gtk xdg-utils xfsprogs xinetd xkeyboard-config xml-common
      xorg-x11-apps xorg-x11-drivers xorg-x11-drv-acecad xorg-x11-drv-aiptek
      xorg-x11-drv-apm xorg-x11-drv-ast xorg-x11-drv-ati xorg-x11-drv-cirrus
      xorg-x11-drv-dummy xorg-x11-drv-elographics xorg-x11-drv-evdev
      xorg-x11-drv-fbdev xorg-x11-drv-fpit xorg-x11-drv-geode xorg-x11-drv-glint
      xorg-x11-drv-hyperpen xorg-x11-drv-i128 xorg-x11-drv-i740 xorg-x11-drv-intel
      xorg-x11-drv-keyboard xorg-x11-drv-mach64 xorg-x11-drv-mga xorg-x11-drv-mouse
      xorg-x11-drv-mutouch xorg-x11-drv-neomagic xorg-x11-drv-nv
      xorg-x11-drv-openchrome xorg-x11-drv-penmount xorg-x11-drv-r128
      xorg-x11-drv-rendition xorg-x11-drv-s3virge xorg-x11-drv-savage
      xorg-x11-drv-siliconmotion xorg-x11-drv-sis xorg-x11-drv-sisusb
      xorg-x11-drv-synaptics xorg-x11-drv-tdfx xorg-x11-drv-trident
      xorg-x11-drv-v4l xorg-x11-drv-vesa xorg-x11-drv-vmmouse xorg-x11-drv-vmware
      xorg-x11-drv-void xorg-x11-drv-voodoo xorg-x11-filesystem xorg-x11-font-utils
      xorg-x11-fonts-misc xorg-x11-server-Xorg xorg-x11-server-common
      xorg-x11-server-utils xorg-x11-utils xorg-x11-xauth xorg-x11-xdm
      xorg-x11-xinit xorg-x11-xkb-utils xorg-x11-xsm xterm xulrunner yatex yelp
      zd1211-firmware zenity zip zsh
    以下のパッケージがリプレースされます:
      SysVinit (by upstart)  Vine-manual (by vine-tex-guide, vine-manual-base) 
      bootsplash (by plymouth)  cdrtools-cdda2wav (by icedax)  cdrtools-cdrecord
      (by wodim)  cdrtools-mkisofs (by genisoimage)  dvipdfmx (by texlive-common) 
      eel2 (by nautilus)  gnome-keyring-manager (by seahorse)  hpijs (by hplip) 
      htmlview (by xdg-utils)  kernel-firmware (by linux-firmware)  libjpeg (by
      libjpeg-turbo)  libstdc++34 (by libstdc++)  libstdc++34-devel (by
      libstdc++-devel)  man (by man-db)  nautilus-cd-burner (by brasero) 
      openssh-askpass (by openssh-askpass-gnome)  portmap (by rpcbind)  tetex (by
      texlive-common)  tetex-macros (by texlive-macros)  totem-common (by totem) 
      totem-gstreamer (by totem)  xdvik (by texlive-common)  xdvik-motif (by
      texlive-common)
    以下のパッケージが削除されます:
      perl-libxml-enno tetex-extra
    以下のパッケージが新たにインストールされます:
      ImageMagick-c++ ModemManager SysVinit-tools WebKit-gtk atkmm clutter
      clutter-gtk db4-utils device-mapper-event device-mapper-event-libs
      docbook-dtds flac gamin-python gdk-pixbuf2 genisoimage geoclue glew gmime
      gnome-disk-utility-libs gnome-keyring-pam gnome-panel-libs
      gnome-python-gnomekeyring gnome-python-rsvg gobject-introspection grubby gsl
      hplip hplip-libs icedax isomd5sum jack-audio-connection-kit json-glib
      kernel#2.6.35-21vl6 kernel#3.0.38-1vl6 kernel-devel#3.0.38-1vl6 libassuan
      libasyncns libatasmart libcddb libdiscid libedit libemf libfreebob libgdata
      libgnome-keyring libgomp libgssglue libgudev1 libicu libiec61883
      libimobiledevice libjpeg-turbo libmusicbrainz3 libnih libplist libptexenc
      libstdc++ libstdc++-devel libtirpc libudev libusb1 libvpx linux-firmware
      lua-rex lvm2-libs m17n-lib man-db mobile-broadband-provider-info mpfr mtools
      nas-libs nautilus-libs net-snmp oniguruma orc perl-DBD-SQLite perl-DBI
      perl-XML-DOM perl-XML-RegExp perl-XML-XQL perl-YAML-Syck plymouth
      plymouth-core-libs plymouth-graphics-libs plymouth-plugin-script
      plymouth-scripts plymouth-system-theme plymouth-theme-script polkit
      polkit-gnome poppler-utils pyOpenSSL python-Coherence python-configobj
      python-decorator python-ethtool python-imaging python-iwlib python-lxml
      python-slip python-slip-dbus python-slip-gtk python-smbios python-twisted
      python-zope-interface pyxdg qt quvi rpcbind samba-winbind-clients sane
      seahorse sg3_utils-libs sgml-common slang-slsh smbios-utils-bin
      smbios-utils-python smp_utils system-config-services-docs
      system-setup-keyboard texlive texlive-collection-basic
      texlive-collection-fontsrecommended texlive-collection-langcyrillic
      texlive-collection-langgerman texlive-collection-latex
      texlive-collection-latexrecommended texlive-collection-xetex texlive-common
      texlive-macros totem transmission-cli transmission-common transmission-gtk
      udisks upower upstart usbmuxd vine-manual-base vine-tex-guide vorbis-tools
      wodim xcb-util xorg-x11-drv-nouveau xorg-x11-drv-wacom xz xz-libs
    アップグレード: 779 個, 新規インストール: 147 個, リプレース: 25 個, 削除: 2 個, 保留: 0 個
    1277MB のアーカイブを取得する必要があります。
    展開後に 875MB のディスク容量が追加消費されます。
    続行しますか? [Y/n]
    ...
    (以下省略)
    

    パッケージの取得とアップグレードには長い時間がかかります。正常に終了したら再起動し、Vine Linux 6.1 にアップグレードされていることを確認しましょう。

    商用パッケージや自家製のパッケージなど、Vine Linux / Vine Plus で配布されたものではないパッケージがインストールされている環境では、dist-upgrade 実行時に更にエラーが表示される場合があります。その際は、いちどそれらのパッケージを削除した状態で試してみるなどして下さい。


    新規導入されたパッケージの追加インストール

    Vine Linux 5.x にはなく、Vine Linux 6.x で導入されたパッケージは、この方法ではインストールされていませんので、必要に応じてインストールする必要があります。

    たとえば、Vine Linux 5.x でのデスクトップ環境での日本語入力システムは scim + anthy でしたが、Vine Linux 6.x からは IBus + Mozc に変更されていますので、IBus + Mosc を導入したい場合には、手動で追加インストールする必要があります。

    $ sudo apt-get install ibus-mozc
    パッケージリストを読みこんでいます... 完了
    依存情報ツリーを作成しています... 完了        
    以下の追加パッケージがインストールされます:
      ibus mozc-server protobuf
    以下のパッケージが新たにインストールされます:
      ibus ibus-mozc mozc-server protobuf
    アップグレード: 0 個, 新規インストール: 4 個, 削除: 0 個, 保留: 0 個
    17.8MB のアーカイブを取得する必要があります。
    展開後に 30.5MB のディスク容量が追加消費されます。
    続行しますか? [Y/n]
    取得:1 http://updates.vinelinux.org 6/i386/main ibus 1.3.9-6vl6 [908kB]
    取得:2 http://updates.vinelinux.org 6/i386/main protobuf 2.3.0-3vl6 [393kB]
    取得:3 http://updates.vinelinux.org 6/i386/main mozc-server 1.5.1090.102-1vl6 [15.8MB]
    取得:4 http://updates.vinelinux.org 6/i386/main ibus-mozc 1.5.1090.102-1vl6 [617kB]
    17.8MB を 2s 秒で取得しました (7793kB/s)
    変更を適用しています...
    準備中                                ############################## [100%]
    更新/インストール中
      protobuf-2.3.0-3vl6.i686               ############################## [100%]
      mozc-server-1.5.1090.102-1vl6.i686     ############################## [100%]
      ibus-1.3.9-6vl6.i686                   ############################## [100%]
      ibus-mozc-1.5.1090.102-1vl6.i686       ############################## [100%]
    完了
    

    おわりに

    Vine Linux Magazine では、Vine Linux に関する様々な情報、小ネタ、Tips、ノウハウ(バッドノウハウ含む)、活用事例などを書いていただける方を募集しています。また、「XXの記事を書いて欲しい」などのご要望なども随時お待ちしておりますので、ML や Twitter のハッシュタグ #VineLinux、IRC、個別メールなどでお知らせください。


    参考リンク

    ]]>
    Vine Linux Magazine 2012.03 http://vinelinux.org/vlmagazine/20120405.html <![CDATA[

    すでに 4 月に入っておりますが、 遅ればせながらの Vine Linux Magazine 2012.03 をお届けします。

    2012 年 4 月 7 日に「Vine Linux 6.1 alpha 1 既知の不具合」を追記しました!

    ニュース

    Vine Linux ロゴ Vine Linux 6.1 リリースが遅れます…。

    先月の 3/15、オープンソースカンファレンス 2012 Tokyo/Spring への参加に合わせて、Vine Linux 6.1 alpha 1 を beta サイト において公開しておりました(VineSeed:024794)。

    3/25、vinelinux.org の一部のサービスを提供しているサーバの設置施設において、計画停電がありました。ところが、計画停電完了後に、そのサーバが戻ってこない事態になってしまいました(VineSeed:024846)。

    暫定的に errata 提供サーバ(updates.vinelinux.org)とミラーサーバ(mirrors.vinelinux.org)が復旧しておりますが、開発関係の Incoming キュー(incoming.vinelinux.org)などが復旧しておりません。 現在、復旧作業にあたっていますが、完全な復旧には、しばらく時間がかかる見込みです。 これにともない、Vine Linux 6.1 リリースは当面の目処が立つまで延期されます(VineSeed:024847)。

    現時点で明らかとなっている Vine Linux 6.1 alpha 1 における既知の不具合を、下記にまとめました。合わせてご参考ください。

    オープンソースカンファレンス公式バナー オープンソースカンファレンス 2012 Tokyo/Spring に参加してきました!

    今回の OSC 2012 Tokyo/Spring には、展示ブースとセミナーをしてきました。 展示ブースにて、Vine Linux 6.1 alpha 1 インストーラ DVD メディアを配布するために、50 枚ほど用意しておりましたが、2 日目のお昼ごろにすべてなくなってしまいました。64 bit 版(x86_64)もようやく定着しはじめてきたようです。

    セミナー内容は、副代表の松林弘治さん(id: shaolin)から「Vine Linux 6.1 リリース直前の最新情報」、工藤さん(id: kudoh)から「Examples of utilization of Vine Linux 6」、私(id: munepi)から「Vine Linux とゲームと私」の 3 本でした。

    OSC 2012 Tokyo/Spring に参加したときの写真が、facebook の Vine Linux2012.03.17 OSC2012 Tokyo/Spring にいくつかあります。

    Project Vine のブースに足を運んでくださった方々、 Project Vine のセミナーに参加してくださった方々、 そして、OSC にご来場くださったみなさま、ありがとうございました。

    Vine Linux 6.1 alpha 1 既知の不具合

    freetype2 と freetype2-devel とのバージョンが不整合になる

    Vine Linux 6.1 alpha 1 のインストール直後に、 freetype2-2.4.4-4vl6 がインストールされている環境では、 freetype2 の errata が発行されるまでの間、 freetype2-devel-2.4.4-4vl6 をインストールできません。

    現時点(2012 年 4 月 7 日)において、 本件の freetype2, freetype2-devel のバージョン不整合に対する回避策は、

    $ sudo apt-get install freetype2=2.4.4-3vl6
    
    などを実行して、freetype2-2.4.4-3vl6 に戻します。

    セキュリティ・バグフィックスアップデート

    Vine Linux 6

    3 月に Vine Linux 6 のエラッタが 5 件ありました。

    おわりに

    昨年から始まった Vine Linux Managize では、新しく追加・更新されたパッケージの一部紹介や開発状況の紹介など毎月紹介する定期的な記事と、不定期に発行される読み物や活用方法などの記事を発行しています。定期版は毎回持ち回りで行うため、筆者の興味によって内容は大きく異なる場合があります。

    Vine Linux Magazine では、Vine Linux に関する様々な情報、小ネタ、Tips、ノウハウ(バッドノウハウ含む)、活用事例などを書いていただける方を募集しています。また、「XXの記事を書いて欲しい」などのご要望なども随時お待ちしておりますので、ML や Twitter のハッシュタグ #VineLinux、IRC、個別メールなどでお知らせください。

    ]]>
    2012-04-05T00:00:00+09:00 <![CDATA[

    すでに 4 月に入っておりますが、 遅ればせながらの Vine Linux Magazine 2012.03 をお届けします。

    2012 年 4 月 7 日に「Vine Linux 6.1 alpha 1 既知の不具合」を追記しました!

    ニュース

    Vine Linux ロゴ Vine Linux 6.1 リリースが遅れます…。

    先月の 3/15、オープンソースカンファレンス 2012 Tokyo/Spring への参加に合わせて、Vine Linux 6.1 alpha 1 を beta サイト において公開しておりました(VineSeed:024794)。

    3/25、vinelinux.org の一部のサービスを提供しているサーバの設置施設において、計画停電がありました。ところが、計画停電完了後に、そのサーバが戻ってこない事態になってしまいました(VineSeed:024846)。

    暫定的に errata 提供サーバ(updates.vinelinux.org)とミラーサーバ(mirrors.vinelinux.org)が復旧しておりますが、開発関係の Incoming キュー(incoming.vinelinux.org)などが復旧しておりません。 現在、復旧作業にあたっていますが、完全な復旧には、しばらく時間がかかる見込みです。 これにともない、Vine Linux 6.1 リリースは当面の目処が立つまで延期されます(VineSeed:024847)。

    現時点で明らかとなっている Vine Linux 6.1 alpha 1 における既知の不具合を、下記にまとめました。合わせてご参考ください。

    オープンソースカンファレンス公式バナー オープンソースカンファレンス 2012 Tokyo/Spring に参加してきました!

    今回の OSC 2012 Tokyo/Spring には、展示ブースとセミナーをしてきました。 展示ブースにて、Vine Linux 6.1 alpha 1 インストーラ DVD メディアを配布するために、50 枚ほど用意しておりましたが、2 日目のお昼ごろにすべてなくなってしまいました。64 bit 版(x86_64)もようやく定着しはじめてきたようです。

    セミナー内容は、副代表の松林弘治さん(id: shaolin)から「Vine Linux 6.1 リリース直前の最新情報」、工藤さん(id: kudoh)から「Examples of utilization of Vine Linux 6」、私(id: munepi)から「Vine Linux とゲームと私」の 3 本でした。

    OSC 2012 Tokyo/Spring に参加したときの写真が、facebook の Vine Linux2012.03.17 OSC2012 Tokyo/Spring にいくつかあります。

    Project Vine のブースに足を運んでくださった方々、 Project Vine のセミナーに参加してくださった方々、 そして、OSC にご来場くださったみなさま、ありがとうございました。

    Vine Linux 6.1 alpha 1 既知の不具合

    freetype2 と freetype2-devel とのバージョンが不整合になる

    Vine Linux 6.1 alpha 1 のインストール直後に、 freetype2-2.4.4-4vl6 がインストールされている環境では、 freetype2 の errata が発行されるまでの間、 freetype2-devel-2.4.4-4vl6 をインストールできません。

    現時点(2012 年 4 月 7 日)において、 本件の freetype2, freetype2-devel のバージョン不整合に対する回避策は、

    $ sudo apt-get install freetype2=2.4.4-3vl6
    
    などを実行して、freetype2-2.4.4-3vl6 に戻します。

    セキュリティ・バグフィックスアップデート

    Vine Linux 6

    3 月に Vine Linux 6 のエラッタが 5 件ありました。

    おわりに

    昨年から始まった Vine Linux Managize では、新しく追加・更新されたパッケージの一部紹介や開発状況の紹介など毎月紹介する定期的な記事と、不定期に発行される読み物や活用方法などの記事を発行しています。定期版は毎回持ち回りで行うため、筆者の興味によって内容は大きく異なる場合があります。

    Vine Linux Magazine では、Vine Linux に関する様々な情報、小ネタ、Tips、ノウハウ(バッドノウハウ含む)、活用事例などを書いていただける方を募集しています。また、「XXの記事を書いて欲しい」などのご要望なども随時お待ちしておりますので、ML や Twitter のハッシュタグ #VineLinux、IRC、個別メールなどでお知らせください。

    ]]>
    Vine Linux Magazine 2012.02 http://vinelinux.org/vlmagazine/20120220.html <![CDATA[

    新年を迎えてからすでに久しいですが、 今年はじめの Vine Linux Magazine をお届けします。

    ニュース

    Vine Linux ロゴ Vine Linux 6、マイナーアップデートに向けて鋭意作業中!

    ただいま、Vine Linux 6 のマイナーアップデートに向けて、鋭意作業中です。

    kernel が 2.6.35 から 3.0.x に更新されることが決まっていたりなど、これまでのマイナーアップデートの中でも比較的大きな更新になりそうです。

    Vine Linux ロゴ Vine Linux 2012 新年会、盛り上がりました!

    今年の新年会は、建御雷さん(id: Takemikaduchi)の行きたいお店ということで、ドイツビール屋さんになりました。

    今回、田中さんが初参加!Vine Linux Magazine プリンタで作る Vine Linux ステッカー を、お年玉としてみんなに配っておられました。早速、わたしはキーボードに貼りました。

    ドイツビールとお料理を味わいながらも、Vine Linux 6.1 やら、次期 Vine Linux 7 の開発話など、話題が尽きませんでした。

    ドイツビール

    Vine Linux ロゴ Developers Summit 2012、無事終了しました!

    今回のデブサミ 2012 には、展示ブースのみの参加でした。 Vine Linux 6 特別版の DVD インストーラメディアを i686, x86_64 版でそれぞれ 30 枚ずつ用意しましたが、全部配布できました。

    中には、「懐かしさあまりにブースに来ました」という方から、 「Linux 初心者で Ubuntu や CentOS など、色々とあって分からない」、 「ずっと Vine Linux を使っています。」という方まで、 幅広い Linux ユーザのみなさまが、ブースにお越しくださいました。

    これまで各種イベントの展示ブースにて、インストーラメディアを配布してきましたが、これまでは、たいてい 32 bit 版のメディアを持っていかれる方が多かったのです。ところが、今回は、x86_64 版を持っていく方が多かったのが印象に残っています。

    みなさま、ありがとうございます。

    展示ブース

    Vine Linux ロゴ オープンソースカンファレンス 2012 Tokyo/Spring に参加します!

    今回も、東京開催のオープンソースカンファレンス「オープンソースカンファレンス 2012 Tokyo/Spring」へ参加します。 Project Vine メンバをはじめ、VineSeed 開発者、Vine Linux ユーザとの情報交換や交流できる機会ですので、ぜひともご参加ください。

    セキュリティ・バグフィックスアップデート

    apache2 は、ここ最近、ほぼ月例アップデートでセキュリティアップデートが出ていますので、更新を推奨します。

    Vine Linux 6

    今年に入ってからこれまでに Vine Linux 6 のエラッタが 11 件ありました。

    Vine Linux 5

    今年に入ってからこれまでに Vine Linux 5 のエラッタが 1 件ありました。

    パッケージ紹介

    更新パッケージ(VinePlus 6)

    chromium, self-build-chromium
    Google のオープンソースウェブブラウザです。Google Chrome の安定版である Google Chrome 17 がリリースされていますので、chromium パッケージも 17 にしました。また、self-build-chromium をインストールすると、chromium で WebM 対応が利用できるようになります。

    YouTube HTML5 動画プレーヤー

    emacs24
    emacs24 パッケージを emacs-24.0.93 へ更新しました。これは、次期 emacs 24.1 のプレテスト版です。emacs-24.1 がリリースされたら、VinePlus/6 の emacs24 も更新する予定です。

    このほかにも様々なパッケージがアップデートされています。

    おわりに

    昨年から始まった Vine Linux Managize では、新しく追加・更新されたパッケージの一部紹介や開発状況の紹介など毎月紹介する定期的な記事と、不定期に発行される読み物や活用方法などの記事を発行しています。定期版は毎回持ち回りで行うため、筆者の興味によって内容は大きく異なる場合があります。

    Vine Linux Magazine では、Vine Linux に関する様々な情報、小ネタ、Tips、ノウハウ(バッドノウハウ含む)、活用事例などを書いていただける方を募集しています。また、「XXの記事を書いて欲しい」などのご要望なども随時お待ちしておりますので、ML や Twitter のハッシュタグ #VineLinux、IRC、個別メールなどでお知らせください。

    ]]>
    2012-02-20T00:00:00+09:00 <![CDATA[

    新年を迎えてからすでに久しいですが、 今年はじめの Vine Linux Magazine をお届けします。

    ニュース

    Vine Linux ロゴ Vine Linux 6、マイナーアップデートに向けて鋭意作業中!

    ただいま、Vine Linux 6 のマイナーアップデートに向けて、鋭意作業中です。

    kernel が 2.6.35 から 3.0.x に更新されることが決まっていたりなど、これまでのマイナーアップデートの中でも比較的大きな更新になりそうです。

    Vine Linux ロゴ Vine Linux 2012 新年会、盛り上がりました!

    今年の新年会は、建御雷さん(id: Takemikaduchi)の行きたいお店ということで、ドイツビール屋さんになりました。

    今回、田中さんが初参加!Vine Linux Magazine プリンタで作る Vine Linux ステッカー を、お年玉としてみんなに配っておられました。早速、わたしはキーボードに貼りました。

    ドイツビールとお料理を味わいながらも、Vine Linux 6.1 やら、次期 Vine Linux 7 の開発話など、話題が尽きませんでした。

    ドイツビール

    Vine Linux ロゴ Developers Summit 2012、無事終了しました!

    今回のデブサミ 2012 には、展示ブースのみの参加でした。 Vine Linux 6 特別版の DVD インストーラメディアを i686, x86_64 版でそれぞれ 30 枚ずつ用意しましたが、全部配布できました。

    中には、「懐かしさあまりにブースに来ました」という方から、 「Linux 初心者で Ubuntu や CentOS など、色々とあって分からない」、 「ずっと Vine Linux を使っています。」という方まで、 幅広い Linux ユーザのみなさまが、ブースにお越しくださいました。

    これまで各種イベントの展示ブースにて、インストーラメディアを配布してきましたが、これまでは、たいてい 32 bit 版のメディアを持っていかれる方が多かったのです。ところが、今回は、x86_64 版を持っていく方が多かったのが印象に残っています。

    みなさま、ありがとうございます。

    展示ブース

    Vine Linux ロゴ オープンソースカンファレンス 2012 Tokyo/Spring に参加します!

    今回も、東京開催のオープンソースカンファレンス「オープンソースカンファレンス 2012 Tokyo/Spring」へ参加します。 Project Vine メンバをはじめ、VineSeed 開発者、Vine Linux ユーザとの情報交換や交流できる機会ですので、ぜひともご参加ください。

    セキュリティ・バグフィックスアップデート

    apache2 は、ここ最近、ほぼ月例アップデートでセキュリティアップデートが出ていますので、更新を推奨します。

    Vine Linux 6

    今年に入ってからこれまでに Vine Linux 6 のエラッタが 11 件ありました。

    Vine Linux 5

    今年に入ってからこれまでに Vine Linux 5 のエラッタが 1 件ありました。

    パッケージ紹介

    更新パッケージ(VinePlus 6)

    chromium, self-build-chromium
    Google のオープンソースウェブブラウザです。Google Chrome の安定版である Google Chrome 17 がリリースされていますので、chromium パッケージも 17 にしました。また、self-build-chromium をインストールすると、chromium で WebM 対応が利用できるようになります。

    YouTube HTML5 動画プレーヤー

    emacs24
    emacs24 パッケージを emacs-24.0.93 へ更新しました。これは、次期 emacs 24.1 のプレテスト版です。emacs-24.1 がリリースされたら、VinePlus/6 の emacs24 も更新する予定です。

    このほかにも様々なパッケージがアップデートされています。

    おわりに

    昨年から始まった Vine Linux Managize では、新しく追加・更新されたパッケージの一部紹介や開発状況の紹介など毎月紹介する定期的な記事と、不定期に発行される読み物や活用方法などの記事を発行しています。定期版は毎回持ち回りで行うため、筆者の興味によって内容は大きく異なる場合があります。

    Vine Linux Magazine では、Vine Linux に関する様々な情報、小ネタ、Tips、ノウハウ(バッドノウハウ含む)、活用事例などを書いていただける方を募集しています。また、「XXの記事を書いて欲しい」などのご要望なども随時お待ちしておりますので、ML や Twitter のハッシュタグ #VineLinux、IRC、個別メールなどでお知らせください。

    ]]>
    RPMパッケージ作成って意外と簡単 http://vinelinux.org/vlmagazine/20111128.html <![CDATA[

    Project Vine は、2011/11/19, 20 の 2日間、明星大学 日野校で開催された オープンソースカンファレンス 2011 Tokyo/Fall(以下 OSC 2011 Tokyo/Fall)に参加してきました。 今号の Vine Linux Magazine では、OSC のセミナーでは時間が足りなかった、「パッケージ作成って簡単ですよ」という話を紹介したいと思います。

    オープンソースカンファレンス 2011 Tokyo/Fallに行ってきました

    Project Vineでは OSC 2010 Tokyo/Spring から OSCに出展しています。 今回の OSC 2011 Tokyo/Fall も munepiさん、Takemikaduchiさん、kudohさんと私 (kenta) の 4名で、展示出展とセミナーを開催してきました。 いやー、1日目はとっても寒かったですね。特に Project Vineのブースはドアの近くに割り当てられていたので、自動ドアが開くたびに凍えるようでした。 2日目は打って変わっての暖かいいい天気。お昼に開催した Project Vine 主催のセミナーも参加者の熱気に頼ることなく、暖かい和やかな会になりました。

    展示内容は主に 2つでした。

    • Vine Linux 6のインストールメディア配布
    • 開発版 VineSeed と Gnome Shell UIのデモ
    基本はブースの近くでたむろしており、その場に来て頂いた皆さんの質問や相談に答えていました。

    Project Vine & Vine Linux Developer 有志主催のセミナー「第7回 Vine Linuxユーザーの集い」では、Vine Linux 7ではどんなデスクトップが標準だといいかを見てもらうため、開発版 VineSeed での Gnome-3.2.1 (Gnome Shell), Gnome 3.2.1, KDE 4.7.2, LXDE, Xfce デスクトップ環境をそれぞれ紹介しました。 また、ユーザー事例紹介として 2件の発表がありました。

    • 透明感のあるデスクトップでWineを楽しむ (Takemikaduchiさん)
    • Vineの上で TeX Loveを叫ぶ (munepiさん)
    セミナーに参加下さった EnterpriseOSS の方にはユーザー事例紹介を聞いて Vine が何であるかを大いに誤解されてしまったかもしれません。。。 Vineはスケスケを楽しんだりもしますが、国内の老舗ディストリビュータとしての基本を常に忘れず、これからも変わることなくユーザーに優しい Linuxディストリビューションを作り続けます。

    Takemikaduchiさんの透明感あふれるデスクトップ TakemikaduchiさんによるWineのデモンストレーション

    RPMパッケージ作成 はじめの一歩

    RPMパッケージ作成に挑戦してみませんか?

    OSCでは時間がなくて紹介できなかったのですが、もう1つ「Vine Linuxの開発もしてみませんか?」という話題を用意していました。 ユーザーの多くの方は、ソースコードの tar.gz をダウンロードしてきて

    $ tar xfvz hoge.tar.gz
    $ cd hoge
    $ ./configure
    $ make
    $ make install
    
    と、何かしら自分が使うアプリケーションをビルドして追加したことがあるかと思います。 今回のユーザーの集いで参加されたユーザーの皆様に訊いたところ全員に経験が有りました。

    単に make install でインストールすると、アンインストールが困難だったり、重複したファイルが意図せずに上書きされてしまったりします。 自分だけしか使わないアプリケーションでも、とりあえず RPMパッケージを作ってパッケージ管理できる便利なことはとても多いのです。 だけど、RPMパッケージ作るのは大変でそんな簡単にはできない、、、って思われる方も多いですよね。
    本当でしょうか?
    ご自身でソースからビルドした経験があれば、RPMパッケージを作るのは案外簡単なんです。 今回はまず、最低限の手間でRPMパッケージを作る手順をご紹介します。 例としてたまたま見かけたブログ Linux life で紹介されていた、NetCDF 4.1.3のパッケージを作ってみます。

    はじめに

    使用したのは Vine Linux 6 (x86_64) を、標準のデスクトップ設定でインストールした環境です。

    RPMパッケージ作成には rpmbuild コマンドを使用します。そのために、まず rpm-build パッケージをインストールしておきます。

    $ sudo apt-get install rpm-build
    パッケージリストを読みこんでいます... 完了
    依存情報ツリーを作成しています... 完了        
    以下の追加パッケージがインストールされます:
      elfutils elfutils-libs patch
    以下のパッケージが新たにインストールされます:
      elfutils elfutils-libs patch rpm-build
    アップグレード: 0 個, 新規インストール: 4 個, 削除: 0 個, 保留: 0 個
    938kB のアーカイブを取得する必要があります。
    展開後に 2405kB のディスク容量が追加消費されます。
    続行しますか? [Y/n]Y
    取得:1 http://updates.vinelinux.org 6/x86_64/main elfutils-libs 0.152-2vl6 [238kB]
    取得:2 http://updates.vinelinux.org 6/x86_64/main elfutils 0.152-2vl6 [516kB]
    取得:3 http://updates.vinelinux.org 6/x86_64/main patch 2.6.1-2vl6 [87.6kB]
    取得:4 http://updates.vinelinux.org 6/x86_64/main rpm-build 4.8.1-3vl6 [97.3kB]
    938kB を 0s 秒で取得しました (2070kB/s)
    変更を適用しています...
    準備中                                ############################## [100%]
    更新/インストール中
      patch-2.6.1-2vl6.x86_64                ############################## [100%]
      elfutils-libs-0.152-2vl6.x86_64        ############################## [100%]
      elfutils-0.152-2vl6.x86_64             ############################## [100%]
      rpm-build-4.8.1-3vl6.x86_64            ############################## [100%]
    完了
    

    自分で ./configure && make && make install されている環境ならばきっとビルド環境は一通り揃っていると思います。 もし開発環境をインストールしていない場合には最低限の一式として build-essential をインストールして下さい。

    $ sudo apt-get install build-essential 
    パッケージリストを読みこんでいます... 完了
    依存情報ツリーを作成しています... 完了        
    以下の追加パッケージがインストールされます:
      autoconf automake gcc-c++ gettext gettext-devel gettext-libs intltool libsigsegv libstdc++-devel libtool m4 make
      perl-HTML-Parser perl-HTML-Tagset perl-URI perl-XML-Parser perl-libwww-perl
    以下のパッケージが新たにインストールされます:
      autoconf automake build-essential gcc-c++ gettext gettext-devel gettext-libs intltool libsigsegv libstdc++-devel
      libtool m4 make perl-HTML-Parser perl-HTML-Tagset perl-URI perl-XML-Parser perl-libwww-perl
    アップグレード: 0 個, 新規インストール: 18 個, 削除: 0 個, 保留: 0 個
    17.5MB のアーカイブを取得する必要があります。
    展開後に 45.1MB のディスク容量が追加消費されます。
    続行しますか? [Y/n]Y
    
    (中略)
    
      perl-HTML-Parser-3.68-2vl6.x86_64      ############################## [100%]
      perl-libwww-perl-5.833-3vl6.noarch     ############################## [100%]
      perl-XML-Parser-2.40-1vl6.x86_64       ############################## [100%]
      intltool-0.41.1-2vl6.noarch            ############################## [100%]
      build-essential-1.6-1vl6.noarch        ############################## [100%]
    完了
    

    vine-rpm-helper を使ったRPMパッケージ作成

    RPMパッケージを作るには yasumichiさんが最近公開された vine-rpm-helper に含まれている mkrpmspec を使うのが簡単です。 mkrpmspec コマンドは、引数に指定したソースコードをダウンロードして ~/rpm/SOURCES/«パッケージ名» 以下に配置し、specファイルのひな形を ~rpm/SPECS/«パッケージ名» 以下に作ってくれます。

    $ sudo apt-get install vine-rpm-helper
    $ mkrpmspec http://www.unidata.ucar.edu/downloads/netcdf/ftp/netcdf-4.1.3.tar.gz
    --2011-11-24 22:16:53--  http://www.unidata.ucar.edu/downloads/netcdf/ftp/netcdf-4.1.3.tar.gz
    www.unidata.ucar.edu をDNSに問いあわせています... 128.117.149.64
    www.unidata.ucar.edu|128.117.149.64|:80 に接続しています... 接続しました。
    HTTP による接続要求を送信しました、応答を待っています... 200 OK
    長さ: 11097157 (11M) [application/x-gzip]
    `/home/vine/rpm/SOURCES/netcdf/netcdf-4.1.3.tar.gz' に保存中
    
    100%[==========================================================================>] 11,097,157  3.04M/s 時間 4.2s    
    
    2011-11-24 22:16:58 (2.51 MB/s) - `/home/vine/rpm/SOURCES/netcdf/netcdf-4.1.3.tar.gz' へ保存完了 [11097157/11097157]
    
    パッケージを /home/vine/rpm/BUILD/netcdf-4.1.3 に展開しました。
    パッケージ形式は、autotoolize であると認識しました。
    ドキュメントを発見: README
    mkdir: ディレクトリ `/home/vine/rpm/SPECS/netcdf' を作成しました
    /home/vine/rpm/SPECS/netcdf/netcdf-vl.spec  を作成しました
    

    RPMパッケージのビルド

    では早速 mkrpmspec で作られた specファイルを使ってビルドしてみましょう。

    $ cd ~/rpm/SPECS/
    $ rpm -ba netcdf/netcdf-vl.spec 
    実行中(%prep): /bin/sh -e /var/tmp/rpm-tmp.Zv9qlh
    + umask 022
    + cd /home/vine/rpm/BUILD
    + cd /home/vine/rpm/BUILD
    + rm -rf netcdf-4.1.3
    + /bin/tar -xf -
    + /bin/gzip -dc /home/vine/rpm/SOURCES/netcdf/netcdf-4.1.3.tar.gz
    + STATUS=0
    + '[' 0 -ne 0 ']'
    + cd netcdf-4.1.3
    + /bin/chmod -Rf a+rX,u+w,g-w,o-w .
    + exit 0
    実行中(%build): /bin/sh -e /var/tmp/rpm-tmp.YV3T4f
    + umask 022
    + cd /home/vine/rpm/BUILD
    + cd netcdf-4.1.3
    + CFLAGS='-O2 -m64 -mtune=generic -fno-strict-aliasing -fno-schedule-insns2'
    + export CFLAGS
    + CXXFLAGS='-O2 -m64 -mtune=generic -fno-strict-aliasing -fno-schedule-insns2'
    + export CXXFLAGS
    + FFLAGS='-O2 -m64 -mtune=generic -fno-strict-aliasing -fno-schedule-insns2'
    + export FFLAGS
    + ./configure --host=x86_64-unknown-linux-gnu --build=x86_64-unknown-linux-gnu --program-prefix= --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/usr/share --mandir=/usr/share/man --infodir=/usr/share/info
    configure: netCDF 4.1.3
    checking build system type... x86_64-unknown-linux-gnu
    checking host system type... x86_64-unknown-linux-gnu
    checking target system type... x86_64-unknown-linux-gnu
    checking for a BSD-compatible install... /usr/bin/install -c
    checking whether build environment is sane... yes
    checking for a thread-safe mkdir -p... /bin/mkdir -p
    checking for gawk... gawk
    checking whether make sets $(MAKE)... yes
    
    (中略)
    
    checking whether byte ordering is bigendian... no
    checking size of short... 2
    checking size of int... 4
    checking size of long... 8
    checking size of float... 4
    checking size of double... 8
    checking size of off_t... 8
    checking size of size_t... 8
    checking for library containing deflate... no
    configure: error: Can't find or link to the z library. Turn off netCDF-4 and      opendap with --disable-netcdf-4 --disable-dap, or see config.log for errors.
    エラー: /var/tmp/rpm-tmp.YV3T4f の不正な終了ステータス (%build)
    
    エラーになってしまいました。 最後のメッセージを見ると、どうも zlib-devel が足りないようですね。 この対処法は 2通りありますが、今回のコンセプト最小限の手間で簡単に対処しましょう。

    エラーメッセージには、--disable-netcdf-4 を使うようにとも書かれていますよね。 そういえば、先のブログに載っていた手順

    $ cd /tmp
    $ wget http://www.gfd-dennou.org/library/netcdf/unidata-mirror/netcdf-4.1.3.tar.gz
    $ gtar xfvz ~/tmp/netcdf-4.1.3.tar.gz
    $ cd netcdf-4.1.3
    $ ./configure --prefix=/usr/local/netcdf --disable-netcdf-4
    $ make check
    $ su -
    # make install
    
    でも ./configure の際に --disable-netcdf-4 オプションがついていました。 ここは真似して --disable-netcdf-4 オプションをつけましょう。

    先ほど自動生成された specファイルをコピーして編集します。

    $ cp -a netcdf/netcdf-vl.spec .
    $ vim netcdf-vl.spec 
    
    書き換えた行は次の通りです。
    $ diff -u netcdf/netcdf-vl.spec netcdf-vl.spec 
    --- netcdf/netcdf-vl.spec	2011-11-24 22:17:01.708999998 +0900
    +++ netcdf-vl.spec	2011-11-24 22:25:35.253996625 +0900
    @@ -30,7 +30,7 @@
     %setup -q
     
     %build
    -%configure
    +%configure --disable-netcdf-4
     %{__make} %{?_smp_mflags}
     
     %install
    

    もう一度ビルドしてみましょう。

    $ rpm -ba netcdf-vl.spec
    
    (中略)
    
    make[3]: Leaving directory `/home/vine/rpm/BUILD/netcdf-4.1.3'
    make[2]: Leaving directory `/home/vine/rpm/BUILD/netcdf-4.1.3'
    make[1]: Leaving directory `/home/vine/rpm/BUILD/netcdf-4.1.3'
    + /usr/lib/rpm/brp-compress
    + /usr/lib/rpm/brp-strip
    + /usr/lib/rpm/brp-strip-static-archive
    + /usr/lib/rpm/brp-strip-comment-note
    Processing files: netcdf-4.1.3-1vl6.x86_64
    実行中(%doc): /bin/sh -e /var/tmp/rpm-tmp.Wetkf1
    + umask 022
    + cd /home/vine/rpm/BUILD
    + cd netcdf-4.1.3
    + DOCDIR=/home/vine/rpm/BUILDROOT/netcdf-4.1.3-1vl6.x86_64/usr/share/doc/netcdf-4.1.3
    + export DOCDIR
    + rm -rf /home/vine/rpm/BUILDROOT/netcdf-4.1.3-1vl6.x86_64/usr/share/doc/netcdf-4.1.3
    + /bin/mkdir -p /home/vine/rpm/BUILDROOT/netcdf-4.1.3-1vl6.x86_64/usr/share/doc/netcdf-4.1.3
    + cp -pr README /home/vine/rpm/BUILDROOT/netcdf-4.1.3-1vl6.x86_64/usr/share/doc/netcdf-4.1.3
    + exit 0
    Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
    伸張ファイルの検査中: /usr/lib/rpm/check-files /home/vine/rpm/BUILDROOT/netcdf-4.1.3-1vl6.x86_64
    警告: インストール済み(ただし未伸張)ファイルが見つかりました:
       /usr/bin/nc-config
       /usr/bin/nccopy
       /usr/bin/ncdump
       /usr/bin/ncgen
       /usr/bin/ncgen3
       /usr/include/ncvalues.h
       /usr/include/netcdf.h
       /usr/include/netcdf.hh
       /usr/include/netcdfcpp.h
       /usr/lib64/libnetcdf.a
       /usr/lib64/libnetcdf.la
       /usr/lib64/libnetcdf.so
       /usr/lib64/libnetcdf.so.7
       /usr/lib64/libnetcdf.so.7.1.1
       /usr/lib64/libnetcdf_c++.a
       /usr/lib64/libnetcdf_c++.la
       /usr/lib64/libnetcdf_c++.so
       /usr/lib64/libnetcdf_c++.so.4
       /usr/lib64/libnetcdf_c++.so.4.1.0
       /usr/lib64/pkgconfig/netcdf.pc
       /usr/share/info/dir
       /usr/share/info/netcdf-c.info-1.gz
       /usr/share/info/netcdf-c.info-2.gz
       /usr/share/info/netcdf-c.info.gz
       /usr/share/info/netcdf-cxx.info.gz
       /usr/share/info/netcdf-f77.info-1.gz
       /usr/share/info/netcdf-f77.info-2.gz
       /usr/share/info/netcdf-f77.info.gz
       /usr/share/info/netcdf-f90.info.gz
       /usr/share/info/netcdf-install.info.gz
       /usr/share/info/netcdf-tutorial.info.gz
       /usr/share/info/netcdf.info.gz
       /usr/share/man/man1/nccopy.1.gz
       /usr/share/man/man1/ncdump.1.gz
       /usr/share/man/man1/ncgen.1.gz
       /usr/share/man/man1/ncgen3.1.gz
       /usr/share/man/man3/netcdf.3.gz
    書き込み完了: /home/vine/rpm/SRPMS/netcdf-4.1.3-1vl6.src.rpm
    書き込み完了: /home/vine/rpm/RPMS/x86_64/netcdf-4.1.3-1vl6.x86_64.rpm
    実行中(%clean): /bin/sh -e /var/tmp/rpm-tmp.NGMuhd
    + umask 022
    + cd /home/vine/rpm/BUILD
    + cd netcdf-4.1.3
    + /bin/rm -rf /home/vine/rpm/BUILDROOT/netcdf-4.1.3-1vl6.x86_64
    + exit 0
    
    今度はビルドできたみたいです。 でも、"警告: インストール済み(ただし未伸張)ファイルが見つかりました:" と警告が出てますね。

    できた rpm を見てみましょう。

    $ rpm -qlp /home/vine/rpm/RPMS/x86_64/netcdf-4.1.3-1vl6.x86_64.rpm
    /usr/share/doc/netcdf-4.1.3
    /usr/share/doc/netcdf-4.1.3/README
    
    README ファイルしか入ってませんね。。。

    %files セクションの編集

    これを修正するには、specファイルの セクションを変更します。 とりあえず、SPEC Template に倣って、%files セクションを埋めてみましょう。

    $ cp -a netcdf-vl.spec netcdf-vl.spec.old
    $ vim netcdf-vl.spec
    $ diff -u netcdf-vl.spec.old netcdf-vl.spec
    --- netcdf-vl.spec.orig	2011-11-24 22:17:01.708999998 +0900
    +++ netcdf-vl.spec	2011-11-24 23:51:14.222999998 +0900
    @@ -45,6 +45,11 @@
     %files
     %defattr(-,root,root)
     %doc README
    +%{_bindir}/*
    +%{_libdir}/*
    +%{_datadir}/*
    +%{_mandir}/man?/*
    +%{_sysconfdir}/*
     
     %changelog
     * Thu Nov 24 2011 Your Name  4.1.3-1
    

    もう一度ビルドすると時間が掛かるので、今度はコンパイルをスキップして試してみましょう。

    $ rpm -bi --short-circuit netcdf-vl.spec
    
    (中略)
    + /usr/lib/rpm/brp-compress
    + /usr/lib/rpm/brp-strip
    + /usr/lib/rpm/brp-strip-static-archive
    + /usr/lib/rpm/brp-strip-comment-note
    Processing files: netcdf-4.1.3-1vl6.x86_64
    エラー: ファイルが見つかりません (by glob): /home/vine/rpm/BUILDROOT/netcdf-4.1.3-1vl6.x86_64/etc/*
    実行中(%doc): /bin/sh -e /var/tmp/rpm-tmp.c6xhcf
    + umask 022
    + cd /home/vine/rpm/BUILD
    + cd netcdf-4.1.3
    + DOCDIR=/home/vine/rpm/BUILDROOT/netcdf-4.1.3-1vl6.x86_64/usr/share/doc/netcdf-4.1.3
    + export DOCDIR
    + rm -rf /home/vine/rpm/BUILDROOT/netcdf-4.1.3-1vl6.x86_64/usr/share/doc/netcdf-4.1.3
    + /bin/mkdir -p /home/vine/rpm/BUILDROOT/netcdf-4.1.3-1vl6.x86_64/usr/share/doc/netcdf-4.1.3
    + cp -pr README /home/vine/rpm/BUILDROOT/netcdf-4.1.3-1vl6.x86_64/usr/share/doc/netcdf-4.1.3
    + exit 0
    
    
    RPM ビルドエラー:
        ファイルが見つかりません (by glob): /home/vine/rpm/BUILDROOT/netcdf-4.1.3-1vl6.x86_64/etc/*
    

    /etc は不要だったようですね。%{_sysconfdir} を外しましょう。

    $ cp -a netcdf-vl.spec netcdf-vl.spec.old
    $ vim netcdf-vl.spec
    $ diff -u netcdf-vl.spec.old netcdf-vl.spec
    --- netcdf-vl.spec.old	2011-11-24 23:51:14.222999998 +0900
    +++ netcdf-vl.spec	2011-11-24 23:56:07.656999868 +0900
    @@ -49,7 +49,6 @@
     %{_libdir}/*
     %{_datadir}/*
     %{_mandir}/man?/*
    -%{_sysconfdir}/*
     
     %changelog
     * Thu Nov 24 2011 Your Name  4.1.3-1
    

    もう一度試してみましょう。

    $ rpm -bl --short-circuit netcdf-vl.spec
    Processing files: netcdf-4.1.3-1vl6.x86_64
    警告: ファイルが2回表記されています: /usr/share/doc/netcdf-4.1.3
    警告: ファイルが2回表記されています: /usr/share/doc/netcdf-4.1.3/README
    警告: ファイルが2回表記されています: /usr/share/man/man1/nccopy.1.gz
    警告: ファイルが2回表記されています: /usr/share/man/man1/ncdump.1.gz
    警告: ファイルが2回表記されています: /usr/share/man/man1/ncgen.1.gz
    警告: ファイルが2回表記されています: /usr/share/man/man1/ncgen3.1.gz
    警告: ファイルが2回表記されています: /usr/share/man/man3/netcdf.3.gz
    Provides: libnetcdf.so.7()(64bit) libnetcdf_c++.so.4()(64bit) pkgconfig(netcdf) = 4.1.3
    Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(VersionedDependencies) <= 3.0.3-1
    Requires: /bin/sh /usr/bin/pkg-config libc.so.6()(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3)(64bit) libc.so.6(GLIBC_2.7)(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libm.so.6()(64bit) libm.so.6(GLIBC_2.2.5)(64bit) libnetcdf.so.7()(64bit) libnetcdf_c++.so.4()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(GLIBCXX_3.4)(64bit) libstdc++.so.6(GLIBCXX_3.4.9)(64bit)
    伸張ファイルの検査中: /usr/lib/rpm/check-files /home/vine/rpm/BUILDROOT/netcdf-4.1.3-1vl6.x86_64
    警告: インストール済み(ただし未伸張)ファイルが見つかりました:
       /usr/include/ncvalues.h
       /usr/include/netcdf.h
       /usr/include/netcdf.hh
       /usr/include/netcdfcpp.h
    $ rpm -bl --short-circuit netcdf-vl.spec
    Processing files: netcdf-4.1.3-1vl6.x86_64
    警告: ファイルが2回表記されています: /usr/share/doc/netcdf-4.1.3
    警告: ファイルが2回表記されています: /usr/share/doc/netcdf-4.1.3/README
    警告: ファイルが2回表記されています: /usr/share/man/man1/nccopy.1.gz
    警告: ファイルが2回表記されています: /usr/share/man/man1/ncdump.1.gz
    警告: ファイルが2回表記されています: /usr/share/man/man1/ncgen.1.gz
    警告: ファイルが2回表記されています: /usr/share/man/man1/ncgen3.1.gz
    警告: ファイルが2回表記されています: /usr/share/man/man3/netcdf.3.gz
    Provides: libnetcdf.so.7()(64bit) libnetcdf_c++.so.4()(64bit) pkgconfig(netcdf) = 4.1.3
    Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(VersionedDependencies) <= 3.0.3-1
    Requires: /bin/sh /usr/bin/pkg-config libc.so.6()(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3)(64bit) libc.so.6(GLIBC_2.7)(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libm.so.6()(64bit) libm.so.6(GLIBC_2.2.5)(64bit) libnetcdf.so.7()(64bit) libnetcdf_c++.so.4()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(GLIBCXX_3.4)(64bit) libstdc++.so.6(GLIBCXX_3.4.9)(64bit)
    伸張ファイルの検査中: /usr/lib/rpm/check-files /home/vine/rpm/BUILDROOT/netcdf-4.1.3-1vl6.x86_64
    警告: インストール済み(ただし未伸張)ファイルが見つかりました:
       /usr/include/ncvalues.h
       /usr/include/netcdf.h
       /usr/include/netcdf.hh
       /usr/include/netcdfcpp.h
    

    ヘッダーファイルが入っていなかったので、include ディレクトリを追加して、

    $ cp -a netcdf-vl.spec netcdf-vl.spec.old
    $ vim netcdf-vl.spec
    $ diff -u netcdf-vl.spec.old netcdf-vl.spec
    --- netcdf-vl.spec.old	2011-11-24 23:56:07.656999868 +0900
    +++ netcdf-vl.spec	2011-11-25 00:02:37.313000003 +0900
    @@ -47,6 +47,7 @@
     %doc README
     %{_bindir}/*
     %{_libdir}/*
    +%{_includedir}/*
     %{_datadir}/*
     %{_mandir}/man?/*
     
    

    もう一度やってみます。

    $ rpm -bl --short-circuit netcdf-vl.spec
    Processing files: netcdf-4.1.3-1vl6.x86_64
    警告: ファイルが2回表記されています: /usr/share/doc/netcdf-4.1.3
    警告: ファイルが2回表記されています: /usr/share/doc/netcdf-4.1.3/README
    警告: ファイルが2回表記されています: /usr/share/man/man1/nccopy.1.gz
    警告: ファイルが2回表記されています: /usr/share/man/man1/ncdump.1.gz
    警告: ファイルが2回表記されています: /usr/share/man/man1/ncgen.1.gz
    警告: ファイルが2回表記されています: /usr/share/man/man1/ncgen3.1.gz
    警告: ファイルが2回表記されています: /usr/share/man/man3/netcdf.3.gz
    Provides: libnetcdf.so.7()(64bit) libnetcdf_c++.so.4()(64bit) pkgconfig(netcdf) = 4.1.3
    Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(VersionedDependencies) <= 3.0.3-1
    Requires: /bin/sh /usr/bin/pkg-config libc.so.6()(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3)(64bit) libc.so.6(GLIBC_2.7)(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libm.so.6()(64bit) libm.so.6(GLIBC_2.2.5)(64bit) libnetcdf.so.7()(64bit) libnetcdf_c++.so.4()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(GLIBCXX_3.4)(64bit) libstdc++.so.6(GLIBCXX_3.4.9)(64bit)
    伸張ファイルの検査中: /usr/lib/rpm/check-files /home/vine/rpm/BUILDROOT/netcdf-4.1.3-1vl6.x86_64
    
    今度は良さそうですね。

    警告はまた後で調べることにして、これでパッケージを作ってインストールしてみましょう。

    $ rpm -bb --short-circuit netcdf-vl.spec
    
    (中略)
    
    + cp -pr README /home/vine/rpm/BUILDROOT/netcdf-4.1.3-1vl6.x86_64/usr/share/doc/netcdf-4.1.3
    + exit 0
    警告: ファイルが2回表記されています: /usr/share/man/man1/nccopy.1.gz
    警告: ファイルが2回表記されています: /usr/share/man/man1/ncdump.1.gz
    警告: ファイルが2回表記されています: /usr/share/man/man1/ncgen.1.gz
    警告: ファイルが2回表記されています: /usr/share/man/man1/ncgen3.1.gz
    警告: ファイルが2回表記されています: /usr/share/man/man3/netcdf.3.gz
    Provides: libnetcdf.so.7()(64bit) libnetcdf_c++.so.4()(64bit) pkgconfig(netcdf) = 4.1.3
    Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(VersionedDependencies) <= 3.0.3-1
    Requires: /bin/sh /usr/bin/pkg-config libc.so.6()(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3)(64bit) libc.so.6(GLIBC_2.7)(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libm.so.6()(64bit) libm.so.6(GLIBC_2.2.5)(64bit) libnetcdf.so.7()(64bit) libnetcdf_c++.so.4()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(GLIBCXX_3.4)(64bit) libstdc++.so.6(GLIBCXX_3.4.9)(64bit)
    伸張ファイルの検査中: /usr/lib/rpm/check-files /home/vine/rpm/BUILDROOT/netcdf-4.1.3-1vl6.x86_64
    書き込み完了: /home/vine/rpm/RPMS/x86_64/netcdf-4.1.3-1vl6.x86_64.rpm
    実行中(%clean): /bin/sh -e /var/tmp/rpm-tmp.62PB3T
    + umask 022
    + cd /home/vine/rpm/BUILD
    + cd netcdf-4.1.3
    + /bin/rm -rf /home/vine/rpm/BUILDROOT/netcdf-4.1.3-1vl6.x86_64
    + exit 0
    

    では、早速インストールしてみます。

    $ sudo rpm -Uhv /home/vine/rpm/RPMS/x86_64/netcdf-4.1.3-1vl6.x86_64.rpm 
    [sudo] password for vine: 
    準備中...                ########################################### [100%]
    	ファイル /usr/share/info/dir (パッケージ netcdf-4.1.3-1vl6.x86_64 から) は、パッケージ install-info-4.13a-1vl6.x86_64 からのファイルと競合しています。
    $ rpm -qf /usr/share/info/dir
    install-info-4.13a-1vl6.x86_64
    
    ふーむ、netcdfパッケージに入っている /usr/share/info/dir が install-info とぶつかっているようです。

    とりあえずやっつけですが /usr/share/info/dir を外してしまいましょう。その上でバイナリパッケージ作成のところだけ再実行してインストールしてみます。

    $ cp -a netcdf-vl.spec netcdf-vl.spec.old
    $ vim netcdf-vl.spec
    $ diff -u netcdf-vl.spec.old netcdf-vl.spec
    --- netcdf-vl.spec.old	2011-11-25 00:22:45.191000089 +0900
    +++ netcdf-vl.spec	2011-11-25 00:21:34.061999867 +0900
    @@ -49,6 +49,7 @@
     %{_libdir}/*
     %{_includedir}/*
     %{_datadir}/*
    +%exclude %{_infodir}/dir
     %{_mandir}/man?/*
     
     %changelog
    $ rpm -bb --short-circuit netcdf-vl.spec
    $ sudo rpm -Uhv /home/vine/rpm/RPMS/x86_64/netcdf-4.1.3-1vl6.x86_64.rpm 
    準備中...                ########################################### [100%]
       1:netcdf                 ########################################### [100%]
    
    今度はうまくいきました。

    警告が出ていたり、やっつけの修正もありますが、mkrpmspec を使うと、たった 7行の書き換えだけで RPMパッケージを作ることができました。

    $ diff -u netcdf/netcdf-vl.spec netcdf-vl.spec
    --- netcdf/netcdf-vl.spec	2011-11-24 22:17:01.708999998 +0900
    +++ netcdf-vl.spec	2011-11-25 00:21:34.061999867 +0900
    @@ -30,7 +30,7 @@
     %setup -q
     
     %build
    -%configure
    +%configure --disable-netcdf-4
     %{__make} %{?_smp_mflags}
     
     %install
    @@ -45,6 +45,12 @@
     %files
     %defattr(-,root,root)
     %doc README
    +%{_bindir}/*
    +%{_libdir}/*
    +%{_includedir}/*
    +%{_datadir}/*
    +%exclude %{_infodir}/dir
    +%{_mandir}/man?/*
     
     %changelog
     * Thu Nov 24 2011 Your Name  4.1.3-1
    

    make install と較べてもほとんど手間無く、パッケージ管理されたきれいな環境が作れると思います。 やっていくと細かくいじるところがいくつも出てきますが、それは問題に出会ったときに少しずつ覚えていくことになります。試してみて困ったことがありましたら MLなどで質問して下さい。 なお、最終的に作った SPECファイルをこちらに置いています。何が書き換わっているかを比較しながら、Develppers Guideと見較べてみてください。

    参考資料

    おわりに

    Project Vineではこれまでにも munepiさんが中心となって RPMパッケージ作成ハンズオンを実施してきました。

    ここでは最小限の手間でRPMパッケージ作成を体験できる方法を紹介しました。 普段は面倒で make install されているときに、ちょっとだけ頑張って vine-rpm-helper を使ったRPMパッケージ作成に挑戦してみてください。 手間を掛けた以上に快適な管理ができること間違いありません。

    なお、環境によっては今回紹介した結果と同じようにならないこともあるかもしれません。 その場合には是非 ML等で質問して下さい。 いろんな疑問やコメントが頂けましたら、続編として様々な問題に対処するより実践的なパッケージ作成を紹介するつもりです。

    Vine Linux Magazine では、Vine Linux に関する様々な情報、小ネタ、Tips、ノウハウ(バッドノウハウ含む)、活用事例などを書いていただける方を募集しています。また、「XXの記事を書いて欲しい」などのご要望なども随時お待ちしておりますので、ML や Twitter のハッシュタグ #VineLinux、IRC、個別メールなどでお知らせください。

    ]]>
    2011-11-28T00:00:00+09:00 <![CDATA[

    Project Vine は、2011/11/19, 20 の 2日間、明星大学 日野校で開催された オープンソースカンファレンス 2011 Tokyo/Fall(以下 OSC 2011 Tokyo/Fall)に参加してきました。 今号の Vine Linux Magazine では、OSC のセミナーでは時間が足りなかった、「パッケージ作成って簡単ですよ」という話を紹介したいと思います。

    オープンソースカンファレンス 2011 Tokyo/Fallに行ってきました

    Project Vineでは OSC 2010 Tokyo/Spring から OSCに出展しています。 今回の OSC 2011 Tokyo/Fall も munepiさん、Takemikaduchiさん、kudohさんと私 (kenta) の 4名で、展示出展とセミナーを開催してきました。 いやー、1日目はとっても寒かったですね。特に Project Vineのブースはドアの近くに割り当てられていたので、自動ドアが開くたびに凍えるようでした。 2日目は打って変わっての暖かいいい天気。お昼に開催した Project Vine 主催のセミナーも参加者の熱気に頼ることなく、暖かい和やかな会になりました。

    展示内容は主に 2つでした。

    • Vine Linux 6のインストールメディア配布
    • 開発版 VineSeed と Gnome Shell UIのデモ
    基本はブースの近くでたむろしており、その場に来て頂いた皆さんの質問や相談に答えていました。

    Project Vine & Vine Linux Developer 有志主催のセミナー「第7回 Vine Linuxユーザーの集い」では、Vine Linux 7ではどんなデスクトップが標準だといいかを見てもらうため、開発版 VineSeed での Gnome-3.2.1 (Gnome Shell), Gnome 3.2.1, KDE 4.7.2, LXDE, Xfce デスクトップ環境をそれぞれ紹介しました。 また、ユーザー事例紹介として 2件の発表がありました。

    • 透明感のあるデスクトップでWineを楽しむ (Takemikaduchiさん)
    • Vineの上で TeX Loveを叫ぶ (munepiさん)
    セミナーに参加下さった EnterpriseOSS の方にはユーザー事例紹介を聞いて Vine が何であるかを大いに誤解されてしまったかもしれません。。。 Vineはスケスケを楽しんだりもしますが、国内の老舗ディストリビュータとしての基本を常に忘れず、これからも変わることなくユーザーに優しい Linuxディストリビューションを作り続けます。

    Takemikaduchiさんの透明感あふれるデスクトップ TakemikaduchiさんによるWineのデモンストレーション

    RPMパッケージ作成 はじめの一歩

    RPMパッケージ作成に挑戦してみませんか?

    OSCでは時間がなくて紹介できなかったのですが、もう1つ「Vine Linuxの開発もしてみませんか?」という話題を用意していました。 ユーザーの多くの方は、ソースコードの tar.gz をダウンロードしてきて

    $ tar xfvz hoge.tar.gz
    $ cd hoge
    $ ./configure
    $ make
    $ make install
    
    と、何かしら自分が使うアプリケーションをビルドして追加したことがあるかと思います。 今回のユーザーの集いで参加されたユーザーの皆様に訊いたところ全員に経験が有りました。

    単に make install でインストールすると、アンインストールが困難だったり、重複したファイルが意図せずに上書きされてしまったりします。 自分だけしか使わないアプリケーションでも、とりあえず RPMパッケージを作ってパッケージ管理できる便利なことはとても多いのです。 だけど、RPMパッケージ作るのは大変でそんな簡単にはできない、、、って思われる方も多いですよね。
    本当でしょうか?
    ご自身でソースからビルドした経験があれば、RPMパッケージを作るのは案外簡単なんです。 今回はまず、最低限の手間でRPMパッケージを作る手順をご紹介します。 例としてたまたま見かけたブログ Linux life で紹介されていた、NetCDF 4.1.3のパッケージを作ってみます。

    はじめに

    使用したのは Vine Linux 6 (x86_64) を、標準のデスクトップ設定でインストールした環境です。

    RPMパッケージ作成には rpmbuild コマンドを使用します。そのために、まず rpm-build パッケージをインストールしておきます。

    $ sudo apt-get install rpm-build
    パッケージリストを読みこんでいます... 完了
    依存情報ツリーを作成しています... 完了        
    以下の追加パッケージがインストールされます:
      elfutils elfutils-libs patch
    以下のパッケージが新たにインストールされます:
      elfutils elfutils-libs patch rpm-build
    アップグレード: 0 個, 新規インストール: 4 個, 削除: 0 個, 保留: 0 個
    938kB のアーカイブを取得する必要があります。
    展開後に 2405kB のディスク容量が追加消費されます。
    続行しますか? [Y/n]Y
    取得:1 http://updates.vinelinux.org 6/x86_64/main elfutils-libs 0.152-2vl6 [238kB]
    取得:2 http://updates.vinelinux.org 6/x86_64/main elfutils 0.152-2vl6 [516kB]
    取得:3 http://updates.vinelinux.org 6/x86_64/main patch 2.6.1-2vl6 [87.6kB]
    取得:4 http://updates.vinelinux.org 6/x86_64/main rpm-build 4.8.1-3vl6 [97.3kB]
    938kB を 0s 秒で取得しました (2070kB/s)
    変更を適用しています...
    準備中                                ############################## [100%]
    更新/インストール中
      patch-2.6.1-2vl6.x86_64                ############################## [100%]
      elfutils-libs-0.152-2vl6.x86_64        ############################## [100%]
      elfutils-0.152-2vl6.x86_64             ############################## [100%]
      rpm-build-4.8.1-3vl6.x86_64            ############################## [100%]
    完了
    

    自分で ./configure && make && make install されている環境ならばきっとビルド環境は一通り揃っていると思います。 もし開発環境をインストールしていない場合には最低限の一式として build-essential をインストールして下さい。

    $ sudo apt-get install build-essential 
    パッケージリストを読みこんでいます... 完了
    依存情報ツリーを作成しています... 完了        
    以下の追加パッケージがインストールされます:
      autoconf automake gcc-c++ gettext gettext-devel gettext-libs intltool libsigsegv libstdc++-devel libtool m4 make
      perl-HTML-Parser perl-HTML-Tagset perl-URI perl-XML-Parser perl-libwww-perl
    以下のパッケージが新たにインストールされます:
      autoconf automake build-essential gcc-c++ gettext gettext-devel gettext-libs intltool libsigsegv libstdc++-devel
      libtool m4 make perl-HTML-Parser perl-HTML-Tagset perl-URI perl-XML-Parser perl-libwww-perl
    アップグレード: 0 個, 新規インストール: 18 個, 削除: 0 個, 保留: 0 個
    17.5MB のアーカイブを取得する必要があります。
    展開後に 45.1MB のディスク容量が追加消費されます。
    続行しますか? [Y/n]Y
    
    (中略)
    
      perl-HTML-Parser-3.68-2vl6.x86_64      ############################## [100%]
      perl-libwww-perl-5.833-3vl6.noarch     ############################## [100%]
      perl-XML-Parser-2.40-1vl6.x86_64       ############################## [100%]
      intltool-0.41.1-2vl6.noarch            ############################## [100%]
      build-essential-1.6-1vl6.noarch        ############################## [100%]
    完了
    

    vine-rpm-helper を使ったRPMパッケージ作成

    RPMパッケージを作るには yasumichiさんが最近公開された vine-rpm-helper に含まれている mkrpmspec を使うのが簡単です。 mkrpmspec コマンドは、引数に指定したソースコードをダウンロードして ~/rpm/SOURCES/«パッケージ名» 以下に配置し、specファイルのひな形を ~rpm/SPECS/«パッケージ名» 以下に作ってくれます。

    $ sudo apt-get install vine-rpm-helper
    $ mkrpmspec http://www.unidata.ucar.edu/downloads/netcdf/ftp/netcdf-4.1.3.tar.gz
    --2011-11-24 22:16:53--  http://www.unidata.ucar.edu/downloads/netcdf/ftp/netcdf-4.1.3.tar.gz
    www.unidata.ucar.edu をDNSに問いあわせています... 128.117.149.64
    www.unidata.ucar.edu|128.117.149.64|:80 に接続しています... 接続しました。
    HTTP による接続要求を送信しました、応答を待っています... 200 OK
    長さ: 11097157 (11M) [application/x-gzip]
    `/home/vine/rpm/SOURCES/netcdf/netcdf-4.1.3.tar.gz' に保存中
    
    100%[==========================================================================>] 11,097,157  3.04M/s 時間 4.2s    
    
    2011-11-24 22:16:58 (2.51 MB/s) - `/home/vine/rpm/SOURCES/netcdf/netcdf-4.1.3.tar.gz' へ保存完了 [11097157/11097157]
    
    パッケージを /home/vine/rpm/BUILD/netcdf-4.1.3 に展開しました。
    パッケージ形式は、autotoolize であると認識しました。
    ドキュメントを発見: README
    mkdir: ディレクトリ `/home/vine/rpm/SPECS/netcdf' を作成しました
    /home/vine/rpm/SPECS/netcdf/netcdf-vl.spec  を作成しました
    

    RPMパッケージのビルド

    では早速 mkrpmspec で作られた specファイルを使ってビルドしてみましょう。

    $ cd ~/rpm/SPECS/
    $ rpm -ba netcdf/netcdf-vl.spec 
    実行中(%prep): /bin/sh -e /var/tmp/rpm-tmp.Zv9qlh
    + umask 022
    + cd /home/vine/rpm/BUILD
    + cd /home/vine/rpm/BUILD
    + rm -rf netcdf-4.1.3
    + /bin/tar -xf -
    + /bin/gzip -dc /home/vine/rpm/SOURCES/netcdf/netcdf-4.1.3.tar.gz
    + STATUS=0
    + '[' 0 -ne 0 ']'
    + cd netcdf-4.1.3
    + /bin/chmod -Rf a+rX,u+w,g-w,o-w .
    + exit 0
    実行中(%build): /bin/sh -e /var/tmp/rpm-tmp.YV3T4f
    + umask 022
    + cd /home/vine/rpm/BUILD
    + cd netcdf-4.1.3
    + CFLAGS='-O2 -m64 -mtune=generic -fno-strict-aliasing -fno-schedule-insns2'
    + export CFLAGS
    + CXXFLAGS='-O2 -m64 -mtune=generic -fno-strict-aliasing -fno-schedule-insns2'
    + export CXXFLAGS
    + FFLAGS='-O2 -m64 -mtune=generic -fno-strict-aliasing -fno-schedule-insns2'
    + export FFLAGS
    + ./configure --host=x86_64-unknown-linux-gnu --build=x86_64-unknown-linux-gnu --program-prefix= --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/usr/share --mandir=/usr/share/man --infodir=/usr/share/info
    configure: netCDF 4.1.3
    checking build system type... x86_64-unknown-linux-gnu
    checking host system type... x86_64-unknown-linux-gnu
    checking target system type... x86_64-unknown-linux-gnu
    checking for a BSD-compatible install... /usr/bin/install -c
    checking whether build environment is sane... yes
    checking for a thread-safe mkdir -p... /bin/mkdir -p
    checking for gawk... gawk
    checking whether make sets $(MAKE)... yes
    
    (中略)
    
    checking whether byte ordering is bigendian... no
    checking size of short... 2
    checking size of int... 4
    checking size of long... 8
    checking size of float... 4
    checking size of double... 8
    checking size of off_t... 8
    checking size of size_t... 8
    checking for library containing deflate... no
    configure: error: Can't find or link to the z library. Turn off netCDF-4 and      opendap with --disable-netcdf-4 --disable-dap, or see config.log for errors.
    エラー: /var/tmp/rpm-tmp.YV3T4f の不正な終了ステータス (%build)
    
    エラーになってしまいました。 最後のメッセージを見ると、どうも zlib-devel が足りないようですね。 この対処法は 2通りありますが、今回のコンセプト最小限の手間で簡単に対処しましょう。

    エラーメッセージには、--disable-netcdf-4 を使うようにとも書かれていますよね。 そういえば、先のブログに載っていた手順

    $ cd /tmp
    $ wget http://www.gfd-dennou.org/library/netcdf/unidata-mirror/netcdf-4.1.3.tar.gz
    $ gtar xfvz ~/tmp/netcdf-4.1.3.tar.gz
    $ cd netcdf-4.1.3
    $ ./configure --prefix=/usr/local/netcdf --disable-netcdf-4
    $ make check
    $ su -
    # make install
    
    でも ./configure の際に --disable-netcdf-4 オプションがついていました。 ここは真似して --disable-netcdf-4 オプションをつけましょう。

    先ほど自動生成された specファイルをコピーして編集します。

    $ cp -a netcdf/netcdf-vl.spec .
    $ vim netcdf-vl.spec 
    
    書き換えた行は次の通りです。
    $ diff -u netcdf/netcdf-vl.spec netcdf-vl.spec 
    --- netcdf/netcdf-vl.spec	2011-11-24 22:17:01.708999998 +0900
    +++ netcdf-vl.spec	2011-11-24 22:25:35.253996625 +0900
    @@ -30,7 +30,7 @@
     %setup -q
     
     %build
    -%configure
    +%configure --disable-netcdf-4
     %{__make} %{?_smp_mflags}
     
     %install
    

    もう一度ビルドしてみましょう。

    $ rpm -ba netcdf-vl.spec
    
    (中略)
    
    make[3]: Leaving directory `/home/vine/rpm/BUILD/netcdf-4.1.3'
    make[2]: Leaving directory `/home/vine/rpm/BUILD/netcdf-4.1.3'
    make[1]: Leaving directory `/home/vine/rpm/BUILD/netcdf-4.1.3'
    + /usr/lib/rpm/brp-compress
    + /usr/lib/rpm/brp-strip
    + /usr/lib/rpm/brp-strip-static-archive
    + /usr/lib/rpm/brp-strip-comment-note
    Processing files: netcdf-4.1.3-1vl6.x86_64
    実行中(%doc): /bin/sh -e /var/tmp/rpm-tmp.Wetkf1
    + umask 022
    + cd /home/vine/rpm/BUILD
    + cd netcdf-4.1.3
    + DOCDIR=/home/vine/rpm/BUILDROOT/netcdf-4.1.3-1vl6.x86_64/usr/share/doc/netcdf-4.1.3
    + export DOCDIR
    + rm -rf /home/vine/rpm/BUILDROOT/netcdf-4.1.3-1vl6.x86_64/usr/share/doc/netcdf-4.1.3
    + /bin/mkdir -p /home/vine/rpm/BUILDROOT/netcdf-4.1.3-1vl6.x86_64/usr/share/doc/netcdf-4.1.3
    + cp -pr README /home/vine/rpm/BUILDROOT/netcdf-4.1.3-1vl6.x86_64/usr/share/doc/netcdf-4.1.3
    + exit 0
    Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
    伸張ファイルの検査中: /usr/lib/rpm/check-files /home/vine/rpm/BUILDROOT/netcdf-4.1.3-1vl6.x86_64
    警告: インストール済み(ただし未伸張)ファイルが見つかりました:
       /usr/bin/nc-config
       /usr/bin/nccopy
       /usr/bin/ncdump
       /usr/bin/ncgen
       /usr/bin/ncgen3
       /usr/include/ncvalues.h
       /usr/include/netcdf.h
       /usr/include/netcdf.hh
       /usr/include/netcdfcpp.h
       /usr/lib64/libnetcdf.a
       /usr/lib64/libnetcdf.la
       /usr/lib64/libnetcdf.so
       /usr/lib64/libnetcdf.so.7
       /usr/lib64/libnetcdf.so.7.1.1
       /usr/lib64/libnetcdf_c++.a
       /usr/lib64/libnetcdf_c++.la
       /usr/lib64/libnetcdf_c++.so
       /usr/lib64/libnetcdf_c++.so.4
       /usr/lib64/libnetcdf_c++.so.4.1.0
       /usr/lib64/pkgconfig/netcdf.pc
       /usr/share/info/dir
       /usr/share/info/netcdf-c.info-1.gz
       /usr/share/info/netcdf-c.info-2.gz
       /usr/share/info/netcdf-c.info.gz
       /usr/share/info/netcdf-cxx.info.gz
       /usr/share/info/netcdf-f77.info-1.gz
       /usr/share/info/netcdf-f77.info-2.gz
       /usr/share/info/netcdf-f77.info.gz
       /usr/share/info/netcdf-f90.info.gz
       /usr/share/info/netcdf-install.info.gz
       /usr/share/info/netcdf-tutorial.info.gz
       /usr/share/info/netcdf.info.gz
       /usr/share/man/man1/nccopy.1.gz
       /usr/share/man/man1/ncdump.1.gz
       /usr/share/man/man1/ncgen.1.gz
       /usr/share/man/man1/ncgen3.1.gz
       /usr/share/man/man3/netcdf.3.gz
    書き込み完了: /home/vine/rpm/SRPMS/netcdf-4.1.3-1vl6.src.rpm
    書き込み完了: /home/vine/rpm/RPMS/x86_64/netcdf-4.1.3-1vl6.x86_64.rpm
    実行中(%clean): /bin/sh -e /var/tmp/rpm-tmp.NGMuhd
    + umask 022
    + cd /home/vine/rpm/BUILD
    + cd netcdf-4.1.3
    + /bin/rm -rf /home/vine/rpm/BUILDROOT/netcdf-4.1.3-1vl6.x86_64
    + exit 0
    
    今度はビルドできたみたいです。 でも、"警告: インストール済み(ただし未伸張)ファイルが見つかりました:" と警告が出てますね。

    できた rpm を見てみましょう。

    $ rpm -qlp /home/vine/rpm/RPMS/x86_64/netcdf-4.1.3-1vl6.x86_64.rpm
    /usr/share/doc/netcdf-4.1.3
    /usr/share/doc/netcdf-4.1.3/README
    
    README ファイルしか入ってませんね。。。

    %files セクションの編集

    これを修正するには、specファイルの セクションを変更します。 とりあえず、SPEC Template に倣って、%files セクションを埋めてみましょう。

    $ cp -a netcdf-vl.spec netcdf-vl.spec.old
    $ vim netcdf-vl.spec
    $ diff -u netcdf-vl.spec.old netcdf-vl.spec
    --- netcdf-vl.spec.orig	2011-11-24 22:17:01.708999998 +0900
    +++ netcdf-vl.spec	2011-11-24 23:51:14.222999998 +0900
    @@ -45,6 +45,11 @@
     %files
     %defattr(-,root,root)
     %doc README
    +%{_bindir}/*
    +%{_libdir}/*
    +%{_datadir}/*
    +%{_mandir}/man?/*
    +%{_sysconfdir}/*
     
     %changelog
     * Thu Nov 24 2011 Your Name  4.1.3-1
    

    もう一度ビルドすると時間が掛かるので、今度はコンパイルをスキップして試してみましょう。

    $ rpm -bi --short-circuit netcdf-vl.spec
    
    (中略)
    + /usr/lib/rpm/brp-compress
    + /usr/lib/rpm/brp-strip
    + /usr/lib/rpm/brp-strip-static-archive
    + /usr/lib/rpm/brp-strip-comment-note
    Processing files: netcdf-4.1.3-1vl6.x86_64
    エラー: ファイルが見つかりません (by glob): /home/vine/rpm/BUILDROOT/netcdf-4.1.3-1vl6.x86_64/etc/*
    実行中(%doc): /bin/sh -e /var/tmp/rpm-tmp.c6xhcf
    + umask 022
    + cd /home/vine/rpm/BUILD
    + cd netcdf-4.1.3
    + DOCDIR=/home/vine/rpm/BUILDROOT/netcdf-4.1.3-1vl6.x86_64/usr/share/doc/netcdf-4.1.3
    + export DOCDIR
    + rm -rf /home/vine/rpm/BUILDROOT/netcdf-4.1.3-1vl6.x86_64/usr/share/doc/netcdf-4.1.3
    + /bin/mkdir -p /home/vine/rpm/BUILDROOT/netcdf-4.1.3-1vl6.x86_64/usr/share/doc/netcdf-4.1.3
    + cp -pr README /home/vine/rpm/BUILDROOT/netcdf-4.1.3-1vl6.x86_64/usr/share/doc/netcdf-4.1.3
    + exit 0
    
    
    RPM ビルドエラー:
        ファイルが見つかりません (by glob): /home/vine/rpm/BUILDROOT/netcdf-4.1.3-1vl6.x86_64/etc/*
    

    /etc は不要だったようですね。%{_sysconfdir} を外しましょう。

    $ cp -a netcdf-vl.spec netcdf-vl.spec.old
    $ vim netcdf-vl.spec
    $ diff -u netcdf-vl.spec.old netcdf-vl.spec
    --- netcdf-vl.spec.old	2011-11-24 23:51:14.222999998 +0900
    +++ netcdf-vl.spec	2011-11-24 23:56:07.656999868 +0900
    @@ -49,7 +49,6 @@
     %{_libdir}/*
     %{_datadir}/*
     %{_mandir}/man?/*
    -%{_sysconfdir}/*
     
     %changelog
     * Thu Nov 24 2011 Your Name  4.1.3-1
    

    もう一度試してみましょう。

    $ rpm -bl --short-circuit netcdf-vl.spec
    Processing files: netcdf-4.1.3-1vl6.x86_64
    警告: ファイルが2回表記されています: /usr/share/doc/netcdf-4.1.3
    警告: ファイルが2回表記されています: /usr/share/doc/netcdf-4.1.3/README
    警告: ファイルが2回表記されています: /usr/share/man/man1/nccopy.1.gz
    警告: ファイルが2回表記されています: /usr/share/man/man1/ncdump.1.gz
    警告: ファイルが2回表記されています: /usr/share/man/man1/ncgen.1.gz
    警告: ファイルが2回表記されています: /usr/share/man/man1/ncgen3.1.gz
    警告: ファイルが2回表記されています: /usr/share/man/man3/netcdf.3.gz
    Provides: libnetcdf.so.7()(64bit) libnetcdf_c++.so.4()(64bit) pkgconfig(netcdf) = 4.1.3
    Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(VersionedDependencies) <= 3.0.3-1
    Requires: /bin/sh /usr/bin/pkg-config libc.so.6()(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3)(64bit) libc.so.6(GLIBC_2.7)(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libm.so.6()(64bit) libm.so.6(GLIBC_2.2.5)(64bit) libnetcdf.so.7()(64bit) libnetcdf_c++.so.4()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(GLIBCXX_3.4)(64bit) libstdc++.so.6(GLIBCXX_3.4.9)(64bit)
    伸張ファイルの検査中: /usr/lib/rpm/check-files /home/vine/rpm/BUILDROOT/netcdf-4.1.3-1vl6.x86_64
    警告: インストール済み(ただし未伸張)ファイルが見つかりました:
       /usr/include/ncvalues.h
       /usr/include/netcdf.h
       /usr/include/netcdf.hh
       /usr/include/netcdfcpp.h
    $ rpm -bl --short-circuit netcdf-vl.spec
    Processing files: netcdf-4.1.3-1vl6.x86_64
    警告: ファイルが2回表記されています: /usr/share/doc/netcdf-4.1.3
    警告: ファイルが2回表記されています: /usr/share/doc/netcdf-4.1.3/README
    警告: ファイルが2回表記されています: /usr/share/man/man1/nccopy.1.gz
    警告: ファイルが2回表記されています: /usr/share/man/man1/ncdump.1.gz
    警告: ファイルが2回表記されています: /usr/share/man/man1/ncgen.1.gz
    警告: ファイルが2回表記されています: /usr/share/man/man1/ncgen3.1.gz
    警告: ファイルが2回表記されています: /usr/share/man/man3/netcdf.3.gz
    Provides: libnetcdf.so.7()(64bit) libnetcdf_c++.so.4()(64bit) pkgconfig(netcdf) = 4.1.3
    Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(VersionedDependencies) <= 3.0.3-1
    Requires: /bin/sh /usr/bin/pkg-config libc.so.6()(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3)(64bit) libc.so.6(GLIBC_2.7)(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libm.so.6()(64bit) libm.so.6(GLIBC_2.2.5)(64bit) libnetcdf.so.7()(64bit) libnetcdf_c++.so.4()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(GLIBCXX_3.4)(64bit) libstdc++.so.6(GLIBCXX_3.4.9)(64bit)
    伸張ファイルの検査中: /usr/lib/rpm/check-files /home/vine/rpm/BUILDROOT/netcdf-4.1.3-1vl6.x86_64
    警告: インストール済み(ただし未伸張)ファイルが見つかりました:
       /usr/include/ncvalues.h
       /usr/include/netcdf.h
       /usr/include/netcdf.hh
       /usr/include/netcdfcpp.h
    

    ヘッダーファイルが入っていなかったので、include ディレクトリを追加して、

    $ cp -a netcdf-vl.spec netcdf-vl.spec.old
    $ vim netcdf-vl.spec
    $ diff -u netcdf-vl.spec.old netcdf-vl.spec
    --- netcdf-vl.spec.old	2011-11-24 23:56:07.656999868 +0900
    +++ netcdf-vl.spec	2011-11-25 00:02:37.313000003 +0900
    @@ -47,6 +47,7 @@
     %doc README
     %{_bindir}/*
     %{_libdir}/*
    +%{_includedir}/*
     %{_datadir}/*
     %{_mandir}/man?/*
     
    

    もう一度やってみます。

    $ rpm -bl --short-circuit netcdf-vl.spec
    Processing files: netcdf-4.1.3-1vl6.x86_64
    警告: ファイルが2回表記されています: /usr/share/doc/netcdf-4.1.3
    警告: ファイルが2回表記されています: /usr/share/doc/netcdf-4.1.3/README
    警告: ファイルが2回表記されています: /usr/share/man/man1/nccopy.1.gz
    警告: ファイルが2回表記されています: /usr/share/man/man1/ncdump.1.gz
    警告: ファイルが2回表記されています: /usr/share/man/man1/ncgen.1.gz
    警告: ファイルが2回表記されています: /usr/share/man/man1/ncgen3.1.gz
    警告: ファイルが2回表記されています: /usr/share/man/man3/netcdf.3.gz
    Provides: libnetcdf.so.7()(64bit) libnetcdf_c++.so.4()(64bit) pkgconfig(netcdf) = 4.1.3
    Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(VersionedDependencies) <= 3.0.3-1
    Requires: /bin/sh /usr/bin/pkg-config libc.so.6()(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3)(64bit) libc.so.6(GLIBC_2.7)(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libm.so.6()(64bit) libm.so.6(GLIBC_2.2.5)(64bit) libnetcdf.so.7()(64bit) libnetcdf_c++.so.4()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(GLIBCXX_3.4)(64bit) libstdc++.so.6(GLIBCXX_3.4.9)(64bit)
    伸張ファイルの検査中: /usr/lib/rpm/check-files /home/vine/rpm/BUILDROOT/netcdf-4.1.3-1vl6.x86_64
    
    今度は良さそうですね。

    警告はまた後で調べることにして、これでパッケージを作ってインストールしてみましょう。

    $ rpm -bb --short-circuit netcdf-vl.spec
    
    (中略)
    
    + cp -pr README /home/vine/rpm/BUILDROOT/netcdf-4.1.3-1vl6.x86_64/usr/share/doc/netcdf-4.1.3
    + exit 0
    警告: ファイルが2回表記されています: /usr/share/man/man1/nccopy.1.gz
    警告: ファイルが2回表記されています: /usr/share/man/man1/ncdump.1.gz
    警告: ファイルが2回表記されています: /usr/share/man/man1/ncgen.1.gz
    警告: ファイルが2回表記されています: /usr/share/man/man1/ncgen3.1.gz
    警告: ファイルが2回表記されています: /usr/share/man/man3/netcdf.3.gz
    Provides: libnetcdf.so.7()(64bit) libnetcdf_c++.so.4()(64bit) pkgconfig(netcdf) = 4.1.3
    Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(VersionedDependencies) <= 3.0.3-1
    Requires: /bin/sh /usr/bin/pkg-config libc.so.6()(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3)(64bit) libc.so.6(GLIBC_2.7)(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libm.so.6()(64bit) libm.so.6(GLIBC_2.2.5)(64bit) libnetcdf.so.7()(64bit) libnetcdf_c++.so.4()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(GLIBCXX_3.4)(64bit) libstdc++.so.6(GLIBCXX_3.4.9)(64bit)
    伸張ファイルの検査中: /usr/lib/rpm/check-files /home/vine/rpm/BUILDROOT/netcdf-4.1.3-1vl6.x86_64
    書き込み完了: /home/vine/rpm/RPMS/x86_64/netcdf-4.1.3-1vl6.x86_64.rpm
    実行中(%clean): /bin/sh -e /var/tmp/rpm-tmp.62PB3T
    + umask 022
    + cd /home/vine/rpm/BUILD
    + cd netcdf-4.1.3
    + /bin/rm -rf /home/vine/rpm/BUILDROOT/netcdf-4.1.3-1vl6.x86_64
    + exit 0
    

    では、早速インストールしてみます。

    $ sudo rpm -Uhv /home/vine/rpm/RPMS/x86_64/netcdf-4.1.3-1vl6.x86_64.rpm 
    [sudo] password for vine: 
    準備中...                ########################################### [100%]
    	ファイル /usr/share/info/dir (パッケージ netcdf-4.1.3-1vl6.x86_64 から) は、パッケージ install-info-4.13a-1vl6.x86_64 からのファイルと競合しています。
    $ rpm -qf /usr/share/info/dir
    install-info-4.13a-1vl6.x86_64
    
    ふーむ、netcdfパッケージに入っている /usr/share/info/dir が install-info とぶつかっているようです。

    とりあえずやっつけですが /usr/share/info/dir を外してしまいましょう。その上でバイナリパッケージ作成のところだけ再実行してインストールしてみます。

    $ cp -a netcdf-vl.spec netcdf-vl.spec.old
    $ vim netcdf-vl.spec
    $ diff -u netcdf-vl.spec.old netcdf-vl.spec
    --- netcdf-vl.spec.old	2011-11-25 00:22:45.191000089 +0900
    +++ netcdf-vl.spec	2011-11-25 00:21:34.061999867 +0900
    @@ -49,6 +49,7 @@
     %{_libdir}/*
     %{_includedir}/*
     %{_datadir}/*
    +%exclude %{_infodir}/dir
     %{_mandir}/man?/*
     
     %changelog
    $ rpm -bb --short-circuit netcdf-vl.spec
    $ sudo rpm -Uhv /home/vine/rpm/RPMS/x86_64/netcdf-4.1.3-1vl6.x86_64.rpm 
    準備中...                ########################################### [100%]
       1:netcdf                 ########################################### [100%]
    
    今度はうまくいきました。

    警告が出ていたり、やっつけの修正もありますが、mkrpmspec を使うと、たった 7行の書き換えだけで RPMパッケージを作ることができました。

    $ diff -u netcdf/netcdf-vl.spec netcdf-vl.spec
    --- netcdf/netcdf-vl.spec	2011-11-24 22:17:01.708999998 +0900
    +++ netcdf-vl.spec	2011-11-25 00:21:34.061999867 +0900
    @@ -30,7 +30,7 @@
     %setup -q
     
     %build
    -%configure
    +%configure --disable-netcdf-4
     %{__make} %{?_smp_mflags}
     
     %install
    @@ -45,6 +45,12 @@
     %files
     %defattr(-,root,root)
     %doc README
    +%{_bindir}/*
    +%{_libdir}/*
    +%{_includedir}/*
    +%{_datadir}/*
    +%exclude %{_infodir}/dir
    +%{_mandir}/man?/*
     
     %changelog
     * Thu Nov 24 2011 Your Name  4.1.3-1
    

    make install と較べてもほとんど手間無く、パッケージ管理されたきれいな環境が作れると思います。 やっていくと細かくいじるところがいくつも出てきますが、それは問題に出会ったときに少しずつ覚えていくことになります。試してみて困ったことがありましたら MLなどで質問して下さい。 なお、最終的に作った SPECファイルをこちらに置いています。何が書き換わっているかを比較しながら、Develppers Guideと見較べてみてください。

    参考資料

    おわりに

    Project Vineではこれまでにも munepiさんが中心となって RPMパッケージ作成ハンズオンを実施してきました。

    ここでは最小限の手間でRPMパッケージ作成を体験できる方法を紹介しました。 普段は面倒で make install されているときに、ちょっとだけ頑張って vine-rpm-helper を使ったRPMパッケージ作成に挑戦してみてください。 手間を掛けた以上に快適な管理ができること間違いありません。

    なお、環境によっては今回紹介した結果と同じようにならないこともあるかもしれません。 その場合には是非 ML等で質問して下さい。 いろんな疑問やコメントが頂けましたら、続編として様々な問題に対処するより実践的なパッケージ作成を紹介するつもりです。

    Vine Linux Magazine では、Vine Linux に関する様々な情報、小ネタ、Tips、ノウハウ(バッドノウハウ含む)、活用事例などを書いていただける方を募集しています。また、「XXの記事を書いて欲しい」などのご要望なども随時お待ちしておりますので、ML や Twitter のハッシュタグ #VineLinux、IRC、個別メールなどでお知らせください。

    ]]>
    Vine Linux Magazine 2011.09 http://vinelinux.org/vlmagazine/20110927.html <![CDATA[

    真夏の 8 月 6 日、Vine Linux 6.0 がリリースされました。 久しぶりに Vine Linux Magazine をお届けします。

    ニュース

    Vine Linux ロゴ Vine Linux 6.0 をリリース

    8 月 6 日、 「Vine Linux 6.0 をリリース」しました。 詳細は、「Vine Linux 6 (Haut Brion) について」に譲ります。 わたし個人的には、 これまでの Vine Linux 4, 5, 6 のなかで、一番安定したリリースだと思います。 VineSeed から Vine Linux 6 の開発へ舵をきりだしたのが、 ちょうど今年 2 月のことでした。 当時の VineSeed も、 デスクトップ環境としても、サーバ環境としても、 たまたまソフトウェアどうしのバランスがよかったのでしょう。 その安定したまま調整を重ねることで、Vine Linux 6 がまとまった感じです。

    Vine Linux 6 は、 きっと Vine Linux 5 よりもさらに使いやすくなったと思いたいのですが、 いかがでしょうか? みなさまのご意見を vine-users ML や Twitter のハッシュタグ #VineLinux などで、 どしどしお待ちしております。

    Vine Linux ロゴ Vine Linux FAQ を試験運用中

    よくある質問を Vine Linux FAQ にて、 試験運用中です。 今後、こちらへ各種質問を取りまとめる予定です。

    Vine Linux ロゴ RPM パッケージ作成ハンズオン、Vine Linux ユーザの集い史上、最大規模に!

    第 6 回 Vine Linux ユーザの集い with LILO - RPM パッケージ作成ハンズオン - は、 Vine Linux ユーザの集い史上、もっとも参加者が多い集いになりました。 ご参加いただいたみなさま、ありがとうございました、そして、おつかれさまでした。 当日のスライドならびに配布資料を「第 6 回 Vine Linux ユーザの集い with LILO - RPM パッケージ作成ハンズオン -」にて公開しております。都合が合わなくて参加できなかった方でも独習できる内容にしているつもりですので、ご活用下さいませ。

    オープンソースカンファレンス 2011 オープンソースカンファレンス 2011 Tokyo/Fall への参加

    今年も東京開催のオープンソースカンファレンス「オープンソースカンファレンス 2011 Tokyo/Fall」へ参加します。 Project Vine メンバをはじめ、VineSeed 開発者、Vine Linux ユーザとの情報交換や交流できる機会ですので、ぜひともご参加ください。 オフラインでしか聞けない話もあるかもしれません。

    Gnome Logo Mark VineSeed に Gnome 3 デスクトップが投入

    建御雷さん(id:Takemikaduchi)のご尽力により、 VineSeed で Gnome 3.1.92 を利用できます。 大きな目玉は、これまでの Gnome パネルに代わり、 Gnome Shell になったことでしょうか。

    現在、次期 Vine Linux 7 へ向けて VineSeed は、鋭意に開発進行中です。 非常に流動的に構成が変わっておりますが、 ご興味のある方は、 VineSeed ML へのご参加いただき、 VineSeed をのぞいてみてください。 合わせて、Vine Linux開発者ガイド もご覧ください。

    Vine Linux ロゴ VineSeed で MacBook Air (Mid 2011) に対応

    松林弘治さん(id:shaolin)のご尽力により、 [VineSeed:024098] update: kernel-3.0.4-2 にて、MacBook Air (Mid 2011) に対応しました。

    セキュリティ・バグフィックスアップデート

    今回のセキュリティアップデートで重要なのは apache2 のアップデートです。 通称「apache killer」という攻略スクリプトが既に出まわっておりますので apache2 ご使用の方は早急な更新をお願いします。

    Vine Linux 6

    9 月は、これまでに Vine Linux 6 のエラッタが 12 件ありました。

    Vine Linux 5

    9 月は、これまでに Vine Linux 5 のエラッタが 11 件ありました。

    パッケージ紹介

    更新パッケージ(VinePlus 6)

    chromium
    Google のオープンソースウェブブラウザです。Google Chrome の安定版である Google Chrome 14 がリリースされていますので、chromium パッケージも 14 にしました(Google Chrome Releases: Stable Channel Update)。

    このほかにも様々なパッケージがアップデートされています。

    おわりに

    昨年から始まった Vine Linux Managize では、新しく追加・更新されたパッケージの一部紹介や開発状況の紹介など毎月紹介する定期的な記事と、不定期に発行される読み物や活用方法などの記事を発行しています。定期版は毎回持ち回りで行うため、筆者の興味によって内容は大きく異なる場合があります。

    Vine Linux Magazine では、Vine Linux に関する様々な情報、小ネタ、Tips、ノウハウ(バッドノウハウ含む)、活用事例などを書いていただける方を募集しています。また、「XXの記事を書いて欲しい」などのご要望なども随時お待ちしておりますので、ML や Twitter のハッシュタグ #VineLinux、IRC、個別メールなどでお知らせください。

    ]]>
    2011-09-27T00:00:00+09:00 <![CDATA[

    真夏の 8 月 6 日、Vine Linux 6.0 がリリースされました。 久しぶりに Vine Linux Magazine をお届けします。

    ニュース

    Vine Linux ロゴ Vine Linux 6.0 をリリース

    8 月 6 日、 「Vine Linux 6.0 をリリース」しました。 詳細は、「Vine Linux 6 (Haut Brion) について」に譲ります。 わたし個人的には、 これまでの Vine Linux 4, 5, 6 のなかで、一番安定したリリースだと思います。 VineSeed から Vine Linux 6 の開発へ舵をきりだしたのが、 ちょうど今年 2 月のことでした。 当時の VineSeed も、 デスクトップ環境としても、サーバ環境としても、 たまたまソフトウェアどうしのバランスがよかったのでしょう。 その安定したまま調整を重ねることで、Vine Linux 6 がまとまった感じです。

    Vine Linux 6 は、 きっと Vine Linux 5 よりもさらに使いやすくなったと思いたいのですが、 いかがでしょうか? みなさまのご意見を vine-users ML や Twitter のハッシュタグ #VineLinux などで、 どしどしお待ちしております。

    Vine Linux ロゴ Vine Linux FAQ を試験運用中

    よくある質問を Vine Linux FAQ にて、 試験運用中です。 今後、こちらへ各種質問を取りまとめる予定です。

    Vine Linux ロゴ RPM パッケージ作成ハンズオン、Vine Linux ユーザの集い史上、最大規模に!

    第 6 回 Vine Linux ユーザの集い with LILO - RPM パッケージ作成ハンズオン - は、 Vine Linux ユーザの集い史上、もっとも参加者が多い集いになりました。 ご参加いただいたみなさま、ありがとうございました、そして、おつかれさまでした。 当日のスライドならびに配布資料を「第 6 回 Vine Linux ユーザの集い with LILO - RPM パッケージ作成ハンズオン -」にて公開しております。都合が合わなくて参加できなかった方でも独習できる内容にしているつもりですので、ご活用下さいませ。

    オープンソースカンファレンス 2011 オープンソースカンファレンス 2011 Tokyo/Fall への参加

    今年も東京開催のオープンソースカンファレンス「オープンソースカンファレンス 2011 Tokyo/Fall」へ参加します。 Project Vine メンバをはじめ、VineSeed 開発者、Vine Linux ユーザとの情報交換や交流できる機会ですので、ぜひともご参加ください。 オフラインでしか聞けない話もあるかもしれません。

    Gnome Logo Mark VineSeed に Gnome 3 デスクトップが投入

    建御雷さん(id:Takemikaduchi)のご尽力により、 VineSeed で Gnome 3.1.92 を利用できます。 大きな目玉は、これまでの Gnome パネルに代わり、 Gnome Shell になったことでしょうか。

    現在、次期 Vine Linux 7 へ向けて VineSeed は、鋭意に開発進行中です。 非常に流動的に構成が変わっておりますが、 ご興味のある方は、 VineSeed ML へのご参加いただき、 VineSeed をのぞいてみてください。 合わせて、Vine Linux開発者ガイド もご覧ください。

    Vine Linux ロゴ VineSeed で MacBook Air (Mid 2011) に対応

    松林弘治さん(id:shaolin)のご尽力により、 [VineSeed:024098] update: kernel-3.0.4-2 にて、MacBook Air (Mid 2011) に対応しました。

    セキュリティ・バグフィックスアップデート

    今回のセキュリティアップデートで重要なのは apache2 のアップデートです。 通称「apache killer」という攻略スクリプトが既に出まわっておりますので apache2 ご使用の方は早急な更新をお願いします。

    Vine Linux 6

    9 月は、これまでに Vine Linux 6 のエラッタが 12 件ありました。

    Vine Linux 5

    9 月は、これまでに Vine Linux 5 のエラッタが 11 件ありました。

    パッケージ紹介

    更新パッケージ(VinePlus 6)

    chromium
    Google のオープンソースウェブブラウザです。Google Chrome の安定版である Google Chrome 14 がリリースされていますので、chromium パッケージも 14 にしました(Google Chrome Releases: Stable Channel Update)。

    このほかにも様々なパッケージがアップデートされています。

    おわりに

    昨年から始まった Vine Linux Managize では、新しく追加・更新されたパッケージの一部紹介や開発状況の紹介など毎月紹介する定期的な記事と、不定期に発行される読み物や活用方法などの記事を発行しています。定期版は毎回持ち回りで行うため、筆者の興味によって内容は大きく異なる場合があります。

    Vine Linux Magazine では、Vine Linux に関する様々な情報、小ネタ、Tips、ノウハウ(バッドノウハウ含む)、活用事例などを書いていただける方を募集しています。また、「XXの記事を書いて欲しい」などのご要望なども随時お待ちしておりますので、ML や Twitter のハッシュタグ #VineLinux、IRC、個別メールなどでお知らせください。

    ]]>
    zsync で Vine Linux インストールイメージの差分ダウンロード http://vinelinux.org/vlmagazine/20110807.html <![CDATA[Vine Linux 6 のベータ版から、zsync を使ったインストールイメージの差分ダウンロードができるようになっています。zsync を使えば、Vine Linux 6.0 の CD と DVD のインストールイメージを効率良く取得できたり、すでに Vine Linux 6 ベータ版のインストールイメージを持っている人が、Vine Linux 6.0 のインストールイメージを効率良く取得することができます。

    zsync とは

    zsync は、Colin Phippsさんによって開発されたファイル転送プログラムです。rsync と同様のアルゴリズムを採用しています。rsync はデータの同期を目的として設計されていますが、zsync はファイルの配布を目的として設計されています。

    zsync を使うことで、ファイルの新しい差分のみをダウンロードすることができるので、日々更新される ISO イメージなどのファイルのダウンロードに効果を発揮します。

    zsync は、Vine Linux 5 以降の VinePlus の plus カテゴリで提供されていますので、Synaptic などを使って容易にインストールすることができます。以降、zsync はすでにインストールしているものとして解説を続けます。;-)

    使い方

    zsync を使ってファイルの差分をダウンロードする方法を実例を挙げて簡単に解説します。zsyncmake によるコントロールファイル (.zsync ファイル) の作成については解説しませんが、manpage や README などを読めば簡単にわかると思います。

    Vine Linux 6 RC 版の DVD イメージを基に Vine Linux 6.0 を入手する

    Vine Linux ユーザの皆さんの中には、Vine Linux 6 RC 版のインストールイメージを入手し、開発を手伝ってくださった方も多いのではないでしょうか。そのような方々は、昨日リリースされた Vine Linux 6.0 のインストールイメージをより効率的に入手することができます。

    Vine Linux 6 RC2 の DVD イメージ i686 版をお持ちの方は、お好みの端末で次のコマンドを実行してみてください。実行するディレクトリは DVD イメージのファイルが置かれている場所です。

    $ zsync -i Vine60rc2-DVD-i686.iso http://ftp.jaist.ac.jp/pub/Linux/Vine/Vine-6.0/IMAGES/Vine60-DVD-i686.iso.zsync
    

    はい。これで終わりです。DVD イメージを全部ダウンロードするよりもかなり速い時間でダウンロードが終了したと思います。私は手元に Vine60b2-DVD-i686.iso しかなかったのでそちらを使ってやってみました。

    $ zsync -i Vine60b2-DVD-i686.iso http://ftp.jaist.ac.jp/pub/Linux/Vine/Vine-6.0/IMAGES/Vine60-DVD-i686.iso.zsync
    #################### 100.0% 577.1 kBps DONE      
    
    reading seed file Vine60b2-DVD-i686.iso: ******(略)*****Read Vine60b2-DVD-i686.iso. Target 75.8% complete.      ******
    downloading from http://ftp.jaist.ac.jp/pub/Linux/Vine/Vine-6.0/IMAGES/Vine60-DVD-i686.iso:
    #################### 100.0% 1581.7 kBps DONE      
    
    verifying download...checksum matches OK
    used 1113714688 local, fetched 355550137
    $ 
    

    checksum についても出力結果をみれば判るように、zsync がチェックしてくれているので安心です。(心配な方は Vine60-DVD-i686.iso.sha1sum を入手してチェックしましょう)

    処理の流れは簡単に書くと次のようになります。

    1. zsync のコントロールファイルをダウンロードする
    2. -i オプションで渡した基となるファイルを解析し、ダウンロードしたいファイルと合致している部分を求める
    3. 差分のみをダウンロードし、1つのファイルとする
    4. checksum を計算し、整合性チェックを行う

    私の場合はベータ版のイメージだったため、75.8% しか一致していませんでしたが、それでも非常に効率良くダウンロードできました。RC版のイメージをお持ちの方はもっと効率的にダウンロードできたのではないでしょうか。

    DVD イメージを基に CD イメージを入手する

    Vine Linux 6.0 の場合、同一アーキテクチャであれば、DVD 版で提供されている RPM パッケージ CD 版で提供されている RPM パッケージには、同じパッケージ名であれば同じファイルが提供されています。そのため、すでに DVD イメージをお持ちの方が zsync を使えば CD イメージも効率良くダウンロードすることができます。もちろん、その逆でも同様です。

    実際のコマンド例は……RC版の場合の例を参考に考えればいいので、特にいりませんよね? :-p (あるいは ML やフォーラムで質問してください!)

    ]]>
    2011-08-07T00:00:00+09:00 <![CDATA[Vine Linux 6 のベータ版から、zsync を使ったインストールイメージの差分ダウンロードができるようになっています。zsync を使えば、Vine Linux 6.0 の CD と DVD のインストールイメージを効率良く取得できたり、すでに Vine Linux 6 ベータ版のインストールイメージを持っている人が、Vine Linux 6.0 のインストールイメージを効率良く取得することができます。

    zsync とは

    zsync は、Colin Phippsさんによって開発されたファイル転送プログラムです。rsync と同様のアルゴリズムを採用しています。rsync はデータの同期を目的として設計されていますが、zsync はファイルの配布を目的として設計されています。

    zsync を使うことで、ファイルの新しい差分のみをダウンロードすることができるので、日々更新される ISO イメージなどのファイルのダウンロードに効果を発揮します。

    zsync は、Vine Linux 5 以降の VinePlus の plus カテゴリで提供されていますので、Synaptic などを使って容易にインストールすることができます。以降、zsync はすでにインストールしているものとして解説を続けます。;-)

    使い方

    zsync を使ってファイルの差分をダウンロードする方法を実例を挙げて簡単に解説します。zsyncmake によるコントロールファイル (.zsync ファイル) の作成については解説しませんが、manpage や README などを読めば簡単にわかると思います。

    Vine Linux 6 RC 版の DVD イメージを基に Vine Linux 6.0 を入手する

    Vine Linux ユーザの皆さんの中には、Vine Linux 6 RC 版のインストールイメージを入手し、開発を手伝ってくださった方も多いのではないでしょうか。そのような方々は、昨日リリースされた Vine Linux 6.0 のインストールイメージをより効率的に入手することができます。

    Vine Linux 6 RC2 の DVD イメージ i686 版をお持ちの方は、お好みの端末で次のコマンドを実行してみてください。実行するディレクトリは DVD イメージのファイルが置かれている場所です。

    $ zsync -i Vine60rc2-DVD-i686.iso http://ftp.jaist.ac.jp/pub/Linux/Vine/Vine-6.0/IMAGES/Vine60-DVD-i686.iso.zsync
    

    はい。これで終わりです。DVD イメージを全部ダウンロードするよりもかなり速い時間でダウンロードが終了したと思います。私は手元に Vine60b2-DVD-i686.iso しかなかったのでそちらを使ってやってみました。

    $ zsync -i Vine60b2-DVD-i686.iso http://ftp.jaist.ac.jp/pub/Linux/Vine/Vine-6.0/IMAGES/Vine60-DVD-i686.iso.zsync
    #################### 100.0% 577.1 kBps DONE      
    
    reading seed file Vine60b2-DVD-i686.iso: ******(略)*****Read Vine60b2-DVD-i686.iso. Target 75.8% complete.      ******
    downloading from http://ftp.jaist.ac.jp/pub/Linux/Vine/Vine-6.0/IMAGES/Vine60-DVD-i686.iso:
    #################### 100.0% 1581.7 kBps DONE      
    
    verifying download...checksum matches OK
    used 1113714688 local, fetched 355550137
    $ 
    

    checksum についても出力結果をみれば判るように、zsync がチェックしてくれているので安心です。(心配な方は Vine60-DVD-i686.iso.sha1sum を入手してチェックしましょう)

    処理の流れは簡単に書くと次のようになります。

    1. zsync のコントロールファイルをダウンロードする
    2. -i オプションで渡した基となるファイルを解析し、ダウンロードしたいファイルと合致している部分を求める
    3. 差分のみをダウンロードし、1つのファイルとする
    4. checksum を計算し、整合性チェックを行う

    私の場合はベータ版のイメージだったため、75.8% しか一致していませんでしたが、それでも非常に効率良くダウンロードできました。RC版のイメージをお持ちの方はもっと効率的にダウンロードできたのではないでしょうか。

    DVD イメージを基に CD イメージを入手する

    Vine Linux 6.0 の場合、同一アーキテクチャであれば、DVD 版で提供されている RPM パッケージ CD 版で提供されている RPM パッケージには、同じパッケージ名であれば同じファイルが提供されています。そのため、すでに DVD イメージをお持ちの方が zsync を使えば CD イメージも効率良くダウンロードすることができます。もちろん、その逆でも同様です。

    実際のコマンド例は……RC版の場合の例を参考に考えればいいので、特にいりませんよね? :-p (あるいは ML やフォーラムで質問してください!)

    ]]>
    Brief Introduction to Vine Linux for non-Japanese people http://vinelinux.org/vlmagazine/20110617.html <![CDATA[

    PREFACE

    This article was originally prepared and would have been released before the 3.11, but was forgotten somewhere in my harddrive for several months. Now on the day the first beta version of Vine Linux 6 was released, this humble document is finally here...
    Jun. 17, 2011
    Kohji 'Shaolin' Matsubayashi


    INTRODUCTION

    It's been over eleven years since the first release of the Vine Linux (version 1.0) was out - over eleven years. Interestingly, there had been so many variations of Japanese GNU/Linux distributions so far - community-based, commercial products, or whatever. Many of them had been discontiuned after the sweet old "Linux Boom" was over in the last decade - and some "mainstreams" - Red Hat (and Fedora), Debian, Ubuntu, etc. - have survived.

    Our distribution also had some ups and downs in its own history, but anyway we are still cruising gently the vast sea of the Open/Libre Source world. And now we are now working very hard on our next major release, version 6.0.

    Our distribution, Vine Linux, has always been aimed for people who lives in Japan and for people who primarily use Japanese language on computers - mainly for desktop and small server purpose. As a matter of fact, almost all information on Vine Linux has been available only in Japanese language (except a small amount of brief introduction in English, such as on DistroWatch.com. We once had English version of our website as well as Japanese version, but the contents sometimes tended to be a bit outdated, and recently have been not available since our site renewal this year.

    So I think it better to have a brief introduction here in our own words, on our own website - wouldn't it be better than nothing?


    BRIEF HISTORY

    Vine Linux is completely a community-based distribution, whose ancesor was a collection of “Japanese add-on” packages. Since its start, every developer has been also a daily Vine Linux user.

    Our newest release is Vine Linux 5.2 (out in Nov. 2010), a bugfix and enhanced version of Vine Linux 5 (Aug. 2009) ...slow progress? Maybe.

    Here's the matrix how we have stepped forward like a slow but steady snail:

    Nov. 1998	The first announcement of Vine Linux development
    Mar. 1999	Vine Linux 1.0 (i386)
    Jun. 1999	Vine Linux 1.1 (i386)
    
    Apr. 2000	Vine Linux 2.0 (i386)
    Jul. 2000	Vine Linux 2.0 (ppc, for PowerPC Macs)
    Nov. 2000	Vine Linux 2.1 (i386,ppc,sparc,alpha)
    Mar. 2001	Vine Linux 2.1.5 (i386,ppc,sparc,alpha)
    
    Apr. 2002	Vine Linux 2.5 (i386,ppc)
    Nov. 2002	Vine Linux 2.6 (i386,ppc)
    
    Aug. 2004	Vine Linux 3.0 (i386,ppc)
    Nov. 2004	Vine Linux 3.1 (i386,ppc)
    Sep. 2005	Vine Linux 3.2 (i386)
    
    Nov. 2006	Vine Linux 4.0 (i386,ppc)
    Feb. 2007	Vine Linux 4.1 (i386,ppc)
    Dec. 2007	Vine Linux 4.2 (i386,ppc)
    
    Aug. 2009	Vine Linux 5.0 (i386,x86_64,ppc)
    Feb. 2010	Vine Linux 5.1 (i386,x86_64,ppc)
    Nov. 2010	Vine Linux 5.2 (i386,x86_64,ppc)
    
    Jul. 2011	Vine Linux 6.0 (scheduled, i686, x86_64)
    

    Similar to popular versioning schemes in the computer software field, the first digit (before the decimal point) denotes the major version, while the digit after the decimal point stands for the minor version. We are working on the next major version, 6.0 (will be out hopefully next month), but we have only five major versions so far in the last eleven years.


    OUR POLICIES

    This slow progress on the other hand shows one of our policies - keep our distribution stable, don't go too rapid, too cutting-edge.

    The world of Open/Libre Source evolves so fast, year by year, day by day, time after time - GNU/Linux kernel itself, glibc (GNU C Library) and other core libraries, desktop environments, X Window System, applications, etc. - if we switched every component to a newer one very quickly, a compatibility problem would always arise. Basically, we could say we are not "too fast" technology geeks - I mean, we are not "cutting-edge" addicts - our distribution is always aimed for GNU/Linux users for daily basis - either at home, for SOHO purpose, or in educational/research institutes. We don't want to be too outdated, but stability (and maintainability) takes precedence over following the latest. However, we don't ignore fancy features on such latest versions - we try to "backport" the features onto stable versions when needed. It can be said as: "a well-balanced between stability and latest features."

    Another policy we have on our distribution is, keep the core distribution compact, consisting of carefully screened packages. In other words, we include one specific "recommended" package for one purpose - Firefox for web browsing, Sylpheed for e-mail, Leafpad for text editing, Pidgin for instant messaging, etc. - so that every user don't need to get confused which application to use for a specific purpose. Vine Linux had been provided within the size that does not exceed that of CD-ROM (700MB), since our initial release 1.0. However, since the release of Vine Linux 5.0, both by popular demand and to accommodate enlarged filesize of every package, we also started providing the DVD edition (1GB) which includes more of our recommended packages.

    Furthermore, we have always provided extra package collections under the name of "Vine Plus" - containing so many "well-maintained" packages that can be easily installed via such package managers as apt-get and synaptic.


    6.0, SOON-TO-COME NEW MAJOR UPGRADE

    Here is a preview of our new version 6 (will be out hopefully next month):

    • updated components
      • kernel-2.6.35.13
      • glibc-2.11.1, gcc-4.4.5
      • X.org X11R7.6+
      • rpm-4.8.1
      • upstart-1.2
      • GNOME-2.32.1
      • Fx 4.0.1 (Firefox 4.0.1 based) for web browsing
      • sylpheed 3.1.1 for e-mail
      • ptexlive-20100711 for enriched Japanese TeX environment
      • emacs-23.3
      • TuxOnIce-3.2 for system hybernation
    • other notable topics
      • ext4 as a default file system
      • optimized for the i686 (Pentium Pro or likes) archtecture and up
      • slick Plymouth boot splash screen to hide lengthy boot messages
      • updated VL Gothic (our original Japanese TrueType font)
      • Elementary-based GNOME Desktop default theme
      • Japanese Input: ibus + mozc replaces scim + anthy
      • self-build: a powerful framework to download, build and install programs that cannot be distributed in forms of rpm packages (due to license issue)
      • vine-app-install and install-assist: easy installation assistance
      • vbootstrap + vbuilder to support flexible Vine Linux development

    You can grab and try the Vine Linux 6 beta 1 release (in DVD ISO image) at http://beta.vinelinux.org/.

    The image is hybrid ISO, so if you write the image onto your USB flash drive (with such tools as dd, usb-imagewriter or Win32 Disk Imager), you can boot the installer from the flash drive, that will speed up your installation process.


    GUYS IN THE VINE LINUX

    There have been so many people who contributed improving Vine Linux. It's really grateful that we now have dozens of active developers and contributers. And I should name and pay homage to all contributors who did excellent contributions to our distribution in the past.

    But in the meantime let me introduce some of the current core members of our Project here.

    The Founder and the current President (representative) Daisuke Suzuki has been one of the earliest adopters of GNU/Linux since the Linux kernel version was even before 1.0 - he was one of the members of JE (Japanese Extension) and PJE (Project Japanese Extension), both of which were Japanese add-on package distributions for non-Japanese Linux distribution like ancient Slackware, Red Hat Linux etc. Then in 1998 Daisuke and other guys there started their own distribution which became the Vine Linux. He's still one of the important source of power to keep Vine Linux improved.

    Munehiro Yamamoto, a mood-making guy with humors and puns, is one of the fresh members who joined the Project in February 2010 - he's been working very hard on TeX components (as he is a TeX professional) to make Vine Linux provide the most enriched TeX environment built-in. He also has been busy on publicity activities, heading the Project to participate various Linux/OpenSource-related events.

    Diligent guy Yasumichi Akahoshi has been doing very earnest, patient and continus efforts on better Vine Linux documentations, as well as improving Japanese translations on various packages. His name can be found at GNOME Japanese Translation Team for example.

    Satoshi Iwamoto and Katsumi Ikeda has been the vital force to keep the Vine Linux secure as it could. They have been watching security-related information on various sources, and making updated packages to be approved before the actual security errata releases are published on our web site.

    Cool guy Kenta Nakamura, another fresh member since Feb. 2010, has worked very hard to develop and release the x86_64 version of Vine Linux 5.

    Ryoichi Inagaki, yet another new member, has done excellent job to maintain toolchain, GNOME and KDE packages on Vine Linux.

    And me, Kohji Matsubayashi, previously a Mac geek since 1986, joined the Project Vine in 2000, when the Vine Linux 2.0 for Power Macintosh (initially started as my personal project in 1999) was released. Now as a Vice President of the Project (and hopefully Daisuke's right-hand man), I've been always trying to keep in mind to manage the project fresh and ongoing from cool-headed standpoint.


    YOU ARE ALWAYS WELCOME

    I don't think there are so many non-Japanese people who gets interested in a distribution from the Far East that Japanese people are primarily targeted. But sometimes we've got surprised to get some feedbacks from people abroad. We will always gladly welcome you all over the world who wished to give us any feedbacks, make some contributions to our distribution (from translating our Japanese website/documentations to English, to maintaining specific packages for Vine Linux).

    Again, you are always welcome.

    ]]>
    2011-06-17T00:00:00+09:00 <![CDATA[

    PREFACE

    This article was originally prepared and would have been released before the 3.11, but was forgotten somewhere in my harddrive for several months. Now on the day the first beta version of Vine Linux 6 was released, this humble document is finally here...
    Jun. 17, 2011
    Kohji 'Shaolin' Matsubayashi


    INTRODUCTION

    It's been over eleven years since the first release of the Vine Linux (version 1.0) was out - over eleven years. Interestingly, there had been so many variations of Japanese GNU/Linux distributions so far - community-based, commercial products, or whatever. Many of them had been discontiuned after the sweet old "Linux Boom" was over in the last decade - and some "mainstreams" - Red Hat (and Fedora), Debian, Ubuntu, etc. - have survived.

    Our distribution also had some ups and downs in its own history, but anyway we are still cruising gently the vast sea of the Open/Libre Source world. And now we are now working very hard on our next major release, version 6.0.

    Our distribution, Vine Linux, has always been aimed for people who lives in Japan and for people who primarily use Japanese language on computers - mainly for desktop and small server purpose. As a matter of fact, almost all information on Vine Linux has been available only in Japanese language (except a small amount of brief introduction in English, such as on DistroWatch.com. We once had English version of our website as well as Japanese version, but the contents sometimes tended to be a bit outdated, and recently have been not available since our site renewal this year.

    So I think it better to have a brief introduction here in our own words, on our own website - wouldn't it be better than nothing?


    BRIEF HISTORY

    Vine Linux is completely a community-based distribution, whose ancesor was a collection of “Japanese add-on” packages. Since its start, every developer has been also a daily Vine Linux user.

    Our newest release is Vine Linux 5.2 (out in Nov. 2010), a bugfix and enhanced version of Vine Linux 5 (Aug. 2009) ...slow progress? Maybe.

    Here's the matrix how we have stepped forward like a slow but steady snail:

    Nov. 1998	The first announcement of Vine Linux development
    Mar. 1999	Vine Linux 1.0 (i386)
    Jun. 1999	Vine Linux 1.1 (i386)
    
    Apr. 2000	Vine Linux 2.0 (i386)
    Jul. 2000	Vine Linux 2.0 (ppc, for PowerPC Macs)
    Nov. 2000	Vine Linux 2.1 (i386,ppc,sparc,alpha)
    Mar. 2001	Vine Linux 2.1.5 (i386,ppc,sparc,alpha)
    
    Apr. 2002	Vine Linux 2.5 (i386,ppc)
    Nov. 2002	Vine Linux 2.6 (i386,ppc)
    
    Aug. 2004	Vine Linux 3.0 (i386,ppc)
    Nov. 2004	Vine Linux 3.1 (i386,ppc)
    Sep. 2005	Vine Linux 3.2 (i386)
    
    Nov. 2006	Vine Linux 4.0 (i386,ppc)
    Feb. 2007	Vine Linux 4.1 (i386,ppc)
    Dec. 2007	Vine Linux 4.2 (i386,ppc)
    
    Aug. 2009	Vine Linux 5.0 (i386,x86_64,ppc)
    Feb. 2010	Vine Linux 5.1 (i386,x86_64,ppc)
    Nov. 2010	Vine Linux 5.2 (i386,x86_64,ppc)
    
    Jul. 2011	Vine Linux 6.0 (scheduled, i686, x86_64)
    

    Similar to popular versioning schemes in the computer software field, the first digit (before the decimal point) denotes the major version, while the digit after the decimal point stands for the minor version. We are working on the next major version, 6.0 (will be out hopefully next month), but we have only five major versions so far in the last eleven years.


    OUR POLICIES

    This slow progress on the other hand shows one of our policies - keep our distribution stable, don't go too rapid, too cutting-edge.

    The world of Open/Libre Source evolves so fast, year by year, day by day, time after time - GNU/Linux kernel itself, glibc (GNU C Library) and other core libraries, desktop environments, X Window System, applications, etc. - if we switched every component to a newer one very quickly, a compatibility problem would always arise. Basically, we could say we are not "too fast" technology geeks - I mean, we are not "cutting-edge" addicts - our distribution is always aimed for GNU/Linux users for daily basis - either at home, for SOHO purpose, or in educational/research institutes. We don't want to be too outdated, but stability (and maintainability) takes precedence over following the latest. However, we don't ignore fancy features on such latest versions - we try to "backport" the features onto stable versions when needed. It can be said as: "a well-balanced between stability and latest features."

    Another policy we have on our distribution is, keep the core distribution compact, consisting of carefully screened packages. In other words, we include one specific "recommended" package for one purpose - Firefox for web browsing, Sylpheed for e-mail, Leafpad for text editing, Pidgin for instant messaging, etc. - so that every user don't need to get confused which application to use for a specific purpose. Vine Linux had been provided within the size that does not exceed that of CD-ROM (700MB), since our initial release 1.0. However, since the release of Vine Linux 5.0, both by popular demand and to accommodate enlarged filesize of every package, we also started providing the DVD edition (1GB) which includes more of our recommended packages.

    Furthermore, we have always provided extra package collections under the name of "Vine Plus" - containing so many "well-maintained" packages that can be easily installed via such package managers as apt-get and synaptic.


    6.0, SOON-TO-COME NEW MAJOR UPGRADE

    Here is a preview of our new version 6 (will be out hopefully next month):

    • updated components
      • kernel-2.6.35.13
      • glibc-2.11.1, gcc-4.4.5
      • X.org X11R7.6+
      • rpm-4.8.1
      • upstart-1.2
      • GNOME-2.32.1
      • Fx 4.0.1 (Firefox 4.0.1 based) for web browsing
      • sylpheed 3.1.1 for e-mail
      • ptexlive-20100711 for enriched Japanese TeX environment
      • emacs-23.3
      • TuxOnIce-3.2 for system hybernation
    • other notable topics
      • ext4 as a default file system
      • optimized for the i686 (Pentium Pro or likes) archtecture and up
      • slick Plymouth boot splash screen to hide lengthy boot messages
      • updated VL Gothic (our original Japanese TrueType font)
      • Elementary-based GNOME Desktop default theme
      • Japanese Input: ibus + mozc replaces scim + anthy
      • self-build: a powerful framework to download, build and install programs that cannot be distributed in forms of rpm packages (due to license issue)
      • vine-app-install and install-assist: easy installation assistance
      • vbootstrap + vbuilder to support flexible Vine Linux development

    You can grab and try the Vine Linux 6 beta 1 release (in DVD ISO image) at http://beta.vinelinux.org/.

    The image is hybrid ISO, so if you write the image onto your USB flash drive (with such tools as dd, usb-imagewriter or Win32 Disk Imager), you can boot the installer from the flash drive, that will speed up your installation process.


    GUYS IN THE VINE LINUX

    There have been so many people who contributed improving Vine Linux. It's really grateful that we now have dozens of active developers and contributers. And I should name and pay homage to all contributors who did excellent contributions to our distribution in the past.

    But in the meantime let me introduce some of the current core members of our Project here.

    The Founder and the current President (representative) Daisuke Suzuki has been one of the earliest adopters of GNU/Linux since the Linux kernel version was even before 1.0 - he was one of the members of JE (Japanese Extension) and PJE (Project Japanese Extension), both of which were Japanese add-on package distributions for non-Japanese Linux distribution like ancient Slackware, Red Hat Linux etc. Then in 1998 Daisuke and other guys there started their own distribution which became the Vine Linux. He's still one of the important source of power to keep Vine Linux improved.

    Munehiro Yamamoto, a mood-making guy with humors and puns, is one of the fresh members who joined the Project in February 2010 - he's been working very hard on TeX components (as he is a TeX professional) to make Vine Linux provide the most enriched TeX environment built-in. He also has been busy on publicity activities, heading the Project to participate various Linux/OpenSource-related events.

    Diligent guy Yasumichi Akahoshi has been doing very earnest, patient and continus efforts on better Vine Linux documentations, as well as improving Japanese translations on various packages. His name can be found at GNOME Japanese Translation Team for example.

    Satoshi Iwamoto and Katsumi Ikeda has been the vital force to keep the Vine Linux secure as it could. They have been watching security-related information on various sources, and making updated packages to be approved before the actual security errata releases are published on our web site.

    Cool guy Kenta Nakamura, another fresh member since Feb. 2010, has worked very hard to develop and release the x86_64 version of Vine Linux 5.

    Ryoichi Inagaki, yet another new member, has done excellent job to maintain toolchain, GNOME and KDE packages on Vine Linux.

    And me, Kohji Matsubayashi, previously a Mac geek since 1986, joined the Project Vine in 2000, when the Vine Linux 2.0 for Power Macintosh (initially started as my personal project in 1999) was released. Now as a Vice President of the Project (and hopefully Daisuke's right-hand man), I've been always trying to keep in mind to manage the project fresh and ongoing from cool-headed standpoint.


    YOU ARE ALWAYS WELCOME

    I don't think there are so many non-Japanese people who gets interested in a distribution from the Far East that Japanese people are primarily targeted. But sometimes we've got surprised to get some feedbacks from people abroad. We will always gladly welcome you all over the world who wished to give us any feedbacks, make some contributions to our distribution (from translating our Japanese website/documentations to English, to maintaining specific packages for Vine Linux).

    Again, you are always welcome.

    ]]>
    プリンタで作る Vine Linux ステッカー http://vinelinux.org/vlmagazine/20110511.html <![CDATA[かつて、ユーザ有志たちが協力して Vine Linux のエンブレムを発注、作成したことがあったそうです。その当時のことは知らないのですが、話だけは知っていて羨ましく思っていました。自分の PC にも「Vine Linux」マークを付けて、ちょいと小鼻をヒクヒクさせたい。
    でも、こんなに便利な世の中になると、エンブレムはともかく、ステッカーくらいなら業者の手を借りなくても、どうにかなりそうです。今回は、インクジェットプリンタと市販のプリンタ用紙を使って「耐水、耐候性に優れた」Vine Linux メタリックステッカーを作成してみました。

    ステッカー制作に必要なもの/今回用意したもの

    プリンタ
    Hewlett Packard HP957c。ごく普通の、というか CD ラベル印刷などできない、かなり年季のはいったインクジェットプリンタです。
    メタリックのインクジェット用プリンタ用紙
    今回使ったのはELECOM のマグネットも作れるという手作りステッカー用紙セット EDT-STMGSV。マグネットシートを使わずに直接貼ることもできるだろうと、これを購入しました。あまった分でイラストマグネットとかも作れるし、という狙いでした。
    メタリックのインクジェット用紙、耐水/耐候性用透明シート、ゴム製のマグネットシートが 2 セット入っています。
    カッター
    大きいものが使いやすいと思います。
    定規
    カッターを使うのでスチールが望ましいです。
    カッティングマット
    カッターを使うための専用の下敷きです。
    カッターなど

    Vine ロゴデータ

    Vine ロゴのオリジナルデータ相当の SVG が Vine 6 (2011 年 5 月現在は VineSeed) の vine-logos-2.0.0-1 パッケージに含まれています。Vine 5x の vine-logos には含まれていませんが、このパッケージは noarch の画像データ集なので、Vine 5x にインストールしても大丈夫です。あるいは以下のようにして展開します。

    $ rpm2cpio vine-logos-2.0.0-1vl6.noarch.rpm | cpio -id
    SVG ファイルは /usr/share/pixmaps/vine/ にあります。これを inkscape でステッカー用に手を入れていきます。

    logo データはすべてのオブジェクトがグループ化されています。個々に編集するにはグループ化を解除してから行います。

    Vine Linux ロゴ オリジナル

    いろいろと試した末、今回は背景を加え、ブドウの色味を明るく鮮やかにして背景とのコントラストをとる方向で仕上げました。フォントの縁も少し太くしています。画像サイズは inkscape 上ではほとんどいじっていません。

    白く表示されている部分は、白色指定のオブジェクトであっても印刷では地色で表現されます。明るい色の部分はよりメタリック下地が透けて見え、濃い色の部分はより多くのインクが乗ることになります。

    周囲にあるのは切り離すときの目安(トンボ)です。

    ステッカーデザイン

    OpenOffice.org Draw を印刷に使う

    今回は inkscape で作成したデータを PNG に出力し、OpenOffice.org Draw に貼り付けて印刷するという手法をとりました。
    データの鮮度優先ならば inkscape から直接印刷するのがセオリーですが、印刷位置、サイズの指定が若干わかりづらく、作業的にワンクッション入れて、デザイン原稿と印刷原稿をわけました。結果的には正解だったと思っています。

    VinePlus の Go-oo-3.2.1 では SVG のデータ互換に若干問題があるので、大きめサイズの PNG に出力し、OpenOffice.org Draw 内で印刷サイズにリサイズします。inkscape で (1px 太 のトンボ込みで) 616px 角、ベースの角丸四角部のサイズ 436px 程度の 24bit PNG を出力、OpenOffice.org Draw 上で 2.6cm に縮小しています。

    印刷テスト

    最初の試刷りの写真。このときはまだ仕上がりのイメージは持っていません。ごく適当にやってます。メタリック下地の透け具合、表情、画像のスケール感が初めて確認できます。

    試刷り

    これを元に試作を繰り返します。試刷を重ねるときはすでに印刷済みの部分を白マスクで被って、新しい部分のみを刷り重ねます。

    OpenOffice-Go-oo

    刷り 2 回目

    印刷終了・耐水/耐光フィルムの貼り込み

    試作を重ねて固まったデータを並べて印刷終了。よく乾燥させてから付属の「透明 UV カットフィルム」(右側下)を表面に貼り重ねます。失敗は許されないので、付属の説明書をよく読んで慎重に。

    刷り終了

    うまく貼れましたが、わずかな空気の層が細かく残ります。説明書には「きれいなハンカチやタオルでしっかりと押さえ」と書かれていますが、そんな方法ではらちがあきません。写真のようにフィルムの裏紙を当てて、滑らかな硬いもので力を入れてグリグリこすります。

    フィルムを貼る

    カット

    トンボを目安に切り離してチマチマと角を丸めます。ペンタイプのデザインナイフも使いましたが、ハサミ、爪切りとかも使えると思います。ピンボケでごめんなさい。

    カット

    いそいそと貼ります。原稿はもう少し赤紫なんですが、写真では青紫になってしまっています。修正してみたんですが、うまくいかなかったので、inkscape の画面から切り取ったものを乗っけておきます。I/O SW の LED が眩しくて紙貼ってます。

    PC にステッカー

    作ってみて

    業者作りのものと遜色ないものができたと思います。嬉しくてこんなところにも貼ってみたんですが、曲面だとしばらくすると端が浮いてきてしまいます。
    メタリックシートにほとんど伸縮性がないことと、裏糊の強度バランスが悪いようです。

    マウスにステッカー

    この商品では裏糊はゴムシートに貼り合わせることしか考慮していないのだと思います。今回使ったもの以外に「強力接着」のシートがありました。そちらだったら曲面もいけるかもしれません。

    当然ですが、出来上がりは印刷素材に依存します。へアラインのシートもありましたし、他にもホログラムシートのセットなどもありあました。これを上貼りするとメタリックかつキラキラというものが作れそうです。

    最後に

    Vine Linux のロゴはロゴ自体と名称をまもるために商標登録されているそうですが、ユーザのお楽しみを制限するつもりはなさそうです。
    今回、ステッカー作成に至ったのは開発者 IRC にお邪魔しているときに出た雑談からでしたが、「プリンタで頑張ってみては?」「SVG は Seed パッケージに入れてある」とおっしゃってくださったのは鈴木代表でした。

    お陰様で、以前からの希望がひとつ叶いました。みなさんもお試しください。

    ]]>
    2011-05-11T00:00:00+09:00 <![CDATA[かつて、ユーザ有志たちが協力して Vine Linux のエンブレムを発注、作成したことがあったそうです。その当時のことは知らないのですが、話だけは知っていて羨ましく思っていました。自分の PC にも「Vine Linux」マークを付けて、ちょいと小鼻をヒクヒクさせたい。
    でも、こんなに便利な世の中になると、エンブレムはともかく、ステッカーくらいなら業者の手を借りなくても、どうにかなりそうです。今回は、インクジェットプリンタと市販のプリンタ用紙を使って「耐水、耐候性に優れた」Vine Linux メタリックステッカーを作成してみました。

    ステッカー制作に必要なもの/今回用意したもの

    プリンタ
    Hewlett Packard HP957c。ごく普通の、というか CD ラベル印刷などできない、かなり年季のはいったインクジェットプリンタです。
    メタリックのインクジェット用プリンタ用紙
    今回使ったのはELECOM のマグネットも作れるという手作りステッカー用紙セット EDT-STMGSV。マグネットシートを使わずに直接貼ることもできるだろうと、これを購入しました。あまった分でイラストマグネットとかも作れるし、という狙いでした。
    メタリックのインクジェット用紙、耐水/耐候性用透明シート、ゴム製のマグネットシートが 2 セット入っています。
    カッター
    大きいものが使いやすいと思います。
    定規
    カッターを使うのでスチールが望ましいです。
    カッティングマット
    カッターを使うための専用の下敷きです。
    カッターなど

    Vine ロゴデータ

    Vine ロゴのオリジナルデータ相当の SVG が Vine 6 (2011 年 5 月現在は VineSeed) の vine-logos-2.0.0-1 パッケージに含まれています。Vine 5x の vine-logos には含まれていませんが、このパッケージは noarch の画像データ集なので、Vine 5x にインストールしても大丈夫です。あるいは以下のようにして展開します。

    $ rpm2cpio vine-logos-2.0.0-1vl6.noarch.rpm | cpio -id
    SVG ファイルは /usr/share/pixmaps/vine/ にあります。これを inkscape でステッカー用に手を入れていきます。

    logo データはすべてのオブジェクトがグループ化されています。個々に編集するにはグループ化を解除してから行います。

    Vine Linux ロゴ オリジナル

    いろいろと試した末、今回は背景を加え、ブドウの色味を明るく鮮やかにして背景とのコントラストをとる方向で仕上げました。フォントの縁も少し太くしています。画像サイズは inkscape 上ではほとんどいじっていません。

    白く表示されている部分は、白色指定のオブジェクトであっても印刷では地色で表現されます。明るい色の部分はよりメタリック下地が透けて見え、濃い色の部分はより多くのインクが乗ることになります。

    周囲にあるのは切り離すときの目安(トンボ)です。

    ステッカーデザイン

    OpenOffice.org Draw を印刷に使う

    今回は inkscape で作成したデータを PNG に出力し、OpenOffice.org Draw に貼り付けて印刷するという手法をとりました。
    データの鮮度優先ならば inkscape から直接印刷するのがセオリーですが、印刷位置、サイズの指定が若干わかりづらく、作業的にワンクッション入れて、デザイン原稿と印刷原稿をわけました。結果的には正解だったと思っています。

    VinePlus の Go-oo-3.2.1 では SVG のデータ互換に若干問題があるので、大きめサイズの PNG に出力し、OpenOffice.org Draw 内で印刷サイズにリサイズします。inkscape で (1px 太 のトンボ込みで) 616px 角、ベースの角丸四角部のサイズ 436px 程度の 24bit PNG を出力、OpenOffice.org Draw 上で 2.6cm に縮小しています。

    印刷テスト

    最初の試刷りの写真。このときはまだ仕上がりのイメージは持っていません。ごく適当にやってます。メタリック下地の透け具合、表情、画像のスケール感が初めて確認できます。

    試刷り

    これを元に試作を繰り返します。試刷を重ねるときはすでに印刷済みの部分を白マスクで被って、新しい部分のみを刷り重ねます。

    OpenOffice-Go-oo

    刷り 2 回目

    印刷終了・耐水/耐光フィルムの貼り込み

    試作を重ねて固まったデータを並べて印刷終了。よく乾燥させてから付属の「透明 UV カットフィルム」(右側下)を表面に貼り重ねます。失敗は許されないので、付属の説明書をよく読んで慎重に。

    刷り終了

    うまく貼れましたが、わずかな空気の層が細かく残ります。説明書には「きれいなハンカチやタオルでしっかりと押さえ」と書かれていますが、そんな方法ではらちがあきません。写真のようにフィルムの裏紙を当てて、滑らかな硬いもので力を入れてグリグリこすります。

    フィルムを貼る

    カット

    トンボを目安に切り離してチマチマと角を丸めます。ペンタイプのデザインナイフも使いましたが、ハサミ、爪切りとかも使えると思います。ピンボケでごめんなさい。

    カット

    いそいそと貼ります。原稿はもう少し赤紫なんですが、写真では青紫になってしまっています。修正してみたんですが、うまくいかなかったので、inkscape の画面から切り取ったものを乗っけておきます。I/O SW の LED が眩しくて紙貼ってます。

    PC にステッカー

    作ってみて

    業者作りのものと遜色ないものができたと思います。嬉しくてこんなところにも貼ってみたんですが、曲面だとしばらくすると端が浮いてきてしまいます。
    メタリックシートにほとんど伸縮性がないことと、裏糊の強度バランスが悪いようです。

    マウスにステッカー

    この商品では裏糊はゴムシートに貼り合わせることしか考慮していないのだと思います。今回使ったもの以外に「強力接着」のシートがありました。そちらだったら曲面もいけるかもしれません。

    当然ですが、出来上がりは印刷素材に依存します。へアラインのシートもありましたし、他にもホログラムシートのセットなどもありあました。これを上貼りするとメタリックかつキラキラというものが作れそうです。

    最後に

    Vine Linux のロゴはロゴ自体と名称をまもるために商標登録されているそうですが、ユーザのお楽しみを制限するつもりはなさそうです。
    今回、ステッカー作成に至ったのは開発者 IRC にお邪魔しているときに出た雑談からでしたが、「プリンタで頑張ってみては?」「SVG は Seed パッケージに入れてある」とおっしゃってくださったのは鈴木代表でした。

    お陰様で、以前からの希望がひとつ叶いました。みなさんもお試しください。

    ]]>
    ループバックマウントとchrootで作るなんちゃって仮想マシン http://vinelinux.org/vlmagazine/20110303.html <![CDATA[1台のPCで複数のOSを使い分けるソリューションとして、KVM や VMWare, VirtualBoxのような仮想マシンは今や常識となっています。 しかし、Linuxの上で別のLinux環境を実現するのであればchrootを使っても簡易仮想マシンの様な環境を作ることができます。 Vine Linuxでは、vbootstrap (Vine Linux の基本システムを作成するためのスクリプト)や debootstrap (Debian GNU/Linux bootstrapper)、rinse (Fedora や CentOS 等の chroot 環境を構築するツール)などの便利なパッケージが用意されており、容易に他ディストリビューションをVine Linuxの上で飼うことができます。 ですがここでは、既存のOSがインストール済みのディスクをそのまま活かして、Vine Linux 5.2の上にchrootを使ったなんちゃって仮想マシンのLinux環境を実現する方法を紹介していきます。
    • ディスクのイメージをループバックマウントする方法
      • dd でダンプしたディスクのイメージをマウントする
      • VMWare の VMDK ファイル形式ディスクをマウントする
    • chrootを使ったなんちゃって仮想マシン環境を構築する方法

    chrootとVMWare Playerのベンチマーク比較

    本題に入る前にまず、chrootを使った場合のパフォーマンス面での利点をみていきます。

    chrootの中のプロセスはホストのkernel上で直接実行されます。そのため、VMWare Playerを初めとする仮想マシン環境と較べると次のようなメリットがあります。

    • パフォーマンス・ペナルティがない
    • VMWareの上限である8CPU以上のSMP環境が使える

    ここでは、試しにVine Linux 5.2 (x86 32bit) をインストールしたPC上にVMWare Playerをインストールして、VMWare Player上のVine Linux 4.2 (i386) と、chrootの上に構築した Vine Linux 4.2 (i386) の環境での性能を比較してみました。

    VMWare Player と chroot 環境でベンチマーク比較:BeeCrypt Benchmark

    まずベンチマークプログラムにBeeCrypt Benchmarkを使って、次のそれぞれの環境で性能を比較してみました。

    VMWare
    Vine Linux 5.2にインストールしたVMWare Player 3.1.3上のVine Linux 4.2環境で実行
    chroot
    Vine Linux 5.2の上でchrootを使って構築したVine Linux 4.2環境で実行
    5.2 native
    Vine Linux 5.2の上でそのまま実行
    BeeCrypt Benchmark

    総じてchroot上でのベンチマーク結果はVMWare Playerよりも高速で、Vine Linux 5.2の上での実行結果と遜色がないパフォーマンスを示しています。BeeCryptのベンチマークは演算が中心となっており、ディスクやメモリアクセスの性能差がでにくい傾向にあるのですが、それでも約 5%程度の差が出ました。

    VMWare Player と chroot 環境でベンチマーク比較:カーネルビルド

    先ほどと同じくVMWare Player上の Vine Linux 4.2環境と、Vine Linux 5.2のchroot上に構築したVine Linux 4.2環境で、それぞれカーネルビルドに掛かった時間を比較した結果が次のグラフです。

    積み重ねグラフはsysとuser時間を、折れ線グラフはreal時間を表しており、4コアのマシン上でビルドしていたためにsysとuser時間の合計よりもreal時間が大幅に短くなるケースが見られます。なお、それぞれ 6回実行しています。特にreal時間にはばらつきが大きいのでどちらが高速かを一概には言えない面もありますが、全体的にchroot環境の方がsys時間が短く、高速であることが見て取れます。

    Kernel Build

    このように、chroot上で構築したなんちゃって仮想マシンはパフォーマンスの面では一般的な仮想マシンより優位性があるとわかると思います。

    事例 1:古い Vine Linux 4.2 の環境を Vine Linux 5.2 にお引っ越し

    Vine Linux 5.2をお使いの方が多いと思います。 しかし、どうしても以前使っていたVine Linux 4.2の環境で使っていた特定のアプリケーションがVine Linux 5.2で使えないからなかなか移行できないという方もおられるかと思います。 また、メインではVine Linux 5.2を使っているけど、一部の商用アプリケーションを使用するために別にRed Had ELやSLESのマシンを用意している方もおられるかもしれません。 ここでは、仮想マシンを使用することなくVine Linux 5.2の上で既存のVine Linux 4.2の実行環境を構築する方法を紹介します。

    次の手順で進めていきます。

    1. 古いマシンのディスクをVine Linux 5.2上にマウントしてアクセスできるようにする
    2. chrootコマンドを使って、古いマシンのディスクを"/"としてアクセスできるようにする
    3. 一般ユーザーがsshでリモート接続できる設定
    なお、途中で詳細な説明を省いているところがあります。不明な点がありましたらご指摘をいただければ可能な範囲で補足説明します。

    dd したディスクイメージをループバックマウント

    まず、旧マシンのディスクをVine Linux 5.2の環境からアクセスできるようにしておきます。 ここでは、古いマシンのディスクが /dev/hdX に繋がっているものと想定しています。

    # dd if=/dev/hdX of=/opt/Vine42.dd.img
    

    とddコマンドを使って、ディスクのイメージを丸ごとファイルにダンプし、この以前のディスクの環境をVine Linux 5.2の上で使えるようにします。 なお、ここではいくつかのコマンドを説明する目的もあるため、若干無駄な操作も入っています。 「初めからルートパーティションだけddすればいいじゃん」などといった野暮なつっこみは厳に御容赦願います。。。

    でも、このままループバックマウントのオプション"-o loop"を使ってディスクのイメージをマウントすることはできません。

    # mkdir /opt/Vine42
    # mount -o loop /opt/Vine42.dd.img /opt/Vine42
    mount: ファイルシステムタイプを指定する必要があります
    

    ここでは、パーティションの情報を確認し、オフセットを指定しながらディスクのイメージをループバックマウントします。

    # fdisk -lu /opt/Vine42.dd.img 
    設定する必要があります シリンダ数.
    あなたは特別機能メニューからこれを行なうことができます
    
    Disk /opt/Vine42.dd.img: 0 MB, 0 bytes
    255 heads, 63 sectors/track, 0 cylinders, total 0 sectors
    Units = セクタ数 of 1 * 512 = 512 bytes
    Disk identifier: 0x000a0970
    
           デバイス Boot      Start         End      Blocks   Id  System
    /opt/Vine42.dd.img1   *          63      208844      104391   83  Linux
    /opt/Vine42.dd.img2          208845    15727634     7759395   83  Linux
    /opt/Vine42.dd.img3        15727635    16771859      522112+  82  Linux swap / Solaris
    領域 3 は異なった物理/論理終点になっています:
         物理=(1023, 254, 63) 論理=(1043, 254, 63)
    

    Startセクタ * 512バイト目がパーティションの始まりになるので、1番目のパーティションは 63*512 = 32,256バイト目からのオフセットを指定することでマウントできます。

    # mkdir /opt/Vine42
    # mount -o loop,offset=`expr 63 \* 512` /opt/Vine42.dd.img /opt/Vine42
    $ ls /opt/Vine42/
    System.map@                 initrd-2.6.16-0vl76.27.img  vmlinuz@
    System.map-2.6.16-0vl76.27  initrd.img@                 vmlinuz-2.6.16-0vl76.27
    System.map.old@             initrd.old.img@             vmlinuz.old@
    config-2.6.16-0vl76.27      kernel.h
    grub/                       lost+found/
    

    こっちは /boot パーティションですね。 一旦アンマウントして、/ に対応する 2番目のセクタをマウント。 ついでに、必要はありませんが/bootもマウントします。

    # umount /opt/Vine42
    # umount /opt/Vine42
    # mount -o loop,offset=`expr 208845 \* 512` /opt/Vine42.dd.img /opt/Vine42
    # mount -o loop,offset=`expr 63 \* 512` /opt/Vine42.dd.img /opt/Vine42/boot 
    $ df
    ファイルシステム     1K-ブロック  使用        空き 使用% マウント位置
    /dev/sda3             38456340  26437676  10065160  73% /
    none                   2021060         0   2021060   0% /dev/shm
    /dev/loop0             7637400   1928112   5321320  27% /opt/Vine42
    /dev/loop1              101086      8908     86959  10% /opt/Vine42/boot
    

    これで Vine Linux 4.2 のディスクを Vine Linux 5.2 からアクセスできるようになりました。

    ちなみに、ここでは従来環境のディスクをdd でディスクイメージのファイルに落としていましたが、ディスクをそのまま mount しても同じことは可能です。 この場合は、古いディスクを繋ぐ前にあらかじめ e2label コマンドで "/" や "/boot" といったラベルを消しておきましょう。

    # e2label /dev/hda1 ""
    # e2label /dev/hda2 ""
    

    そうしなければ、古いVine Linux 4.2のディスクを繋いだときに、そっちが "/" となって起動することがあります。 grubがVine Linux 5.2のカーネルをロードしたのに、"/"としてVine Linux 4.2のディスクが参照され、大量のワーニングを吐きながらVine Linux 4.2が起動する姿を見るとやるせない気分になります。

    chrootを使って / のパスを変更

    マウントはできましたが、このままではライブラリの依存関係を満たせないので Vine Linux 4.2 のバイナリはほとんどの場合で実行できません。

    $ /opt/Vine42/usr/bin/gnome-calculator 
    /opt/Vine42/usr/bin/gnome-calculator: error while loading shared libraries: libgnomeui-2.so.0: cannot open shared object file: No such file or directory
    $ ldd /opt/Vine42/usr/bin/gnome-calculator
            linux-gate.so.1 =>  (0xffffe000)
            libgnomeui-2.so.0 => not found
            libbonoboui-2.so.0 => not found
            
    

    これは、Vine Linux 4.2のバイナリを実行するのに必要なライブラリ群が/opt/Vine42/usr/lib 以下に配置されている一方、ライブラリは /usr/lib 以下が参照されるため必要なライブラリをリンクできないのが原因です。そこで chroot を使って、/opt/Vine42/usr/lib が /usr/lib として参照できるようパスを変更します。

    # chroot /opt/Vine42
    

    これで、/opt/Vine42 が / としてアクセスできるようになります。 試しに、ldd してみるとライブラリの依存関係が満たされていることが確認できるでしょう。

    # ldd /usr/bin/gnome-calculator
            linux-gate.so.1 =>  (0xffffe000)
            libgnomeui-2.so.0 => /usr/lib/libgnomeui-2.so.0 (0xf7660000)
            libbonoboui-2.so.0 => /usr/lib/libbonoboui-2.so.0 (0xf7600000)
            
    

    なんちゃって仮想マシンとして使うための初期設定

    chrootを使って、Vine Linux 4.2のバイナリが実行できるようになりました。しかし、chrootを実行するにはroot権が必要なほか、何かと不便が多いのであたかも仮想マシンにsshログインするかのように使えるよういくつかの設定をします。

    まず、古い mtab が残っていると問題になることがあるので、一旦空っぽにしておきます。

    # echo > /etc/mtab 
    

    次に、デバイスファイルがほとんど無いので、必要そうなものをいくつか作ります。

    # ls /dev/
    console  null
    # MAKEDEV /dev/null /dev/random /dev/urandom /dev/ptmx
    # mkdir /dev/pts 
    # mount /dev/pts
    # mount -n -t proc /proc /proc
    # mount -n -t sysfs /sys /sys
    # mkdir /dev/shm
    # mount /dev/shm
    

    先の 3行の手続きは一度だけ必要な初期設定です。後の4回のmountコマンドは、ホストPCを再起動する度に必要となる設定です。

    sshd を動かしてログイン

    あとはsshdを動かせば、ログインできるようになります。

    ただし、22番ポートはホストの Vine Linux 5.2 環境で使われているハズですので、ポート番号を適当に変えた上で sshd を起動します。

    # vim /etc/ssh/sshd_config
    # diff /etc/ssh/sshd_config.orig /etc/ssh/sshd_config
    13c13
    < #Port 22
    ---
    > Port 20022
    # /etc/init.d/sshd start | nkf -uw
    sshdを起動中:                                              [  OK  ]
    

    ちなみに、Vine Linux 4.2 は Vine Linux 5.2とはデフォルトのロケールが異なります。 (5.2はja_JP.UTF-8、4.2はja_JP.eucJP) そのために文字化けすることがあると思います。それぞれ適当に対応してください。

    このほか、dbus も動いていないと何かと不便が多いようですので、dbusも起動しておきます。

    # /etc/init.d/messagebus start 
    

    これで準備は完了です。chroot したターミナルはもう CTRL+d で閉じて構いません。

    それではホストのVine Linuxから chroot上のVine Linux 4.2に一般ユーザーとしてSSHログインしてみましょう。この際、sshのポート番号を変えているので -p オプションで明示的にポート番号を指定することを忘れないで下さい。

    $ ssh -p 20022 vine@localhost 
    vine@localhost's password: 
    Last login: Sun Dec 12 00:21:43 2010 from localhost.localdomain
    $ gnome-calculator &
    

    今度は、ちゃんと電卓が起動できたと思います。きっと他の商用アプリケーションも動かせるでしょう。

    なお、/etc/resolv.confが空っぽだったり正しくない値が書かれている場合に、DNSによる名前解決が出来ないことがあります。Host環境の設定をそのまま cp するので良いでしょう。

    $ sudo cp -a /etc/resolv.conf /opt/Vine42/etc/resolv.conf
    

    事例 2:Debianベースの ARM 開発環境を Vine Linux 5.2 で使う

    先の事例では、既存のHDDにインストールしたVine Linux 4.2を Vine Linux 5.2上のchrootで使う事例を紹介しましたが、既存の環境がVMWare上にあった場合でも同様のことが可能です。

    ここでは、VMWareのディスクイメージをループバックマウントして、先と同じくchrootのなんちゃって仮想マシンに仕立て上げる方法を紹介します。

    VMWareのディスクイメージを入手

    ちょっとAndroidをGingerbreadに更新したいなぁなんて思うことは誰でもあると思います。(いや、ないとは思いますが。。) そんなときに、クロス開発環境から作り始めるといろんなこだわりもあったりしてそれだけで半日遊んでしまいます。で、僕は今日いったい何をやっていたんだろう?などと後悔するわけです。閑話休題。

    お手軽にARMのクロス開発環境がほしいと思ったときに便利なのが、株式会社アットマークテクノから公開されているATDEです。 VMWareのイメージをダウンロードしてきてそのまま使えますし、お手持ちのdebian の環境にインストールしても使えます。 でも、VMWare Playerは諸般の事情で使えないとか、やっぱりVineをメインで使いたいと思ったときに ATDEの環境をchrootの上で使えると便利です。 ここでは、ATDEのVMWareディスクイメージを例題としてVine Linux 5.2にマウントしてのchrootで使ってみます。

    まず初めにATDEのサイトから VMWare イメージ (atde3-20100309.zip [696.69 MB]) をダウンロードし、zipアーカイブを展開します。

    $ wget http://armadillo.atmark-techno.com/files/downloads/atde/atde3-20100309.zip
    $ sudo unzip atde3-20100309.zip -d /tmp/
    Archive:  atde3-20100309.zip
       creating: /tmp/atde3-20100309/
      inflating: /tmp/atde3-20100309/atde3-s005.vmdk
      inflating: /tmp/atde3-20100309/atde3-s007.vmdk
      inflating: /tmp/atde3-20100309/atde3.vmx
      inflating: /tmp/atde3-20100309/atde3-s009.vmdk
      inflating: /tmp/atde3-20100309/atde3.vmxf
      inflating: /tmp/atde3-20100309/atde3.nvram
     extracting: /tmp/atde3-20100309/atde3.vmsd
      inflating: /tmp/atde3-20100309/atde3-s002.vmdk
      inflating: /tmp/atde3-20100309/atde3.vmdk
      inflating: /tmp/atde3-20100309/atde3-s001.vmdk
      inflating: /tmp/atde3-20100309/atde3-s003.vmdk
      inflating: /tmp/atde3-20100309/atde3-s004.vmdk
      inflating: /tmp/atde3-20100309/atde3-s006.vmdk
      inflating: /tmp/atde3-20100309/atde3-s008.vmdk
    

    分割されたvmdkファイルをディスクのイメージに変換

    vmdk をループバックマウントできるようにできるように、ディスクのファイル形式をqemu-imgでコマンドで変換します。 もしqemu-imgがインストールされていない場合にはapt-getインストールします。

    $ sudo apt-get install qemu
    $ cd /tmp/atde3-20100309
    $ sudo qemu-img convert atde3-s00[1-9].vmdk -O bin /opt/atde3-20100309.img
    (VMDK) image open: flags=0x2 filename=atde3-s001.vmdk
    (VMDK) image open: flags=0x2 filename=atde3-s002.vmdk
    (VMDK) image open: flags=0x2 filename=atde3-s003.vmdk
    (VMDK) image open: flags=0x2 filename=atde3-s004.vmdk
    (VMDK) image open: flags=0x2 filename=atde3-s005.vmdk
    (VMDK) image open: flags=0x2 filename=atde3-s006.vmdk
    (VMDK) image open: flags=0x2 filename=atde3-s007.vmdk
    (VMDK) image open: flags=0x2 filename=atde3-s008.vmdk
    (VMDK) image open: flags=0x2 filename=atde3-s009.vmdk
    $ fdisk -lu /opt/atde3-20100309.img 
    設定する必要があります シリンダ数.
    あなたは特別機能メニューからこれを行なうことができます
    
    Disk /opt/atde3-20100309.img: 0 MB, 0 bytes
    255 heads, 63 sectors/track, 0 cylinders, total 0 sectors
    Units = セクタ数 of 1 * 512 = 512 bytes
    Disk identifier: 0x0008bb4c
    
                デバイス Boot      Start         End      Blocks   Id  System
    /opt/atde3-20100309.img1   *          63      498014      248976   83  Linux
    /opt/atde3-20100309.img2          498015    33543719    16522852+  8e  Linux LVM
    領域 2 は異なった物理/論理終点になっています:
         物理=(1023, 254, 63) 論理=(2087, 254, 63)
    

    LVMが使われているディスクイメージをループバックマウント

    ディスクは参照できる形になりました。

    でも面倒なことにLVMが使われているので、mount offset オプションを使ってマウントできません。(たぶん)

    そこでまず、kpartxを使って各パーティションのデバイスマップを作ります。

    $ sudo /sbin/kpartx -av /opt/atde3-20100309.img 
    add map loop2p1 : 0 497952 linear /dev/loop2 63
    add map loop2p2 : 0 33045705 linear /dev/loop2 498015
    $ ls /dev/mapper/
    control  loop2p1  loop2p2
    

    これでディスクイメージの各物理パーティションに対応したデバイスマップができました。fdiskで見えていたパーティションはそれぞれ、/dev/mapper/loop2p1 /dev/mapper/loop2p2 として参照できるようになっています。

    次にLVM のマウントです。各コマンドについては適宜manなどで調べてください。詳細は割愛します。

    $ sudo /sbin/pvscan 
      PV /dev/dm-1   VG atde3   lvm2 [15.75 GB / 0    free]
      Total: 1 [15.75 GB] / in use: 1 [15.75 GB] / in no VG: 0 [0   ]
    $ sudo /sbin/lvscan 
      inactive          '/dev/atde3/root' [14.70 GB] inherit
      inactive          '/dev/atde3/swap_1' [1.06 GB] inherit
    $ sudo /sbin/vgchange -ay
      2 logical volume(s) in volume group "atde3" now active
    $ sudo /sbin/lvscan 
      ACTIVE            '/dev/atde3/root' [14.70 GB] inherit
      ACTIVE            '/dev/atde3/swap_1' [1.06 GB] inherit
    

    LVMのパーティションに対応するデバイスファイルができましたので、あとは普通にマウントできます。

    $ sudo mkdir /opt/atde3-20100309
    $ sudo mount -o loop /dev/atde3/root /opt/atde3-20100309
    $ sudo mount -o loop /dev/mapper/loop0p1 /opt/atde3-20100309/boot
    

    マウント後の初期設定

    後の手順は事例1 と同様に、sshdを動かしててリモートログインできるように設定します。

    後で使うので /etc/resolv.conf を ATDE側にコピーした上でchrootします。

    $ sudo cp -a /etc/resolv.conf /opt/atde3-20100309/etc/
    $ sudo chroot /opt/atde3-20100309
    

    デバイスファイルはだいたい揃っているので、MAKDEV と mkdir は不要です。

    # echo > /etc/mtab
    # mount /dev/pts
    # mount -n -t proc /proc /proc
    # mount -n -t sysfs /sys /sys
    # mount /dev/shm
    

    sshdがインストールされていないのを追加すると、あとは事例1 と同様にsshログインできるようになります。

    # apt-get install openssh-server
    # vim /etc/ssh/sshd_config 
    # /etc/init.d/ssh start
    # exit
    $ ssh -p 20022 atmark@localhost
    atmark@localhost's password: atmark
        (初期パスワードはatmark)
    $ whoami
    atmark
    

    試しにAndroid kernelをビルド

    Armadillo-500FX用のビルド方法をまとめられているsolaさんのblog に沿ってATDEのクロスコンパイラを使ってkernelをビルドしてみました。

    $ mkdir ~/bin
    $ curl http://android.git.kernel.org/repo > ~/bin/repo
    $ chmod +x ~/bin/repo
    $ export PATH=/home/atmark/bin:$PATH
    $ mkdir ~/work
    $ cd ~/work
    $ git clone git://github.com/sola-dolphin1/OHA-Android-2.3_r1.0.git
    Initialized empty Git repository in /home/atmark/work/OHA-Android-2.3_r1.0/.git/
    remote: Counting objects: 191730, done.
    remote: Compressing objects: 100% (133820/133820), done.
    remote: Total 191730 (delta 84118), reused 158374 (delta 50901)
    Receiving objects: 100% (191730/191730), 1019.48 MiB | 2956 KiB/s, done.
    Resolving deltas: 100% (84118/84118), done.
    Checking out files: 100% (249342/249342), done.
    $ export ANDROID=/home/atmark/work/OHA-Android-2.3_r1.0
    $ cd $ANDROID/kernel/armadillo500fx/
    $ make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- armadillo500fx_dev_android_defconfig
      HOSTCC  scripts/basic/fixdep
      HOSTCC  scripts/basic/docproc
      HOSTCC  scripts/kconfig/conf.o
      HOSTCC  scripts/kconfig/kxgettext.o
      SHIPPED scripts/kconfig/zconf.tab.c
      SHIPPED scripts/kconfig/lex.zconf.c
      SHIPPED scripts/kconfig/zconf.hash.c
      HOSTCC  scripts/kconfig/zconf.tab.o
      HOSTLD  scripts/kconfig/conf
    #
    # configuration written to .config
    #
    $ make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- -j4
    scripts/kconfig/conf -s arch/arm/Kconfig
      CHK     include/linux/version.h
    (中略)
      AS      .tmp_kallsyms2.o
      LD      vmlinux
      SYSMAP  System.map
      SYSMAP  .tmp_System.map
      OBJCOPY arch/arm/boot/Image
      Kernel: arch/arm/boot/Image is ready
      AS      arch/arm/boot/compressed/head.o
      GZIP    arch/arm/boot/compressed/piggy.gz
      CC      arch/arm/boot/compressed/misc.o
      Building modules, stage 2.
      MODPOST 1 modules
      CC      drivers/scsi/scsi_wait_scan.mod.o
      LD [M]  drivers/scsi/scsi_wait_scan.ko
      AS      arch/arm/boot/compressed/piggy.o
      LD      arch/arm/boot/compressed/vmlinux
      OBJCOPY arch/arm/boot/zImage
      Kernel: arch/arm/boot/zImage is ready
    

    このように、ARM用のLinux Kernelをビルド出来る環境が簡単に実現できました。

    ここではDebianベースのATDEを例に取りましたが、他のLinuxでも基本的にここで紹介した方法でchroot上で使えるようにできると思います。VMWareのディスクイメージは他にも様々なところで公開されていますので、いろいろ試してみて下さい。

    おわりに

    ここでは、既存のHDDイメージやVMWareのディスクイメージをループバックマウントして、仮想マシンのように使う事例を紹介しました。

    chrootは使い方次第で様々な活用が可能です。今後もchrootを使ってVine Linuxのより幅広い活用事例を紹介していきます。読者の皆様から「こういった内容を詳しく知りたい」や「こんな問題があるけどよい解決方法は?」などのご要望、ご質問があれば前向きにテーマとして取り上げたいと思います。皆様のご意見、ご感想をお待ちしております。

    ]]>
    2011-03-03T00:00:00+09:00 <![CDATA[1台のPCで複数のOSを使い分けるソリューションとして、KVM や VMWare, VirtualBoxのような仮想マシンは今や常識となっています。 しかし、Linuxの上で別のLinux環境を実現するのであればchrootを使っても簡易仮想マシンの様な環境を作ることができます。 Vine Linuxでは、vbootstrap (Vine Linux の基本システムを作成するためのスクリプト)や debootstrap (Debian GNU/Linux bootstrapper)、rinse (Fedora や CentOS 等の chroot 環境を構築するツール)などの便利なパッケージが用意されており、容易に他ディストリビューションをVine Linuxの上で飼うことができます。 ですがここでは、既存のOSがインストール済みのディスクをそのまま活かして、Vine Linux 5.2の上にchrootを使ったなんちゃって仮想マシンのLinux環境を実現する方法を紹介していきます。
    • ディスクのイメージをループバックマウントする方法
      • dd でダンプしたディスクのイメージをマウントする
      • VMWare の VMDK ファイル形式ディスクをマウントする
    • chrootを使ったなんちゃって仮想マシン環境を構築する方法

    chrootとVMWare Playerのベンチマーク比較

    本題に入る前にまず、chrootを使った場合のパフォーマンス面での利点をみていきます。

    chrootの中のプロセスはホストのkernel上で直接実行されます。そのため、VMWare Playerを初めとする仮想マシン環境と較べると次のようなメリットがあります。

    • パフォーマンス・ペナルティがない
    • VMWareの上限である8CPU以上のSMP環境が使える

    ここでは、試しにVine Linux 5.2 (x86 32bit) をインストールしたPC上にVMWare Playerをインストールして、VMWare Player上のVine Linux 4.2 (i386) と、chrootの上に構築した Vine Linux 4.2 (i386) の環境での性能を比較してみました。

    VMWare Player と chroot 環境でベンチマーク比較:BeeCrypt Benchmark

    まずベンチマークプログラムにBeeCrypt Benchmarkを使って、次のそれぞれの環境で性能を比較してみました。

    VMWare
    Vine Linux 5.2にインストールしたVMWare Player 3.1.3上のVine Linux 4.2環境で実行
    chroot
    Vine Linux 5.2の上でchrootを使って構築したVine Linux 4.2環境で実行
    5.2 native
    Vine Linux 5.2の上でそのまま実行
    BeeCrypt Benchmark

    総じてchroot上でのベンチマーク結果はVMWare Playerよりも高速で、Vine Linux 5.2の上での実行結果と遜色がないパフォーマンスを示しています。BeeCryptのベンチマークは演算が中心となっており、ディスクやメモリアクセスの性能差がでにくい傾向にあるのですが、それでも約 5%程度の差が出ました。

    VMWare Player と chroot 環境でベンチマーク比較:カーネルビルド

    先ほどと同じくVMWare Player上の Vine Linux 4.2環境と、Vine Linux 5.2のchroot上に構築したVine Linux 4.2環境で、それぞれカーネルビルドに掛かった時間を比較した結果が次のグラフです。

    積み重ねグラフはsysとuser時間を、折れ線グラフはreal時間を表しており、4コアのマシン上でビルドしていたためにsysとuser時間の合計よりもreal時間が大幅に短くなるケースが見られます。なお、それぞれ 6回実行しています。特にreal時間にはばらつきが大きいのでどちらが高速かを一概には言えない面もありますが、全体的にchroot環境の方がsys時間が短く、高速であることが見て取れます。

    Kernel Build

    このように、chroot上で構築したなんちゃって仮想マシンはパフォーマンスの面では一般的な仮想マシンより優位性があるとわかると思います。

    事例 1:古い Vine Linux 4.2 の環境を Vine Linux 5.2 にお引っ越し

    Vine Linux 5.2をお使いの方が多いと思います。 しかし、どうしても以前使っていたVine Linux 4.2の環境で使っていた特定のアプリケーションがVine Linux 5.2で使えないからなかなか移行できないという方もおられるかと思います。 また、メインではVine Linux 5.2を使っているけど、一部の商用アプリケーションを使用するために別にRed Had ELやSLESのマシンを用意している方もおられるかもしれません。 ここでは、仮想マシンを使用することなくVine Linux 5.2の上で既存のVine Linux 4.2の実行環境を構築する方法を紹介します。

    次の手順で進めていきます。

    1. 古いマシンのディスクをVine Linux 5.2上にマウントしてアクセスできるようにする
    2. chrootコマンドを使って、古いマシンのディスクを"/"としてアクセスできるようにする
    3. 一般ユーザーがsshでリモート接続できる設定
    なお、途中で詳細な説明を省いているところがあります。不明な点がありましたらご指摘をいただければ可能な範囲で補足説明します。

    dd したディスクイメージをループバックマウント

    まず、旧マシンのディスクをVine Linux 5.2の環境からアクセスできるようにしておきます。 ここでは、古いマシンのディスクが /dev/hdX に繋がっているものと想定しています。

    # dd if=/dev/hdX of=/opt/Vine42.dd.img
    

    とddコマンドを使って、ディスクのイメージを丸ごとファイルにダンプし、この以前のディスクの環境をVine Linux 5.2の上で使えるようにします。 なお、ここではいくつかのコマンドを説明する目的もあるため、若干無駄な操作も入っています。 「初めからルートパーティションだけddすればいいじゃん」などといった野暮なつっこみは厳に御容赦願います。。。

    でも、このままループバックマウントのオプション"-o loop"を使ってディスクのイメージをマウントすることはできません。

    # mkdir /opt/Vine42
    # mount -o loop /opt/Vine42.dd.img /opt/Vine42
    mount: ファイルシステムタイプを指定する必要があります
    

    ここでは、パーティションの情報を確認し、オフセットを指定しながらディスクのイメージをループバックマウントします。

    # fdisk -lu /opt/Vine42.dd.img 
    設定する必要があります シリンダ数.
    あなたは特別機能メニューからこれを行なうことができます
    
    Disk /opt/Vine42.dd.img: 0 MB, 0 bytes
    255 heads, 63 sectors/track, 0 cylinders, total 0 sectors
    Units = セクタ数 of 1 * 512 = 512 bytes
    Disk identifier: 0x000a0970
    
           デバイス Boot      Start         End      Blocks   Id  System
    /opt/Vine42.dd.img1   *          63      208844      104391   83  Linux
    /opt/Vine42.dd.img2          208845    15727634     7759395   83  Linux
    /opt/Vine42.dd.img3        15727635    16771859      522112+  82  Linux swap / Solaris
    領域 3 は異なった物理/論理終点になっています:
         物理=(1023, 254, 63) 論理=(1043, 254, 63)
    

    Startセクタ * 512バイト目がパーティションの始まりになるので、1番目のパーティションは 63*512 = 32,256バイト目からのオフセットを指定することでマウントできます。

    # mkdir /opt/Vine42
    # mount -o loop,offset=`expr 63 \* 512` /opt/Vine42.dd.img /opt/Vine42
    $ ls /opt/Vine42/
    System.map@                 initrd-2.6.16-0vl76.27.img  vmlinuz@
    System.map-2.6.16-0vl76.27  initrd.img@                 vmlinuz-2.6.16-0vl76.27
    System.map.old@             initrd.old.img@             vmlinuz.old@
    config-2.6.16-0vl76.27      kernel.h
    grub/                       lost+found/
    

    こっちは /boot パーティションですね。 一旦アンマウントして、/ に対応する 2番目のセクタをマウント。 ついでに、必要はありませんが/bootもマウントします。

    # umount /opt/Vine42
    # umount /opt/Vine42
    # mount -o loop,offset=`expr 208845 \* 512` /opt/Vine42.dd.img /opt/Vine42
    # mount -o loop,offset=`expr 63 \* 512` /opt/Vine42.dd.img /opt/Vine42/boot 
    $ df
    ファイルシステム     1K-ブロック  使用        空き 使用% マウント位置
    /dev/sda3             38456340  26437676  10065160  73% /
    none                   2021060         0   2021060   0% /dev/shm
    /dev/loop0             7637400   1928112   5321320  27% /opt/Vine42
    /dev/loop1              101086      8908     86959  10% /opt/Vine42/boot
    

    これで Vine Linux 4.2 のディスクを Vine Linux 5.2 からアクセスできるようになりました。

    ちなみに、ここでは従来環境のディスクをdd でディスクイメージのファイルに落としていましたが、ディスクをそのまま mount しても同じことは可能です。 この場合は、古いディスクを繋ぐ前にあらかじめ e2label コマンドで "/" や "/boot" といったラベルを消しておきましょう。

    # e2label /dev/hda1 ""
    # e2label /dev/hda2 ""
    

    そうしなければ、古いVine Linux 4.2のディスクを繋いだときに、そっちが "/" となって起動することがあります。 grubがVine Linux 5.2のカーネルをロードしたのに、"/"としてVine Linux 4.2のディスクが参照され、大量のワーニングを吐きながらVine Linux 4.2が起動する姿を見るとやるせない気分になります。

    chrootを使って / のパスを変更

    マウントはできましたが、このままではライブラリの依存関係を満たせないので Vine Linux 4.2 のバイナリはほとんどの場合で実行できません。

    $ /opt/Vine42/usr/bin/gnome-calculator 
    /opt/Vine42/usr/bin/gnome-calculator: error while loading shared libraries: libgnomeui-2.so.0: cannot open shared object file: No such file or directory
    $ ldd /opt/Vine42/usr/bin/gnome-calculator
            linux-gate.so.1 =>  (0xffffe000)
            libgnomeui-2.so.0 => not found
            libbonoboui-2.so.0 => not found
            
    

    これは、Vine Linux 4.2のバイナリを実行するのに必要なライブラリ群が/opt/Vine42/usr/lib 以下に配置されている一方、ライブラリは /usr/lib 以下が参照されるため必要なライブラリをリンクできないのが原因です。そこで chroot を使って、/opt/Vine42/usr/lib が /usr/lib として参照できるようパスを変更します。

    # chroot /opt/Vine42
    

    これで、/opt/Vine42 が / としてアクセスできるようになります。 試しに、ldd してみるとライブラリの依存関係が満たされていることが確認できるでしょう。

    # ldd /usr/bin/gnome-calculator
            linux-gate.so.1 =>  (0xffffe000)
            libgnomeui-2.so.0 => /usr/lib/libgnomeui-2.so.0 (0xf7660000)
            libbonoboui-2.so.0 => /usr/lib/libbonoboui-2.so.0 (0xf7600000)
            
    

    なんちゃって仮想マシンとして使うための初期設定

    chrootを使って、Vine Linux 4.2のバイナリが実行できるようになりました。しかし、chrootを実行するにはroot権が必要なほか、何かと不便が多いのであたかも仮想マシンにsshログインするかのように使えるよういくつかの設定をします。

    まず、古い mtab が残っていると問題になることがあるので、一旦空っぽにしておきます。

    # echo > /etc/mtab 
    

    次に、デバイスファイルがほとんど無いので、必要そうなものをいくつか作ります。

    # ls /dev/
    console  null
    # MAKEDEV /dev/null /dev/random /dev/urandom /dev/ptmx
    # mkdir /dev/pts 
    # mount /dev/pts
    # mount -n -t proc /proc /proc
    # mount -n -t sysfs /sys /sys
    # mkdir /dev/shm
    # mount /dev/shm
    

    先の 3行の手続きは一度だけ必要な初期設定です。後の4回のmountコマンドは、ホストPCを再起動する度に必要となる設定です。

    sshd を動かしてログイン

    あとはsshdを動かせば、ログインできるようになります。

    ただし、22番ポートはホストの Vine Linux 5.2 環境で使われているハズですので、ポート番号を適当に変えた上で sshd を起動します。

    # vim /etc/ssh/sshd_config
    # diff /etc/ssh/sshd_config.orig /etc/ssh/sshd_config
    13c13
    < #Port 22
    ---
    > Port 20022
    # /etc/init.d/sshd start | nkf -uw
    sshdを起動中:                                              [  OK  ]
    

    ちなみに、Vine Linux 4.2 は Vine Linux 5.2とはデフォルトのロケールが異なります。 (5.2はja_JP.UTF-8、4.2はja_JP.eucJP) そのために文字化けすることがあると思います。それぞれ適当に対応してください。

    このほか、dbus も動いていないと何かと不便が多いようですので、dbusも起動しておきます。

    # /etc/init.d/messagebus start 
    

    これで準備は完了です。chroot したターミナルはもう CTRL+d で閉じて構いません。

    それではホストのVine Linuxから chroot上のVine Linux 4.2に一般ユーザーとしてSSHログインしてみましょう。この際、sshのポート番号を変えているので -p オプションで明示的にポート番号を指定することを忘れないで下さい。

    $ ssh -p 20022 vine@localhost 
    vine@localhost's password: 
    Last login: Sun Dec 12 00:21:43 2010 from localhost.localdomain
    $ gnome-calculator &
    

    今度は、ちゃんと電卓が起動できたと思います。きっと他の商用アプリケーションも動かせるでしょう。

    なお、/etc/resolv.confが空っぽだったり正しくない値が書かれている場合に、DNSによる名前解決が出来ないことがあります。Host環境の設定をそのまま cp するので良いでしょう。

    $ sudo cp -a /etc/resolv.conf /opt/Vine42/etc/resolv.conf
    

    事例 2:Debianベースの ARM 開発環境を Vine Linux 5.2 で使う

    先の事例では、既存のHDDにインストールしたVine Linux 4.2を Vine Linux 5.2上のchrootで使う事例を紹介しましたが、既存の環境がVMWare上にあった場合でも同様のことが可能です。

    ここでは、VMWareのディスクイメージをループバックマウントして、先と同じくchrootのなんちゃって仮想マシンに仕立て上げる方法を紹介します。

    VMWareのディスクイメージを入手

    ちょっとAndroidをGingerbreadに更新したいなぁなんて思うことは誰でもあると思います。(いや、ないとは思いますが。。) そんなときに、クロス開発環境から作り始めるといろんなこだわりもあったりしてそれだけで半日遊んでしまいます。で、僕は今日いったい何をやっていたんだろう?などと後悔するわけです。閑話休題。

    お手軽にARMのクロス開発環境がほしいと思ったときに便利なのが、株式会社アットマークテクノから公開されているATDEです。 VMWareのイメージをダウンロードしてきてそのまま使えますし、お手持ちのdebian の環境にインストールしても使えます。 でも、VMWare Playerは諸般の事情で使えないとか、やっぱりVineをメインで使いたいと思ったときに ATDEの環境をchrootの上で使えると便利です。 ここでは、ATDEのVMWareディスクイメージを例題としてVine Linux 5.2にマウントしてのchrootで使ってみます。

    まず初めにATDEのサイトから VMWare イメージ (atde3-20100309.zip [696.69 MB]) をダウンロードし、zipアーカイブを展開します。

    $ wget http://armadillo.atmark-techno.com/files/downloads/atde/atde3-20100309.zip
    $ sudo unzip atde3-20100309.zip -d /tmp/
    Archive:  atde3-20100309.zip
       creating: /tmp/atde3-20100309/
      inflating: /tmp/atde3-20100309/atde3-s005.vmdk
      inflating: /tmp/atde3-20100309/atde3-s007.vmdk
      inflating: /tmp/atde3-20100309/atde3.vmx
      inflating: /tmp/atde3-20100309/atde3-s009.vmdk
      inflating: /tmp/atde3-20100309/atde3.vmxf
      inflating: /tmp/atde3-20100309/atde3.nvram
     extracting: /tmp/atde3-20100309/atde3.vmsd
      inflating: /tmp/atde3-20100309/atde3-s002.vmdk
      inflating: /tmp/atde3-20100309/atde3.vmdk
      inflating: /tmp/atde3-20100309/atde3-s001.vmdk
      inflating: /tmp/atde3-20100309/atde3-s003.vmdk
      inflating: /tmp/atde3-20100309/atde3-s004.vmdk
      inflating: /tmp/atde3-20100309/atde3-s006.vmdk
      inflating: /tmp/atde3-20100309/atde3-s008.vmdk
    

    分割されたvmdkファイルをディスクのイメージに変換

    vmdk をループバックマウントできるようにできるように、ディスクのファイル形式をqemu-imgでコマンドで変換します。 もしqemu-imgがインストールされていない場合にはapt-getインストールします。

    $ sudo apt-get install qemu
    $ cd /tmp/atde3-20100309
    $ sudo qemu-img convert atde3-s00[1-9].vmdk -O bin /opt/atde3-20100309.img
    (VMDK) image open: flags=0x2 filename=atde3-s001.vmdk
    (VMDK) image open: flags=0x2 filename=atde3-s002.vmdk
    (VMDK) image open: flags=0x2 filename=atde3-s003.vmdk
    (VMDK) image open: flags=0x2 filename=atde3-s004.vmdk
    (VMDK) image open: flags=0x2 filename=atde3-s005.vmdk
    (VMDK) image open: flags=0x2 filename=atde3-s006.vmdk
    (VMDK) image open: flags=0x2 filename=atde3-s007.vmdk
    (VMDK) image open: flags=0x2 filename=atde3-s008.vmdk
    (VMDK) image open: flags=0x2 filename=atde3-s009.vmdk
    $ fdisk -lu /opt/atde3-20100309.img 
    設定する必要があります シリンダ数.
    あなたは特別機能メニューからこれを行なうことができます
    
    Disk /opt/atde3-20100309.img: 0 MB, 0 bytes
    255 heads, 63 sectors/track, 0 cylinders, total 0 sectors
    Units = セクタ数 of 1 * 512 = 512 bytes
    Disk identifier: 0x0008bb4c
    
                デバイス Boot      Start         End      Blocks   Id  System
    /opt/atde3-20100309.img1   *          63      498014      248976   83  Linux
    /opt/atde3-20100309.img2          498015    33543719    16522852+  8e  Linux LVM
    領域 2 は異なった物理/論理終点になっています:
         物理=(1023, 254, 63) 論理=(2087, 254, 63)
    

    LVMが使われているディスクイメージをループバックマウント

    ディスクは参照できる形になりました。

    でも面倒なことにLVMが使われているので、mount offset オプションを使ってマウントできません。(たぶん)

    そこでまず、kpartxを使って各パーティションのデバイスマップを作ります。

    $ sudo /sbin/kpartx -av /opt/atde3-20100309.img 
    add map loop2p1 : 0 497952 linear /dev/loop2 63
    add map loop2p2 : 0 33045705 linear /dev/loop2 498015
    $ ls /dev/mapper/
    control  loop2p1  loop2p2
    

    これでディスクイメージの各物理パーティションに対応したデバイスマップができました。fdiskで見えていたパーティションはそれぞれ、/dev/mapper/loop2p1 /dev/mapper/loop2p2 として参照できるようになっています。

    次にLVM のマウントです。各コマンドについては適宜manなどで調べてください。詳細は割愛します。

    $ sudo /sbin/pvscan 
      PV /dev/dm-1   VG atde3   lvm2 [15.75 GB / 0    free]
      Total: 1 [15.75 GB] / in use: 1 [15.75 GB] / in no VG: 0 [0   ]
    $ sudo /sbin/lvscan 
      inactive          '/dev/atde3/root' [14.70 GB] inherit
      inactive          '/dev/atde3/swap_1' [1.06 GB] inherit
    $ sudo /sbin/vgchange -ay
      2 logical volume(s) in volume group "atde3" now active
    $ sudo /sbin/lvscan 
      ACTIVE            '/dev/atde3/root' [14.70 GB] inherit
      ACTIVE            '/dev/atde3/swap_1' [1.06 GB] inherit
    

    LVMのパーティションに対応するデバイスファイルができましたので、あとは普通にマウントできます。

    $ sudo mkdir /opt/atde3-20100309
    $ sudo mount -o loop /dev/atde3/root /opt/atde3-20100309
    $ sudo mount -o loop /dev/mapper/loop0p1 /opt/atde3-20100309/boot
    

    マウント後の初期設定

    後の手順は事例1 と同様に、sshdを動かしててリモートログインできるように設定します。

    後で使うので /etc/resolv.conf を ATDE側にコピーした上でchrootします。

    $ sudo cp -a /etc/resolv.conf /opt/atde3-20100309/etc/
    $ sudo chroot /opt/atde3-20100309
    

    デバイスファイルはだいたい揃っているので、MAKDEV と mkdir は不要です。

    # echo > /etc/mtab
    # mount /dev/pts
    # mount -n -t proc /proc /proc
    # mount -n -t sysfs /sys /sys
    # mount /dev/shm
    

    sshdがインストールされていないのを追加すると、あとは事例1 と同様にsshログインできるようになります。

    # apt-get install openssh-server
    # vim /etc/ssh/sshd_config 
    # /etc/init.d/ssh start
    # exit
    $ ssh -p 20022 atmark@localhost
    atmark@localhost's password: atmark
        (初期パスワードはatmark)
    $ whoami
    atmark
    

    試しにAndroid kernelをビルド

    Armadillo-500FX用のビルド方法をまとめられているsolaさんのblog に沿ってATDEのクロスコンパイラを使ってkernelをビルドしてみました。

    $ mkdir ~/bin
    $ curl http://android.git.kernel.org/repo > ~/bin/repo
    $ chmod +x ~/bin/repo
    $ export PATH=/home/atmark/bin:$PATH
    $ mkdir ~/work
    $ cd ~/work
    $ git clone git://github.com/sola-dolphin1/OHA-Android-2.3_r1.0.git
    Initialized empty Git repository in /home/atmark/work/OHA-Android-2.3_r1.0/.git/
    remote: Counting objects: 191730, done.
    remote: Compressing objects: 100% (133820/133820), done.
    remote: Total 191730 (delta 84118), reused 158374 (delta 50901)
    Receiving objects: 100% (191730/191730), 1019.48 MiB | 2956 KiB/s, done.
    Resolving deltas: 100% (84118/84118), done.
    Checking out files: 100% (249342/249342), done.
    $ export ANDROID=/home/atmark/work/OHA-Android-2.3_r1.0
    $ cd $ANDROID/kernel/armadillo500fx/
    $ make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- armadillo500fx_dev_android_defconfig
      HOSTCC  scripts/basic/fixdep
      HOSTCC  scripts/basic/docproc
      HOSTCC  scripts/kconfig/conf.o
      HOSTCC  scripts/kconfig/kxgettext.o
      SHIPPED scripts/kconfig/zconf.tab.c
      SHIPPED scripts/kconfig/lex.zconf.c
      SHIPPED scripts/kconfig/zconf.hash.c
      HOSTCC  scripts/kconfig/zconf.tab.o
      HOSTLD  scripts/kconfig/conf
    #
    # configuration written to .config
    #
    $ make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- -j4
    scripts/kconfig/conf -s arch/arm/Kconfig
      CHK     include/linux/version.h
    (中略)
      AS      .tmp_kallsyms2.o
      LD      vmlinux
      SYSMAP  System.map
      SYSMAP  .tmp_System.map
      OBJCOPY arch/arm/boot/Image
      Kernel: arch/arm/boot/Image is ready
      AS      arch/arm/boot/compressed/head.o
      GZIP    arch/arm/boot/compressed/piggy.gz
      CC      arch/arm/boot/compressed/misc.o
      Building modules, stage 2.
      MODPOST 1 modules
      CC      drivers/scsi/scsi_wait_scan.mod.o
      LD [M]  drivers/scsi/scsi_wait_scan.ko
      AS      arch/arm/boot/compressed/piggy.o
      LD      arch/arm/boot/compressed/vmlinux
      OBJCOPY arch/arm/boot/zImage
      Kernel: arch/arm/boot/zImage is ready
    

    このように、ARM用のLinux Kernelをビルド出来る環境が簡単に実現できました。

    ここではDebianベースのATDEを例に取りましたが、他のLinuxでも基本的にここで紹介した方法でchroot上で使えるようにできると思います。VMWareのディスクイメージは他にも様々なところで公開されていますので、いろいろ試してみて下さい。

    おわりに

    ここでは、既存のHDDイメージやVMWareのディスクイメージをループバックマウントして、仮想マシンのように使う事例を紹介しました。

    chrootは使い方次第で様々な活用が可能です。今後もchrootを使ってVine Linuxのより幅広い活用事例を紹介していきます。読者の皆様から「こういった内容を詳しく知りたい」や「こんな問題があるけどよい解決方法は?」などのご要望、ご質問があれば前向きにテーマとして取り上げたいと思います。皆様のご意見、ご感想をお待ちしております。

    ]]>
    Vine Linux 5 の TeX 環境を teTeX 3.0 から TeX Live 2009 への移行手順 http://vinelinux.org/vlmagazine/20110117.html <![CDATA[TeX ディストリビューション teTeX はすでに開発停止されており、 次期 TeX ディストリビューションとして、現在 TeX Live に移行されました。
    各種イベントなどで 「Vine Linux 5 でも TeX Live 環境を使えるようにしてほしい」 という要望を多数受けまして、 この度、VinePlus として texlive パッケージ一式を用意しました。
    用途が teTeX 環境で十分に足りている場合、 無理に TeX Live 環境へ移行する必要はありません。 もし teTeX 3.0 がちょっと物足りないと感じている方や レジスタの個数が拡張された e-pTeX を TeX Live 2009 で使いたい方、 XeTeXLuaTeX の世界に触れてみたい方、 Vine Linux の TeX 環境のテストや提案などをしてくださる方、 とにかく TeX が好きな方 :) は、 本ドキュメントにしたがって、 teTeX 3.0 から TeX Live 2009 へ移行して下さいませ。

    移行の流れ

    以下の 3 ステップで TeX Live への移行が完了します。

    1. 準備
    2. teTeX から TeX Live への移行用パッケージをインストール
    3. TeX Live をインストール

    1. 準備

    現時点で libpaper-1.1.23-2vl5 は proposed-updates に置かれています。 このパッケージは、TeX Live の dvipdfmx が B5 や B4, B3 などの JIS B 列用紙サイズの PDF ファイルを生成する場合に必要となりますので、 あらかじめインストールしておきます。

    $ sudo apt-get install http://proposed-updates.vinelinux.org/apt/proposed-updates/5/$(uname -i)/RPMS.updates/libpaper-1.1.23-2vl5.$(uname -i).rpm
    

    teTeX 関連のいくつかのパッケージが手元の環境に入っているかどうかを調べます。

    $ rpm -q tetex jadetex docbook-utils
    tetex-3.0-13vl5
    jadetex-3.12-9vl5
    docbook-utils-0.6.14-2vl5
    

    tetex パッケージがインストールされていない場合

    「準備」および 「teTeX から TeX Live への移行用パッケージをインストール」のステップは不要です。 最後のステップ「TeX Live をインストール」に移ってください。

    jadetex や docbook-utils パッケージがインストールされている場合

    次の「teTeX から TeX Live への移行用パッケージをインストール」が、もっとも重要なステップになります。

    docbook-utils パッケージは jadetex パッケージに依存しており、 jadetex パッケージは tetex パッケージに依存しています。そのため、 tetex パッケージを手動でアンインストールしたり、 tetex パッケージがインストールされている環境において、 手動で texlive パッケージをインストールしたりすると、 jadetex や docbook-utils パッケージが tetex パッケージのアンインストールに引きづられてしまいます。

    注意

    以下のように tetex パッケージがインストールされている環境で、 texlive パッケージを直接インストールしないで下さい!

    $ sudo apt-get update
    $ sudo apt-get install texlive
    パッケージリストを読みこんでいます... 完了
    依存情報ツリーを作成しています... 完了        
    以下の追加パッケージがインストールされます:
      texlive-collection-basic texlive-collection-fontsrecommended
      texlive-collection-langcyrillic texlive-collection-langgerman
      texlive-collection-latex texlive-collection-latexrecommended
      texlive-collection-xetex texlive-common texlive-jvf texlive-macros
    以下のパッケージが削除されます:
      dvipdfmx jadetex jvf task-tetex tetex tetex-extra tetex-macros texmacro-otf
      xdvik xdvik-search
    以下のパッケージが新たにインストールされます:
      texlive texlive-collection-basic texlive-collection-fontsrecommended
      texlive-collection-langcyrillic texlive-collection-langgerman
      texlive-collection-latex texlive-collection-latexrecommended
      texlive-collection-xetex texlive-common texlive-jvf texlive-macros
    アップグレード: 0 個, 新規インストール: 11 個, 削除: 10 個, 保留: 0 個
    0B/77.7MB のアーカイブを取得する必要があります。
    展開後に 60.2MB が解放されます。
    続行しますか? [Y/n]n
    中断しました。
    

    もし texlive パッケージをインストールしてしまうと、 組版エンジンのフォーマットファイル *.fmt やフォントのマップファイル *.map が正しく生成されず、 不整合な TeX Live 環境になってしまう可能性があります。

    2. teTeX から TeX Live への移行用パッケージをインストール

    ここでは、手元の Vine Linux 5 に task-tetex パッケージをインストールしていると想定して説明します。

    teTeX から TeX Live への移行用パッケージ texlive-tetex-trans をインストールします。

    $ sudo apt-get update
    $ sudo apt-get install texlive-tetex-trans
    パッケージリストを読みこんでいます... 完了
    依存情報ツリーを作成しています... 完了        
    以下のパッケージが削除されます:
      dvipdfmx jadetex jvf task-tetex tetex tetex-extra tetex-macros texmacro-otf
      xdvik xdvik-search
    以下のパッケージが新たにインストールされます:
      texlive-tetex-trans
    アップグレード: 0 個, 新規インストール: 1 個, 削除: 10 個, 保留: 0 個
    0B/4463B のアーカイブを取得する必要があります。
    展開後に 266MB が解放されます。
    続行しますか? [Y/n]Y
    変更を適用しています...
    準備中                                ############################## [100%]
    更新/インストール中
      texlive-tetex-trans-2009-2vl5.noarch   ############################## [100%]
    クリーニング/削除中
      task-tetex-3.0-4vl5.noarch             ############################## [100%]
      texmacro-otf-1.2.9-3vl5.noarch         ############################## [100%]
    actionscript://usr/lib/emacsen-common/packages/remove/xdvik
    remove/xdvik: Handling removal of emacsen flavor emacs-23.1 ... done.
      xdvik-search-22.84.14-6vl5.i386        ############################## [100%]
      xdvik-22.84.14-6vl5.i386               ############################## [100%]
      dvipdfmx-20090522-6vl5.i386            ############################## [100%]
      jadetex-3.12-9vl5.noarch               ############################## [100%]
      jvf-2.0-4vl5.noarch                    ############################## [100%]
      tetex-extra-3.0-13vl5.i386             ############################## [100%]
      tetex-3.0-13vl5.i386                   ############################## [100%]
      tetex-macros-3.0-7vl5.noarch           ############################## [100%]
    Running transitional process of your TeX system ... 
      Found /usr/share/texmf-var: 
        `/usr/share/texmf-var' -> `/usr/share/texmf-var.20110115.rpmorig'
      Found /usr/share/texmf-config: 
        `/usr/share/texmf-config' -> `/usr/share/texmf-config.20110115.rpmorig'
    done.
    完了
    

    texlive-tetex-trans パッケージをインストールしたときの一番最後に "Running transitional process of your TeX system ... " という処理が実行されます。 これは、teTeX 環境のときに構築していた /usr/share/texmf-var と /usr/share/texmf-config が別名で保存されます。 teTeX 環境のときに何か特別な設定などしていた場合は、 TeX Live 環境へ移行後に必要に応じて、改めて設定して下さい。

    3. TeX Live をインストール

    texlive もしくは task-texlive パッケージをインストールして、 TeX Live 環境をインストールします。 ここでは、task-texlive をインストールします。

    $ sudo apt-get install task-texlive
    パッケージリストを読みこんでいます... 完了
    依存情報ツリーを作成しています... 完了        
    以下の追加パッケージがインストールされます:
      texlive texlive-collection-basic texlive-collection-fontsrecommended
      texlive-collection-genericrecommended texlive-collection-langcyrillic
      texlive-collection-langgerman texlive-collection-latex
      texlive-collection-latexextra texlive-collection-latexrecommended
      texlive-collection-luatex texlive-collection-pictures
      texlive-collection-pstricks texlive-collection-xetex texlive-common
      texlive-jvf texlive-macros texlive-texmacro-otf
    以下のパッケージが削除されます:
      texlive-tetex-trans
    以下のパッケージが新たにインストールされます:
      task-texlive texlive texlive-collection-basic
      texlive-collection-fontsrecommended texlive-collection-genericrecommended
      texlive-collection-langcyrillic texlive-collection-langgerman
      texlive-collection-latex texlive-collection-latexextra
      texlive-collection-latexrecommended texlive-collection-luatex
      texlive-collection-pictures texlive-collection-pstricks
      texlive-collection-xetex texlive-common texlive-jvf texlive-macros
      texlive-texmacro-otf
    アップグレード: 0 個, 新規インストール: 18 個, 削除: 1 個, 保留: 0 個
    0B/140MB のアーカイブを取得する必要があります。
    展開後に 379MB のディスク容量が追加消費されます。
    続行しますか? [Y/n]Y
    変更を適用しています...
    準備中                                ############################## [100%]
    更新/インストール中
      texlive-macros-2009-3vl5.noarch        ############################## [100%]
      texlive-jvf-2.0-6vl5.noarch            ############################## [100%]
      texlive-2009-13vl5.i386                ############################## [100%]
      texlive-collection-basic-2009-3vl5.noa ############################## [100%]
        Running updmap: enable cm.map ... done.
        Running updmap: enable cmextra.map ... done.
        Running updmap: enable cyrillic.map ... done.
        Running updmap: enable latxfont.map ... done.
        Running updmap: enable symbols.map ... done.
        Running updmap: enable cmtext-bsr-interpolated.map ... done.
        Running updmap: enable mflogo.map ... done.
      texlive-collection-latex-2009-3vl5.noa ############################## [100%]
        Running updmap: enable charter.map ... done.
        Running updmap: enable fpls.map ... done.
        Running updmap: enable pazo.map ... done.
        Running updmap: enable utopia.map ... done.
      texlive-collection-pictures-2009-3vl5. ############################## [100%]
        Running updmap: enable xypic.map ... done.
      texlive-collection-genericrecommended- ############################## [100%]
      texlive-collection-pstricks-2009-3vl5. ############################## [100%]
      texlive-collection-latexextra-2009-3vl ############################## [100%]
        Running updmap: enable epiolmec.map ... done.
        Running updmap: enable esint.map ... done.
        Running updmap: enable manfnt.map ... done.
      texlive-collection-latexrecommended-20 ############################## [100%]
      texlive-collection-langcyrillic-2009-3 ############################## [100%]
        Running updmap: enable cmcyr.map ... done.
      texlive-collection-fontsrecommended-20 ############################## [100%]
        Running updmap: enable zpeu.map ... done.
        Running updmap: enable eurosym.map ... done.
        Running updmap: enable lm.map ... done.
        Running updmap: enable marvosym.map ... done.
        Running updmap: enable pxfonts.map ... done.
        Running updmap: enable rsfs.map ... done.
        Running updmap: enable qag.map ... done.
        Running updmap: enable qbk.map ... done.
        Running updmap: enable qcr.map ... done.
        Running updmap: enable qcs.map ... done.
        Running updmap: enable qhv.map ... done.
        Running updmap: enable qpl.map ... done.
        Running updmap: enable qtm.map ... done.
        Running updmap: enable qzc.map ... done.
        Running updmap: enable tipa.map ... done.
        Running updmap: enable txfonts.map ... done.
        Running updmap: enable wasy.map ... done.
      texlive-collection-langgerman-2009-3vl ############################## [100%]
      texlive-collection-xetex-2009-3vl5.noa ############################## [100%]
      texlive-common-2009-3vl5.noarch        ############################## [100%]
        Running updmap ... done.
        Running fmtutil ... done.
      texlive-collection-luatex-2009-3vl5.no ############################## [100%]
      texlive-texmacro-otf-1.5.6.1-2vl5.noar ############################## [100%]
    Standby map file : otf-hiraginox
    Standby map file : otf-noEmbed
    Standby map file : otf-ps-morisawax-noEmbed
    Standby map file : otf-ps-morisawax
    Setting up ... otf-hiraginox.map
      task-texlive-2009-3vl5.noarch          ############################## [100%]
    クリーニング/削除中
      texlive-tetex-trans-2009-2vl5.noarch   ############################## [100%]
    完了
    

    これで TeX Live 2009 へ移行が完了しました。

    teTeX 環境に戻したい場合

    何らかの事情があって、teTeX 環境に戻したい場合がある人もいるかもしれません。 一応、teTeX 環境への戻した方も書いておきます。

    teTeX 環境から TeX Live 環境へ移行したときに、 TeX Live への移行用パッケージ texlive-tetex-trans をインストールしました。 実は、この texlive-tetex-trans パッケージを利用して、 同様にして TeX Live 環境から teTeX 環境へ戻せます。

    $ sudo apt-get install texlive-tetex-trans
    パッケージリストを読みこんでいます... 完了
    依存情報ツリーを作成しています... 完了        
    以下のパッケージが削除されます:
      task-texlive texlive texlive-collection-basic texlive-collection-fontsextra
      texlive-collection-fontsrecommended texlive-collection-genericrecommended
      texlive-collection-langcyrillic texlive-collection-langgerman
      texlive-collection-latex texlive-collection-latexextra
      texlive-collection-latexrecommended texlive-collection-luatex
      texlive-collection-pictures texlive-collection-pstricks
      texlive-collection-xetex texlive-common texlive-jvf texlive-macros
      texlive-mathabx-type1 texlive-texmacro-otf texlive-xdvi-search-el
    以下のパッケージが新たにインストールされます:
      texlive-tetex-trans
    アップグレード: 0 個, 新規インストール: 1 個, 削除: 21 個, 保留: 0 個
    0B/4463B のアーカイブを取得する必要があります。
    展開後に 649MB が解放されます。
    続行しますか? [Y/n]
    

    このあと、tetex パッケージ、または、task-tetex パッケージをインストールすると、 teTeX 環境に戻ります。

    注意事項ですが、以下のように texlive パッケージがインストールされている環境で、 tetex パッケージを直接インストールしないで下さい!

    $ sudo apt-get install tetex
    [sudo] password for munepi: 
    パッケージリストを読みこんでいます... 完了
    依存情報ツリーを作成しています... 完了        
    いくつかのパッケージをインストールすることができません。おそらく、
    整合性のとれない状況を要求したか、(必要なパッケージがまだそろって
    いなかったり、まだIncomingから移動されていない)不安定なディストリ
    ビューションを使用していないでしょうか。
    
    単純な操作だけを行った時に、パッケージがインストール
    できない場合は、バグリポートしてください。
    以下の情報がこの問題を解決するために役立つかもしれません:
    
    以下のパッケージは解決できない依存関係を持っています:
      tetex: 依存: tetex-macros (>= 3.0)
    E: 壊れたパッケージです
    

    おすすめパッケージ

    いくつかを追加した方がよいパッケージを紹介します。

    texlive-xdvi-search-el

    task-tetex パッケージをインストールしていたときに xdvik-search パッケージがインストールされました。 xdvik-search パッケージは tetex パッケージに依存しているため、 texlive パッケージがインストールされている環境では、 xdvik-search パッケージを利用できません。

    そこで、代わりに texlive-xdvi-search-el パッケージをインストールします。

    $ sudo apt-get install texlive-xdvi-search-el
    [sudo] password for munepi: 
    パッケージリストを読みこんでいます... 完了
    依存情報ツリーを作成しています... 完了        
    以下のパッケージが新たにインストールされます:
      texlive-xdvi-search-el
    アップグレード: 0 個, 新規インストール: 1 個, 削除: 0 個, 保留: 0 個
    0B/9858B のアーカイブを取得する必要があります。
    展開後に 17.4kB のディスク容量が追加消費されます。
    変更を適用しています...
    準備中                                ############################## [100%]
    更新/インストール中
      texlive-xdvi-search-el-2009-1vl5.noarc ############################## [100%]
    actionscript://usr/lib/emacsen-common/packages/install/xdvik
    install/xdvik: Byte-compiling for emacs-23.1 ... done.
    完了
    

    texlive-mathabx-type1

    teTeX 環境で TeX の数式用フォントの mathabx パッケージをインストールしていた場合、 texlive パッケージをインストールされている環境では、 mathabx パッケージを利用できません。 mathabx の一部はすでに TeX Live に取り込まれていますが、 TeX Live 2009 の中に Type 1 フォントがまだ取り込まれていません(つい先日、 CTAN: tex-archive/fonts/ps-type1/mathabx に取り込まれました!)。

    そこで、代わりに texlive-mathabx-type1 パッケージをインストールします。 texlive-collection-fontsextra パッケージには、 cm-super などのたくさんのフォントが一緒にインストールされますので、 入れておくとよいです。

    $ sudo apt-get install texlive-mathabx-type1
    パッケージリストを読みこんでいます... 完了
    依存情報ツリーを作成しています... 完了        
    以下の追加パッケージがインストールされます:
      texlive-collection-fontsextra
    以下のパッケージが新たにインストールされます:
      texlive-collection-fontsextra texlive-mathabx-type1
    アップグレード: 0 個, 新規インストール: 2 個, 削除: 0 個, 保留: 0 個
    0B/154MB のアーカイブを取得する必要があります。
    展開後に 270MB のディスク容量が追加消費されます。
    続行しますか? [Y/n]Y
    変更を適用しています...
    準備中                                ############################## [100%]
    更新/インストール中
      texlive-collection-fontsextra-2009-3vl ############################## [100%]
        Running updmap: enable allrunes.map ... done.
        Running updmap: enable uaq.map ... done.
        Running updmap: enable antp.map ... done.
        Running updmap: enable antt.map ... done.
        Running updmap: enable archaicprw.map ... done.
        Running updmap: enable arev.map ... done.
        Running updmap: enable ascii.map ... done.
        Running updmap: enable augie.map ... done.
        Running updmap: enable auncial.map ... done.
        Running updmap: enable aurical.map ... done.
        Running updmap: enable belleek.map ... done.
        Running updmap: enable bera.map ... done.
        Running updmap: enable pbsi.map ... done.
        Running updmap: enable cmin.map ... done.
        Running updmap: enable cm-lgc.map ... done.
        Running updmap: enable cm-super-t1.map ... done.
        Running updmap: enable cm-super-t2a.map ... done.
        Running updmap: enable cm-super-t2b.map ... done.
        Running updmap: enable cm-super-t2c.map ... done.
        Running updmap: enable cm-super-ts1.map ... done.
        Running updmap: enable cm-super-x2.map ... done.
        Running updmap: enable cmll.map ... done.
        Running updmap: enable cyklop.map ... done.
        Running updmap: enable dictsym.map ... done.
        Running updmap: enable dstroke.map ... done.
        Running updmap: enable epigrafica.map ... done.
        Running updmap: enable esvect.map ... done.
        Running updmap: enable fge.map ... done.
        Running updmap: enable foekfont.map ... done.
        Running updmap: enable fonetika.map ... done.
        Running updmap: enable fourier.map ... done.
        Running updmap: enable fourier-utopia-expert.map ... done.
        Running updmap: enable gfsartemisia.map ... done.
        Running updmap: enable gfsbodoni.map ... done.
        Running updmap: enable gfscomplutum.map ... done.
        Running updmap: enable gfsdidot.map ... done.
        Running updmap: enable gfsneohellenic.map ... done.
        Running updmap: enable gfssolomos.map ... done.
        Running updmap: enable yfrak.map ... done.
        Running updmap: enable troff-updmap.map ... done.
        Running updmap: enable ugq.map ... done.
        Running updmap: enable hfbright.map ... done.
        Running updmap: enable fi4.map ... done.
        Running updmap: enable Acorn.map ... done.
        Running updmap: enable AnnSton.map ... done.
        Running updmap: enable ArtNouv.map ... done.
        Running updmap: enable ArtNouvc.map ... done.
        Running updmap: enable Carrickc.map ... done.
        Running updmap: enable Eichenla.map ... done.
        Running updmap: enable Eileen.map ... done.
        Running updmap: enable EileenBl.map ... done.
        Running updmap: enable Elzevier.map ... done.
        Running updmap: enable GotIn.map ... done.
        Running updmap: enable GoudyIn.map ... done.
        Running updmap: enable Kinigcap.map ... done.
        Running updmap: enable Konanur.map ... done.
        Running updmap: enable Kramer.map ... done.
        Running updmap: enable MorrisIn.map ... done.
        Running updmap: enable Nouveaud.map ... done.
        Running updmap: enable Romantik.map ... done.
        Running updmap: enable Rothdn.map ... done.
        Running updmap: enable RoyalIn.map ... done.
        Running updmap: enable Sanremo.map ... done.
        Running updmap: enable Starburst.map ... done.
        Running updmap: enable Typocaps.map ... done.
        Running updmap: enable Zallman.map ... done.
        Running updmap: enable iwona.map ... done.
        Running updmap: enable kpfonts.map ... done.
        Running updmap: enable kurier.map ... done.
        Running updmap: enable libertine.map ... done.
        Running updmap: enable yly.map ... done.
        Running updmap: enable linearA.map ... done.
        Running updmap: enable lxfonts.map ... done.
        Running updmap: enable mdbch.map ... done.
        Running updmap: enable mdput.map ... done.
        Running updmap: enable mdugm.map ... done.
        Running updmap: enable MnSymbol.map ... done.
        Running updmap: enable cherokee.map ... done.
        Running updmap: enable oinuit.map ... done.
        Running updmap: enable phaistos.map ... done.
        Running updmap: enable pigpen.map ... done.
        Running updmap: enable recycle.map ... done.
        Running updmap: enable semaf.map ... done.
        Running updmap: enable icelandic.map ... done.
        Running updmap: enable trajan.map ... done.
        Running updmap: enable yv1.map ... done.
        Running updmap: enable yv2.map ... done.
        Running updmap: enable yv3.map ... done.
        Running updmap: enable yvo.map ... done.
        Running updmap: enable yvt.map ... done.
        Running updmap: enable slantcm.map ... done.
        Running updmap: recreate map files ... done.
      texlive-mathabx-type1-2005-3vl5.noarch ############################## [100%]
        Running updmap: enable mathabx.map ... done.
    完了
    

    texworks

    TeXworks は TeX Live に標準で付いている TeX 用エディタです。

    $ sudo apt-get install texworks
    

    latexml

    LaTeXML は LaTeX 形式から XML 形式へ変換するコンバータです。

    $ sudo apt-get install latexml
    

    TeX Live 2009 のコマンド名について

    いくつかの日本語対応している主要プログラムのコマンド名が名前変更されています。 これは、日本語 TeX が TeX Live に取り込まれる際に、 オリジナルの TeX Live にあるプログラム名と衝突していることによる変更です。 ここでは、Vine Linux 5 において、 teTeX から TeX Live へ移行したときに変更されるコマンド名を掲載します。

    teTeX から TeX Live へ移行したときに変更されるコマンド名
    teTeX TeX Live
    dvips pdvips
    xdvi pxdvi
    jbibtex pbibtex
    pltotf ppltotf
    tftopl ptftopl

    dvips や xdvi、pltotf, tftopl などのプログラムは、 日本語の pTeX 非対応であり、TeX Live のオリジナルに割り当てられています。

    主要なプログラム名変更への Tips

    ここでは、私個人的に施している設定をご紹介します。

    今まで teTeX で慣れ親しんでいる方は、 TeX Live でも dvips コマンド や xdvi コマンドで、 それぞれ日本語対応の (p)dvips や (p)xdvi が利用できた方が、 嬉しいかもしれません。 そこで、私は ${HOME}/.bashrc に alias をいくつか記述することで対応しています。 例えば、bash では、 以下のように ${HOME}/.bashrc に xdvi, dvips の alias を記述すると、 TeX Live 環境へ移行してからも xdvi, dvips のままで、 それぞれ日本語対応の pxdvi, pdvips が使えます。

    [ -f /usr/bin/pxdvi ] && \
        __xdvi=/usr/bin/pxdvi || \
        __xdvi=/usr/bin/xdvi
    [ -f /usr/bin/pdvips ] && \
        __dvips=/usr/bin/pdvips || \
        __dvips=/usr/bin/dvips
    alias xdvi='$__xdvi'
    alias dvips='$__dvips'
    

    csh における上記と同様な設定は、${HOME}/.cshrc に以下のように記述します。

    if ( -f /usr/bin/pxdvi ) then
        setenv __xdvi /usr/bin/pxdvi
    else
        setenv __xdvi /usr/bin/xdvi
    endif
    if ( -f /usr/bin/pdvips ) then
        setenv __dvips /usr/bin/pdvips
    else
        setenv __dvips /usr/bin/dvips
    endif
    alias xdvi '$__xdvi'
    alias dvips '$__dvips'
    

    必要に応じて、alias xdvi に -mgs1, -mgs2, -mgs3 や -editor などのオプションを入れておいてもよいと思います。 最近、パソコンのモニタもずいぶんと大きくなり、 高く解像度を備えたモニタを使われている方も多いでしょう。 xdvi -mgs3 1200x1200 くらいに設定した方が、いまどきに合うかもしれません。

    dvipdfmx -p および JIS B 列用紙サイズについて

    teTeX 環境の dvipdfmx と TeX Live 環境の dvipdfmx の -p オプションについて、 JIS B 列用紙サイズを指定したときの挙動が異なりますので、 B5 サイズを例に記載しておきます。

    tetex-3.0 + dvipdfmx-20090522

    従来どおり -p b5 で JIS B 系版型が出力されます。

    $ dvipdfmx -p b5 -o hoge-b5.pdf hoge
    => JIS B5
    $ dvipdfmx -p jisb5 -o hoge-jisb5.pdf hoge
    => JIS B5
    $ dvipdfmx -p isob5 -o hoge-isob5.pdf hoge
    => ISO B5
    

    texlive-2009 + dvipdfmx-20090708

    -p jisb5 で JIS B 系版型が出力されます。

    $ dvipdfmx -p b5 -o hoge-b5.pdf hoge
    => ISO B5
    $ dvipdfmx -p jisb5 -o hoge-jisb5.pdf hoge
    => JIS B5
    
    本件に関する詳細は、奥村晴彦氏が運営する TeX Wiki 内の [qa:55558] 美文書作成入門改訂第5版の付録DVD-ROMに同梱されているdvipdfmxの-pとJIS B列用紙サイズについて などをご参照下さい。

    最後に

    ようやく Vine Linux 5 に TeX Live 2009 環境を提供できるようになりました。 この TeX Live 環境は、 現時点の VineSeed における TeX Live 2009 環境とほぼ同一環境です。 TeX Live 環境の詳細は、VineSeed の Trac TeX 環境 - VineSeed を参照下さい。

    それでは、TeX Live をお楽しみください!

    ]]>
    2011-01-17T00:00:00+09:00 <![CDATA[TeX ディストリビューション teTeX はすでに開発停止されており、 次期 TeX ディストリビューションとして、現在 TeX Live に移行されました。
    各種イベントなどで 「Vine Linux 5 でも TeX Live 環境を使えるようにしてほしい」 という要望を多数受けまして、 この度、VinePlus として texlive パッケージ一式を用意しました。
    用途が teTeX 環境で十分に足りている場合、 無理に TeX Live 環境へ移行する必要はありません。 もし teTeX 3.0 がちょっと物足りないと感じている方や レジスタの個数が拡張された e-pTeX を TeX Live 2009 で使いたい方、 XeTeXLuaTeX の世界に触れてみたい方、 Vine Linux の TeX 環境のテストや提案などをしてくださる方、 とにかく TeX が好きな方 :) は、 本ドキュメントにしたがって、 teTeX 3.0 から TeX Live 2009 へ移行して下さいませ。

    移行の流れ

    以下の 3 ステップで TeX Live への移行が完了します。

    1. 準備
    2. teTeX から TeX Live への移行用パッケージをインストール
    3. TeX Live をインストール

    1. 準備

    現時点で libpaper-1.1.23-2vl5 は proposed-updates に置かれています。 このパッケージは、TeX Live の dvipdfmx が B5 や B4, B3 などの JIS B 列用紙サイズの PDF ファイルを生成する場合に必要となりますので、 あらかじめインストールしておきます。

    $ sudo apt-get install http://proposed-updates.vinelinux.org/apt/proposed-updates/5/$(uname -i)/RPMS.updates/libpaper-1.1.23-2vl5.$(uname -i).rpm
    

    teTeX 関連のいくつかのパッケージが手元の環境に入っているかどうかを調べます。

    $ rpm -q tetex jadetex docbook-utils
    tetex-3.0-13vl5
    jadetex-3.12-9vl5
    docbook-utils-0.6.14-2vl5
    

    tetex パッケージがインストールされていない場合

    「準備」および 「teTeX から TeX Live への移行用パッケージをインストール」のステップは不要です。 最後のステップ「TeX Live をインストール」に移ってください。

    jadetex や docbook-utils パッケージがインストールされている場合

    次の「teTeX から TeX Live への移行用パッケージをインストール」が、もっとも重要なステップになります。

    docbook-utils パッケージは jadetex パッケージに依存しており、 jadetex パッケージは tetex パッケージに依存しています。そのため、 tetex パッケージを手動でアンインストールしたり、 tetex パッケージがインストールされている環境において、 手動で texlive パッケージをインストールしたりすると、 jadetex や docbook-utils パッケージが tetex パッケージのアンインストールに引きづられてしまいます。

    注意

    以下のように tetex パッケージがインストールされている環境で、 texlive パッケージを直接インストールしないで下さい!

    $ sudo apt-get update
    $ sudo apt-get install texlive
    パッケージリストを読みこんでいます... 完了
    依存情報ツリーを作成しています... 完了        
    以下の追加パッケージがインストールされます:
      texlive-collection-basic texlive-collection-fontsrecommended
      texlive-collection-langcyrillic texlive-collection-langgerman
      texlive-collection-latex texlive-collection-latexrecommended
      texlive-collection-xetex texlive-common texlive-jvf texlive-macros
    以下のパッケージが削除されます:
      dvipdfmx jadetex jvf task-tetex tetex tetex-extra tetex-macros texmacro-otf
      xdvik xdvik-search
    以下のパッケージが新たにインストールされます:
      texlive texlive-collection-basic texlive-collection-fontsrecommended
      texlive-collection-langcyrillic texlive-collection-langgerman
      texlive-collection-latex texlive-collection-latexrecommended
      texlive-collection-xetex texlive-common texlive-jvf texlive-macros
    アップグレード: 0 個, 新規インストール: 11 個, 削除: 10 個, 保留: 0 個
    0B/77.7MB のアーカイブを取得する必要があります。
    展開後に 60.2MB が解放されます。
    続行しますか? [Y/n]n
    中断しました。
    

    もし texlive パッケージをインストールしてしまうと、 組版エンジンのフォーマットファイル *.fmt やフォントのマップファイル *.map が正しく生成されず、 不整合な TeX Live 環境になってしまう可能性があります。

    2. teTeX から TeX Live への移行用パッケージをインストール

    ここでは、手元の Vine Linux 5 に task-tetex パッケージをインストールしていると想定して説明します。

    teTeX から TeX Live への移行用パッケージ texlive-tetex-trans をインストールします。

    $ sudo apt-get update
    $ sudo apt-get install texlive-tetex-trans
    パッケージリストを読みこんでいます... 完了
    依存情報ツリーを作成しています... 完了        
    以下のパッケージが削除されます:
      dvipdfmx jadetex jvf task-tetex tetex tetex-extra tetex-macros texmacro-otf
      xdvik xdvik-search
    以下のパッケージが新たにインストールされます:
      texlive-tetex-trans
    アップグレード: 0 個, 新規インストール: 1 個, 削除: 10 個, 保留: 0 個
    0B/4463B のアーカイブを取得する必要があります。
    展開後に 266MB が解放されます。
    続行しますか? [Y/n]Y
    変更を適用しています...
    準備中                                ############################## [100%]
    更新/インストール中
      texlive-tetex-trans-2009-2vl5.noarch   ############################## [100%]
    クリーニング/削除中
      task-tetex-3.0-4vl5.noarch             ############################## [100%]
      texmacro-otf-1.2.9-3vl5.noarch         ############################## [100%]
    actionscript://usr/lib/emacsen-common/packages/remove/xdvik
    remove/xdvik: Handling removal of emacsen flavor emacs-23.1 ... done.
      xdvik-search-22.84.14-6vl5.i386        ############################## [100%]
      xdvik-22.84.14-6vl5.i386               ############################## [100%]
      dvipdfmx-20090522-6vl5.i386            ############################## [100%]
      jadetex-3.12-9vl5.noarch               ############################## [100%]
      jvf-2.0-4vl5.noarch                    ############################## [100%]
      tetex-extra-3.0-13vl5.i386             ############################## [100%]
      tetex-3.0-13vl5.i386                   ############################## [100%]
      tetex-macros-3.0-7vl5.noarch           ############################## [100%]
    Running transitional process of your TeX system ... 
      Found /usr/share/texmf-var: 
        `/usr/share/texmf-var' -> `/usr/share/texmf-var.20110115.rpmorig'
      Found /usr/share/texmf-config: 
        `/usr/share/texmf-config' -> `/usr/share/texmf-config.20110115.rpmorig'
    done.
    完了
    

    texlive-tetex-trans パッケージをインストールしたときの一番最後に "Running transitional process of your TeX system ... " という処理が実行されます。 これは、teTeX 環境のときに構築していた /usr/share/texmf-var と /usr/share/texmf-config が別名で保存されます。 teTeX 環境のときに何か特別な設定などしていた場合は、 TeX Live 環境へ移行後に必要に応じて、改めて設定して下さい。

    3. TeX Live をインストール

    texlive もしくは task-texlive パッケージをインストールして、 TeX Live 環境をインストールします。 ここでは、task-texlive をインストールします。

    $ sudo apt-get install task-texlive
    パッケージリストを読みこんでいます... 完了
    依存情報ツリーを作成しています... 完了        
    以下の追加パッケージがインストールされます:
      texlive texlive-collection-basic texlive-collection-fontsrecommended
      texlive-collection-genericrecommended texlive-collection-langcyrillic
      texlive-collection-langgerman texlive-collection-latex
      texlive-collection-latexextra texlive-collection-latexrecommended
      texlive-collection-luatex texlive-collection-pictures
      texlive-collection-pstricks texlive-collection-xetex texlive-common
      texlive-jvf texlive-macros texlive-texmacro-otf
    以下のパッケージが削除されます:
      texlive-tetex-trans
    以下のパッケージが新たにインストールされます:
      task-texlive texlive texlive-collection-basic
      texlive-collection-fontsrecommended texlive-collection-genericrecommended
      texlive-collection-langcyrillic texlive-collection-langgerman
      texlive-collection-latex texlive-collection-latexextra
      texlive-collection-latexrecommended texlive-collection-luatex
      texlive-collection-pictures texlive-collection-pstricks
      texlive-collection-xetex texlive-common texlive-jvf texlive-macros
      texlive-texmacro-otf
    アップグレード: 0 個, 新規インストール: 18 個, 削除: 1 個, 保留: 0 個
    0B/140MB のアーカイブを取得する必要があります。
    展開後に 379MB のディスク容量が追加消費されます。
    続行しますか? [Y/n]Y
    変更を適用しています...
    準備中                                ############################## [100%]
    更新/インストール中
      texlive-macros-2009-3vl5.noarch        ############################## [100%]
      texlive-jvf-2.0-6vl5.noarch            ############################## [100%]
      texlive-2009-13vl5.i386                ############################## [100%]
      texlive-collection-basic-2009-3vl5.noa ############################## [100%]
        Running updmap: enable cm.map ... done.
        Running updmap: enable cmextra.map ... done.
        Running updmap: enable cyrillic.map ... done.
        Running updmap: enable latxfont.map ... done.
        Running updmap: enable symbols.map ... done.
        Running updmap: enable cmtext-bsr-interpolated.map ... done.
        Running updmap: enable mflogo.map ... done.
      texlive-collection-latex-2009-3vl5.noa ############################## [100%]
        Running updmap: enable charter.map ... done.
        Running updmap: enable fpls.map ... done.
        Running updmap: enable pazo.map ... done.
        Running updmap: enable utopia.map ... done.
      texlive-collection-pictures-2009-3vl5. ############################## [100%]
        Running updmap: enable xypic.map ... done.
      texlive-collection-genericrecommended- ############################## [100%]
      texlive-collection-pstricks-2009-3vl5. ############################## [100%]
      texlive-collection-latexextra-2009-3vl ############################## [100%]
        Running updmap: enable epiolmec.map ... done.
        Running updmap: enable esint.map ... done.
        Running updmap: enable manfnt.map ... done.
      texlive-collection-latexrecommended-20 ############################## [100%]
      texlive-collection-langcyrillic-2009-3 ############################## [100%]
        Running updmap: enable cmcyr.map ... done.
      texlive-collection-fontsrecommended-20 ############################## [100%]
        Running updmap: enable zpeu.map ... done.
        Running updmap: enable eurosym.map ... done.
        Running updmap: enable lm.map ... done.
        Running updmap: enable marvosym.map ... done.
        Running updmap: enable pxfonts.map ... done.
        Running updmap: enable rsfs.map ... done.
        Running updmap: enable qag.map ... done.
        Running updmap: enable qbk.map ... done.
        Running updmap: enable qcr.map ... done.
        Running updmap: enable qcs.map ... done.
        Running updmap: enable qhv.map ... done.
        Running updmap: enable qpl.map ... done.
        Running updmap: enable qtm.map ... done.
        Running updmap: enable qzc.map ... done.
        Running updmap: enable tipa.map ... done.
        Running updmap: enable txfonts.map ... done.
        Running updmap: enable wasy.map ... done.
      texlive-collection-langgerman-2009-3vl ############################## [100%]
      texlive-collection-xetex-2009-3vl5.noa ############################## [100%]
      texlive-common-2009-3vl5.noarch        ############################## [100%]
        Running updmap ... done.
        Running fmtutil ... done.
      texlive-collection-luatex-2009-3vl5.no ############################## [100%]
      texlive-texmacro-otf-1.5.6.1-2vl5.noar ############################## [100%]
    Standby map file : otf-hiraginox
    Standby map file : otf-noEmbed
    Standby map file : otf-ps-morisawax-noEmbed
    Standby map file : otf-ps-morisawax
    Setting up ... otf-hiraginox.map
      task-texlive-2009-3vl5.noarch          ############################## [100%]
    クリーニング/削除中
      texlive-tetex-trans-2009-2vl5.noarch   ############################## [100%]
    完了
    

    これで TeX Live 2009 へ移行が完了しました。

    teTeX 環境に戻したい場合

    何らかの事情があって、teTeX 環境に戻したい場合がある人もいるかもしれません。 一応、teTeX 環境への戻した方も書いておきます。

    teTeX 環境から TeX Live 環境へ移行したときに、 TeX Live への移行用パッケージ texlive-tetex-trans をインストールしました。 実は、この texlive-tetex-trans パッケージを利用して、 同様にして TeX Live 環境から teTeX 環境へ戻せます。

    $ sudo apt-get install texlive-tetex-trans
    パッケージリストを読みこんでいます... 完了
    依存情報ツリーを作成しています... 完了        
    以下のパッケージが削除されます:
      task-texlive texlive texlive-collection-basic texlive-collection-fontsextra
      texlive-collection-fontsrecommended texlive-collection-genericrecommended
      texlive-collection-langcyrillic texlive-collection-langgerman
      texlive-collection-latex texlive-collection-latexextra
      texlive-collection-latexrecommended texlive-collection-luatex
      texlive-collection-pictures texlive-collection-pstricks
      texlive-collection-xetex texlive-common texlive-jvf texlive-macros
      texlive-mathabx-type1 texlive-texmacro-otf texlive-xdvi-search-el
    以下のパッケージが新たにインストールされます:
      texlive-tetex-trans
    アップグレード: 0 個, 新規インストール: 1 個, 削除: 21 個, 保留: 0 個
    0B/4463B のアーカイブを取得する必要があります。
    展開後に 649MB が解放されます。
    続行しますか? [Y/n]
    

    このあと、tetex パッケージ、または、task-tetex パッケージをインストールすると、 teTeX 環境に戻ります。

    注意事項ですが、以下のように texlive パッケージがインストールされている環境で、 tetex パッケージを直接インストールしないで下さい!

    $ sudo apt-get install tetex
    [sudo] password for munepi: 
    パッケージリストを読みこんでいます... 完了
    依存情報ツリーを作成しています... 完了        
    いくつかのパッケージをインストールすることができません。おそらく、
    整合性のとれない状況を要求したか、(必要なパッケージがまだそろって
    いなかったり、まだIncomingから移動されていない)不安定なディストリ
    ビューションを使用していないでしょうか。
    
    単純な操作だけを行った時に、パッケージがインストール
    できない場合は、バグリポートしてください。
    以下の情報がこの問題を解決するために役立つかもしれません:
    
    以下のパッケージは解決できない依存関係を持っています:
      tetex: 依存: tetex-macros (>= 3.0)
    E: 壊れたパッケージです
    

    おすすめパッケージ

    いくつかを追加した方がよいパッケージを紹介します。

    texlive-xdvi-search-el

    task-tetex パッケージをインストールしていたときに xdvik-search パッケージがインストールされました。 xdvik-search パッケージは tetex パッケージに依存しているため、 texlive パッケージがインストールされている環境では、 xdvik-search パッケージを利用できません。

    そこで、代わりに texlive-xdvi-search-el パッケージをインストールします。

    $ sudo apt-get install texlive-xdvi-search-el
    [sudo] password for munepi: 
    パッケージリストを読みこんでいます... 完了
    依存情報ツリーを作成しています... 完了        
    以下のパッケージが新たにインストールされます:
      texlive-xdvi-search-el
    アップグレード: 0 個, 新規インストール: 1 個, 削除: 0 個, 保留: 0 個
    0B/9858B のアーカイブを取得する必要があります。
    展開後に 17.4kB のディスク容量が追加消費されます。
    変更を適用しています...
    準備中                                ############################## [100%]
    更新/インストール中
      texlive-xdvi-search-el-2009-1vl5.noarc ############################## [100%]
    actionscript://usr/lib/emacsen-common/packages/install/xdvik
    install/xdvik: Byte-compiling for emacs-23.1 ... done.
    完了
    

    texlive-mathabx-type1

    teTeX 環境で TeX の数式用フォントの mathabx パッケージをインストールしていた場合、 texlive パッケージをインストールされている環境では、 mathabx パッケージを利用できません。 mathabx の一部はすでに TeX Live に取り込まれていますが、 TeX Live 2009 の中に Type 1 フォントがまだ取り込まれていません(つい先日、 CTAN: tex-archive/fonts/ps-type1/mathabx に取り込まれました!)。

    そこで、代わりに texlive-mathabx-type1 パッケージをインストールします。 texlive-collection-fontsextra パッケージには、 cm-super などのたくさんのフォントが一緒にインストールされますので、 入れておくとよいです。

    $ sudo apt-get install texlive-mathabx-type1
    パッケージリストを読みこんでいます... 完了
    依存情報ツリーを作成しています... 完了        
    以下の追加パッケージがインストールされます:
      texlive-collection-fontsextra
    以下のパッケージが新たにインストールされます:
      texlive-collection-fontsextra texlive-mathabx-type1
    アップグレード: 0 個, 新規インストール: 2 個, 削除: 0 個, 保留: 0 個
    0B/154MB のアーカイブを取得する必要があります。
    展開後に 270MB のディスク容量が追加消費されます。
    続行しますか? [Y/n]Y
    変更を適用しています...
    準備中                                ############################## [100%]
    更新/インストール中
      texlive-collection-fontsextra-2009-3vl ############################## [100%]
        Running updmap: enable allrunes.map ... done.
        Running updmap: enable uaq.map ... done.
        Running updmap: enable antp.map ... done.
        Running updmap: enable antt.map ... done.
        Running updmap: enable archaicprw.map ... done.
        Running updmap: enable arev.map ... done.
        Running updmap: enable ascii.map ... done.
        Running updmap: enable augie.map ... done.
        Running updmap: enable auncial.map ... done.
        Running updmap: enable aurical.map ... done.
        Running updmap: enable belleek.map ... done.
        Running updmap: enable bera.map ... done.
        Running updmap: enable pbsi.map ... done.
        Running updmap: enable cmin.map ... done.
        Running updmap: enable cm-lgc.map ... done.
        Running updmap: enable cm-super-t1.map ... done.
        Running updmap: enable cm-super-t2a.map ... done.
        Running updmap: enable cm-super-t2b.map ... done.
        Running updmap: enable cm-super-t2c.map ... done.
        Running updmap: enable cm-super-ts1.map ... done.
        Running updmap: enable cm-super-x2.map ... done.
        Running updmap: enable cmll.map ... done.
        Running updmap: enable cyklop.map ... done.
        Running updmap: enable dictsym.map ... done.
        Running updmap: enable dstroke.map ... done.
        Running updmap: enable epigrafica.map ... done.
        Running updmap: enable esvect.map ... done.
        Running updmap: enable fge.map ... done.
        Running updmap: enable foekfont.map ... done.
        Running updmap: enable fonetika.map ... done.
        Running updmap: enable fourier.map ... done.
        Running updmap: enable fourier-utopia-expert.map ... done.
        Running updmap: enable gfsartemisia.map ... done.
        Running updmap: enable gfsbodoni.map ... done.
        Running updmap: enable gfscomplutum.map ... done.
        Running updmap: enable gfsdidot.map ... done.
        Running updmap: enable gfsneohellenic.map ... done.
        Running updmap: enable gfssolomos.map ... done.
        Running updmap: enable yfrak.map ... done.
        Running updmap: enable troff-updmap.map ... done.
        Running updmap: enable ugq.map ... done.
        Running updmap: enable hfbright.map ... done.
        Running updmap: enable fi4.map ... done.
        Running updmap: enable Acorn.map ... done.
        Running updmap: enable AnnSton.map ... done.
        Running updmap: enable ArtNouv.map ... done.
        Running updmap: enable ArtNouvc.map ... done.
        Running updmap: enable Carrickc.map ... done.
        Running updmap: enable Eichenla.map ... done.
        Running updmap: enable Eileen.map ... done.
        Running updmap: enable EileenBl.map ... done.
        Running updmap: enable Elzevier.map ... done.
        Running updmap: enable GotIn.map ... done.
        Running updmap: enable GoudyIn.map ... done.
        Running updmap: enable Kinigcap.map ... done.
        Running updmap: enable Konanur.map ... done.
        Running updmap: enable Kramer.map ... done.
        Running updmap: enable MorrisIn.map ... done.
        Running updmap: enable Nouveaud.map ... done.
        Running updmap: enable Romantik.map ... done.
        Running updmap: enable Rothdn.map ... done.
        Running updmap: enable RoyalIn.map ... done.
        Running updmap: enable Sanremo.map ... done.
        Running updmap: enable Starburst.map ... done.
        Running updmap: enable Typocaps.map ... done.
        Running updmap: enable Zallman.map ... done.
        Running updmap: enable iwona.map ... done.
        Running updmap: enable kpfonts.map ... done.
        Running updmap: enable kurier.map ... done.
        Running updmap: enable libertine.map ... done.
        Running updmap: enable yly.map ... done.
        Running updmap: enable linearA.map ... done.
        Running updmap: enable lxfonts.map ... done.
        Running updmap: enable mdbch.map ... done.
        Running updmap: enable mdput.map ... done.
        Running updmap: enable mdugm.map ... done.
        Running updmap: enable MnSymbol.map ... done.
        Running updmap: enable cherokee.map ... done.
        Running updmap: enable oinuit.map ... done.
        Running updmap: enable phaistos.map ... done.
        Running updmap: enable pigpen.map ... done.
        Running updmap: enable recycle.map ... done.
        Running updmap: enable semaf.map ... done.
        Running updmap: enable icelandic.map ... done.
        Running updmap: enable trajan.map ... done.
        Running updmap: enable yv1.map ... done.
        Running updmap: enable yv2.map ... done.
        Running updmap: enable yv3.map ... done.
        Running updmap: enable yvo.map ... done.
        Running updmap: enable yvt.map ... done.
        Running updmap: enable slantcm.map ... done.
        Running updmap: recreate map files ... done.
      texlive-mathabx-type1-2005-3vl5.noarch ############################## [100%]
        Running updmap: enable mathabx.map ... done.
    完了
    

    texworks

    TeXworks は TeX Live に標準で付いている TeX 用エディタです。

    $ sudo apt-get install texworks
    

    latexml

    LaTeXML は LaTeX 形式から XML 形式へ変換するコンバータです。

    $ sudo apt-get install latexml
    

    TeX Live 2009 のコマンド名について

    いくつかの日本語対応している主要プログラムのコマンド名が名前変更されています。 これは、日本語 TeX が TeX Live に取り込まれる際に、 オリジナルの TeX Live にあるプログラム名と衝突していることによる変更です。 ここでは、Vine Linux 5 において、 teTeX から TeX Live へ移行したときに変更されるコマンド名を掲載します。

    teTeX から TeX Live へ移行したときに変更されるコマンド名
    teTeX TeX Live
    dvips pdvips
    xdvi pxdvi
    jbibtex pbibtex
    pltotf ppltotf
    tftopl ptftopl

    dvips や xdvi、pltotf, tftopl などのプログラムは、 日本語の pTeX 非対応であり、TeX Live のオリジナルに割り当てられています。

    主要なプログラム名変更への Tips

    ここでは、私個人的に施している設定をご紹介します。

    今まで teTeX で慣れ親しんでいる方は、 TeX Live でも dvips コマンド や xdvi コマンドで、 それぞれ日本語対応の (p)dvips や (p)xdvi が利用できた方が、 嬉しいかもしれません。 そこで、私は ${HOME}/.bashrc に alias をいくつか記述することで対応しています。 例えば、bash では、 以下のように ${HOME}/.bashrc に xdvi, dvips の alias を記述すると、 TeX Live 環境へ移行してからも xdvi, dvips のままで、 それぞれ日本語対応の pxdvi, pdvips が使えます。

    [ -f /usr/bin/pxdvi ] && \
        __xdvi=/usr/bin/pxdvi || \
        __xdvi=/usr/bin/xdvi
    [ -f /usr/bin/pdvips ] && \
        __dvips=/usr/bin/pdvips || \
        __dvips=/usr/bin/dvips
    alias xdvi='$__xdvi'
    alias dvips='$__dvips'
    

    csh における上記と同様な設定は、${HOME}/.cshrc に以下のように記述します。

    if ( -f /usr/bin/pxdvi ) then
        setenv __xdvi /usr/bin/pxdvi
    else
        setenv __xdvi /usr/bin/xdvi
    endif
    if ( -f /usr/bin/pdvips ) then
        setenv __dvips /usr/bin/pdvips
    else
        setenv __dvips /usr/bin/dvips
    endif
    alias xdvi '$__xdvi'
    alias dvips '$__dvips'
    

    必要に応じて、alias xdvi に -mgs1, -mgs2, -mgs3 や -editor などのオプションを入れておいてもよいと思います。 最近、パソコンのモニタもずいぶんと大きくなり、 高く解像度を備えたモニタを使われている方も多いでしょう。 xdvi -mgs3 1200x1200 くらいに設定した方が、いまどきに合うかもしれません。

    dvipdfmx -p および JIS B 列用紙サイズについて

    teTeX 環境の dvipdfmx と TeX Live 環境の dvipdfmx の -p オプションについて、 JIS B 列用紙サイズを指定したときの挙動が異なりますので、 B5 サイズを例に記載しておきます。

    tetex-3.0 + dvipdfmx-20090522

    従来どおり -p b5 で JIS B 系版型が出力されます。

    $ dvipdfmx -p b5 -o hoge-b5.pdf hoge
    => JIS B5
    $ dvipdfmx -p jisb5 -o hoge-jisb5.pdf hoge
    => JIS B5
    $ dvipdfmx -p isob5 -o hoge-isob5.pdf hoge
    => ISO B5
    

    texlive-2009 + dvipdfmx-20090708

    -p jisb5 で JIS B 系版型が出力されます。

    $ dvipdfmx -p b5 -o hoge-b5.pdf hoge
    => ISO B5
    $ dvipdfmx -p jisb5 -o hoge-jisb5.pdf hoge
    => JIS B5
    
    本件に関する詳細は、奥村晴彦氏が運営する TeX Wiki 内の [qa:55558] 美文書作成入門改訂第5版の付録DVD-ROMに同梱されているdvipdfmxの-pとJIS B列用紙サイズについて などをご参照下さい。

    最後に

    ようやく Vine Linux 5 に TeX Live 2009 環境を提供できるようになりました。 この TeX Live 環境は、 現時点の VineSeed における TeX Live 2009 環境とほぼ同一環境です。 TeX Live 環境の詳細は、VineSeed の Trac TeX 環境 - VineSeed を参照下さい。

    それでは、TeX Live をお楽しみください!

    ]]>
    Vine Linux Magazine 2011.01 http://vinelinux.org/vlmagazine/20110111.html <![CDATA[

    新たな年を迎えて10日以上経過しているため時期を逸した感はありますが、新年あけましておめでとうございます。今年もよろしくお願いします。
    それでは、今年最初の Vine Linux Magazine をお届けします。

    ニュース

    Vine Linux 5.1 のリポジトリが 5.2 と統合

    Vine Linux 5.2 を公開」でアナウンスされていました通り、12月の中旬に Vine Linux 5.1 のリポジトリが Vine Linux 5.2 と統合されました。これにより、Vine Linux 5.1 は 5.2 へアップグレードされ、引き続き errata が提供されることになります。

    VineLinux 5.2 へ TeX Live 2009 の投入を計画

    様々な方面からの要望に応え、VineSeed に投入済みの TeX Live 2009 を VineLinux 5.2 に投入する計画が立てられています。これにより、現在の tetex よりも新しい TeX 環境が使用できるようになる予定です。現在メンテナが鋭意調整を行っています。

    Developers Summit 2011への参加

    Project Vine は2月17日(木)・18日(金)に開催される Developers Summit 2011 に参加します。

    オープンソースカンファレンス 2011への参加

    3月4(土)・5日(日)に開催される OSC2011 Tokyo/Spring への参加を申し込みました。ブースでの展示や Vine Linux 5.2 CD/DVD の配布などを行う予定です。今年の OSC2011 Tokyo/Spring は昨年と異なり、明星大学(八王子・日野キャンパス)ではなく早稲田大学(新宿・西早稲田キャンパス)で行われます。(参考)足を運びやすくなっているかと思われますので、みなさん奮ってご参加ください。

    セキュリティ・バグフィックスアップデート

    12月は、Vine Linux 5 のセキュリティアップデートが5件ありました。

    セキュリティアップデート
    glibc, kernel, dhcp, proftpd, openssl

    パッケージ紹介

    まずはVinePlus 5 で新規追加/更新されたパッケージを紹介します。

    新規パッケージ(Vine Plus 5)

    arora
    Qt4 には Webkit が統合されていますが(Qt WebKit Integration)、その Qt WebKit Integration を使用した軽量ウェブブラウザです。WebKitGTK 及び GTK+ を使用する Midori と対比されるブラウザと言えましょうか。現在 VineSeed に投入されているバージョンの一つ前の0.10.2が投入されましたが、後日更新される可能性があります。

    更新パッケージ(Vine Plus 5)

    windowapplets
    最大化したウィンドウのタイトルバーを置き換える GNOME パネルアプレットです。少しでもスペースを有効に使いたい方向けのアプリケーションです。0.2.9へと更新されています。
    trac
    Project Vine でも使用しているプロジェクト管理及びバグトラッキングのためのツールです。0.11.7へと更新されています。
    minitube
    Flash Player を使用せずにデスクトップで Youtube を視聴するソフトウェアです。最新版である1.3へ更新されています。
    wine
    Windows 用アプリケーションを起動させるためのソフトウェアです。最新安定版である1.2.2へ更新されています。

    このほかにも様々なパッケージがアップデートされています。

    新規パッケージ(VineSeed)

    開発版の VineSeed では日々多くのパッケージが更新されていますが、新たに投入されたソフトウェアもあります。全ては紹介できませんので、新規投入パッケージのほんの一部だけ紹介しておきます。

    tstools
    コマンドラインから TS ファイル の様々な情報を取得したいときに使えるツールです。
    trimage
    jpg/png ファイルの最適化を行う GUI/CLI ツールです。

    おわりに

    昨年から始まった Vine Linux Managize では、新しく追加・更新されたパッケージの一部紹介や開発状況の紹介など毎月紹介する定期的な記事と、不定期に発行される読み物や活用方法などの記事を発行しています。定期版は毎回持ち回りで行うため、筆者の興味によって内容は大きく異なる場合があります。

    Vine Linux Magazine では、Vine Linux に関する様々な情報、小ネタ、Tips、ノウハウ(バッドノウハウ含む)、活用事例などを書いていただける方を募集しています。また、「XXの記事を書いて欲しい」などのご要望なども随時お待ちしておりますので、MLやIRC、個別メールなどでお知らせください。

    ]]>
    2011-01-11T00:00:00+09:00 <![CDATA[

    新たな年を迎えて10日以上経過しているため時期を逸した感はありますが、新年あけましておめでとうございます。今年もよろしくお願いします。
    それでは、今年最初の Vine Linux Magazine をお届けします。

    ニュース

    Vine Linux 5.1 のリポジトリが 5.2 と統合

    Vine Linux 5.2 を公開」でアナウンスされていました通り、12月の中旬に Vine Linux 5.1 のリポジトリが Vine Linux 5.2 と統合されました。これにより、Vine Linux 5.1 は 5.2 へアップグレードされ、引き続き errata が提供されることになります。

    VineLinux 5.2 へ TeX Live 2009 の投入を計画

    様々な方面からの要望に応え、VineSeed に投入済みの TeX Live 2009 を VineLinux 5.2 に投入する計画が立てられています。これにより、現在の tetex よりも新しい TeX 環境が使用できるようになる予定です。現在メンテナが鋭意調整を行っています。

    Developers Summit 2011への参加

    Project Vine は2月17日(木)・18日(金)に開催される Developers Summit 2011 に参加します。

    オープンソースカンファレンス 2011への参加

    3月4(土)・5日(日)に開催される OSC2011 Tokyo/Spring への参加を申し込みました。ブースでの展示や Vine Linux 5.2 CD/DVD の配布などを行う予定です。今年の OSC2011 Tokyo/Spring は昨年と異なり、明星大学(八王子・日野キャンパス)ではなく早稲田大学(新宿・西早稲田キャンパス)で行われます。(参考)足を運びやすくなっているかと思われますので、みなさん奮ってご参加ください。

    セキュリティ・バグフィックスアップデート

    12月は、Vine Linux 5 のセキュリティアップデートが5件ありました。

    セキュリティアップデート
    glibc, kernel, dhcp, proftpd, openssl

    パッケージ紹介

    まずはVinePlus 5 で新規追加/更新されたパッケージを紹介します。

    新規パッケージ(Vine Plus 5)

    arora
    Qt4 には Webkit が統合されていますが(Qt WebKit Integration)、その Qt WebKit Integration を使用した軽量ウェブブラウザです。WebKitGTK 及び GTK+ を使用する Midori と対比されるブラウザと言えましょうか。現在 VineSeed に投入されているバージョンの一つ前の0.10.2が投入されましたが、後日更新される可能性があります。

    更新パッケージ(Vine Plus 5)

    windowapplets
    最大化したウィンドウのタイトルバーを置き換える GNOME パネルアプレットです。少しでもスペースを有効に使いたい方向けのアプリケーションです。0.2.9へと更新されています。
    trac
    Project Vine でも使用しているプロジェクト管理及びバグトラッキングのためのツールです。0.11.7へと更新されています。
    minitube
    Flash Player を使用せずにデスクトップで Youtube を視聴するソフトウェアです。最新版である1.3へ更新されています。
    wine
    Windows 用アプリケーションを起動させるためのソフトウェアです。最新安定版である1.2.2へ更新されています。

    このほかにも様々なパッケージがアップデートされています。

    新規パッケージ(VineSeed)

    開発版の VineSeed では日々多くのパッケージが更新されていますが、新たに投入されたソフトウェアもあります。全ては紹介できませんので、新規投入パッケージのほんの一部だけ紹介しておきます。

    tstools
    コマンドラインから TS ファイル の様々な情報を取得したいときに使えるツールです。
    trimage
    jpg/png ファイルの最適化を行う GUI/CLI ツールです。

    おわりに

    昨年から始まった Vine Linux Managize では、新しく追加・更新されたパッケージの一部紹介や開発状況の紹介など毎月紹介する定期的な記事と、不定期に発行される読み物や活用方法などの記事を発行しています。定期版は毎回持ち回りで行うため、筆者の興味によって内容は大きく異なる場合があります。

    Vine Linux Magazine では、Vine Linux に関する様々な情報、小ネタ、Tips、ノウハウ(バッドノウハウ含む)、活用事例などを書いていただける方を募集しています。また、「XXの記事を書いて欲しい」などのご要望なども随時お待ちしておりますので、MLやIRC、個別メールなどでお知らせください。

    ]]>
    Vine Linux Magazine 2010.11 http://vinelinux.org/vlmagazine/20101228.html <![CDATA[

    さて、今回はクリスマスも過ぎ、年明けもまもなくですが11月号をお届けします。

    ニュース

    Vine Linux 5.2 リリース

    2010年11月の大きなニュースは何と言っても Vine Linux 5 のアップデートリリースである Vine Linux 5.2 がリリースされたことでしょう。Vine Linux 5 を対象として発行されているセキュリティフィックスやバグフィックスの適用以外にも、X.org ビデオドライバの更新なども行われています。詳しくはお知らせ「Vine Linux 5.2 を公開」をご覧ください。

    VineSeed に GNOME 2.32.1 登場

    ご存じの通り Vine Linux 標準のデスクトップ環境「GNOME」となっています。2010年9月29日にリリースされた GNOME 2.32 は既に 10月半ばには VineSeed に投入されていましたが、11月20日にはマイナーアップデートである GNOME 2.32.1 が VineSeed に投入されています。

    セキュリティ・バグフィックスアップデート

    11月は、Vine Linux 5 のセキュリティアップデートが5件、それ以外のアップデートが1件ありました。

    セキュリティアップデート
    firefox, xulrunner, thunderbird, apr-util, subversion, freetype2, pidgin
    それ以外のアップデート
    bind

    bindのアップデートはこのアップデートから Extended Support Version の採用となります。

    また、12月1日付けで kernel や glibc などの重要パッケージのセキュリティアップデートも提供されています。 こちらもあわせてご確認ください。なお、これらのアップデートは Vine Linux 5.2 には既に含まれています。

    パッケージ紹介

    VinePlus 5 に新規に追加されたパッケージを紹介します。

    新規パッケージ

    tiarra
    Perl で実装された IRC proxy です。既に VinePlus にある plum と同様の用途となりますが、事実上開発が停止している plum とは異なり、tiarra は開発が継続中のようです。
    CDemu
    CD/DVD-ROM デバイスをエミュレートするソフトウェアです。パッケージ名は「cdemu-daemon」や「cdemu-client」となっています。BIN+CUE 形式の CD イメージなどをマウントすることができます。GNOME アプレットの gCDemu (パッケージ名は gcdemu) なども同時に追加されています。

    このほかにも様々なパッケージがアップデートされていますし、 開発版の VineSeed にはより多くの新規パッケージが投入されています。

    おわりに

    2010年7月から始まった Vine Linux Managize では、新しく追加・更新されたパッケージの一部紹介や開発状況の紹介など毎月紹介する定期的な記事と、不定期に発行される読み物や活用方法などの記事を発行しています。定期版は毎回持ち回りで行うため、筆者の興味によって内容は大きく異なる場合があります。

    Vine Linux Magazine では、Vine Linux に関する様々な情報、小ネタ、Tips、ノウハウ/バッドノウハウ、活用事例などを書いていただけるかたを募集しています。 また、「XXの記事を書いて欲しい」などのご要望などもお待ちしておりますので、ML, IRC や個別メールなどでお知らせください。

    ]]>
    2010-12-28T00:00:00+09:00 <![CDATA[

    さて、今回はクリスマスも過ぎ、年明けもまもなくですが11月号をお届けします。

    ニュース

    Vine Linux 5.2 リリース

    2010年11月の大きなニュースは何と言っても Vine Linux 5 のアップデートリリースである Vine Linux 5.2 がリリースされたことでしょう。Vine Linux 5 を対象として発行されているセキュリティフィックスやバグフィックスの適用以外にも、X.org ビデオドライバの更新なども行われています。詳しくはお知らせ「Vine Linux 5.2 を公開」をご覧ください。

    VineSeed に GNOME 2.32.1 登場

    ご存じの通り Vine Linux 標準のデスクトップ環境「GNOME」となっています。2010年9月29日にリリースされた GNOME 2.32 は既に 10月半ばには VineSeed に投入されていましたが、11月20日にはマイナーアップデートである GNOME 2.32.1 が VineSeed に投入されています。

    セキュリティ・バグフィックスアップデート

    11月は、Vine Linux 5 のセキュリティアップデートが5件、それ以外のアップデートが1件ありました。

    セキュリティアップデート
    firefox, xulrunner, thunderbird, apr-util, subversion, freetype2, pidgin
    それ以外のアップデート
    bind

    bindのアップデートはこのアップデートから Extended Support Version の採用となります。

    また、12月1日付けで kernel や glibc などの重要パッケージのセキュリティアップデートも提供されています。 こちらもあわせてご確認ください。なお、これらのアップデートは Vine Linux 5.2 には既に含まれています。

    パッケージ紹介

    VinePlus 5 に新規に追加されたパッケージを紹介します。

    新規パッケージ

    tiarra
    Perl で実装された IRC proxy です。既に VinePlus にある plum と同様の用途となりますが、事実上開発が停止している plum とは異なり、tiarra は開発が継続中のようです。
    CDemu
    CD/DVD-ROM デバイスをエミュレートするソフトウェアです。パッケージ名は「cdemu-daemon」や「cdemu-client」となっています。BIN+CUE 形式の CD イメージなどをマウントすることができます。GNOME アプレットの gCDemu (パッケージ名は gcdemu) なども同時に追加されています。

    このほかにも様々なパッケージがアップデートされていますし、 開発版の VineSeed にはより多くの新規パッケージが投入されています。

    おわりに

    2010年7月から始まった Vine Linux Managize では、新しく追加・更新されたパッケージの一部紹介や開発状況の紹介など毎月紹介する定期的な記事と、不定期に発行される読み物や活用方法などの記事を発行しています。定期版は毎回持ち回りで行うため、筆者の興味によって内容は大きく異なる場合があります。

    Vine Linux Magazine では、Vine Linux に関する様々な情報、小ネタ、Tips、ノウハウ/バッドノウハウ、活用事例などを書いていただけるかたを募集しています。 また、「XXの記事を書いて欲しい」などのご要望などもお待ちしておりますので、ML, IRC や個別メールなどでお知らせください。

    ]]>
    EPSON EP-803A の印刷設定 for Vine Linux 5.2(Web IF編) http://vinelinux.org/vlmagazine/20101224.html <![CDATA[

    前回の記事では、Gnome の「プリンター設定」での設定方法を紹介しましたが、今回は X が入っていないマシンの設定例として CUPS Web IF を用いた設定方法を紹介します。

    また、EPSON のドライバが用意されていない ppc 機から印刷するために i386/x86_64 マシンを印刷サーバとして用いる方法も紹介します。

    環境

    当記事では、EPSON EP-803A(以下、EP-803A)は有線ネットワークで接続されているものとします。無線LAN で接続されている場合でもほぼ同じような設定で動作するはずです。

    また、前回の記事で紹介した AVASYS社製のドライバの導入は済んでいるものとします。前回の記事を参照して、install を行ってください。

    また、接続例のネットワーク環境は以下のようなものです。

    項目
    EP-803A の IP adress/hostname 192.168.2.202/ep803a
    Vine 5.2機(印刷 Clinet)の IP adress/hostname 192.168.2.101/natsume
    サーバ機の IP adress/hostname 192.168.2.253/kokone

    IP adress / hostname の間は相互に名前解決ができるものとします。
    今回の例ではサーバ機(192.168.2.253)の設定をクライアント機(192.168.2.101)から実行する例となります。

    CUPS Web IF を動作させる準備

    web 上のドキュメントでは、CUPS Web IF を動作させる例として、

    http://localhost:631

    にアクセスする、と指示されているものが多いですが Vine Linux 5.2(以下 Vine 5.2)では、上記のアクセス方法ではアクセスできなくなっています。
    これは security fix のためにこのような仕様になっています。

    そのため、CUPS Web IF を使用するためには下準備が必要です。

    /etc/cups/cupsd.conf の設定

    /etc/cups/cupsd.conf に設定を追加する必要があります。以下のような変更を cupsd.conf に加えてください。

    --- cupsd.conf.default	2010-07-04 22:21:14.000000000 +0900
    +++ cupsd.conf	2010-11-28 02:39:39.000000000 +0900
    @@ -16,6 +16,7 @@
     
     # Only listen for connections from the local machine.
     Listen localhost:631
    +Listen 192.168.2.253:631
     Listen /var/run/cups/cups.sock
     
     # Show shared printers on the local network.
    @@ -29,12 +30,14 @@
     # Restrict access to the server...
     
       Order allow,deny
    +  Allow From @LOCAL
     
     
     # Restrict access to the admin pages...
     
       Encryption Required
       Order allow,deny
    +  Allow From 192.168.2.101
     
     
     # Restrict access to configuration files...
    

    変更内容は、

    • サーバ機のアドレスである 192.168.2.253 を LISTEN する
    • LOCAL(192.168.2.0/24)にプリンタを公開する
    • クライアント機である 192.168.2.101 からの設定を許可する

    という内容になります。

    ssl 証明書の作成

    ネットワークからの printer 設定ですので、ssl 接続が要求されます。そのため ssl 接続に必要な証明書を作成する必要があります。
    ここで作成する証明書は、いわゆる「オレオレ証明書」なので正規の証明書をお持ちの方はもちろんそちらを使用してください。

    [iwamoto@kokone /etc]$ sudo openssl req -new -nodes -x509 -keyout /etc/cups/ssl/server.key -out /etc/cups/ssl/server.crt -days 3650
    

    上記のように openssl コマンドを用いて ssl 証明書を作成します。

    ここまでの設定が終わったら、cups を restart しておきます。

    [iwamoto@kokone ~]$ sudo /etc/rc.d/init.d/cups restart
    [sudo] password for iwamoto:
    cupsを停止中:                                                   [  OK  ]
    cupsを起動中:                                                   [  OK  ]
    

    Vine 5.2 機でのプリンタ設定(CUPS Web IF編)

    それでは、Vine 5.2 機を設定していきます。
    まずは、CUPS Web IF を起動しましょう。

    クライアント機で Firefox を起動し、URI に https://192.168.2.253:631/ と打ち込みます。すると、CUPS Web IF が起動するハズです。
    "http:" ではなく "https:" であることに注意してください。

    うまく起動しない場合は、cupsd.conf の設定、firewall でアクセス制限がされていないか、などを見直してください。

    「プリンタの追加」を押し、プリンタの追加画面を出します。

    プリンタの名前、場所、説明を入力し「続ける」を押します。
    「説明」「場所」は日本語も大丈夫ですが、日本語読めない環境から使う予定があるならばアルファベットと数字だけにしておくのが無難です。

    プリンタのデバイスを入力します。
    デフォルトで「AppSocket/HP JetDirect」が選ばれているハズですので、そのまま「続ける」を押します。

    プリンタのデバイス URI を入力します。
    「socket://192.168.2.202:9100」と入力します。ここで「192.168.2.202」はプリンタに割り当てた IPアドレスです。お使いの環境(IPアドレスの割り当て)にあわせて変更してください。

    プリンタのメーカ/製造元を選びます。もちろん「Epson」を選び「続ける」を押します。

    モデル/ドライバの選択です。
    「EP-803A」が選択枝に現れていますので、それを選び、「プリンタの追加」を押します。

    ここで機種に EP-803A が現れない場合は、ドライバの install が上手くいっていないと思われます。見直してみてください。

    認証を求められますので、「root」「root のパスワード」を入力し「OK」を押します。

    これでプリンタの登録自体は完了です。

    「プリンタ」タグを選択すると、登録したプリンタが見えているハズです。
    また、テストプリントもこの画面から行うことができます。

    どうでしょうか?無事にプリントすることができましたでしょうか?

    プリンタの共有

    ここで登録したプリンタを他のマシンから使う場合は「管理」画面をひらき、「このシステムに接続されている公開済みプリンタを共有」にチェックをいれ「設定の変更」押します。

    これで、同じ subnet に接続されているマシンからの印刷要求を受け付けることができるようになります。

    Vine 5.2 機でのプリンタ設定(ppc機編)

    残念ながら、ppc アーキテクチャ向けのドライバファイルは用意されていません。
    ppc アーキテクチャのマシンから i386/x86_64機をプリントサーバにして印刷することになります。

    前節で「このシステムに接続されている公開済みプリンタを共有」にチェックをいれた状態であれば、ppc マシンで Gnome の system-config-printer を起動すれば、すでにプリンタが見えているハズです。

    プリンタのアイコンを右クリックし「プロパティ」画面を出して確認してみてください。同じ画面からテスト印刷もできます。

    終わりに

    2回に分けて解説してきましたが、いかがでしたでしょうか?
    プリンタをネットワークに確実に接続できれば、あとは GUI で簡単に設定できます。このドキュメントが Vine Linux 上での印刷環境の構築の助けになれば、幸いです。

    謝辞

    プリンタを世に送り出していただいたセイコーエプソン株式会社様、高度な Linux 用プリンタドライバを公開していただいているアヴァシス株式会社様に感謝いたします。

    ]]>
    2010-12-24T00:00:00+09:00 <![CDATA[

    前回の記事では、Gnome の「プリンター設定」での設定方法を紹介しましたが、今回は X が入っていないマシンの設定例として CUPS Web IF を用いた設定方法を紹介します。

    また、EPSON のドライバが用意されていない ppc 機から印刷するために i386/x86_64 マシンを印刷サーバとして用いる方法も紹介します。

    環境

    当記事では、EPSON EP-803A(以下、EP-803A)は有線ネットワークで接続されているものとします。無線LAN で接続されている場合でもほぼ同じような設定で動作するはずです。

    また、前回の記事で紹介した AVASYS社製のドライバの導入は済んでいるものとします。前回の記事を参照して、install を行ってください。

    また、接続例のネットワーク環境は以下のようなものです。

    項目
    EP-803A の IP adress/hostname 192.168.2.202/ep803a
    Vine 5.2機(印刷 Clinet)の IP adress/hostname 192.168.2.101/natsume
    サーバ機の IP adress/hostname 192.168.2.253/kokone

    IP adress / hostname の間は相互に名前解決ができるものとします。
    今回の例ではサーバ機(192.168.2.253)の設定をクライアント機(192.168.2.101)から実行する例となります。

    CUPS Web IF を動作させる準備

    web 上のドキュメントでは、CUPS Web IF を動作させる例として、

    http://localhost:631

    にアクセスする、と指示されているものが多いですが Vine Linux 5.2(以下 Vine 5.2)では、上記のアクセス方法ではアクセスできなくなっています。
    これは security fix のためにこのような仕様になっています。

    そのため、CUPS Web IF を使用するためには下準備が必要です。

    /etc/cups/cupsd.conf の設定

    /etc/cups/cupsd.conf に設定を追加する必要があります。以下のような変更を cupsd.conf に加えてください。

    --- cupsd.conf.default	2010-07-04 22:21:14.000000000 +0900
    +++ cupsd.conf	2010-11-28 02:39:39.000000000 +0900
    @@ -16,6 +16,7 @@
     
     # Only listen for connections from the local machine.
     Listen localhost:631
    +Listen 192.168.2.253:631
     Listen /var/run/cups/cups.sock
     
     # Show shared printers on the local network.
    @@ -29,12 +30,14 @@
     # Restrict access to the server...
     
       Order allow,deny
    +  Allow From @LOCAL
     
     
     # Restrict access to the admin pages...
     
       Encryption Required
       Order allow,deny
    +  Allow From 192.168.2.101
     
     
     # Restrict access to configuration files...
    

    変更内容は、

    • サーバ機のアドレスである 192.168.2.253 を LISTEN する
    • LOCAL(192.168.2.0/24)にプリンタを公開する
    • クライアント機である 192.168.2.101 からの設定を許可する

    という内容になります。

    ssl 証明書の作成

    ネットワークからの printer 設定ですので、ssl 接続が要求されます。そのため ssl 接続に必要な証明書を作成する必要があります。
    ここで作成する証明書は、いわゆる「オレオレ証明書」なので正規の証明書をお持ちの方はもちろんそちらを使用してください。

    [iwamoto@kokone /etc]$ sudo openssl req -new -nodes -x509 -keyout /etc/cups/ssl/server.key -out /etc/cups/ssl/server.crt -days 3650
    

    上記のように openssl コマンドを用いて ssl 証明書を作成します。

    ここまでの設定が終わったら、cups を restart しておきます。

    [iwamoto@kokone ~]$ sudo /etc/rc.d/init.d/cups restart
    [sudo] password for iwamoto:
    cupsを停止中:                                                   [  OK  ]
    cupsを起動中:                                                   [  OK  ]
    

    Vine 5.2 機でのプリンタ設定(CUPS Web IF編)

    それでは、Vine 5.2 機を設定していきます。
    まずは、CUPS Web IF を起動しましょう。

    クライアント機で Firefox を起動し、URI に https://192.168.2.253:631/ と打ち込みます。すると、CUPS Web IF が起動するハズです。
    "http:" ではなく "https:" であることに注意してください。

    うまく起動しない場合は、cupsd.conf の設定、firewall でアクセス制限がされていないか、などを見直してください。

    「プリンタの追加」を押し、プリンタの追加画面を出します。

    プリンタの名前、場所、説明を入力し「続ける」を押します。
    「説明」「場所」は日本語も大丈夫ですが、日本語読めない環境から使う予定があるならばアルファベットと数字だけにしておくのが無難です。

    プリンタのデバイスを入力します。
    デフォルトで「AppSocket/HP JetDirect」が選ばれているハズですので、そのまま「続ける」を押します。

    プリンタのデバイス URI を入力します。
    「socket://192.168.2.202:9100」と入力します。ここで「192.168.2.202」はプリンタに割り当てた IPアドレスです。お使いの環境(IPアドレスの割り当て)にあわせて変更してください。

    プリンタのメーカ/製造元を選びます。もちろん「Epson」を選び「続ける」を押します。

    モデル/ドライバの選択です。
    「EP-803A」が選択枝に現れていますので、それを選び、「プリンタの追加」を押します。

    ここで機種に EP-803A が現れない場合は、ドライバの install が上手くいっていないと思われます。見直してみてください。

    認証を求められますので、「root」「root のパスワード」を入力し「OK」を押します。

    これでプリンタの登録自体は完了です。

    「プリンタ」タグを選択すると、登録したプリンタが見えているハズです。
    また、テストプリントもこの画面から行うことができます。

    どうでしょうか?無事にプリントすることができましたでしょうか?

    プリンタの共有

    ここで登録したプリンタを他のマシンから使う場合は「管理」画面をひらき、「このシステムに接続されている公開済みプリンタを共有」にチェックをいれ「設定の変更」押します。

    これで、同じ subnet に接続されているマシンからの印刷要求を受け付けることができるようになります。

    Vine 5.2 機でのプリンタ設定(ppc機編)

    残念ながら、ppc アーキテクチャ向けのドライバファイルは用意されていません。
    ppc アーキテクチャのマシンから i386/x86_64機をプリントサーバにして印刷することになります。

    前節で「このシステムに接続されている公開済みプリンタを共有」にチェックをいれた状態であれば、ppc マシンで Gnome の system-config-printer を起動すれば、すでにプリンタが見えているハズです。

    プリンタのアイコンを右クリックし「プロパティ」画面を出して確認してみてください。同じ画面からテスト印刷もできます。

    終わりに

    2回に分けて解説してきましたが、いかがでしたでしょうか?
    プリンタをネットワークに確実に接続できれば、あとは GUI で簡単に設定できます。このドキュメントが Vine Linux 上での印刷環境の構築の助けになれば、幸いです。

    謝辞

    プリンタを世に送り出していただいたセイコーエプソン株式会社様、高度な Linux 用プリンタドライバを公開していただいているアヴァシス株式会社様に感謝いたします。

    ]]>
    Vine Linux 5.2 への更新手順 http://vinelinux.org/vlmagazine/20101215.html <![CDATA[Vine Linux 5.1 から Vine Linux 5.2 への基本的な更新手順です。 Vine Linux 5.1 から Vine Linux 5.2 への更新はこの手順で問題ないように開発されてはいますが、環境によってはエラーなどが発生する場合もあるかもしれません。 その場合はメーリングリストなどで相談してみてください。

    Vine Linux 5.2 を公開でアナウンスされた通り、Vine Linux 5.2 の公開から2週間程度経過しましたので、現在は Vine Linux 5.2 への更新の手順を実施することだけで Vine Linux 5.2 に更新されます。

    Vine Linux 5.1を最新状態にする

    まず、Vine Linux 5.1 を update-watch や Synaptic パッケージマネージャー、apt-get などで最新の状態に更新しておきます。

    apt-line を更新する RPM パッケージのインストール

    次に apt-line(RPM パッケージのリポジトリの場所)を更新する RPM パッケージを入手します。次のパッケージを入手してください。

    • apt-sourceslist-main-1.2-1vl5.noarch.rpm
    • apt-sourceslist-nonfree-1.2-1vl5.noarch.rpm
    • apt-sourceslist-plus-1.2-1vl5.noarch.rpm

    これらの RPM パッケージは Vine Linux 5.2 の CD などに収録されています。インターネット上では各種ミラーサイトにあります。i386 アーキテクチャの場合は例えば次のところから入手できます。お使いx86_のシステムのアーキテクチャが x86_64 や ppc の場合は適宜読み替えてください。

    これらの RPM パッケージを入手後、あなたのシステムにインストールしてください。例えばファイル・ブラウザ(Nautilus)で RPM パッケージファイルを指定し、コンテキストメニュー(いわゆる「右クリックメニュー」)から「RPM インストーラで開く」を選択することでインストールを行うことができます。

    ただし、/etc/apt/sources.list.d 以下のファイルを編集している場合はその書き換え結果が優先されます。その場合は直接ファイルを書き換えるなどの対処を行ってください。

    Vine Linux 5.2 への更新

    これまでの作業であなたのシステムは Vine Linux 5.2 への更新の準備ができました。後はいつも通りの手順で最新の環境に更新してください。

    update-watch を使う場合は、update-watch のアイコンのコンテキストメニューから「アップデートを確認」を選択してファイルリストを更新した後、「全てをアップグレード」で PRM パッケージのダウンロードとインストールを実施してください。

    最後に再起動を促されると思いますので、再起動をしてください。これであなたのVine Linux は最新の Vine Linux 5.2 に更新されました!引き続き Vine Linux ライフをお楽しみください。

    ]]>
    2010-12-15T00:00:00+09:00 <![CDATA[Vine Linux 5.1 から Vine Linux 5.2 への基本的な更新手順です。 Vine Linux 5.1 から Vine Linux 5.2 への更新はこの手順で問題ないように開発されてはいますが、環境によってはエラーなどが発生する場合もあるかもしれません。 その場合はメーリングリストなどで相談してみてください。

    Vine Linux 5.2 を公開でアナウンスされた通り、Vine Linux 5.2 の公開から2週間程度経過しましたので、現在は Vine Linux 5.2 への更新の手順を実施することだけで Vine Linux 5.2 に更新されます。

    Vine Linux 5.1を最新状態にする

    まず、Vine Linux 5.1 を update-watch や Synaptic パッケージマネージャー、apt-get などで最新の状態に更新しておきます。

    apt-line を更新する RPM パッケージのインストール

    次に apt-line(RPM パッケージのリポジトリの場所)を更新する RPM パッケージを入手します。次のパッケージを入手してください。

    • apt-sourceslist-main-1.2-1vl5.noarch.rpm
    • apt-sourceslist-nonfree-1.2-1vl5.noarch.rpm
    • apt-sourceslist-plus-1.2-1vl5.noarch.rpm

    これらの RPM パッケージは Vine Linux 5.2 の CD などに収録されています。インターネット上では各種ミラーサイトにあります。i386 アーキテクチャの場合は例えば次のところから入手できます。お使いx86_のシステムのアーキテクチャが x86_64 や ppc の場合は適宜読み替えてください。

    これらの RPM パッケージを入手後、あなたのシステムにインストールしてください。例えばファイル・ブラウザ(Nautilus)で RPM パッケージファイルを指定し、コンテキストメニュー(いわゆる「右クリックメニュー」)から「RPM インストーラで開く」を選択することでインストールを行うことができます。

    ただし、/etc/apt/sources.list.d 以下のファイルを編集している場合はその書き換え結果が優先されます。その場合は直接ファイルを書き換えるなどの対処を行ってください。

    Vine Linux 5.2 への更新

    これまでの作業であなたのシステムは Vine Linux 5.2 への更新の準備ができました。後はいつも通りの手順で最新の環境に更新してください。

    update-watch を使う場合は、update-watch のアイコンのコンテキストメニューから「アップデートを確認」を選択してファイルリストを更新した後、「全てをアップグレード」で PRM パッケージのダウンロードとインストールを実施してください。

    最後に再起動を促されると思いますので、再起動をしてください。これであなたのVine Linux は最新の Vine Linux 5.2 に更新されました!引き続き Vine Linux ライフをお楽しみください。

    ]]>
    EPSON EP-803A の印刷設定 for Vine Linux 5.2 http://vinelinux.org/vlmagazine/20101212.html <![CDATA[EPSON の複合機である EP-803A を Vine Linux 5.2(以下、Vine 5.2)で使用するための設定例を紹介します。今回は、印刷環境の設定を解説し、スキャン環境には触れません。

    環境

    当記事では、EPSON EP-803A(以下、EP-803A)は有線ネットワークで接続されているものとします。無線LAN で接続されている場合でもほぼ同じような設定で動作するはずです。

    また、接続例のネットワーク環境は以下のようなものです。

    項目
    EP-803A の IP adress/hostname 192.168.2.202/ep803a
    Vine 5.2機(印刷 Clinet)の IP adress/hostname 192.168.2.101/natsume
    サーバ機の IP adress/hostname 192.168.2.253/kokone

    IP adress / hostname の間は相互に名前解決ができるものとします。

    全体の流れ

    全体の流れは、次の3ステップです。

    1. プリンタのネットワーク接続設定
    2. AVASYS 社製のドライバの install
    3. Vine 5.2 機でのプリンタ設定

    Gnome 環境が動作していれば、ほとんどの設定を GUI で行うことができます。Gnome 環境が無いサーバ機でも、Web インターフェイスを用いて設定できます。

    では、はじめましょう。

    プリンタのネットワーク接続を設定する

    プリンタのマニュアルをよーく読んで、プリンタをネットワークに接続してください。
    EP-803A は本体に MAC アドレスが記載されていませんが、プリンタ本体のメニューからネットワークステータスを印刷出力させれば、確認できます。

    EP-803A は DHCP をサポートしているので、ブロードバンドルーターなどがある DHCP 環境では、ネットワークケーブルを接続するだけで設定が完了すると思います。しかし、ネット環境の変化などでプリンタの IP adress が変更されるとあとあと面倒なので、固定 IP adress を割り当てるのをお勧めします。

    今回の例の環境では、サーバ機で dhcpd を稼働させ、サーバ機の dhcpd から固定アドレスを配布するように設定しています。EP-803A 自体は DHCP で動いています。

    AVASYS 社製のドライバの install

    AVASYS 社製のドライバの入手

    まずは AVASYS 社のドライバを Download してきましょう。

    http://avasys.jp/

    より、リンクをたどり Download して適当なディレクトリに入れておきます。

    現時点(2010/12/05)時点でのドライバファイルは、

    • epson-inkjet-printer-ep-803a-903f-series-1.0.0-1lsb3.2.i486.rpm
    • epson-inkjet-printer-ep-803a-903f-series-1.0.0-1lsb3.2.x86_64.rpm
    となっています。
    お使いのアーキテクチャにより、Download するファイルが違いますので、注意してください。

    残念ながら、ppc アーキテクチャ向けのドライバファイルは用意されていません。
    ppc アーキテクチャをご使用のかた向けに、i386/x86_64機をプリントサーバにして印刷する方法を別途解説する予定です。

    AVASYS 社製のドライバの install

    ドライバが入手できましたら apt-get コマンドを使って、依存するパッケージをまとめて install しましょう。

    [iwamoto@natsume Download]$ sudo apt-get update
    [sudo] password for iwamoto: 
    取得:1 http://ftp.kddlabs.co.jp 5.2/x86_64 release [1931B]
    取得:2 http://updates.vinelinux.org 5.2/x86_64 release [1931B] 
    4525B を 0s 秒で取得しました (13.4kB/s)
    ヒット http://updates.vinelinux.org 5.2/x86_64/main pkglist
    (中略)
    パッケージリストを読みこんでいます... 完了
    依存情報ツリーを作成しています... 完了 
    

    まず、apt-get update して最新のレポジトリ情報を読み込みます。

    [iwamoto@natsume Download]$ sudo apt-get install ./epson-inkjet-printer-ep-803a-903f-series-1.0.0-1lsb3.2.x86_64.rpm 
    [sudo] password for iwamoto: 
    パッケージリストを読みこんでいます... 完了
    依存情報ツリーを作成しています... 完了        
    'epson-inkjet-printer-ep-803a-903f-series-1.0.0-1lsb3.2.x86_64.rpm' として epson-inkjet-printer-ep-803a-903f-series を選択しました
    以下の追加パッケージがインストールされます:
      epson-inkjet-printer-ep-803a-903f-series lsb pax qt
    以下のパッケージが新たにインストールされます:
      epson-inkjet-printer-ep-803a-903f-series lsb pax qt
    アップグレード: 0 個, 新規インストール: 4 個, 削除: 0 個, 保留: 25 個
    5763kB/7826kB のアーカイブを取得する必要があります。
    展開後に 23.2MB のディスク容量が追加消費されます。
    続行しますか? [Y/n]y
    取得:1 http://ftp.kddlabs.co.jp 5.2/x86_64/plus qt 3.3.8-7vl5 [5411kB]
    取得:2 http://ftp.kddlabs.co.jp 5.2/x86_64/plus pax 3.4-1vl5 [69.6kB]
    取得:3 http://ftp.kddlabs.co.jp 5.2/x86_64/plus lsb 3.2-1vl5 [283kB]
    5763kB を 1s 秒で取得しました (3508kB/s)
    変更を適用しています...
    準備中                                ############################## [100%]
    更新/インストール中
      pax-3.4-1vl5.x86_64                    ############################## [100%]
      qt-3.3.8-7vl5.x86_64                   ############################## [100%]
      lsb-3.2-1vl5.x86_64                    ############################## [100%]
      epson-inkjet-printer-ep-803a-903f-seri ############################## [100%]
    Stopping cups:                                                  [  OK  ]
    Starting cups:                                                  [  OK  ]
    完了
    

    次に apt-get install コマンドで、プリンタドライバ本体と、それが依存している lsb, pax, qt の3つの追加パッケージをまとめて install します。
    お使いの環境により、追加パッケージの数が増減することがあると思います。

    Vine 5.2 機でのプリンタ設定(Gnome 編)

    それでは、Vine 5.2 機を設定していきます。
    まずは、Gnome の system-config-printer を使って設定していきます。

    メニューの「システム」→「システム管理」→「印刷」とたどるか、ターミナルから "system-config-printer" と打ち込むかで、system-config-printer を起動させます。

    system-config-printer のメニューから「サーバー」→「新規」→「プリンタ」を選び、新規プリンタの追加画面を出します。

    次は、いきなりプリンタを検索してしまいましょう。
    プリンタに割り当てたホスト名を「ホスト」に入力し、「検索」ボタンを押します。
    もちろん、このときはプリンタの電源をいれておくのをお忘れなく!!

    するとあっさりと、EP-803A を見つけてきてくれるハズです。
    見つけてくれない場合は、

    • プリンタの電源は入っていますか?
    • プリンタへ向けて ping は通りますか?
    • プリンタ名の名前解決はできますか?
    • ファイアウォールなどの設定は大丈夫ですか?
    などを見直しましょう。まぁ、通常のネットワークの確認ですね。

    無事にプリンタを見つけてくれたら「進む」を押し、次のステップに進みます。

    次はドライバの選択です。「Epson」を選び、「進む」を押します。

    機種の選択です。
    あっさりと「EP-803A」が選択枝に現れていますので、それを選び、「進む」を押します。

    ここで機種に EP-803A が現れない場合は、ドライバの install が上手くいっていないと思われます。見直してみてください。

    プリンタにわかりやすい名前、説明を付けます。
    「説明」「場所」は日本語も大丈夫ですが、日本語読めない環境から使う予定があるならばアルファベットと数字だけにしておくのが無難です。

    入力しおえたら、「適用」を押します。

    root の password を求められますので、正しく入力し「OK」を押します。

    いよいよテスト印刷です。A4 の紙をプリンタにセットして「はい」を押します。
    正しく設定できていれば、CUPS の「Printer Test Page」が印刷出力されるハズです。

    テスト印刷が終われば system-config-printer の初期画面に戻ります。「プリンターの説明」で付けた名前のプリンタが登録されているのが見えるハズです。

    正しく印刷できましたでしょうか?プリンタのプロパティを見ると、いろいろ設定できる項目がありますので、設定してみてください。

    CUPS Web interface による設定

    Gnome 編でかなり長くなってしまいましたので、CUPS Web interface 編は別記事に分けたいと思います。

    終わりに

    いかがでしたでしょうか?
    非常に簡単に設定でき、私自身、驚きました。数年前までは、cups がどーだとかフィルタがどーだとかいろいろ設定ファイルを書かないと動かなかったものが、ドライバの install と GUI による設定だけで動いてしまいます。

    「印刷は Windows 経由でいいや」と思っておられたかたも「これなら Vine から直接出力しようかなぁ」と思っていただけると嬉しいです。

    謝辞

    プリンタを世に送り出していただいたセイコーエプソン株式会社様、高度な Linux 用プリンタドライバを公開していただいているアヴァシス株式会社様に感謝いたします。

    ]]>
    2010-12-12T00:00:00+09:00 <![CDATA[EPSON の複合機である EP-803A を Vine Linux 5.2(以下、Vine 5.2)で使用するための設定例を紹介します。今回は、印刷環境の設定を解説し、スキャン環境には触れません。

    環境

    当記事では、EPSON EP-803A(以下、EP-803A)は有線ネットワークで接続されているものとします。無線LAN で接続されている場合でもほぼ同じような設定で動作するはずです。

    また、接続例のネットワーク環境は以下のようなものです。

    項目
    EP-803A の IP adress/hostname 192.168.2.202/ep803a
    Vine 5.2機(印刷 Clinet)の IP adress/hostname 192.168.2.101/natsume
    サーバ機の IP adress/hostname 192.168.2.253/kokone

    IP adress / hostname の間は相互に名前解決ができるものとします。

    全体の流れ

    全体の流れは、次の3ステップです。

    1. プリンタのネットワーク接続設定
    2. AVASYS 社製のドライバの install
    3. Vine 5.2 機でのプリンタ設定

    Gnome 環境が動作していれば、ほとんどの設定を GUI で行うことができます。Gnome 環境が無いサーバ機でも、Web インターフェイスを用いて設定できます。

    では、はじめましょう。

    プリンタのネットワーク接続を設定する

    プリンタのマニュアルをよーく読んで、プリンタをネットワークに接続してください。
    EP-803A は本体に MAC アドレスが記載されていませんが、プリンタ本体のメニューからネットワークステータスを印刷出力させれば、確認できます。

    EP-803A は DHCP をサポートしているので、ブロードバンドルーターなどがある DHCP 環境では、ネットワークケーブルを接続するだけで設定が完了すると思います。しかし、ネット環境の変化などでプリンタの IP adress が変更されるとあとあと面倒なので、固定 IP adress を割り当てるのをお勧めします。

    今回の例の環境では、サーバ機で dhcpd を稼働させ、サーバ機の dhcpd から固定アドレスを配布するように設定しています。EP-803A 自体は DHCP で動いています。

    AVASYS 社製のドライバの install

    AVASYS 社製のドライバの入手

    まずは AVASYS 社のドライバを Download してきましょう。

    http://avasys.jp/

    より、リンクをたどり Download して適当なディレクトリに入れておきます。

    現時点(2010/12/05)時点でのドライバファイルは、

    • epson-inkjet-printer-ep-803a-903f-series-1.0.0-1lsb3.2.i486.rpm
    • epson-inkjet-printer-ep-803a-903f-series-1.0.0-1lsb3.2.x86_64.rpm
    となっています。
    お使いのアーキテクチャにより、Download するファイルが違いますので、注意してください。

    残念ながら、ppc アーキテクチャ向けのドライバファイルは用意されていません。
    ppc アーキテクチャをご使用のかた向けに、i386/x86_64機をプリントサーバにして印刷する方法を別途解説する予定です。

    AVASYS 社製のドライバの install

    ドライバが入手できましたら apt-get コマンドを使って、依存するパッケージをまとめて install しましょう。

    [iwamoto@natsume Download]$ sudo apt-get update
    [sudo] password for iwamoto: 
    取得:1 http://ftp.kddlabs.co.jp 5.2/x86_64 release [1931B]
    取得:2 http://updates.vinelinux.org 5.2/x86_64 release [1931B] 
    4525B を 0s 秒で取得しました (13.4kB/s)
    ヒット http://updates.vinelinux.org 5.2/x86_64/main pkglist
    (中略)
    パッケージリストを読みこんでいます... 完了
    依存情報ツリーを作成しています... 完了 
    

    まず、apt-get update して最新のレポジトリ情報を読み込みます。

    [iwamoto@natsume Download]$ sudo apt-get install ./epson-inkjet-printer-ep-803a-903f-series-1.0.0-1lsb3.2.x86_64.rpm 
    [sudo] password for iwamoto: 
    パッケージリストを読みこんでいます... 完了
    依存情報ツリーを作成しています... 完了        
    'epson-inkjet-printer-ep-803a-903f-series-1.0.0-1lsb3.2.x86_64.rpm' として epson-inkjet-printer-ep-803a-903f-series を選択しました
    以下の追加パッケージがインストールされます:
      epson-inkjet-printer-ep-803a-903f-series lsb pax qt
    以下のパッケージが新たにインストールされます:
      epson-inkjet-printer-ep-803a-903f-series lsb pax qt
    アップグレード: 0 個, 新規インストール: 4 個, 削除: 0 個, 保留: 25 個
    5763kB/7826kB のアーカイブを取得する必要があります。
    展開後に 23.2MB のディスク容量が追加消費されます。
    続行しますか? [Y/n]y
    取得:1 http://ftp.kddlabs.co.jp 5.2/x86_64/plus qt 3.3.8-7vl5 [5411kB]
    取得:2 http://ftp.kddlabs.co.jp 5.2/x86_64/plus pax 3.4-1vl5 [69.6kB]
    取得:3 http://ftp.kddlabs.co.jp 5.2/x86_64/plus lsb 3.2-1vl5 [283kB]
    5763kB を 1s 秒で取得しました (3508kB/s)
    変更を適用しています...
    準備中                                ############################## [100%]
    更新/インストール中
      pax-3.4-1vl5.x86_64                    ############################## [100%]
      qt-3.3.8-7vl5.x86_64                   ############################## [100%]
      lsb-3.2-1vl5.x86_64                    ############################## [100%]
      epson-inkjet-printer-ep-803a-903f-seri ############################## [100%]
    Stopping cups:                                                  [  OK  ]
    Starting cups:                                                  [  OK  ]
    完了
    

    次に apt-get install コマンドで、プリンタドライバ本体と、それが依存している lsb, pax, qt の3つの追加パッケージをまとめて install します。
    お使いの環境により、追加パッケージの数が増減することがあると思います。

    Vine 5.2 機でのプリンタ設定(Gnome 編)

    それでは、Vine 5.2 機を設定していきます。
    まずは、Gnome の system-config-printer を使って設定していきます。

    メニューの「システム」→「システム管理」→「印刷」とたどるか、ターミナルから "system-config-printer" と打ち込むかで、system-config-printer を起動させます。

    system-config-printer のメニューから「サーバー」→「新規」→「プリンタ」を選び、新規プリンタの追加画面を出します。

    次は、いきなりプリンタを検索してしまいましょう。
    プリンタに割り当てたホスト名を「ホスト」に入力し、「検索」ボタンを押します。
    もちろん、このときはプリンタの電源をいれておくのをお忘れなく!!

    するとあっさりと、EP-803A を見つけてきてくれるハズです。
    見つけてくれない場合は、

    • プリンタの電源は入っていますか?
    • プリンタへ向けて ping は通りますか?
    • プリンタ名の名前解決はできますか?
    • ファイアウォールなどの設定は大丈夫ですか?
    などを見直しましょう。まぁ、通常のネットワークの確認ですね。

    無事にプリンタを見つけてくれたら「進む」を押し、次のステップに進みます。

    次はドライバの選択です。「Epson」を選び、「進む」を押します。

    機種の選択です。
    あっさりと「EP-803A」が選択枝に現れていますので、それを選び、「進む」を押します。

    ここで機種に EP-803A が現れない場合は、ドライバの install が上手くいっていないと思われます。見直してみてください。

    プリンタにわかりやすい名前、説明を付けます。
    「説明」「場所」は日本語も大丈夫ですが、日本語読めない環境から使う予定があるならばアルファベットと数字だけにしておくのが無難です。

    入力しおえたら、「適用」を押します。

    root の password を求められますので、正しく入力し「OK」を押します。

    いよいよテスト印刷です。A4 の紙をプリンタにセットして「はい」を押します。
    正しく設定できていれば、CUPS の「Printer Test Page」が印刷出力されるハズです。

    テスト印刷が終われば system-config-printer の初期画面に戻ります。「プリンターの説明」で付けた名前のプリンタが登録されているのが見えるハズです。

    正しく印刷できましたでしょうか?プリンタのプロパティを見ると、いろいろ設定できる項目がありますので、設定してみてください。

    CUPS Web interface による設定

    Gnome 編でかなり長くなってしまいましたので、CUPS Web interface 編は別記事に分けたいと思います。

    終わりに

    いかがでしたでしょうか?
    非常に簡単に設定でき、私自身、驚きました。数年前までは、cups がどーだとかフィルタがどーだとかいろいろ設定ファイルを書かないと動かなかったものが、ドライバの install と GUI による設定だけで動いてしまいます。

    「印刷は Windows 経由でいいや」と思っておられたかたも「これなら Vine から直接出力しようかなぁ」と思っていただけると嬉しいです。

    謝辞

    プリンタを世に送り出していただいたセイコーエプソン株式会社様、高度な Linux 用プリンタドライバを公開していただいているアヴァシス株式会社様に感謝いたします。

    ]]>
    Vine Linux Magazine 2010.09&10 http://vinelinux.org/vlmagazine/20101030.html <![CDATA[

    7 月から始まった Vine Linux Managize も今回で3回目ですが、9月はイベント参加や担当者の多忙等の理由により発行がずれ込んてしまったため、9月分と10月分を合わせてお伝えします。

    では9月と10月のニュースを紹介していきます。

    ニュース

    オープンソースカンファレンス 2010 Tokyo/Fall、無事に終了
    Project Vine は、 9/10, 9/11 に開催されました オープンソースカンファレンス 2010 Tokyo/Fall に参加しました。
    Vine Linux Magazine 2010/09/29 オープンソースカンファレンス 2010 Tokyo/Fall 参加レポート をご覧下さい。
    Vine Linux 5.2 リリースに向けてバグスカッシュ週間
    5.1 のリリース以降に報告されたバグが BTS に溜まってきていたため、5.2 のリリース前に潰せるバグは潰していこうということで、9月17日から9月30日までの2週間がバグスカッシュ週間として設定され、その間集中して作業が行われました。
    この結果、修正されたパッケージのうち plus カテゴリのものは既に更新パッケージが提供されており、また main カテゴリのものは proposed-updates としてテストを実施しております。これらのパッケージは 5.2 にも含まれる予定です。
    Vine Linux 5.2 β2 (2010/10/29) が公開されました
    お待たせしました!Vine Linux 5.2 β版が公開されました。詳しくは、[VineSeed:22060] Vine Linux 5.2b2 is now available for testing をご覧くださいませ。
    Vine Linux 5.2 のリリースに向けて、収録するパッケージの準備や調整、インストーラの更新等が行われています。
    現時点(この記事の執筆時点)では 5.2 β版のため、正式にリリースされるのは 11 月の中旬から後半になる予定です。

    セキュリティ・バグフィックスアップデート

    9月から10月にかけては、Vine Linux 5 のセキュリティアップデートが8件、バグフィックスアップデートが1件ありました。

    セキュリティアップデート
    Vine Linux 5: sudo, firefox, xulrunner, thunderbird, samba, kernel, freetype2, bzip2, dovecot, poppler
    バグフィックスアップデート
    xorg-x11-drv-intel

    xorg-x11-drv-intel と kernel の更新により GMA3150 で intel ドライバが利用できるようになったため、今まで Vine 5.1 ではうまく動作していなかった一部のハードウェアが動作するようになりました。この変更は Vine Linux 5.2 にも反映されます。
    firefox, xulrunner, thunderbird については上記のアップデート以降、既に2回セキュリティフィックスがリリースされており、現在 5.1 向けの security fix パッケージがテスト中です。テストが済み次第 errata が発行されます。

    パッケージ紹介

    VinePlus 5 に新規に追加されたパッケージ、大幅に更新されたパッケージを紹介します。

    新規パッケージ

    dar
    tar (GNU ファイルアーカイブプログラム)を改善した、強化版とも言えるコマンドラインツールです。BTS の要望に答える形でパッケージが作成されました。
    wmctrl
    コマンドラインから、ウィンドウの移動やリサイズ、ワークスペースの移動やフルスクリーンの切り替えといった操作が行えるツールです。
    nemiver
    GNOME デスクトップ向けの gdb のフロントエンドで、マウスでクリックするだけでそれなりに使える GUI 付きのデバッガです。

    更新パッケージ

    sane, xsane
    スキャナ操作のツールとそのフロントエンドです。パッケージング週間で更新の要望があがっていたこともあり、今回大幅にバージョンがアップしています。これにより比較的新しいハードウェアへの対応も改善されています。

    VineSeed では、rpm-4.8.1 への更新に伴い依存情報の生成方法が変わったことを受けて、-debel サブパッケージを提供しているパッケージのリビルドが必要となったことから、大量のリビルド作業が実施されました。また gnome-2.32.0 が投入されデスクトップ関連の更新が大量に入っています。今回は短期間に1000を超えるパッケージが更新されたりしましたが、その割には安定して動作しているようです。

    このほかにも様々なパッケージがアップデートされていますし、開発版の VineSeed にはより多くの新規パッケージが投入されています。
    これらについては今後も順次紹介していきたいと思います。

    おわりに

    Vine Linux Magazine では、Vine Linux に関する様々な情報、小ネタ、Tips、ノウハウ/バッドノウハウ、活用事例などを書いていただけるかたを募集しています。
    また、「XXの記事を書いて欲しい」などのご要望などもお待ちしておりますので、ML, IRC や個別メールなどでお知らせください。

    ]]>
    2010-10-30T00:00:00+09:00 <![CDATA[

    7 月から始まった Vine Linux Managize も今回で3回目ですが、9月はイベント参加や担当者の多忙等の理由により発行がずれ込んてしまったため、9月分と10月分を合わせてお伝えします。

    では9月と10月のニュースを紹介していきます。

    ニュース

    オープンソースカンファレンス 2010 Tokyo/Fall、無事に終了
    Project Vine は、 9/10, 9/11 に開催されました オープンソースカンファレンス 2010 Tokyo/Fall に参加しました。
    Vine Linux Magazine 2010/09/29 オープンソースカンファレンス 2010 Tokyo/Fall 参加レポート をご覧下さい。
    Vine Linux 5.2 リリースに向けてバグスカッシュ週間
    5.1 のリリース以降に報告されたバグが BTS に溜まってきていたため、5.2 のリリース前に潰せるバグは潰していこうということで、9月17日から9月30日までの2週間がバグスカッシュ週間として設定され、その間集中して作業が行われました。
    この結果、修正されたパッケージのうち plus カテゴリのものは既に更新パッケージが提供されており、また main カテゴリのものは proposed-updates としてテストを実施しております。これらのパッケージは 5.2 にも含まれる予定です。
    Vine Linux 5.2 β2 (2010/10/29) が公開されました
    お待たせしました!Vine Linux 5.2 β版が公開されました。詳しくは、[VineSeed:22060] Vine Linux 5.2b2 is now available for testing をご覧くださいませ。
    Vine Linux 5.2 のリリースに向けて、収録するパッケージの準備や調整、インストーラの更新等が行われています。
    現時点(この記事の執筆時点)では 5.2 β版のため、正式にリリースされるのは 11 月の中旬から後半になる予定です。

    セキュリティ・バグフィックスアップデート

    9月から10月にかけては、Vine Linux 5 のセキュリティアップデートが8件、バグフィックスアップデートが1件ありました。

    セキュリティアップデート
    Vine Linux 5: sudo, firefox, xulrunner, thunderbird, samba, kernel, freetype2, bzip2, dovecot, poppler
    バグフィックスアップデート
    xorg-x11-drv-intel

    xorg-x11-drv-intel と kernel の更新により GMA3150 で intel ドライバが利用できるようになったため、今まで Vine 5.1 ではうまく動作していなかった一部のハードウェアが動作するようになりました。この変更は Vine Linux 5.2 にも反映されます。
    firefox, xulrunner, thunderbird については上記のアップデート以降、既に2回セキュリティフィックスがリリースされており、現在 5.1 向けの security fix パッケージがテスト中です。テストが済み次第 errata が発行されます。

    パッケージ紹介

    VinePlus 5 に新規に追加されたパッケージ、大幅に更新されたパッケージを紹介します。

    新規パッケージ

    dar
    tar (GNU ファイルアーカイブプログラム)を改善した、強化版とも言えるコマンドラインツールです。BTS の要望に答える形でパッケージが作成されました。
    wmctrl
    コマンドラインから、ウィンドウの移動やリサイズ、ワークスペースの移動やフルスクリーンの切り替えといった操作が行えるツールです。
    nemiver
    GNOME デスクトップ向けの gdb のフロントエンドで、マウスでクリックするだけでそれなりに使える GUI 付きのデバッガです。

    更新パッケージ

    sane, xsane
    スキャナ操作のツールとそのフロントエンドです。パッケージング週間で更新の要望があがっていたこともあり、今回大幅にバージョンがアップしています。これにより比較的新しいハードウェアへの対応も改善されています。

    VineSeed では、rpm-4.8.1 への更新に伴い依存情報の生成方法が変わったことを受けて、-debel サブパッケージを提供しているパッケージのリビルドが必要となったことから、大量のリビルド作業が実施されました。また gnome-2.32.0 が投入されデスクトップ関連の更新が大量に入っています。今回は短期間に1000を超えるパッケージが更新されたりしましたが、その割には安定して動作しているようです。

    このほかにも様々なパッケージがアップデートされていますし、開発版の VineSeed にはより多くの新規パッケージが投入されています。
    これらについては今後も順次紹介していきたいと思います。

    おわりに

    Vine Linux Magazine では、Vine Linux に関する様々な情報、小ネタ、Tips、ノウハウ/バッドノウハウ、活用事例などを書いていただけるかたを募集しています。
    また、「XXの記事を書いて欲しい」などのご要望などもお待ちしておりますので、ML, IRC や個別メールなどでお知らせください。

    ]]>
    オープンソースカンファレンス 2010 Tokyo/Fall 参加レポート http://vinelinux.org/vlmagazine/20100929.html <![CDATA[

    Project Vine は、 9/10, 9/11 に開催されました オープンソースカンファレンス 2010 Tokyo/Fall(以下、OSC 2010 Tokyo/Fall)に参加しました。 今回は、OSC 2010 Tokyo/Fall の参加レポートと一緒に、 9/11 に行ったセミナーの発表を文面でお伝えします。

    オープンソースカンファレンス 2010 Tokyo/Fall に参加してきました!

    1 日目の活動はブースのみでした。 参加スタッフの都合上、 この日にメディア配布ができない状態になってしまいました。 これではマズイということで、 前日に Project Vine 代表の鈴木さんが「Vine Linux 5 USB Live system」を作成して下さいました。

    「Vine Linux 5 USB Live system」とは、 通常ハードディスクにインストールする Vine Linux 5 を USB メモリにインストールし、 Vine Linux 5 を USB メモリからブートできるようにしたものです。 これは、単に Vine Linux 5 を USB メモリにインストールしたものではなく、 ライブ USB に特化した調整が施されています。

    「Vine Linux 5 USB Live system」は、現段階ではお試し版ですが、 近い将来に公開する予定をしております。

    2 日目の活動は、ブースとセミナーでした。 この日からようやく Vine Linux 5.1 Respin 版のインストールメディアの配布ができるようになりました。 Vine Linux 5.1 Respin 版は、Vine Linux 5.1 + 5.1 リリース後から現時点までのアップデートを適応したものです。 i386 版と x86_64 版のインストールメディアを 100 枚ほど用意しましたが、 i386 版の方を持っていかれる方が多かったです。 最終的には 70, 80 枚程度のインストールメディアを配布できました。 インストールメディアの配布と同時におこなっていた 「Vine Linux 5 USB Live system」作成サービスは 5 名の方がご利用下さいました。

    「私の Vine Linux 5 デスクトップを見せます!」

    セミナーの発表を記事にしました。 セミナーの時間の都合上、話し切れなかった内容も盛りこんでおります。

    Vine Linux 5デスクトップ再入門

    Vine Linux 5 は、 2009 年 9 月 24 日に 5.0 リリース、 2010 年 2 月 26 日に 5.1 リリースをしました。 そして、5.2 は来月(2010 年 10 月)にリリースを予定しております。 Vine Linux 5 がリリースされてから、約 1 年が経ちました。 この間に、新しいソフトウェアも多数登場し、 デスクトップ環境もずいぶんと変化しております。

    Vine Linux マニュアル

    Vine Linux 5 の「Vine Linux マニュアル」は現在調整中です。 先日開催しました Vine Linux ユーザの集い 2010.08―みんなでドキュメント更新大会での成果やアイデアが盛り込まれる予定です。

    アプリケーションの追加と削除

    Vine Linux 5.0 がリリースされてからこれまで追加された新しいデスクトップ向けのアプリケーションを、「アプリケーションの追加と削除」に追加していきます。

    3 つの営み

    本セミナーのテーマ "パーソナルユースの活用事例の紹介" として、 (私の独断と偏見がかなりはいっておりますが、) 次の "3 つの営み" に焦点を当てて、 新しいデスクトップ向けのアプリケーションをご紹介します。

    文章を綴る

    当日のセミナーでは、アイコンだけを順番に表示させて、 会場に「このアイコンのアプリケーションは何でしょうか?」を投げておりました。

    ibus-mozc

    Vine Linux 5 をインストールすると、 デフォルトの漢字変換システムは SCIM + Anthy になっています。 ここ 1 年くらいの間、 SCIM に代わるといってもよい入力メソッドフレームワーク iBus が安定して使用できるようになりました。 また、Google が発表したオープンソースな日本語入力 Mozc(モズク)が使えるようになり、 快適な日本語変換の定番となりつつあります。

    デフォルトの漢字変換システムは SCIM + Anthy から、 iBus + Mozc への変更方法をご紹介します。

    まず、Synaptics や apt-get を用いて、 ibus, ibus-mozc, ibus-qt パッケージをインストールします。

    $ sudo apt-get install ibus ibus-mozc ibus-qt
    

    Emacs で iBus を使いたい方は、ibus-el パッケージもインストールして下さい。

    [システム] → [設定] → [ユーザ向け] → [漢字変換システムの選択] を実行します。

    入力方式 ibus を選択して、[ OK ] を押します。

    iBus を利用するための設定が完了しますので、 一度ログアウトしてから、ログインし直して下さい。

    なお、コマンドラインからも ibus に変更できます。以下のコマンドを実行するだけです。

    $ setime ibus
    

    ログインして、システムトレイの iBus のアイコンを右クリックして、 [設定] を選択します。

    iBus の設定で、インプットメソッド タブを選択し、インプットメソッドの選択から、日本語 → Mozc を選択します。

    Mozc が選択されたことを確認したら、[ 追加(A) ] ボタンを押すと、インプットメソッドに 日本語 - Mozc が追加されます。

    これで、iBus + Mozc が使えるようになっています。Mozc の変換精度をお試し下さい。

    OpenOffice.org

    Synaptic の アプリケーション/オフィスツールには、 OpenOffice.org v2.4.1 がパッケージとして一応存在します。

    しかし、OpenOffice.org の最新版は v3.2.1 になっており、 OpenOffice.org v2.4.1 は古くて少々使いにくいかと思います。

    Vine Linux 5 では、OpenOffice.org をベースに機能拡張した Go-oo のユニバーサルバイナリ版を install-assist-Go-oo パッケージによりインストールできます。

    $ sudo apt-get install install-assist-Go-oo
    

    Vine Linux 5.2 がリリースされる頃には、 「アプリケーションの追加と削除」からでも install-assist-Go-oo パッケージがインストールできるようになる見込みです。

    TeXworks

    新しい TeX ディストリビューション TeX Live に標準搭載されてている TeXworks は、新しい TeX ドキュメント制作環境です。 UTF-8 で編集する TeX に特化したエディタ(左側ウィンドウ)に、 PDF プレビュアー(右側ウィンドウ)が統合されており、 簡潔で操作しやすいインタフェースを備えています。

    \documentclass{jsarticle}
    \usepackage{otf}
    \begin{document}
    森\UTF{9DD7}外と内田百\UTF{9592}とが\UTF{9AD9}島屋に行くところを想像した。
    
    \CID{7652}飾区の\CID{13706}野屋
    \end{document}
    

    texworks パッケージだけでは使えません。 TeX 環境をあらかじめ構築しておく必要があります。 Vine Linux 5 であれば、task-tetex をインストールすると一通りの環境が整います。

    $ sudo apt-get install task-tetex texworks
    

    Web と親しむ

    firefox ≠ Fx for Vine Linux???

    Mozilla Firefox のソースコードはオープンソースですが、 Mozilla Foundation が Firefox®、Firefox ロゴの商標を所有している(Mozilla ライセンス・商標ポリシー)ため、 firefox と同じソースコードで独自ビルドしたバイナリ "firefox" は許諾を得ない限り Firefox と名乗れません。 以前は、コミュニティエディションが許されていたので Vine Linux でも "Firefox コミュニティエディション" と名乗っていましたが、 現在では、unofficial build として、 Fx for Vine Linux という名前になっています([VineSeed:19638])。

    Google Chrome が登場してから、 私は Fx for Vine Linux をアドオンのための "Web アプリケーション端末" として使っているだけです。

    Google Chrome

    Vine Linux 5 でも Google Chrome を使いたいということで、 さっそくダウンロードしてインストールなさった方も多いと思います。

    $ rpm -qp google-chrome-stable_current_i386.rpm 
    警告: google-chrome-stable_current_i386.rpm: ヘッダ V3 DSA 署名: NOKEY, key ID 7fac5991
    google-chrome-stable-6.0.472.55-58392
    $ sudo apt-get install google-chrome-stable_current_i386.rpm 
    パッケージリストを読みこんでいます... 完了
    依存情報ツリーを作成しています... 完了        
    'google-chrome-stable_current_i386.rpm' として google-chrome-stable を選択しました
    以下のパッケージが新たにインストールされます:
      google-chrome-stable
    アップグレード: 0 個, 新規インストール: 1 個, 削除: 0 個, 保留: 0 個
    0B/27.1MB のアーカイブを取得する必要があります。
    展開後に 73.8MB のディスク容量が追加消費されます。
    変更を適用しています...
    準備中                                ############################## [100%]
    更新/インストール中
      google-chrome-stable-6.0.472.55-58392. ############################## [100%]
    job 2 at Mon Sep 20 17:34:00 2010
    完了
    

    google-chrome を実行してみます。

    $ google-chrome 
    /usr/bin/google-chrome: /usr/lib/libz.so.1: no version information available (required by /usr/bin/google-chrome)
    /usr/bin/google-chrome: /usr/lib/libz.so.1: no version information available (required by /usr/bin/google-chrome)
    /usr/bin/google-chrome: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by /usr/bin/google-chrome)
    

    アレ??? google-chrome が動きませんね。

    $ strings /usr/lib/libstdc++.so.6 | grep GLIBCXX
    GLIBCXX_3.4
    GLIBCXX_3.4.1
    GLIBCXX_3.4.2
    GLIBCXX_3.4.3
    GLIBCXX_3.4.4
    GLIBCXX_3.4.5
    GLIBCXX_3.4.6
    GLIBCXX_3.4.7
    GLIBCXX_3.4.8
    GLIBCXX_FORCE_NEW
    

    ということで、Vine Linux 5 では Google Chrome が動きません(泣

    Chromium

    Google Chrome のベースになっている Google のオープンソースウェブブラウザ Chromium を Vine Linux 5 で提供できるようになりました。

    Synaptic や apt-get を用いて、 chromium パッケージをインストールすると、すぐに利用できます。

    $ sudo apt-get install chromium
    

    Adobe Flash Player

    Flash は多くのサイトで使用されており、 Flash Player がインストールされていないと、 何かと Web ブラウジングに支障をきたしてしまうことでしょう。

    Vine Linux 5 を紹介していただいているいくつかのサイトでは、 Adobe Flash Player の rpm を直接ダウンロードしてインストールしているという記事をしばしば見かけます。

    Vine Linux 5 では、install-assist-flash-plugin パッケージを用意しております。 このパッケージをインストールすることで、 自動的に Adobe のサイトから flash-player の rpm を取得し、 いくつかの依存関係も解決し、取得した rpm をインストールをします。

    $ sudo apt-get install install-assist-flash-plugin
    

    install-assist-flash-plugin を利用して flash-plugin をインストールしておくと、 手動で flash-plugin の更新管理をせずに済みます。 また、x86_64 では現状で 32bit 版 flash-plugin を利用せざるをえないため、 いくつかの 32bit ライブラリ(compat32-* パッケージ)の依存関係を解決したり、 後処理をしないといけませんが、 install-assist-flash-plugin はそのような煩わしい処理をすべてやってくれます。

    その他の install-assist パッケージ

    Adobe ReaderAdobe AIR の install-assist パッケージも用意されています。 これらもあわせてご利用下さい。

    • Adobe Reader: install-assist-AdobeReader_jpn
    • Adobe AIR: install-assist-AdobeAIR

    映像や音楽を楽しむ

    Vine Linux では、ソフトウェア特許に絡むマルチメディア形式に対応するために、 self-build により手元の環境でライブラリをビルドすることにより、サポートしています。

    MPlayer

    MPlayer はコマンドラインベースの動画プレイヤです。 MPlayer をコマンドラインから毎回制御するのは面倒ですので、 通常 GUI フロントエンドを利用します。 Vine Linux 5 では、以下の 3 つの MPlayer フロントエンドが利用できます。

    私がオススメする MPlayer の GUI フロントエンドは、 Gnome MPlayer です。 gmplayer では、あまりに非力すぎます。 SMPlayer は Gnome MPlayer よりも見た目はクールですが、 Gnome MPlayer よりもメモリを少し多く消費します。

    VLC media player, Totem 動画プレイヤー

    VLC media player もオススメしたい動画プレイヤです。 大抵のマルチメディア形式ならば、再生してくれるでしょう。

    Totem 動画プレイヤー は、 Gnome デスクトップ向けのシンプルなマルチメディアプレイヤーです。 self-build-xine-lib-extras もあわせてインストールしておけば、 多くのマルチメディア形式を再生できるでしょう。

    Rhythmbox

    Rhythmbox は、 iTunes の影響を強く受けていると思われる音楽管理アプリケーションです。 比較的軽快に動作してくれます。 self-build-gstreamer-plugins-ugly, self-build-gstreamer-plugins-ffmpeg もあわせてインストールしておけば、多くの音楽形式を再生できるでしょう。

    もちろん、gnome-mplayer, vlc, totemm-xine などでも、楽曲を再生できます。

    「Vine Linux 5 USB Live system」の紹介

    Vine Linux 5 USB Live system のデモンストレーションを鈴木さんにしていただきました。 このデモ中にジャンケン大会をしまして、 ジャンケンに勝った 2 名の方に Vine Linux 5 USB Live system 導入済み USB メモリをプレゼントしました。

    We love Vine Linux!

    Thank you.

    ]]>
    2010-09-29T00:00:00+09:00 <![CDATA[

    Project Vine は、 9/10, 9/11 に開催されました オープンソースカンファレンス 2010 Tokyo/Fall(以下、OSC 2010 Tokyo/Fall)に参加しました。 今回は、OSC 2010 Tokyo/Fall の参加レポートと一緒に、 9/11 に行ったセミナーの発表を文面でお伝えします。

    オープンソースカンファレンス 2010 Tokyo/Fall に参加してきました!

    1 日目の活動はブースのみでした。 参加スタッフの都合上、 この日にメディア配布ができない状態になってしまいました。 これではマズイということで、 前日に Project Vine 代表の鈴木さんが「Vine Linux 5 USB Live system」を作成して下さいました。

    「Vine Linux 5 USB Live system」とは、 通常ハードディスクにインストールする Vine Linux 5 を USB メモリにインストールし、 Vine Linux 5 を USB メモリからブートできるようにしたものです。 これは、単に Vine Linux 5 を USB メモリにインストールしたものではなく、 ライブ USB に特化した調整が施されています。

    「Vine Linux 5 USB Live system」は、現段階ではお試し版ですが、 近い将来に公開する予定をしております。

    2 日目の活動は、ブースとセミナーでした。 この日からようやく Vine Linux 5.1 Respin 版のインストールメディアの配布ができるようになりました。 Vine Linux 5.1 Respin 版は、Vine Linux 5.1 + 5.1 リリース後から現時点までのアップデートを適応したものです。 i386 版と x86_64 版のインストールメディアを 100 枚ほど用意しましたが、 i386 版の方を持っていかれる方が多かったです。 最終的には 70, 80 枚程度のインストールメディアを配布できました。 インストールメディアの配布と同時におこなっていた 「Vine Linux 5 USB Live system」作成サービスは 5 名の方がご利用下さいました。

    「私の Vine Linux 5 デスクトップを見せます!」

    セミナーの発表を記事にしました。 セミナーの時間の都合上、話し切れなかった内容も盛りこんでおります。

    Vine Linux 5デスクトップ再入門

    Vine Linux 5 は、 2009 年 9 月 24 日に 5.0 リリース、 2010 年 2 月 26 日に 5.1 リリースをしました。 そして、5.2 は来月(2010 年 10 月)にリリースを予定しております。 Vine Linux 5 がリリースされてから、約 1 年が経ちました。 この間に、新しいソフトウェアも多数登場し、 デスクトップ環境もずいぶんと変化しております。

    Vine Linux マニュアル

    Vine Linux 5 の「Vine Linux マニュアル」は現在調整中です。 先日開催しました Vine Linux ユーザの集い 2010.08―みんなでドキュメント更新大会での成果やアイデアが盛り込まれる予定です。

    アプリケーションの追加と削除

    Vine Linux 5.0 がリリースされてからこれまで追加された新しいデスクトップ向けのアプリケーションを、「アプリケーションの追加と削除」に追加していきます。

    3 つの営み

    本セミナーのテーマ "パーソナルユースの活用事例の紹介" として、 (私の独断と偏見がかなりはいっておりますが、) 次の "3 つの営み" に焦点を当てて、 新しいデスクトップ向けのアプリケーションをご紹介します。

    文章を綴る

    当日のセミナーでは、アイコンだけを順番に表示させて、 会場に「このアイコンのアプリケーションは何でしょうか?」を投げておりました。

    ibus-mozc

    Vine Linux 5 をインストールすると、 デフォルトの漢字変換システムは SCIM + Anthy になっています。 ここ 1 年くらいの間、 SCIM に代わるといってもよい入力メソッドフレームワーク iBus が安定して使用できるようになりました。 また、Google が発表したオープンソースな日本語入力 Mozc(モズク)が使えるようになり、 快適な日本語変換の定番となりつつあります。

    デフォルトの漢字変換システムは SCIM + Anthy から、 iBus + Mozc への変更方法をご紹介します。

    まず、Synaptics や apt-get を用いて、 ibus, ibus-mozc, ibus-qt パッケージをインストールします。

    $ sudo apt-get install ibus ibus-mozc ibus-qt
    

    Emacs で iBus を使いたい方は、ibus-el パッケージもインストールして下さい。

    [システム] → [設定] → [ユーザ向け] → [漢字変換システムの選択] を実行します。

    入力方式 ibus を選択して、[ OK ] を押します。

    iBus を利用するための設定が完了しますので、 一度ログアウトしてから、ログインし直して下さい。

    なお、コマンドラインからも ibus に変更できます。以下のコマンドを実行するだけです。

    $ setime ibus
    

    ログインして、システムトレイの iBus のアイコンを右クリックして、 [設定] を選択します。

    iBus の設定で、インプットメソッド タブを選択し、インプットメソッドの選択から、日本語 → Mozc を選択します。

    Mozc が選択されたことを確認したら、[ 追加(A) ] ボタンを押すと、インプットメソッドに 日本語 - Mozc が追加されます。

    これで、iBus + Mozc が使えるようになっています。Mozc の変換精度をお試し下さい。

    OpenOffice.org

    Synaptic の アプリケーション/オフィスツールには、 OpenOffice.org v2.4.1 がパッケージとして一応存在します。

    しかし、OpenOffice.org の最新版は v3.2.1 になっており、 OpenOffice.org v2.4.1 は古くて少々使いにくいかと思います。

    Vine Linux 5 では、OpenOffice.org をベースに機能拡張した Go-oo のユニバーサルバイナリ版を install-assist-Go-oo パッケージによりインストールできます。

    $ sudo apt-get install install-assist-Go-oo
    

    Vine Linux 5.2 がリリースされる頃には、 「アプリケーションの追加と削除」からでも install-assist-Go-oo パッケージがインストールできるようになる見込みです。

    TeXworks

    新しい TeX ディストリビューション TeX Live に標準搭載されてている TeXworks は、新しい TeX ドキュメント制作環境です。 UTF-8 で編集する TeX に特化したエディタ(左側ウィンドウ)に、 PDF プレビュアー(右側ウィンドウ)が統合されており、 簡潔で操作しやすいインタフェースを備えています。

    \documentclass{jsarticle}
    \usepackage{otf}
    \begin{document}
    森\UTF{9DD7}外と内田百\UTF{9592}とが\UTF{9AD9}島屋に行くところを想像した。
    
    \CID{7652}飾区の\CID{13706}野屋
    \end{document}
    

    texworks パッケージだけでは使えません。 TeX 環境をあらかじめ構築しておく必要があります。 Vine Linux 5 であれば、task-tetex をインストールすると一通りの環境が整います。

    $ sudo apt-get install task-tetex texworks
    

    Web と親しむ

    firefox ≠ Fx for Vine Linux???

    Mozilla Firefox のソースコードはオープンソースですが、 Mozilla Foundation が Firefox®、Firefox ロゴの商標を所有している(Mozilla ライセンス・商標ポリシー)ため、 firefox と同じソースコードで独自ビルドしたバイナリ "firefox" は許諾を得ない限り Firefox と名乗れません。 以前は、コミュニティエディションが許されていたので Vine Linux でも "Firefox コミュニティエディション" と名乗っていましたが、 現在では、unofficial build として、 Fx for Vine Linux という名前になっています([VineSeed:19638])。

    Google Chrome が登場してから、 私は Fx for Vine Linux をアドオンのための "Web アプリケーション端末" として使っているだけです。

    Google Chrome

    Vine Linux 5 でも Google Chrome を使いたいということで、 さっそくダウンロードしてインストールなさった方も多いと思います。

    $ rpm -qp google-chrome-stable_current_i386.rpm 
    警告: google-chrome-stable_current_i386.rpm: ヘッダ V3 DSA 署名: NOKEY, key ID 7fac5991
    google-chrome-stable-6.0.472.55-58392
    $ sudo apt-get install google-chrome-stable_current_i386.rpm 
    パッケージリストを読みこんでいます... 完了
    依存情報ツリーを作成しています... 完了        
    'google-chrome-stable_current_i386.rpm' として google-chrome-stable を選択しました
    以下のパッケージが新たにインストールされます:
      google-chrome-stable
    アップグレード: 0 個, 新規インストール: 1 個, 削除: 0 個, 保留: 0 個
    0B/27.1MB のアーカイブを取得する必要があります。
    展開後に 73.8MB のディスク容量が追加消費されます。
    変更を適用しています...
    準備中                                ############################## [100%]
    更新/インストール中
      google-chrome-stable-6.0.472.55-58392. ############################## [100%]
    job 2 at Mon Sep 20 17:34:00 2010
    完了
    

    google-chrome を実行してみます。

    $ google-chrome 
    /usr/bin/google-chrome: /usr/lib/libz.so.1: no version information available (required by /usr/bin/google-chrome)
    /usr/bin/google-chrome: /usr/lib/libz.so.1: no version information available (required by /usr/bin/google-chrome)
    /usr/bin/google-chrome: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by /usr/bin/google-chrome)
    

    アレ??? google-chrome が動きませんね。

    $ strings /usr/lib/libstdc++.so.6 | grep GLIBCXX
    GLIBCXX_3.4
    GLIBCXX_3.4.1
    GLIBCXX_3.4.2
    GLIBCXX_3.4.3
    GLIBCXX_3.4.4
    GLIBCXX_3.4.5
    GLIBCXX_3.4.6
    GLIBCXX_3.4.7
    GLIBCXX_3.4.8
    GLIBCXX_FORCE_NEW
    

    ということで、Vine Linux 5 では Google Chrome が動きません(泣

    Chromium

    Google Chrome のベースになっている Google のオープンソースウェブブラウザ Chromium を Vine Linux 5 で提供できるようになりました。

    Synaptic や apt-get を用いて、 chromium パッケージをインストールすると、すぐに利用できます。

    $ sudo apt-get install chromium
    

    Adobe Flash Player

    Flash は多くのサイトで使用されており、 Flash Player がインストールされていないと、 何かと Web ブラウジングに支障をきたしてしまうことでしょう。

    Vine Linux 5 を紹介していただいているいくつかのサイトでは、 Adobe Flash Player の rpm を直接ダウンロードしてインストールしているという記事をしばしば見かけます。

    Vine Linux 5 では、install-assist-flash-plugin パッケージを用意しております。 このパッケージをインストールすることで、 自動的に Adobe のサイトから flash-player の rpm を取得し、 いくつかの依存関係も解決し、取得した rpm をインストールをします。

    $ sudo apt-get install install-assist-flash-plugin
    

    install-assist-flash-plugin を利用して flash-plugin をインストールしておくと、 手動で flash-plugin の更新管理をせずに済みます。 また、x86_64 では現状で 32bit 版 flash-plugin を利用せざるをえないため、 いくつかの 32bit ライブラリ(compat32-* パッケージ)の依存関係を解決したり、 後処理をしないといけませんが、 install-assist-flash-plugin はそのような煩わしい処理をすべてやってくれます。

    その他の install-assist パッケージ

    Adobe ReaderAdobe AIR の install-assist パッケージも用意されています。 これらもあわせてご利用下さい。

    • Adobe Reader: install-assist-AdobeReader_jpn
    • Adobe AIR: install-assist-AdobeAIR

    映像や音楽を楽しむ

    Vine Linux では、ソフトウェア特許に絡むマルチメディア形式に対応するために、 self-build により手元の環境でライブラリをビルドすることにより、サポートしています。

    MPlayer

    MPlayer はコマンドラインベースの動画プレイヤです。 MPlayer をコマンドラインから毎回制御するのは面倒ですので、 通常 GUI フロントエンドを利用します。 Vine Linux 5 では、以下の 3 つの MPlayer フロントエンドが利用できます。

    私がオススメする MPlayer の GUI フロントエンドは、 Gnome MPlayer です。 gmplayer では、あまりに非力すぎます。 SMPlayer は Gnome MPlayer よりも見た目はクールですが、 Gnome MPlayer よりもメモリを少し多く消費します。

    VLC media player, Totem 動画プレイヤー

    VLC media player もオススメしたい動画プレイヤです。 大抵のマルチメディア形式ならば、再生してくれるでしょう。

    Totem 動画プレイヤー は、 Gnome デスクトップ向けのシンプルなマルチメディアプレイヤーです。 self-build-xine-lib-extras もあわせてインストールしておけば、 多くのマルチメディア形式を再生できるでしょう。

    Rhythmbox

    Rhythmbox は、 iTunes の影響を強く受けていると思われる音楽管理アプリケーションです。 比較的軽快に動作してくれます。 self-build-gstreamer-plugins-ugly, self-build-gstreamer-plugins-ffmpeg もあわせてインストールしておけば、多くの音楽形式を再生できるでしょう。

    もちろん、gnome-mplayer, vlc, totemm-xine などでも、楽曲を再生できます。

    「Vine Linux 5 USB Live system」の紹介

    Vine Linux 5 USB Live system のデモンストレーションを鈴木さんにしていただきました。 このデモ中にジャンケン大会をしまして、 ジャンケンに勝った 2 名の方に Vine Linux 5 USB Live system 導入済み USB メモリをプレゼントしました。

    We love Vine Linux!

    Thank you.

    ]]>
    Vine Linux Magazine 2010.08 http://vinelinux.org/vlmagazine/20100907.html <![CDATA[

    先月から始まったVine Linux Managizeでは、新しく追加・更新されたパッケージの一部紹介や開発状況の紹介などを 行うことになりました。毎回持ち回りで行うため、筆者の興味によって内容は大きく異なる場合があると思います。

    では、1週間遅れになりましたが、8月のニュースから紹介していきます。

    ニュース

    Vine Linux 4.2がEOLに
    ひとつ前のメジャーバージョンであるVine Linux 4.xは、2006年11月に最初のバージョン4.0がリリースされ、続いて2007年2月に4.1が、2007年12月に4.2がリリースされました。
    2009年8月に次のメジャーバージョンである5.0がリリースされたあとも、Vine Linux 4.2向けバグ修正・セキュリティ修正パッケージが提供されてきましたが、「次のメジャーバージョンがリリースされてから1年経過」(「Errata 発行期間について」より)しましたので、2010年8月24日をもってVine Linux 4.2のバグ修正・セキュリティ修正パッケージの更新を終了しました。
    同時に、VinePlus 4.x(Vine Linux 4.2用追加パッケージ集)の新規パッケージの追加、およびパッケージの更新を終了しました(ftp incomingをcloseしています)。
    Vine Linux 4.2をお使いの方は、更新パッケージの提供があるVine Linux 5.1への更新をおすすめします。
    Vine Linuxユーザの集い2010.08が開催される
    8月28日、「みんなでドキュメント更新大会」と銘打ち、千葉市ビジネス支援センターの会議室を借りて集まり、めいめいがVine Linux関連のドキュメント更新作業を行いました。
    Vine Linuxのマニュアルやwebサイトの更新に留まらず、各種パッケージの日本語化ファイル(ja.po)やパッケージのspecファイルの日本語化、Trac/Wikiの整理など、参加者全員が分担して黙々と作業を行いました。
    また、Vine Linuxドキュメントチームリーダの赤星氏からは、「ドキュメントチームの現状と今後について」と題したプレゼンが行われました。
    Vine Linuxでは、各種ドキュメントの整備、翻訳など、ドキュメントを更に充実させていきます。協力して下さる方も随時募集しておりますので、奮ってご参加ください。
    TeX LiveがVineSeedに投入される
    8月10日、Vine Linuxの開発版であるVineSeedに、満を持してTex Liveが投入されました。Vine Linux 5.xで採用されているteTeX-3.0を置き換えるもので、次期リリースのVine Linux 6に向けて、懸案であった最新のTeX環境への移行が完了しました。
    次期Vine LinuxにおけるTeX環境の詳細については、Wikiをご覧下さい。
    オープンソースカンファレンス2010 Tokyo/Fallへの準備は着々と
    9月10,11日に開催されるOSC2010 Tokyo/Fallへ参加し、ブースでの展示 やアップデート済Vine Linux 5.1 DVDの配布、セミナーなどを行ないます。
    9/11の土曜日夜にはVine Linux ユーザ懇親会も開催予定ですので、みなさん奮ってご参加ください。
    Vine Linux 5.2
    Vine Linux 5 の最新版5.2は、2010年10月頃のリリースに向けて引き続き調整中です。

    セキュリティ・バグフィックスアップデート

    8月は、Vine Linux 5 のセキュリティアップデートが10件Vine Linux 4のセキュリティアップデートが9件ありました。

    セキュリティアップデート
    Vine Linux 5: kernel, ghostscript, apache2, freetype2, pidgin, avahi, perl-libwww-perl, perl, openldap, lftp
    Vine Linux 4: samba, poppler, xpdf, pidgin, avahi, libvorbis, dbus, neon, expat
    バグフィックスアップデート
    (今月はありませんでした)

    Vine Linux 4に収録されていたインスタントメッセンジャーgaimは、アップストリームでpidginと名称が変更されており、gaimの最終リリースベースのままではセキュリティ修正が困難になってきたため、今回のアップデートに伴いpidginへと置き換えることになりました。

    パッケージ紹介

    VinePlus 5 に新規に追加されたパッケージ、大幅に更新されたパッケージを紹介します。

    新規パッケージ

    Docky
    Mac OS X のドックによく似たアプリケーションランチャーです。コンポジットウィンドウマネージャが必須ですので、compizかxcompmgr、cairo-compmgrのどれかを実行しておく必要があります。
    freeciv
    「シヴィライゼーション」風のゲームです。
    dos2unix
    テキストファイル中の改行コードを、DOS(CR+LF)、Mac(CR)、Unix(LF) 間で相互変換するためのツールです。
    install-assist-AdobeAIR
    Adobe AIRのインストールに必要なrpmファイルを自動的にダウンロードし、インストールを行ってくれるパッケージです。

    先月新規パッケージとして紹介されたChromiumは、さっそく7.0.513.0へとアップデートされています。

    VineSeed では、kernel-2.6.35が投入されました。当初はi686環境でうまく起動できない問題がありましたが、アップストリームで修正され、現在VineSeedに入っている2.6.35-3vl6(2.6.35.4ベース)では安定して動作しているようです。

    このほかにも様々なパッケージがアップデートされていますし、 開発版の VineSeed にはより多くの新規パッケージが投入されています。 今回は残念ながら書ききれませんでしたが、今後機会があったら順次紹介していきたいと思います。

    おわりに

    Vine Linux Magazine では、Vine Linux に関する様々な情報、小ネタ、Tips、ノウハウ/バッドノウハウ、 活用事例などを書いていただけるかたを募集しています。また、「XXの記事を書いて欲しい」などのご要望 などもお待ちしておりますので、ML, IRC や個別メールなどでお知らせください。

    ]]>
    2010-09-07T00:00:00+09:00 <![CDATA[

    先月から始まったVine Linux Managizeでは、新しく追加・更新されたパッケージの一部紹介や開発状況の紹介などを 行うことになりました。毎回持ち回りで行うため、筆者の興味によって内容は大きく異なる場合があると思います。

    では、1週間遅れになりましたが、8月のニュースから紹介していきます。

    ニュース

    Vine Linux 4.2がEOLに
    ひとつ前のメジャーバージョンであるVine Linux 4.xは、2006年11月に最初のバージョン4.0がリリースされ、続いて2007年2月に4.1が、2007年12月に4.2がリリースされました。
    2009年8月に次のメジャーバージョンである5.0がリリースされたあとも、Vine Linux 4.2向けバグ修正・セキュリティ修正パッケージが提供されてきましたが、「次のメジャーバージョンがリリースされてから1年経過」(「Errata 発行期間について」より)しましたので、2010年8月24日をもってVine Linux 4.2のバグ修正・セキュリティ修正パッケージの更新を終了しました。
    同時に、VinePlus 4.x(Vine Linux 4.2用追加パッケージ集)の新規パッケージの追加、およびパッケージの更新を終了しました(ftp incomingをcloseしています)。
    Vine Linux 4.2をお使いの方は、更新パッケージの提供があるVine Linux 5.1への更新をおすすめします。
    Vine Linuxユーザの集い2010.08が開催される
    8月28日、「みんなでドキュメント更新大会」と銘打ち、千葉市ビジネス支援センターの会議室を借りて集まり、めいめいがVine Linux関連のドキュメント更新作業を行いました。
    Vine Linuxのマニュアルやwebサイトの更新に留まらず、各種パッケージの日本語化ファイル(ja.po)やパッケージのspecファイルの日本語化、Trac/Wikiの整理など、参加者全員が分担して黙々と作業を行いました。
    また、Vine Linuxドキュメントチームリーダの赤星氏からは、「ドキュメントチームの現状と今後について」と題したプレゼンが行われました。
    Vine Linuxでは、各種ドキュメントの整備、翻訳など、ドキュメントを更に充実させていきます。協力して下さる方も随時募集しておりますので、奮ってご参加ください。
    TeX LiveがVineSeedに投入される
    8月10日、Vine Linuxの開発版であるVineSeedに、満を持してTex Liveが投入されました。Vine Linux 5.xで採用されているteTeX-3.0を置き換えるもので、次期リリースのVine Linux 6に向けて、懸案であった最新のTeX環境への移行が完了しました。
    次期Vine LinuxにおけるTeX環境の詳細については、Wikiをご覧下さい。
    オープンソースカンファレンス2010 Tokyo/Fallへの準備は着々と
    9月10,11日に開催されるOSC2010 Tokyo/Fallへ参加し、ブースでの展示 やアップデート済Vine Linux 5.1 DVDの配布、セミナーなどを行ないます。
    9/11の土曜日夜にはVine Linux ユーザ懇親会も開催予定ですので、みなさん奮ってご参加ください。
    Vine Linux 5.2
    Vine Linux 5 の最新版5.2は、2010年10月頃のリリースに向けて引き続き調整中です。

    セキュリティ・バグフィックスアップデート

    8月は、Vine Linux 5 のセキュリティアップデートが10件Vine Linux 4のセキュリティアップデートが9件ありました。

    セキュリティアップデート
    Vine Linux 5: kernel, ghostscript, apache2, freetype2, pidgin, avahi, perl-libwww-perl, perl, openldap, lftp
    Vine Linux 4: samba, poppler, xpdf, pidgin, avahi, libvorbis, dbus, neon, expat
    バグフィックスアップデート
    (今月はありませんでした)

    Vine Linux 4に収録されていたインスタントメッセンジャーgaimは、アップストリームでpidginと名称が変更されており、gaimの最終リリースベースのままではセキュリティ修正が困難になってきたため、今回のアップデートに伴いpidginへと置き換えることになりました。

    パッケージ紹介

    VinePlus 5 に新規に追加されたパッケージ、大幅に更新されたパッケージを紹介します。

    新規パッケージ

    Docky
    Mac OS X のドックによく似たアプリケーションランチャーです。コンポジットウィンドウマネージャが必須ですので、compizかxcompmgr、cairo-compmgrのどれかを実行しておく必要があります。
    freeciv
    「シヴィライゼーション」風のゲームです。
    dos2unix
    テキストファイル中の改行コードを、DOS(CR+LF)、Mac(CR)、Unix(LF) 間で相互変換するためのツールです。
    install-assist-AdobeAIR
    Adobe AIRのインストールに必要なrpmファイルを自動的にダウンロードし、インストールを行ってくれるパッケージです。

    先月新規パッケージとして紹介されたChromiumは、さっそく7.0.513.0へとアップデートされています。

    VineSeed では、kernel-2.6.35が投入されました。当初はi686環境でうまく起動できない問題がありましたが、アップストリームで修正され、現在VineSeedに入っている2.6.35-3vl6(2.6.35.4ベース)では安定して動作しているようです。

    このほかにも様々なパッケージがアップデートされていますし、 開発版の VineSeed にはより多くの新規パッケージが投入されています。 今回は残念ながら書ききれませんでしたが、今後機会があったら順次紹介していきたいと思います。

    おわりに

    Vine Linux Magazine では、Vine Linux に関する様々な情報、小ネタ、Tips、ノウハウ/バッドノウハウ、 活用事例などを書いていただけるかたを募集しています。また、「XXの記事を書いて欲しい」などのご要望 などもお待ちしておりますので、ML, IRC や個別メールなどでお知らせください。

    ]]>
    localhost の Postfix から外部メールサーバに SMTP 認証でメール送信 http://vinelinux.org/vlmagazine/20100904.html <![CDATA[Vine Linux 5 標準のメールサーバである Postfix から、外部メールサーバにメールをリレー (≒送信) するときに SMTP 認証 (SMTP-AUTH; SMTP Authentication) を使う方法を解説します。 また、近年では、ISP は Outbound Port 25 Blocking (OP25B) を導入していることが多いため、外部メールサーバに接続する際のポートをサブミッションポート 587 番を用いる設定を紹介しています。
    また、外部メールサーバには例として Google の Gmail を挙げています。本記事の公開時点 (2010年9月4日) で Gmail のメールサーバ宛に送信できることを確認済みです。Gmail の仕様変更や、ISP やレンタルサーバなどへの送信のときは本記事を参考に、Postfix のドキュメントなどを読んでみてください。

    メールをリレー (≒送信) するメールサーバの情報

    本記事では、Google が提供している Gmail のメールサーバを例として取り上げます。ISP やレンタルサーバのメールサーバを用いるときなどは、本記事の内容を参考に Postfix のドキュメントなどをお読みください。
    本記事で想定する外部メールサーバに関する情報
    項目
    外部メールサーバの FQDN smtp.gmail.com
    外部メールサーバのポート番号 587
    Gmail でのメールアドレス [email protected]
    Gmail でのパスワード gmailpasswd
    なお、2010年9月4日現在では、Gmail のメールサーバに SMTP 認証でメールをリレーしたとき、Gmail の設定「アカウントのインポート」にて POP3 アカウントを登録していないメールアドレスを From ヘッダフィールドに使った場合は、Gmail のメールアドレスに書き換えられてしまいます。

    Postfix の設定

    localhost の Postfix は次のように設定します。

    main.cf の設定

    main.cf の「relayhost」にて、リレー先のメールサーバを指定します。 また、「smtp_sasl_auth_enable」で SMTP 認証を有効化し、「smtp_use_tls」で TLS を使うようにします。「smtp_sasl_password_maps」では SMTP 認証のときに用いるアカウント名とパスワードを列挙したファイルを指定します。「smtp_sasl_security_options」は必要に応じて設定してください。 postfix-2.6.3-2vl5 に同梱されている main.cf との差分 (diff) は次のようになります。
    --- main.cf	2010-08-15 16:43:47.000000000 +0900
    +++ /etc/postfix/main.cf	2010-08-15 17:09:19.000000000 +0900
    @@ -311,6 +311,11 @@
     #relayhost = [mailserver.isp.tld]
     #relayhost = uucphost
     #relayhost = [an.ip.add.ress]
    +relayhost = [smtp.gmail.com]:587
    +smtp_sasl_auth_enable = yes
    +smtp_sasl_password_maps = hash:/etc/postfix/smtpauth_passwd
    +smtp_sasl_security_options = 
    +smtp_use_tls = yes
     
     # REJECTING UNKNOWN RELAY USERS
     #
    
    「smtp_sasl_password_maps」の値「hash:/etc/postfix/smtpauth_passwd」のパス部分 (「hash:」よりも後ろの部分) は任意のパス、ファイル名で問題ありません。

    アカウント名とパスワードの設定

    main.cf で設定したファイルにメールサーバのFQDNとアカウント名、パスワードのテーブルを作成します。「リレー先メールサーバのFQDN アカウント名:パスワード」を一行で記述します。アカウント名とパスワードの間は「:」で繋ぎます。Gmail の場合はアカウント名に「@gmail.com」が必要なのでメールアドレス形式になっていますが、ISP のメールサーバなどを使う場合はこの点に注意してください。
    smtp.gmail.com [email protected]:gmailpasswd
    
    次に、postmap(1) で検索テーブルを構築します。
    # /usr/sbin/postmap hash:/etc/postfix/smtpauth_passwd
    

    動作確認

    Postfix を再起動などを行って、今回変更した設定を読み込んでください。そして、mail(1) やメーラーなどで Postfix にメールを渡してみてください。次のようにstatusが「sent」になっていれば成功です。
    (省略)
    Sep  4 05:30:49 vine5 postfix/smtp[6258]: XXXXXXXXXX: to=, relay=smtp.gmail.com[74.125.127.109]:587, delay=9.3, delays=0.42/0.29/4.1/4.6, dsn=2.0.0, status=sent (250 2.0.0 OK 1111111111 xxxxxxxxxxxxxxxxxx)
    (省略)

    参考文献

    参考文献は以下の通りです。Vine Linux 5 の Postfix のバージョンは 2.6.3 (2010年9月4日現在では postfix-2.6.3-2vl5) である点は注意してください。 ]]>
    2010-09-04T00:00:00+09:00 <![CDATA[Vine Linux 5 標準のメールサーバである Postfix から、外部メールサーバにメールをリレー (≒送信) するときに SMTP 認証 (SMTP-AUTH; SMTP Authentication) を使う方法を解説します。 また、近年では、ISP は Outbound Port 25 Blocking (OP25B) を導入していることが多いため、外部メールサーバに接続する際のポートをサブミッションポート 587 番を用いる設定を紹介しています。
    また、外部メールサーバには例として Google の Gmail を挙げています。本記事の公開時点 (2010年9月4日) で Gmail のメールサーバ宛に送信できることを確認済みです。Gmail の仕様変更や、ISP やレンタルサーバなどへの送信のときは本記事を参考に、Postfix のドキュメントなどを読んでみてください。

    メールをリレー (≒送信) するメールサーバの情報

    本記事では、Google が提供している Gmail のメールサーバを例として取り上げます。ISP やレンタルサーバのメールサーバを用いるときなどは、本記事の内容を参考に Postfix のドキュメントなどをお読みください。
    本記事で想定する外部メールサーバに関する情報
    項目
    外部メールサーバの FQDN smtp.gmail.com
    外部メールサーバのポート番号 587
    Gmail でのメールアドレス [email protected]
    Gmail でのパスワード gmailpasswd
    なお、2010年9月4日現在では、Gmail のメールサーバに SMTP 認証でメールをリレーしたとき、Gmail の設定「アカウントのインポート」にて POP3 アカウントを登録していないメールアドレスを From ヘッダフィールドに使った場合は、Gmail のメールアドレスに書き換えられてしまいます。

    Postfix の設定

    localhost の Postfix は次のように設定します。

    main.cf の設定

    main.cf の「relayhost」にて、リレー先のメールサーバを指定します。 また、「smtp_sasl_auth_enable」で SMTP 認証を有効化し、「smtp_use_tls」で TLS を使うようにします。「smtp_sasl_password_maps」では SMTP 認証のときに用いるアカウント名とパスワードを列挙したファイルを指定します。「smtp_sasl_security_options」は必要に応じて設定してください。 postfix-2.6.3-2vl5 に同梱されている main.cf との差分 (diff) は次のようになります。
    --- main.cf	2010-08-15 16:43:47.000000000 +0900
    +++ /etc/postfix/main.cf	2010-08-15 17:09:19.000000000 +0900
    @@ -311,6 +311,11 @@
     #relayhost = [mailserver.isp.tld]
     #relayhost = uucphost
     #relayhost = [an.ip.add.ress]
    +relayhost = [smtp.gmail.com]:587
    +smtp_sasl_auth_enable = yes
    +smtp_sasl_password_maps = hash:/etc/postfix/smtpauth_passwd
    +smtp_sasl_security_options = 
    +smtp_use_tls = yes
     
     # REJECTING UNKNOWN RELAY USERS
     #
    
    「smtp_sasl_password_maps」の値「hash:/etc/postfix/smtpauth_passwd」のパス部分 (「hash:」よりも後ろの部分) は任意のパス、ファイル名で問題ありません。

    アカウント名とパスワードの設定

    main.cf で設定したファイルにメールサーバのFQDNとアカウント名、パスワードのテーブルを作成します。「リレー先メールサーバのFQDN アカウント名:パスワード」を一行で記述します。アカウント名とパスワードの間は「:」で繋ぎます。Gmail の場合はアカウント名に「@gmail.com」が必要なのでメールアドレス形式になっていますが、ISP のメールサーバなどを使う場合はこの点に注意してください。
    smtp.gmail.com [email protected]:gmailpasswd
    
    次に、postmap(1) で検索テーブルを構築します。
    # /usr/sbin/postmap hash:/etc/postfix/smtpauth_passwd
    

    動作確認

    Postfix を再起動などを行って、今回変更した設定を読み込んでください。そして、mail(1) やメーラーなどで Postfix にメールを渡してみてください。次のようにstatusが「sent」になっていれば成功です。
    (省略)
    Sep  4 05:30:49 vine5 postfix/smtp[6258]: XXXXXXXXXX: to=, relay=smtp.gmail.com[74.125.127.109]:587, delay=9.3, delays=0.42/0.29/4.1/4.6, dsn=2.0.0, status=sent (250 2.0.0 OK 1111111111 xxxxxxxxxxxxxxxxxx)
    (省略)

    参考文献

    参考文献は以下の通りです。Vine Linux 5 の Postfix のバージョンは 2.6.3 (2010年9月4日現在では postfix-2.6.3-2vl5) である点は注意してください。 ]]>
    vbuilder で RPM パッケージングをはじめよう http://vinelinux.org/vlmagazine/20100814.html <![CDATA[vbuilder は公開してからかれこれ 1 年になりました。 vbuilder は RPM パッケージングツールとして、 もはや欠かせないツールの 1 つとなりつつあります。
    これまで vbuilder をご利用下さった開発者の皆様から たくさんのフィードバックを得ました。 vbuilder への要望やコメントがあるごとに、 どんどん機能を追加したり、修正、改良をしているうちに、 vbuilder は公開当初から比べると、ずいぶんと多機能になりました。
    これまで vbuilder を使ったことのない方でも、 vbuilder を使いこなして頂けるように、 基本的な使い方をまとめたいと思います。

    vbuilder とは?

    vbuilder は、(chroot という)子環境に Vine Linux の最小環境から構築し、 RPM パッケージの依存関係などの解決をしてからパッケージのビルドするツールです。

    vbuilder に関する詳細は、以下の URL に記載されています。
    http://trac.vinelinux.org/wiki/VineBootstrap

    vbuilder は vbootstrap パッケージに格納されています。

    $ sudo apt -get install vbootstrap
    

    vbuilder の基本操作

    基本的な流れは以下の通りです。

    $ sudo vbuilder clean  (過去に構築した子環境を削除)
    $ sudo vbuilder build  (子環境に最小環境を構築)
    $ sudo vbuilder build-rpm hoge-1.0-1vl5.src.rpm
    

    vbuilder にこれらのアクションを一度に渡すこともできます。 以下のようにすれば、順次 clean → build → build-rpm のように実行します。

    $ sudo vbuilder clean build build-rpm hoge-1.0-1vl5.src.rpm
    
    この場合、build を省略できます。
    $ sudo vbuilder clean build-rpm hoge-1.0-1vl5.src.rpm
    

    子環境で生成された hoge-1.0-1vl5.{i386,src}.rpm は、 vbuilder を実行したユーザの $HOME/rpm/vbuilder 以下の場所に、 hoge-1.0-1vl5.src.rpm と同じ所有者、同じグループとしてコピーされます。

    /home/foo/rpm/vbuilder/5.1/
    /home/foo/rpm/vbuilder/5.1/RPMS
    /home/foo/rpm/vbuilder/5.1/RPMS/i386/hoge-1.0-1vl5.i386.rpm
    /home/foo/rpm/vbuilder/5.1/RPMS/ppc
    /home/foo/rpm/vbuilder/5.1/RPMS/noarch
    /home/foo/rpm/vbuilder/5.1/RPMS/x86_64
    /home/foo/rpm/vbuilder/5.1/SRPMS/hoge-1.0-1vl5.src.rpm
    

    なお、$ sudo vbuilder --version 5.1 clean build を実行すると、 約 600MB 程度の容量を消費します。 vbuilder を実行する際には、ハードディスクの容量にご注意下さい。

    vbuilder の引数補完

    vbuilder にはたくさんのオプションとアクションがあります。 入力する手間を軽減するために、シェル補完を利用します。

    bash

    ${HOME}/.bashrc などに、以下の行を追加します。

    . /etc/bash_completion.d/vbuilder
    

    zsh

    zsh-completion-vine パッケージをインストールします。

    --unionfs オプションの利用

    いくつもの RPM パッケージを vbuilder に投げてビルドするときに、 $ sudo vbuilder build により毎回ベース環境を構築するのが面倒になります。 unionfs と利用することで、一度構築した最小のベース環境に変更を加えずに、 その上に変更のみを被せることができます。

    まず、最小のベース環境を構築します。

    $ sudo vbuilder clean build
    

    以後、unionfs でベース環境をカバーし、hoge-1.0-1vl5.src.rpm のビルドを行います。

    $ sudo vbuilder --unionfs build-rpm hoge-1.0-1vl5.src.rpm
    

    --unionfs を保ったまま clean を実行すると、最小のベース環境は消えません。

    $ sudo vbuilder --unionfs clean
    

    引き続き、foo-1.0-1vl5.src.rpm をすぐさまビルドできます。 $ sudo vbuilder --unionfs build-rpm foo-1.0-1vl5.src.rpm

    --show-info オプションの活用

    --show-info オプションは、 ターゲットにしている vbuilder で構築した環境に対して、 実行した詳細な手順、設定を出力します。

    $ sudo vbuilder --show-info
    ======================================================================
    VBUILDER REPORT
    DATE:		Thu Aug 12 16:30:42 JST 2010
    HOSTNAME:	seed64.local
    OS:		Vine Linux 6.0 (+VineSeed) (Haut Brion)
    %_arch:		x86_64
    
    --version: VineSeed
    --arch: x86_64
    --category: main,plus,nonfree
    
    
    
    --bootstrap-dir: /dev/shm/vbootstrap
    --cache-dir: /var/local/vbootstrap/cache
    --built-rpms-dir: /home/munepi/rpm/vbuilder
    ======================================================================
    
    [/etc/vbootstrap/vbuilder.conf]
    ## 
    ## vbuilder configuration file
    ## 
    ## This configuration is read at the begin of vbuilder. 
    
    ## Default version for chroot
    ## default: DEFAULT_VERSION=VineSeed
    DEFAULT_VERSION=VineSeed
    
    ## Default categories for chroot
    ## default: CATEGORIES=main,plus,nonfree
    CATEGORIES=main,plus,nonfree
    
    ## The top dirctory for vbootstrap
    ## default: VBOOTSTRAP_DIR=/var/local/vbootstrap
    VBOOTSTRAP_DIR=/dev/shm/vbootstrap
    
    ## Default directory to cache rpms of /var/cache/apt/archives in chroot
    ## default: CACHE_DIR=/var/local/vbootstrap/cache
    CACHE_DIR=/var/local/vbootstrap/cache
    
    ## Default directory to store built rpms
    ## default: BUILT_RPMS_DIR=${HOME}/rpm/vbuilder
    BUILT_RPMS_DIR=${HOME}/rpm/vbuilder
    
    ## end of file
    
    [History]
    build
    build-rpm /home/munepi/rpm/SRPM/hoge-1.0-1vl5.src.rpm
    

    その他のオプション

    vbuilder のその他のオプションをいくつか紹介します。

    --version
    子環境の Vine Linux のバージョンを指定します。 デフォルトは親環境と同じバージョンです。 例えば、VineSeed 上で、5.1 子環境を構築したいときに、 --version 5.1 と指定します。
    --arch
    子環境のアーキテクチャを指定します。 デフォルトは親環境と同一アーキテクチャです。 例えば、x86_64 上で子環境のアーキテクチャを i386 にしたいときに、 --arch i386 と指定します。
    --category
    ベース環境内の apt リポジトリのカテゴリを指定します。 デフォルトは、main,plus,nonfree です。 例えば、main カテゴリのみのビルド依存であるかどうかをチェックしたいときに、 --category main と指定します。
    --target
    子環境内でビルドする rpmbuild --target のターゲットを指定します。
    --rpmbuild-with
    子環境内でビルドするときの rpmbuild --with を指定します。 例えば、spec ファイルに記述した %bcond_with などを vbuilder から扱えます。
    --sign
    $ sudo vbuilder build-rpm ... でビルドした rpm を SUDO_USER により鍵署名をします。
    --no-install
    build-rpm によりビルドした rpm は、通常 chroot 内に install もします。 このオプションを指定すると、ビルドされた rpm を chroot 内に install しません。 例えば、あるパッケージをマイナーバージョンアップさせたときに、 以前のバージョンとの ldd などの差分を取るときに便利なオプションです。
    ]]>
    2010-08-14T00:00:00+09:00 <![CDATA[vbuilder は公開してからかれこれ 1 年になりました。 vbuilder は RPM パッケージングツールとして、 もはや欠かせないツールの 1 つとなりつつあります。
    これまで vbuilder をご利用下さった開発者の皆様から たくさんのフィードバックを得ました。 vbuilder への要望やコメントがあるごとに、 どんどん機能を追加したり、修正、改良をしているうちに、 vbuilder は公開当初から比べると、ずいぶんと多機能になりました。
    これまで vbuilder を使ったことのない方でも、 vbuilder を使いこなして頂けるように、 基本的な使い方をまとめたいと思います。

    vbuilder とは?

    vbuilder は、(chroot という)子環境に Vine Linux の最小環境から構築し、 RPM パッケージの依存関係などの解決をしてからパッケージのビルドするツールです。

    vbuilder に関する詳細は、以下の URL に記載されています。
    http://trac.vinelinux.org/wiki/VineBootstrap

    vbuilder は vbootstrap パッケージに格納されています。

    $ sudo apt -get install vbootstrap
    

    vbuilder の基本操作

    基本的な流れは以下の通りです。

    $ sudo vbuilder clean  (過去に構築した子環境を削除)
    $ sudo vbuilder build  (子環境に最小環境を構築)
    $ sudo vbuilder build-rpm hoge-1.0-1vl5.src.rpm
    

    vbuilder にこれらのアクションを一度に渡すこともできます。 以下のようにすれば、順次 clean → build → build-rpm のように実行します。

    $ sudo vbuilder clean build build-rpm hoge-1.0-1vl5.src.rpm
    
    この場合、build を省略できます。
    $ sudo vbuilder clean build-rpm hoge-1.0-1vl5.src.rpm
    

    子環境で生成された hoge-1.0-1vl5.{i386,src}.rpm は、 vbuilder を実行したユーザの $HOME/rpm/vbuilder 以下の場所に、 hoge-1.0-1vl5.src.rpm と同じ所有者、同じグループとしてコピーされます。

    /home/foo/rpm/vbuilder/5.1/
    /home/foo/rpm/vbuilder/5.1/RPMS
    /home/foo/rpm/vbuilder/5.1/RPMS/i386/hoge-1.0-1vl5.i386.rpm
    /home/foo/rpm/vbuilder/5.1/RPMS/ppc
    /home/foo/rpm/vbuilder/5.1/RPMS/noarch
    /home/foo/rpm/vbuilder/5.1/RPMS/x86_64
    /home/foo/rpm/vbuilder/5.1/SRPMS/hoge-1.0-1vl5.src.rpm
    

    なお、$ sudo vbuilder --version 5.1 clean build を実行すると、 約 600MB 程度の容量を消費します。 vbuilder を実行する際には、ハードディスクの容量にご注意下さい。

    vbuilder の引数補完

    vbuilder にはたくさんのオプションとアクションがあります。 入力する手間を軽減するために、シェル補完を利用します。

    bash

    ${HOME}/.bashrc などに、以下の行を追加します。

    . /etc/bash_completion.d/vbuilder
    

    zsh

    zsh-completion-vine パッケージをインストールします。

    --unionfs オプションの利用

    いくつもの RPM パッケージを vbuilder に投げてビルドするときに、 $ sudo vbuilder build により毎回ベース環境を構築するのが面倒になります。 unionfs と利用することで、一度構築した最小のベース環境に変更を加えずに、 その上に変更のみを被せることができます。

    まず、最小のベース環境を構築します。

    $ sudo vbuilder clean build
    

    以後、unionfs でベース環境をカバーし、hoge-1.0-1vl5.src.rpm のビルドを行います。

    $ sudo vbuilder --unionfs build-rpm hoge-1.0-1vl5.src.rpm
    

    --unionfs を保ったまま clean を実行すると、最小のベース環境は消えません。

    $ sudo vbuilder --unionfs clean
    

    引き続き、foo-1.0-1vl5.src.rpm をすぐさまビルドできます。 $ sudo vbuilder --unionfs build-rpm foo-1.0-1vl5.src.rpm

    --show-info オプションの活用

    --show-info オプションは、 ターゲットにしている vbuilder で構築した環境に対して、 実行した詳細な手順、設定を出力します。

    $ sudo vbuilder --show-info
    ======================================================================
    VBUILDER REPORT
    DATE:		Thu Aug 12 16:30:42 JST 2010
    HOSTNAME:	seed64.local
    OS:		Vine Linux 6.0 (+VineSeed) (Haut Brion)
    %_arch:		x86_64
    
    --version: VineSeed
    --arch: x86_64
    --category: main,plus,nonfree
    
    
    
    --bootstrap-dir: /dev/shm/vbootstrap
    --cache-dir: /var/local/vbootstrap/cache
    --built-rpms-dir: /home/munepi/rpm/vbuilder
    ======================================================================
    
    [/etc/vbootstrap/vbuilder.conf]
    ## 
    ## vbuilder configuration file
    ## 
    ## This configuration is read at the begin of vbuilder. 
    
    ## Default version for chroot
    ## default: DEFAULT_VERSION=VineSeed
    DEFAULT_VERSION=VineSeed
    
    ## Default categories for chroot
    ## default: CATEGORIES=main,plus,nonfree
    CATEGORIES=main,plus,nonfree
    
    ## The top dirctory for vbootstrap
    ## default: VBOOTSTRAP_DIR=/var/local/vbootstrap
    VBOOTSTRAP_DIR=/dev/shm/vbootstrap
    
    ## Default directory to cache rpms of /var/cache/apt/archives in chroot
    ## default: CACHE_DIR=/var/local/vbootstrap/cache
    CACHE_DIR=/var/local/vbootstrap/cache
    
    ## Default directory to store built rpms
    ## default: BUILT_RPMS_DIR=${HOME}/rpm/vbuilder
    BUILT_RPMS_DIR=${HOME}/rpm/vbuilder
    
    ## end of file
    
    [History]
    build
    build-rpm /home/munepi/rpm/SRPM/hoge-1.0-1vl5.src.rpm
    

    その他のオプション

    vbuilder のその他のオプションをいくつか紹介します。

    --version
    子環境の Vine Linux のバージョンを指定します。 デフォルトは親環境と同じバージョンです。 例えば、VineSeed 上で、5.1 子環境を構築したいときに、 --version 5.1 と指定します。
    --arch
    子環境のアーキテクチャを指定します。 デフォルトは親環境と同一アーキテクチャです。 例えば、x86_64 上で子環境のアーキテクチャを i386 にしたいときに、 --arch i386 と指定します。
    --category
    ベース環境内の apt リポジトリのカテゴリを指定します。 デフォルトは、main,plus,nonfree です。 例えば、main カテゴリのみのビルド依存であるかどうかをチェックしたいときに、 --category main と指定します。
    --target
    子環境内でビルドする rpmbuild --target のターゲットを指定します。
    --rpmbuild-with
    子環境内でビルドするときの rpmbuild --with を指定します。 例えば、spec ファイルに記述した %bcond_with などを vbuilder から扱えます。
    --sign
    $ sudo vbuilder build-rpm ... でビルドした rpm を SUDO_USER により鍵署名をします。
    --no-install
    build-rpm によりビルドした rpm は、通常 chroot 内に install もします。 このオプションを指定すると、ビルドされた rpm を chroot 内に install しません。 例えば、あるパッケージをマイナーバージョンアップさせたときに、 以前のバージョンとの ldd などの差分を取るときに便利なオプションです。
    ]]>
    Vine Linux Magazine 2010.07 http://vinelinux.org/vlmagazine/20100813.html <![CDATA[

    今月からVine Linux Managizeでは、新しく追加・更新されたパッケージの一部紹介や開発状況の紹介などを 行うことになりました。毎回持ち回りで行うため、筆者の興味によって内容は大きく異なる場合があると思います。

    さて、初回から2週間近く遅れた発行となってしまいましたが、7月のニュースから紹介していきます。

    ニュース

    Vine Linux の公式ページリニューアル
    長らく同じデザイン、ほぼ同じ内容になっていたVine Linux のホームページを 数年ぶりにリニューアルしました。この Vine Linux Magazine をはじめとし、これまで以上にコンテンツも増強していく 予定ですので、みなさんのご支援ご協力よろしくおねがいします。
    Vine Linux の販売委託先が変更、Vine Linux 5CR が発売へ
    アイピックス株式会社から、以前に委託していた株式会社日本ブレインウェアへ 変更されました。また、予定よりもかなり遅くなってしまいましたが Vine Linux 5CR のダウンロード販売がまもなく開始される そうです。今後は Vine Linux を活用した事業を展開されるとのことですので、よろしくお願いします。
    オープンソースカンファレンス2010 Tokyo/Fallへの参加が決定
    9月10,11日に開催されるOSC2010 Tokyo/Fallへ参加し、ブースでの展示 やアップデート済Vine Linux 5.1 DVDの配布、セミナーなどを行ないます。9/11の土曜日夜にはVine Linux ユーザ懇親会も開催 予定ですので、みなさん奮ってご参加ください。
    Vine Linux 5.2
    残念ながら OSC2010 Tokyo/Fall には間に合いませんでしたが、Vine Linux 5 の最新版が2010年10月頃のリリースに向けて調整中です。

    セキュリティ・バグフィックスアップデート

    7月は、Vine Linux 5 のセキュリティアップデートが8件、 バグフィックスアップデートが3件ありました。

    セキュリティアップデート
    firefox, xulrunner, thunderbird, libpng, libtiff, cups, sudo, samba, glibc
    バグフィックスアップデート
    vutils, dvipdfmx, gzip

    7月のハイライトは、mozilla 関連パッケージのセキュリティアップデートに伴う、各パッケージの 大幅更新です。firefox は 3.5.11 に更新され、thunderbird はこれまでの 2.x から 3.1.1 へと 大幅に更新され、安定性の向上とともに多くの新機能が利用できるようになりました。詳しくは、 Mozilla Japan の Thunderbird 紹介ページを 参照してください。

    パッケージ紹介

    VinePlus 5 に新規に追加されたパッケージ、大幅に更新されたパッケージを紹介します。

    新規パッケージ

    KDE4
    K Desktop Environment のバージョン4シリーズ最新版です。
    これまでの KDE3 にならび、KDE4 4.4.5 が新たに投入されました。パッケージは並行して提供されますが、 どちらか一方のみをインストールして利用することができます。
    xcompmgr,cairo-compmgr
    コンポジットマネージャ(ウィンドウに影をつけたり、ウィンドウの重ね合わせ処理などをするツール)各種です。
    xcompmgr はごく基本的な機能のみを提供するコマンドラインツールで、 cairo-compmgr はGUIも備えるより高度(compizのような3D効果はありません)な効果を提供するツールです。
    Screenlets
    身の回りにある色々な道具(付箋や時計、定規等々)を仮想的に表現する、ウィジェット風のミニアプリケーションです。

    今回は初回ということもありますので、6月以前のより大きな新規パッケージもいくつか紹介してみたいと思います。

    Chromium
    WebKit を利用した軽量で高速なウェブブラウザである Google Chrome のオープンソース版です。利用できる機能はほぼ同じで、 こちらのほうがより新しいバージョンを元にしています。
    Mozc
    Google日本語入力のオープンソース版である Mozc (モズク) です。辞書が違うため変換精度は異なりますが、予測変換を利用 して、より少ない労力で日本語入力を可能にする日本語入力システムです。Vine Linux では ibus や scim から利用することができます。

    このほかにも様々なパッケージがアップデートされていますし、 開発版の VineSeed にはより多くの新規パッケージが投入されています。 今回は残念ながら書ききれませんでしたが、今後機会があったら順次紹介していきたいと思います。

    おわりに

    Vine Linux Magazine では、Vine Linux に関する様々な情報、小ネタ、Tips、ノウハウ/バッドノウハウ、 活用事例などを書いていただけるかたを募集しています。また、「XXの記事を書いて欲しい」などのご要望 などもお待ちしておりますので、ML, IRC や個別メールなどでお知らせください。

    ]]>
    2010-08-13T00:00:00+09:00 <![CDATA[

    今月からVine Linux Managizeでは、新しく追加・更新されたパッケージの一部紹介や開発状況の紹介などを 行うことになりました。毎回持ち回りで行うため、筆者の興味によって内容は大きく異なる場合があると思います。

    さて、初回から2週間近く遅れた発行となってしまいましたが、7月のニュースから紹介していきます。

    ニュース

    Vine Linux の公式ページリニューアル
    長らく同じデザイン、ほぼ同じ内容になっていたVine Linux のホームページを 数年ぶりにリニューアルしました。この Vine Linux Magazine をはじめとし、これまで以上にコンテンツも増強していく 予定ですので、みなさんのご支援ご協力よろしくおねがいします。
    Vine Linux の販売委託先が変更、Vine Linux 5CR が発売へ
    アイピックス株式会社から、以前に委託していた株式会社日本ブレインウェアへ 変更されました。また、予定よりもかなり遅くなってしまいましたが Vine Linux 5CR のダウンロード販売がまもなく開始される そうです。今後は Vine Linux を活用した事業を展開されるとのことですので、よろしくお願いします。
    オープンソースカンファレンス2010 Tokyo/Fallへの参加が決定
    9月10,11日に開催されるOSC2010 Tokyo/Fallへ参加し、ブースでの展示 やアップデート済Vine Linux 5.1 DVDの配布、セミナーなどを行ないます。9/11の土曜日夜にはVine Linux ユーザ懇親会も開催 予定ですので、みなさん奮ってご参加ください。
    Vine Linux 5.2
    残念ながら OSC2010 Tokyo/Fall には間に合いませんでしたが、Vine Linux 5 の最新版が2010年10月頃のリリースに向けて調整中です。

    セキュリティ・バグフィックスアップデート

    7月は、Vine Linux 5 のセキュリティアップデートが8件、 バグフィックスアップデートが3件ありました。

    セキュリティアップデート
    firefox, xulrunner, thunderbird, libpng, libtiff, cups, sudo, samba, glibc
    バグフィックスアップデート
    vutils, dvipdfmx, gzip

    7月のハイライトは、mozilla 関連パッケージのセキュリティアップデートに伴う、各パッケージの 大幅更新です。firefox は 3.5.11 に更新され、thunderbird はこれまでの 2.x から 3.1.1 へと 大幅に更新され、安定性の向上とともに多くの新機能が利用できるようになりました。詳しくは、 Mozilla Japan の Thunderbird 紹介ページを 参照してください。

    パッケージ紹介

    VinePlus 5 に新規に追加されたパッケージ、大幅に更新されたパッケージを紹介します。

    新規パッケージ

    KDE4
    K Desktop Environment のバージョン4シリーズ最新版です。
    これまでの KDE3 にならび、KDE4 4.4.5 が新たに投入されました。パッケージは並行して提供されますが、 どちらか一方のみをインストールして利用することができます。
    xcompmgr,cairo-compmgr
    コンポジットマネージャ(ウィンドウに影をつけたり、ウィンドウの重ね合わせ処理などをするツール)各種です。
    xcompmgr はごく基本的な機能のみを提供するコマンドラインツールで、 cairo-compmgr はGUIも備えるより高度(compizのような3D効果はありません)な効果を提供するツールです。
    Screenlets
    身の回りにある色々な道具(付箋や時計、定規等々)を仮想的に表現する、ウィジェット風のミニアプリケーションです。

    今回は初回ということもありますので、6月以前のより大きな新規パッケージもいくつか紹介してみたいと思います。

    Chromium
    WebKit を利用した軽量で高速なウェブブラウザである Google Chrome のオープンソース版です。利用できる機能はほぼ同じで、 こちらのほうがより新しいバージョンを元にしています。
    Mozc
    Google日本語入力のオープンソース版である Mozc (モズク) です。辞書が違うため変換精度は異なりますが、予測変換を利用 して、より少ない労力で日本語入力を可能にする日本語入力システムです。Vine Linux では ibus や scim から利用することができます。

    このほかにも様々なパッケージがアップデートされていますし、 開発版の VineSeed にはより多くの新規パッケージが投入されています。 今回は残念ながら書ききれませんでしたが、今後機会があったら順次紹介していきたいと思います。

    おわりに

    Vine Linux Magazine では、Vine Linux に関する様々な情報、小ネタ、Tips、ノウハウ/バッドノウハウ、 活用事例などを書いていただけるかたを募集しています。また、「XXの記事を書いて欲しい」などのご要望 などもお待ちしておりますので、ML, IRC や個別メールなどでお知らせください。

    ]]>
    Google Public DNS を使う http://vinelinux.org/vlmagazine/20100713.html <![CDATA[Vine Linux 5 標準のデスクトップ環境である GNOME で名前解決に Google Public DNS を使う方法を解説します。 Google Public DNS 自体の解説は Google によるドキュメントなどを参照してください。
    なお、設定方法自体は Google Public DNS 以外の DNS サーバを使うときにも参考になると思います。

    Vine Linux 5の初期設定

    Vine Linux 5 の初期設定では、標準のデスクトップ環境として GNOME を採用しています。 インストール時に IP アドレスを DHCP で取得するようにして DNS サーバを指定しなかった場合、 NetworkManager は DHCP サーバから DNS サーバを取得します。

    NetworkManager で用いる DNS サーバを設定

    GNOME パネル上の NetworkManager アイコン (Vine Linux 5 初期設定では右上に存在) のコンテキストメニューから「接続を編集...」を選択し、ネットワーク接続の設定画面 (図3) を表示します。


    図1: NetworkManager アイコン (有線)


    図2: NetworkManager アイコン (無線)


    図3: ネットワーク接続の設定画面

    設定するネットワーク接続を「有線」タブか「無線」タブから選択し、「編集...」を選択します。root 権限の認証画面 (図4) が表示されたときは、root のパスワードを入力します。


    図4: root 権限の認証画面

    ネットワーク接続の詳細設定画面 (図5) が表示されるので、「IPv4設定」(IPv4 の場合) を選択します。


    図5: ネットワーク接続の詳細設定画面

    「方式:」で「自動 (DHCP) アドレスのみ」を選択することで DHCP サーバから IP アドレスだけを取得し、DNS サーバの設定はそれぞれの端末で実施できるようになります。「DNSサーバ:」にカンマ区切りで Google Public DNS の IP アドレスである 8.8.8.8 と 8.8.4.4 を入力 (図6) し、「適用」を選択することで設定が適用されます。「すべてのユーザで利用」についてはお好みで設定してください。


    図6: ネットワーク接続の詳細設定画面 (設定後)

    以上で Google Public DNS を使って名前解決を実施するようになります。Google Public DNS 以外の DNS サーバ (例えば OpenDNS や、家庭内 LAN に設置した DNS キャッシュサーバ) を使う場合も同様の設定を実施してください。

    ]]>
    2010-07-13T00:00:00+09:00 <![CDATA[Vine Linux 5 標準のデスクトップ環境である GNOME で名前解決に Google Public DNS を使う方法を解説します。 Google Public DNS 自体の解説は Google によるドキュメントなどを参照してください。
    なお、設定方法自体は Google Public DNS 以外の DNS サーバを使うときにも参考になると思います。

    Vine Linux 5の初期設定

    Vine Linux 5 の初期設定では、標準のデスクトップ環境として GNOME を採用しています。 インストール時に IP アドレスを DHCP で取得するようにして DNS サーバを指定しなかった場合、 NetworkManager は DHCP サーバから DNS サーバを取得します。

    NetworkManager で用いる DNS サーバを設定

    GNOME パネル上の NetworkManager アイコン (Vine Linux 5 初期設定では右上に存在) のコンテキストメニューから「接続を編集...」を選択し、ネットワーク接続の設定画面 (図3) を表示します。


    図1: NetworkManager アイコン (有線)


    図2: NetworkManager アイコン (無線)


    図3: ネットワーク接続の設定画面

    設定するネットワーク接続を「有線」タブか「無線」タブから選択し、「編集...」を選択します。root 権限の認証画面 (図4) が表示されたときは、root のパスワードを入力します。


    図4: root 権限の認証画面

    ネットワーク接続の詳細設定画面 (図5) が表示されるので、「IPv4設定」(IPv4 の場合) を選択します。


    図5: ネットワーク接続の詳細設定画面

    「方式:」で「自動 (DHCP) アドレスのみ」を選択することで DHCP サーバから IP アドレスだけを取得し、DNS サーバの設定はそれぞれの端末で実施できるようになります。「DNSサーバ:」にカンマ区切りで Google Public DNS の IP アドレスである 8.8.8.8 と 8.8.4.4 を入力 (図6) し、「適用」を選択することで設定が適用されます。「すべてのユーザで利用」についてはお好みで設定してください。


    図6: ネットワーク接続の詳細設定画面 (設定後)

    以上で Google Public DNS を使って名前解決を実施するようになります。Google Public DNS 以外の DNS サーバ (例えば OpenDNS や、家庭内 LAN に設置した DNS キャッシュサーバ) を使う場合も同様の設定を実施してください。

    ]]>
    apt リポジトリの作り方(基礎) http://vinelinux.org/vlmagazine/20100619.html <![CDATA[ここではapt-rpmのリポジトリ作成方法の基本の基本を紹介します。公式リポジトリには 投入しないパッケージやしたくないパッケージ、テスト用に仮につくったパッケージ、 個人/企業/学校用にカスタマイズしたパッケージなどを apt からアクセスできるリポジ トリとして用意することができます。
    apt-pinningのためのリポジトリの細かな設定などについては今回は省略しています。

    標準的な構成の設定

    基本的な APT-RPM 用リポジトリの作成方法:

    [daisuke@hoge /home/ftp/pub]$ find .
    .
    ./Test/SRPMS.main
    ./Test/SRPMS.main/hoge-1.0-0vl1.src.rpm
    ./Test/i386/RPMS.main
    ./Test/i386/RPMS.main/hoge-1.0-0vl1.i386.rpm
    
    [daisuke@hoge /home/ftp/pub]$ genbasedir /home/ftp/pub/Test/i386
    Creating base directory... done 
    Components: main
    Processing pkglists... main [done] 
    Processing srclists... main [done]
    Creating component releases... main [done] 
    Creating global release file... [done] 
    Appending MD5Sum... main [done] 
    All your base are belong to us!!! 
    
    [daisuke@hoge /home/ftp/pub]$ find .
    .
    ./Test/i386/base
    ./Test/i386/base/pkglist.main
    ./Test/i386/base/pkglist.main.bz2
    ./Test/i386/base/release.main
    ./Test/i386/base/release
    ./Test/i386/base/srclist.main
    ./Test/i386/base/srclist.main.bz2
    ./Test/i386/RPMS.main
    ./Test/i386/RPMS.main/hoge-1.0-0vl1.i386.rpm
    ./Test/SRPMS.main
    ./Test/SRPMS.main/hoge-1.0-0vl1.src.rpm
    

    これで APT-RPM でアクセス可能なリポジトリが生成されます。ここで注意するのは、 通常はバイナリを置くディレクトリ RPMS.main とソースパッケージを置くディレクトリ SRPMS.main は階層が違うということです。SRPMS.xxx はバイナリよりも1段上の ディレクトリに置くことに注意しましょう。 このリポジトリを APT に認識させるためには、以下のような apt-line を /etc/apt/sources.list または /etc/apt/sources.list.d/test-repository.conf などに追加記述しましょう。

    rpm file:/home/ftp/pub Test/i386 main
    rpm-src file:/home/ftp/pub Test/i386 main
    

    HTTP でアクセスができるようになっている場合は /home/ftp が DocumentRoot の 場合には、以下のようにすることもできます。(FTPなども同様)

    rpm http://hostname/pub Test/i386 main
    rpm-src http://hostname/pub Test/i386 main
    

    フラットなディレクトリ構成

    1つのアーキテクチャのバイナリしか置かない場合には、 バイナリパッケージディレクトリ RPMS.main とソースパッケージディレクトリ SRPMS.main を置く階層を同一にすることもできます。 この場合は、以下のように "--flat" オプションをつけることで同一階層にすることができます。

    [daisuke@hoge /home/ftp/pub]$ find .
    .
    ./Test/SRPMS.main
    ./Test/SRPMS.main/hoge-1.0-0vl1.src.rpm
    ./Test/RPMS.main
    ./Test/RPMS.main/hoge-1.0-0vl1.i386.rpm
    
    [daisuke@hoge /home/ftp/pub]$ genbasedir --flat /home/ftp/pub/Test
    Creating base directory... done 
    Components: main
    Processing pkglists... main [done] 
    Processing srclists... main [done]
    Creating component releases... main [done] 
    Creating global release file... [done] 
    Appending MD5Sum... main [done] 
    All your base are belong to us!!! 
    
    [daisuke@hoge /home/ftp/pub]$ find .
    .
    ./Test/base
    ./Test/base/pkglist.main
    ./Test/base/pkglist.main.bz2
    ./Test/base/release.main
    ./Test/base/release
    ./Test/base/srclist.main
    ./Test/base/srclist.main.bz2
    ./Test/RPMS.main
    ./Test/RPMS.main/hoge-1.0-0vl1.i386.rpm
    ./Test/SRPMS.main
    ./Test/SRPMS.main/hoge-1.0-0vl1.src.rpm
    

    ユーザとして見た場合は、apt-line にはアーキテクチャを指定しないため、 以下のような設定になります。

    rpm file:/home/ftp/pub Test main
    rpm-src file:/home/ftp/pub Test main
    

    複数コンポーネントによる構成

    コンポーネント ( Vine Linux でいう main や plus など) を複数用意したい場合は ディレクトリを複数用意しましょう。 genbasedir コマンドは自動的にすべてのコンポーネントを見付けてリポジトリを構築してくれます。 suffix にコンポーネント名を付けることに注意しましょう。

    [daisuke@hoge /home/ftp/pub]$ find .
    .
    ./Test/SRPMS.main
    ./Test/SRPMS.main/hoge-1.0-0vl1.src.rpm
    ./Test/SRPMS.test
    ./Test/SRPMS.test/fuga-1.0-0vl1.src.rpm
    ./Test/RPMS.main
    ./Test/RPMS.main/hoge-1.0-0vl1.i386.rpm
    ./Test/RPMS.test
    ./Test/RPMS.test/fuga-1.0-0vl1.i386.rpm
    
    [daisuke@hoge /home/ftp/pub]$ genbasedir --flat /home/ftp/pub/Test
    Creating base directory... done 
    Components: main
    Processing pkglists... main test [done] 
    Processing srclists... main test [done]
    Creating component releases... main test [done] 
    Creating global release file... [done] 
    Appending MD5Sum... main test [done] 
    All your base are belong to us!!! 
    
    [daisuke@hoge /home/ftp/pub]$ find .
    .
    ./Test/base
    ./Test/base/pkglist.main
    ./Test/base/pkglist.main.bz2
    ./Test/base/pkglist.test
    ./Test/base/pkglist.test.bz2
    ./Test/base/release.main
    ./Test/base/release.test
    ./Test/base/release
    ./Test/base/srclist.main
    ./Test/base/srclist.main.bz2
    ./Test/base/srclist.test
    ./Test/base/srclist.test.bz2
    ./Test/SRPMS.main
    ./Test/SRPMS.main/hoge-1.0-0vl1.src.rpm
    ./Test/SRPMS.test
    ./Test/SRPMS.test/fuga-1.0-0vl1.src.rpm
    ./Test/RPMS.main
    ./Test/RPMS.main/hoge-1.0-0vl1.i386.rpm
    ./Test/RPMS.test
    ./Test/RPMS.test/fuga-1.0-0vl1.i386.rpm
    

    ここでは main と test の2つのコンポーネントを用意してみました。 apt-line では以下のように記述します。

    rpm file:/home/ftp/pub Test/i386 main test
    rpm-src file:/home/ftp/pub Test/i386 main test
    

    その他のオプション

    genbasedir には他にも以下のようなオプションがあります。 いくつか簡単に紹介しておきましょう。

    -s, --sign

    リポジトリに GnuPG で署名する。使用する鍵IDは "--default-key=ID" オプションで指定します。署名されたリポジトリにアクセスするには、 apt-line に、

    rpm [vine] file:/home/ftp/pub Test/i386 main

    等と指定し、/etc/apt/vendors.list に fingerprint と ID との対応を 記述します。

    --hashonly
    hash ファイルのみ更新する。
    --listonly
    pkglists と srclists のみを作成する。
    --bz2only
    pkglist/srclist/release ファイルを bzip2 圧縮されたもののみを作成します。 通常このオプションを指定しておいて問題ないでしょう。
    --progress
    リポジトリ作成過程のプログレスバーを表示する。
    --bloat
    リポジトリのパッケージデータに完全なファイルリストを収録します。 ファイル依存の解決に必要な場合がありますが、Vine Linux では推奨していません。
    ]]>
    2010-06-19T00:00:00+09:00 <![CDATA[ここではapt-rpmのリポジトリ作成方法の基本の基本を紹介します。公式リポジトリには 投入しないパッケージやしたくないパッケージ、テスト用に仮につくったパッケージ、 個人/企業/学校用にカスタマイズしたパッケージなどを apt からアクセスできるリポジ トリとして用意することができます。
    apt-pinningのためのリポジトリの細かな設定などについては今回は省略しています。

    標準的な構成の設定

    基本的な APT-RPM 用リポジトリの作成方法:

    [daisuke@hoge /home/ftp/pub]$ find .
    .
    ./Test/SRPMS.main
    ./Test/SRPMS.main/hoge-1.0-0vl1.src.rpm
    ./Test/i386/RPMS.main
    ./Test/i386/RPMS.main/hoge-1.0-0vl1.i386.rpm
    
    [daisuke@hoge /home/ftp/pub]$ genbasedir /home/ftp/pub/Test/i386
    Creating base directory... done 
    Components: main
    Processing pkglists... main [done] 
    Processing srclists... main [done]
    Creating component releases... main [done] 
    Creating global release file... [done] 
    Appending MD5Sum... main [done] 
    All your base are belong to us!!! 
    
    [daisuke@hoge /home/ftp/pub]$ find .
    .
    ./Test/i386/base
    ./Test/i386/base/pkglist.main
    ./Test/i386/base/pkglist.main.bz2
    ./Test/i386/base/release.main
    ./Test/i386/base/release
    ./Test/i386/base/srclist.main
    ./Test/i386/base/srclist.main.bz2
    ./Test/i386/RPMS.main
    ./Test/i386/RPMS.main/hoge-1.0-0vl1.i386.rpm
    ./Test/SRPMS.main
    ./Test/SRPMS.main/hoge-1.0-0vl1.src.rpm
    

    これで APT-RPM でアクセス可能なリポジトリが生成されます。ここで注意するのは、 通常はバイナリを置くディレクトリ RPMS.main とソースパッケージを置くディレクトリ SRPMS.main は階層が違うということです。SRPMS.xxx はバイナリよりも1段上の ディレクトリに置くことに注意しましょう。 このリポジトリを APT に認識させるためには、以下のような apt-line を /etc/apt/sources.list または /etc/apt/sources.list.d/test-repository.conf などに追加記述しましょう。

    rpm file:/home/ftp/pub Test/i386 main
    rpm-src file:/home/ftp/pub Test/i386 main
    

    HTTP でアクセスができるようになっている場合は /home/ftp が DocumentRoot の 場合には、以下のようにすることもできます。(FTPなども同様)

    rpm http://hostname/pub Test/i386 main
    rpm-src http://hostname/pub Test/i386 main
    

    フラットなディレクトリ構成

    1つのアーキテクチャのバイナリしか置かない場合には、 バイナリパッケージディレクトリ RPMS.main とソースパッケージディレクトリ SRPMS.main を置く階層を同一にすることもできます。 この場合は、以下のように "--flat" オプションをつけることで同一階層にすることができます。

    [daisuke@hoge /home/ftp/pub]$ find .
    .
    ./Test/SRPMS.main
    ./Test/SRPMS.main/hoge-1.0-0vl1.src.rpm
    ./Test/RPMS.main
    ./Test/RPMS.main/hoge-1.0-0vl1.i386.rpm
    
    [daisuke@hoge /home/ftp/pub]$ genbasedir --flat /home/ftp/pub/Test
    Creating base directory... done 
    Components: main
    Processing pkglists... main [done] 
    Processing srclists... main [done]
    Creating component releases... main [done] 
    Creating global release file... [done] 
    Appending MD5Sum... main [done] 
    All your base are belong to us!!! 
    
    [daisuke@hoge /home/ftp/pub]$ find .
    .
    ./Test/base
    ./Test/base/pkglist.main
    ./Test/base/pkglist.main.bz2
    ./Test/base/release.main
    ./Test/base/release
    ./Test/base/srclist.main
    ./Test/base/srclist.main.bz2
    ./Test/RPMS.main
    ./Test/RPMS.main/hoge-1.0-0vl1.i386.rpm
    ./Test/SRPMS.main
    ./Test/SRPMS.main/hoge-1.0-0vl1.src.rpm
    

    ユーザとして見た場合は、apt-line にはアーキテクチャを指定しないため、 以下のような設定になります。

    rpm file:/home/ftp/pub Test main
    rpm-src file:/home/ftp/pub Test main
    

    複数コンポーネントによる構成

    コンポーネント ( Vine Linux でいう main や plus など) を複数用意したい場合は ディレクトリを複数用意しましょう。 genbasedir コマンドは自動的にすべてのコンポーネントを見付けてリポジトリを構築してくれます。 suffix にコンポーネント名を付けることに注意しましょう。

    [daisuke@hoge /home/ftp/pub]$ find .
    .
    ./Test/SRPMS.main
    ./Test/SRPMS.main/hoge-1.0-0vl1.src.rpm
    ./Test/SRPMS.test
    ./Test/SRPMS.test/fuga-1.0-0vl1.src.rpm
    ./Test/RPMS.main
    ./Test/RPMS.main/hoge-1.0-0vl1.i386.rpm
    ./Test/RPMS.test
    ./Test/RPMS.test/fuga-1.0-0vl1.i386.rpm
    
    [daisuke@hoge /home/ftp/pub]$ genbasedir --flat /home/ftp/pub/Test
    Creating base directory... done 
    Components: main
    Processing pkglists... main test [done] 
    Processing srclists... main test [done]
    Creating component releases... main test [done] 
    Creating global release file... [done] 
    Appending MD5Sum... main test [done] 
    All your base are belong to us!!! 
    
    [daisuke@hoge /home/ftp/pub]$ find .
    .
    ./Test/base
    ./Test/base/pkglist.main
    ./Test/base/pkglist.main.bz2
    ./Test/base/pkglist.test
    ./Test/base/pkglist.test.bz2
    ./Test/base/release.main
    ./Test/base/release.test
    ./Test/base/release
    ./Test/base/srclist.main
    ./Test/base/srclist.main.bz2
    ./Test/base/srclist.test
    ./Test/base/srclist.test.bz2
    ./Test/SRPMS.main
    ./Test/SRPMS.main/hoge-1.0-0vl1.src.rpm
    ./Test/SRPMS.test
    ./Test/SRPMS.test/fuga-1.0-0vl1.src.rpm
    ./Test/RPMS.main
    ./Test/RPMS.main/hoge-1.0-0vl1.i386.rpm
    ./Test/RPMS.test
    ./Test/RPMS.test/fuga-1.0-0vl1.i386.rpm
    

    ここでは main と test の2つのコンポーネントを用意してみました。 apt-line では以下のように記述します。

    rpm file:/home/ftp/pub Test/i386 main test
    rpm-src file:/home/ftp/pub Test/i386 main test
    

    その他のオプション

    genbasedir には他にも以下のようなオプションがあります。 いくつか簡単に紹介しておきましょう。

    -s, --sign

    リポジトリに GnuPG で署名する。使用する鍵IDは "--default-key=ID" オプションで指定します。署名されたリポジトリにアクセスするには、 apt-line に、

    rpm [vine] file:/home/ftp/pub Test/i386 main

    等と指定し、/etc/apt/vendors.list に fingerprint と ID との対応を 記述します。

    --hashonly
    hash ファイルのみ更新する。
    --listonly
    pkglists と srclists のみを作成する。
    --bz2only
    pkglist/srclist/release ファイルを bzip2 圧縮されたもののみを作成します。 通常このオプションを指定しておいて問題ないでしょう。
    --progress
    リポジトリ作成過程のプログレスバーを表示する。
    --bloat
    リポジトリのパッケージデータに完全なファイルリストを収録します。 ファイル依存の解決に必要な場合がありますが、Vine Linux では推奨していません。
    ]]>