おまぬけ活動日誌

最近のツッコまれどころ

この日誌から Google してもらう


2013年01月01日(Tue) 明けましておめでとうございます。今年もどうぞよろしくお願いします [同日]

[debian] 古いマシンにDebian Squeezeを入れる

家で使えるノートPCが欲しいと思い、 使っていないものを引っ張り出してきてLinuxを入れました (というのはもう 2ヶ月も前)。

インストール対象は、 Dell Latitude X1 (Wikipedia)。 以前は主力ノートとして使っていたもので、 Momongaでディスプレイの設定に苦労したり、 空気の薄いところで排熱の問題があったりした マシンです。 電源に問題があって引退したのだけれど、 交換部品がみつかって復活しかけで放置されてました。

まずは安易にUbuntu 12.04をインストールしようとしてみると、 インストーラのカーネルが起動しませんでした。

This kernel requries the following features not present on the CPU: pae
Unable to boot

うわっ…わたしのCPU、古すぎ…?→Intel Pentium M。

Squeezeのインストール

これを機会にDebian GNU/Linuxを入れてみることにしましたよ♪ Debian Squeezeのインストーラを、ええと、CD-Rに焼いてブートしたのかな? 途中、Intel PRO Wirelessのファームウェアが必要とのこと、 Debian GNU/Linux Installation GuideのLoading Missing Firmwareに従って、 irmware-ipw2x00_0.28+squeeze1_all.debをフラッシュメモリに入れて置いておいたところ、 認識してくれました。よくできてる。 Ubuntuと違ってrootのパスワードを決めたり、 プログレスバーを 眺めたりしながら 放置。 無事に再起動して、以前は変則的だったLCDの解像度も適切に検出してくれて、 タッチパッドも使えました。 そういえばこのマシン、ハードディスク積んでるけど/homeを Btrfsにしてたよ。

設定

細かい設定。 Ctrl+Alt+F1でコンソールからrootとしてログインして、 dpkg-reconfigure keyboard-configurationを実行。 Dell Latitude series laptop、USA、AltGrはデフォルト、No Compose、 Ctrl-Alt-Backspaceは無しに。 /etc/default/keyboardのXKBOPTIONSの行にctrl:nocapsを追加して リブートしたところ、コンソールでは、Caps Lockが機能が消えてくれました。 これで、Gnome-desktopでは、 タッチパッドの横をすりすりして縦スクロールしたり、 Fn+Page Up/Downで音量を変化させる機能はそのまま動いてくれました。 タッチパッドをタップして左クリックは効かないですが、まあいいです。 Gnome-desktopでCaps Lock機能が消えてくれないのが残念。

タイムゾーンの設定を間違えていた。

# dpkg-reconfigure tzdata

デスクトップはやっぱりxfceが良さそう。

# apt-get install xfce4

ちょっと検索してみたところ、 Using NTP Server to Synchronize Time on Debian Squeeze (Biboroku) に従って、 ntpとlaptop-mode-toolsをインストールして、

# sudo aptitude install laptop-mode-tools ntp
$ cd /etc/laptop-mode/batt-stop
# ln -s /etc/init.d/ntp .
$ cd /etc/laptop-mode/lm-ac-start
# ln -s /etc/init.d/ntp .

あとは常用できるように、 gitとかruby1.8とかruby1.9とかをインストールしていきます。

[debian] DebianさんをSqueezeからsidにする

このマシン、ルートファイルシステム用のパーティションを2つ用意してあります。 Squeezeの内容を退避しておいて、主に使う方をsidに更新することにしました。

Squeezeの保存。 2つ目のパーティションにsqueezeのルートディレクトリをコピーしておきます。

# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda1             14417392   4286660   9398368  32% /
tmpfs                   253180         0    253180   0% /lib/init/rw
udev                    248704       236    248468   1% /dev
tmpfs                   253180         0    253180   0% /dev/shm
/dev/sda5             27354112    129048  27225064   1% /home
/dev/sda2             14418416    166988  13519012   2% /squeeze
# rsync -ax / /squeeze/
# mkdir /squeeze/sid
# rmdir /squeeze/squeeze

/squeeze/etc/fstabは適宜編集しましたが、 はたしてうまく動いてくれるかどうかは試していません。

UUIDは、ls -l /dev/disk/by-uuid/して求められます。

apt-line(と言うのかな?)へのsidの追加。

Debian Sources List Generator を眺めて、/etc/apt/sources.listに下記を追加してみました。

deb http://ftp.us.debian.org/debian unstable main contrib non-free
deb-src http://ftp.us.debian.org/debian unstable main contrib non-free

パッケージの更新。

# apt-get update
# apt-get upgrade

338 upgraded, 0 newly installed, 0 to remove and 1019 not upgraded.
Need to get 177 MB of archives.
After this operation, 25.4 MB disk space will be freed.

下記の警告が出ていました。

W: Possible missing firmware /lib/firmware/tigon/tg3_tso5.bin for module tg3
W: Possible missing firmware /lib/firmware/tigon/tg3_tso.bin for module tg3
W: Possible missing firmware /lib/firmware/tigon/tg3.bin for module tg3

Debian Kernels and Tigon TG3 Firmware (The Novian Blog) に従い、下記を実行しました。

apt-get install firmware-linux-nonfree

とりあえず無事にリブートしてくれました。 xfce4が起動した時にターミナルの設定が消えていたので、 あらためて、/usr/bin/gnome-terminalを指定しました。 ibus-skkは動いてくれていました。

$ df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda1             14417392   4727132   8957896  35% /
tmpfs                   253180         0    253180   0% /lib/init/rw
udev                    248564       236    248328   1% /dev
tmpfs                   253180         0    253180   0% /dev/shm
/dev/sda5             27354112    118780  27235332   1% /home
/dev/sda2             14418416   4408540   9277460  33% /squeeze

もっとパッケージの更新。

# apt-get autoremove --purge
# apt-get update
# apt-get dist-upgrade -y

いろいろと言われます。

  ┌───────────────────┤ Configuring linux-image-2.6-686 ├────────────────────┐
  │                                                                          │ 
  │ This system requires a different kernel configuration                    │ 
  │                                                                          │ 
  │ Debian's '686' kernel configuration has been replaced by the '686-pae'   │ 
  │ configuration, which uses PAE (Physical Address Extension).  However,    │ 
  │ the CPU in this system does not support PAE.                             │ 
  │                                                                          │ 
  │ You should install linux-image-486 and remove linux-image-686 and/or     │ 
  │ linux-image-2.6-686 if they are currently installed.                     │ 
  │                                                                          │ 
  │                                  <Ok>                                    │ 
  │                                                                          │ 
  └──────────────────────────────────────────────────────────────────────────┘ 
 ┌───────────────────────────┤ Configuring libc6 ├───────────────────────────┐
 │                                                                           │ 
 │ xscreensaver and xlockmore must be restarted before upgrading             │ 
 │                                                                           │ 
 │ One or more running instances of xscreensaver or xlockmore have been      │ 
 │ detected on this system. Because of incompatible library changes, the     │ 
 │ upgrade of the GNU libc library will leave you unable to authenticate to  │ 
 │ these programs. You should arrange for these programs to be restarted or  │ 
 │ stopped before continuing this upgrade, to avoid locking your users out   │ 
 │ of their current sessions.                                                │ 
 │                                                                           │ 
 │                                  <Ok>                                     │ 
 │                                                                           │ 
 └───────────────────────────────────────────────────────────────────────────┘ 
 ┌───────────────────────────┤ Configuring libc6 ├───────────────────────────┐
 │                                                                           │ 
 │ There are services installed on your system which need to be restarted    │ 
 │ when certain libraries, such as libpam, libc, and libssl, are upgraded.   │ 
 │ Since these restarts may cause interruptions of service for the system,   │ 
 │ you will normally be prompted on each upgrade for the list of services    │ 
 │ you wish to restart.  You can choose this option to avoid being           │ 
 │ prompted; instead, all necessary restarts will be done for you            │ 
 │ automatically so you can avoid being asked questions on each library      │ 
 │ upgrade.                                                                  │ 
 │                                                                           │ 
 │ Restart services during package upgrades without asking?                  │ 
 │                                                                           │ 
 │                    <Yes>                       <No>                       │ 
 │                                                                           │ 
 └───────────────────────────────────────────────────────────────────────────┘ 

Yes。 xfce上の端末から作業していました。 コマンド終了後、あたらしい端末を起動すると…

*** VTE ***: Failed to load terminal capabilities from '/etc/termcap'

リブートすると無線LANはつながらなくなり、 Xも起動しなくなっていました。

ifup: failed to open statefile /run/network/ifstate: No such file or director

え。パッケージ足りないままネットワーク使えなくなったら大変やん。 と思いましたが、さすがはdpkg。もうダウンロードはしてくれていたようです。

# apt-get install ifupdown

したらDHCPで有線LANにつながるようになりました。よくできてる。

深呼吸してからもう一度更新してみます。

# apt-get install linux-image-486
# apt-get purge linux-image-686
# apt-get update
# apt-get dist-upgrade -y
# apt-get purge linux-image-3.2.0-4-686-pae linux-image-686-pae

これでもう一度リブート。Xが起動してくれました。 そのままログインするとgnomeになったようです。xfceを選択しなおして、 ログインし、

# apt-get update
# apt-get upgrade -y

だいぶ落ち着いてきたようです。

NTFSのアンインストール。

パッケージの更新の時に、いつも下記のエラーが出るようです。

dpkg: error processing /var/cache/apt/archives/ntfs-3g_1%3a2012.1.15AR.8-1_i386.deb (--unpack):
 trying to overwrite '/usr/share/man/man8/ntfscmp.8.gz', which is also in package ntfsprogs 2.0.0-1+b1

NTFSはこのマシンには載ってないので、下記で解消しました。

# apt-get purge ntfsprogs ntfs-3g

ついでに

# apt-get autoremove 

してみます。なんかいっぱいあるけどまあいいか。

The following packages will be REMOVED:
  anthy-common aumix aumix-common bsh bsh-gcj dasher dasher-data
  dmz-cursor-theme dvd+rw-tools ekiga espeak foomatic-filters-ppds
  freedesktop-sound-theme fuse-utils gconf-editor genisoimage
  gnome-desktop-data gnome-doc-utils gnome-media-common gnome-office
  gnome-session-canberra gnome-themes gnome-themes-extras gnome-themes-more
  gstreamer0.10-fluendo-mp3 gtk2-engines-pixbuf gtk2-engines-smooth
  guile-1.8-libs libactivesupport-ruby1.8 libanthy0 libart2.0-cil
  libaudiofile0 libavahi-ui0 libavcodec52 libavformat52 libavutil49
  libbabl-0.0-0 libboost-date-time1.42.0 libboost-python1.42.0
  libboost-thread1.42.0 libbuilder-ruby1.8 libcamel1.2-14 libcdio-cdda0
  libcdio-paranoia0 libcdio10 libcdt4 libcelt0-0 libchamplain-0.4-0
  libchamplain-gtk-0.4-0 libcheese-gtk18 libclutter-gtk-0.10-0 libcryptui0
  libdbi0 libdbusmenu-glib1 libdbusmenu-gtk1 libebackend1.2-0
  libedataserver1.2-13 libeggdbus-1-0 libegroupwise1.2-13 libevince2
  libexiv2-9 libexo-0.3-0 libfreerdp0 libgalago3 libgcr0 libgdata-google1.2-1
  libgdata1.2-1 libgdata7 libgegl-0.0-0 libgeos-3.2.0
  libgettext-activerecord-ruby libgettext-activerecord-ruby-common
  libgettext-activerecord-ruby1.8 libgexiv2-0 libgirepository1.0-0
  libglade2.0-cil libgmime-2.4-2 libgmime2.4-cil libgmp3c2
  libgnome-bluetooth7 libgnome-desktop-2-17 libgnome-media0 libgnome-menu2
  libgnome-vfs2.0-cil libgnome-window-settings1 libgnome2-canvas-perl
  libgnome2-perl libgnome2-vfs-perl libgnome2.24-cil libgnomekbd4 libgp11-0
  libgraph4 libgraphite3 libgs8 libgssdp-1.0-2 libgtkglext1
  libgtkhtml-editor-common libgtkhtml3.14-19 libgtkimageview0
  libgtksourceview2.0-0 libgtksourceview2.0-common libgucharmap7
  libgupnp-1.0-3 libgupnp-igd-1.0-3 libgvc5 libgweather1 libhunspell-1.2-0
  libi18n-ruby1.8 libibus2 libicu44 libimobiledevice1 libindicate4
  libindicator0 libjpeg62 libkpathsea5 liblocale-ruby1.8 libmagick++3
  libmagickcore3 libmagickcore3-extra libmagickwand3
  libmemcache-client-ruby1.8 libming1 libmono-cairo2.0-cil
  libmono-corlib2.0-cil libmono-i18n-west2.0-cil libmono-posix2.0-cil
  libmono-security2.0-cil libmono-sharpzip2.84-cil libmono-system2.0-cil
  libmozjs2d libmusicbrainz3-6 libmusicbrainz4c2a libmysqlclient16
  libndesk-dbus-glib1.0-cil libndesk-dbus1.0-cil libnet1 libnice0 libnl1
  libnm-glib2 libnm-util1 libnotify1 libntfs-3g75 libntfs10 liboil0.3
  liboobs-1-4 libopal3.6.8 libopenspc0 libpathplan4 libpoppler-glib4
  libpoppler5 libpostproc51 libpt2.6.7 libpython2.6 librack-ruby
  librack-ruby1.8 libraptor1 librasqal2 librpmio1 libruby libslab0a
  libsoundtouch1c2 libsqlite3-ruby1.8 libsvga1 libswscale0 libsysfs2
  libtextcat-data-utf8 libthunar-vfs-1-2 libtracker-client-0.8-0
  libtzinfo-ruby1.8 libvpx0 libwebkit-1.0-2 libwebkit-1.0-common libwpd8c2a
  libwpg-0.1-1 libwps-0.1-1 libxcb-atom1 libxcb-aux0 libxcb-event1
  libxcb-render-util0 libxdot4 libxfce4menu-0.1-0 liferea liferea-data
  menu-xdg min12xxw mono-2.0-gac mtools openoffice.org-base
  openoffice.org-calc openoffice.org-common openoffice.org-draw
  openoffice.org-emailmerge openoffice.org-filter-binfilter
  openoffice.org-filter-mobiledev openoffice.org-gtk openoffice.org-impress
  openoffice.org-java-common openoffice.org-math openoffice.org-officebean
  openoffice.org-style-galaxy openoffice.org-style-tango
  openoffice.org-writer pnm2ppa python-axiom python-bugbuddy
  python-clientform python-coherence python-configobj python-crypto
  python-epsilon python-gdata python-gdbm python-gmenu python-gnomedesktop
  python-gtkglext1 python-gtksourceview2 python-louie python-mechanize
  python-nevow python-opengl python-openssl python-pam python-pyasn1
  python-pysqlite2 python-rdflib python-serial python-tagpy
  python-twisted-bin python-twisted-conch python-twisted-core
  python-twisted-web python-webkit rails-ruby1.8 rcov software-center tcl
  tcptraceroute ttf-opensymbol ttf-sil-gentium update-manager-core
  update-manager-gnome update-notifier update-notifier-common vorbis-tools
  xli xsltproc xulrunner-1.9.1

リブートしてみたところ、 常用しているソフトウェアの動作には支障は無いようでした。 音もちゃんと出るのをやっと確認した。 これまで起動やシャットダウンの時に出ていた、 alsa-mixer関連の警告も出なくなりました。

Deiban sidさんへの移行は思ったよりもスムーズに進んでくれました。 dpkgの依存関係の記述性の良さが効いてるのかな(よく知らない)。 これなら常用する環境にもできそうです。

[debian] PAEカーネルをよける

そうそう、時々PAEカーネルを入れてもらえそうになります。Configureする段階で警告してくれているのでリブートした時にPAEカーネルが使うぇあれてしまうことは無さそうですが、下記のようにして消しておきます。

apt-get purge linux-image-3.2.0-4-686-pae linux-image-686-pae

[debian] デビアンのなるとを背景に使う

sidにしてからXのログイン画面の背景がなかなかかっこ良いです。渋い色のなるとマーク。xfce4の背景としても使いたいと思って探してみました。desktop-baseに含まれる、/usr/share/wallpapers/joy/contents/images以下のPNGファイルを設定すると良いようです。

PPTPをローカルに試す

サーバはUbuntu 10.04.4 pptpd でUbuntuをVPNサーバにする (May the Source be with you) に従い、

$ sudo apt-get install pptpd

bcrelayとpptpdがインストールされた。 /etc/pptpd.confを編集した。

localip 192.168.1.64
remoteip 192.168.1.192-245

/etc/ppp/chap-secretsを編集した。

username pptpd "password" *

サーバを再起動して

$ sudo /etc/init.d/pptpd restart

Androidから接続。 設定-無線とネットワーク-VPN設定-VPNの追加-PPTP VPNを追加-VPNサーバーの設定- <LAN内サーバのIPアドレス>。 VPN名は適当に設定して、接続。ユーザー名: username、パスワード: password。 これで接続できました。

これでVPNサーバのApacheさんを閲覧することはできました。 IPv4の転送は設定していないので、LAN内の他のホスト、例えばルータ、 は閲覧できない。

えーと、これで、remoteipからのパケットをPPPoEか何かでsshトンネルにつないで、 トンネル出口からインターネットに送り出せば…。


作り手とその取り巻きだけが楽しんでる間は本物じゃない。その中身が理解できない人々の生活を変えてこそ本物だ


zunda <zunda at freeshell.org>