Debian GNU/Linux 5.x (lenny) インストールめも

2021.4.1 移転しました...
  • このページの旧URLは
    • http://www10.plala.or.jp/palm84/debian_lenny.html

2009.8.8 作成 書きかけ、ごちゃごちゃの私的めも。
最終更新日 2010.7.24

980円PCに入れとります。サーバ及びLinuxの勉強用ということで普段はGUIは使ってません。なのであんまり参考にはならないかと。

え〜、Linux歴は2年とちょっとのド素人なので内容は保証できません。やったことを忘れないように、復習のために、今後のスキルアップを目指し、書き留めておりまする。

Debianのええとこは、割と枯れ目(安定)でパッケージがぎょうさんありまくり、自分でソースからビルドする必要が殆どないので、私のような初心者でも目的次第で結構使えるとこじゃないかなと思います。まぁ、情報が多すぎて探すのがタイヘンだったりするけど、そこはそれ。

Debian 総合

ドキュメント等

おすすめページ

インストール準備

いくつかの CD イメージ (businesscard, netinst, DVD) では、グラフィカルブートメニューから希望のデスクトップ環境の選択することもできます。メインメニューの 「Advanced options」 を選択し、「Alternative desktop environments」 を探してください。

6.3. それぞれのコンポーネントの使用法

【最小の CD】でインターネット上のサーバから

※ これが一番楽かもですね。個人的には「CD焼くのモッタイナイ」貧乏性だったりしますが。(んなもん CD-RW 使えと...恥)

最小の CD】"netinst" イメージ、"businesscard" イメージでは、ブート時にインストールする「デスクトップ環境」 (KDE, LXDE, Xfce) の選択が可能。

CDイメージ

【netbootイメージ】でインターネット上のサーバから

netboot(PXEブート用)ディレクトリのイメージでは、「デスクトップ環境」を選択した場合、GNOME がインストールされる(RAM が少ない場合は twm?)。

※GNOME以外を入れるにはブート時にパラメータを指定したらいい様なのですが、私の環境ではGNOME以外は入ってくれませんでした。

CD以外のブート用イメージ

※ デスクトップ環境については「なんとかしますわ!」とか、PXEブートでチャッチャとやってまお(※大阪弁w)な人にはこっちがバッチグー(死語w)ですか。

netboot(PXEブート用)ディレクトリのイメージはPXEブートでなくても使える。GRUBやSYSLINUX (ISOLINUX,PXELINUX) などからロードするだけ。PXEブートできないなら、GRUB(for DOS)起動ディスクでHD上の保存したイメージをロードさせるのが簡単かも。

  • linuxinitrd.gzdebian ディレクトリに置いた場合
  • GRUB for DOS - menu.lst
title Debian Installer
find --set-root /debian/linux
kernel /debian/linux vga=788 locale=ja_JP
initrd /debian/initrd.gz
  • SYSLINUX - syslinux.cfg ( isolinux.cfg , pxelinuxcfg/default)
LABEL debian
KERNEL /debian/linux
APPEND  vga=788 initrd=/debian/initrd.gz locale=ja_JP

hd-mediaディレクトリのイメージはインストーラ起動後にHD/USBメモリなどから(【最小のCD】などの)ISOイメージを探します。

ブートFDイメージはなくなりました。ごにょごにょ(何)すればできないこともないのですが、(CDブート以外では)PXEブートか、HDにファイルを置いて起動ディスクでのブートが割かし楽かなと。

参考リンク
拙作めも
ブートパラメータ

※GNOME以外を入れるにはブート時にパラメータを指定したらいい様なのですが、私の環境では、netbootイメージ使用でGNOME以外は入ってくれませんでした。

  • 5.3. ブートパラメータ
    • priority=xxx - 詳細な設定を可能に
    • tasks="standard, xxx" - 標準システム + デスクトップ環境の指定

ブートパラメータに priority=medium を追加すると、インストールメニューが表示され、インストールについて、さらに多くの制御を行うことができます。priority=low を使った場合は、すべてのメッセージを表示します (expert 起動法と等価)。priority=critical の場合は、インストールシステムは重要なメッセージだけを表示し、大騒ぎせずに正しい設定をしようとします。

5.3. ブートパラメータ

インストール中に異なるデスクトップ環境を、インタラクティブに選択することはできません。しかし、preseed (項B.4.11. 「パッケージ選択」 参照) を使用したり、インストーラの起動時にブートプロンプトのパラメータで tasks="standard, kde-desktop" と指定して、debian-installer が GNOME ではなく KDE デスクトップ環境をインストールするようにできます。また、desktop=xfce や desktop=lxde とすると、もっと軽量な Xfce デスクトップ環境や LXDE デスクトップ環境を選択できます。

6.3. それぞれのコンポーネントの使用法

インストール実行

かなり古いPCなので、なるべく軽く、容量も節約したい...

この方法では、前回の etch(GNOME) のインストール時と比べかなり軽く動いています。RAM 256 MBでもFirefoxなどが使えるレベルなのでちょっとびっくりしてたり(※ だが使ってるうちにそうでもなくなったりして)。但し、デスクトップ環境を後から追加する場合はどうしても「ありゃりゃ、アレがないYO!」な洩れが出て来ますけど。

  1. PXEサーバ、または起動ディスクなどから、netboot用イメージでブート
  2. 【追加ソフトウェアのインストール】選択は2点のみ
    • 標準システム
    • ファイルサーバ (Samba,NFS)
  3. コンソールを設定
  4. テキストモードの追加パッケージをaptでインストール
  5. KDEインストール
  6. X用追加パッケージをaptでインストール

ベースシステムとファイルサーバインストールで使用領域 647 MB。

KDEインストールで使用領域 1.7 GB。

コンソールの設定

日本語表示の為にフレーム・バッファを有効にする。

GRUBでフレーム・バッファを有効に

menu.lstのkernelのオプションに下記などを追記

  • vga=788 - SVGA(800x600) 16bit
  • vga=791 - XGA(1024x768) 16bit

カーネルがアップグレードされると、このオプションが消されてしまう様なので、その際は追記し直す。または、下記の方法で手動で組み込む。

/etc/modules に追記すればいいのですが、私はカーネルアップグレードがわかる方がいいので追記してません。

フレーム・バッファモジュールをコマンドで組み込む
$ ls /lib/modules/2.6.26-2-686/kernel/drivers/video/
arcfb.ko        geode/       pm2fb.ko        sysimgblt.ko
arkfb.ko        hecubafb.ko  pm3fb.ko        tdfxfb.ko
aty/            hgafb.ko     s1d13xxxfb.ko   tridentfb.ko
backlight/      i810/        s3fb.ko         uvesafb.ko
cirrusfb.ko     intelfb/     savage/         vermilion/
console/        kyro/        sis/            vfb.ko
cyber2000fb.ko  macmodes.ko  sm501fb.ko      vga16fb.ko
cyblafb.ko      matrox/      sstfb.ko        vgastate.ko
display/        neofb.ko     svgalib.ko      vt8623fb.ko
fb_ddc.ko       nvidia/      syscopyarea.ko
fb_sys_fops.ko  output.ko    sysfillrect.ko

fb」の付くものがフレームバッファ用モジュールらしい?

# modprobe vga16fb
jfbterm

日本語化フレームバッファターミナルの実行

$ jfbterm

exit、または Ctrl-D で終了。

2009.7.31現在、exitすると固まってしまいます。orz

コンソールでの日本語入力 - uim-fep

※【注意】これは、KDE・uim-anthy などをインストールした後に行うのがいいかと。

オン/オフ 両方に Ctrl-\ を登録。

# apt-get install uim-fep
# vi /usr/share/uim/generic-key-custom.scm
  • 修正前
(define-custom 'generic-on-key '("zenkaku-hankaku" "<Shift> ")

(define-custom 'generic-off-key '("zenkaku-hankaku" "<Shift> ")
  • 修正後
(define-custom 'generic-on-key '("zenkaku-hankaku" "<Control>\\")

(define-custom 'generic-off-key '("zenkaku-hankaku" "<Control>\\")
$ uim-fep

Ctrl-\ で日本語オン・オフ。

  • jfbtermと同時実行
$ jfbterm -e uim-fep

Shiftキーなどの文節調整ができないので注意Ctrlキー + 英字キーで。Fxキーは使える。文節伸ばし Ctrl-O、文節縮め Ctrl-I

サービス設定ツール

サービスの自動オン・オフを設定。テキストモードでも使えます。

# apt-get install sysvconfig

これには service コマンドが含まれてました。Vineとか風味に使えます。

# service samba restart
起動時にNumLockをオンにする
  • スクリプト numlocok.sh 作成
#!/bin/sh
for tty in /dev/tty[1-9]*; do
    setleds -D +num < $tty
done
  • サービスに登録
# cp numlock.sh /etc/init.d
# chmod 755 /etc/init.d/numlock.sh
# update-rc.d numlock.sh defaults
時刻合わせ
# apt-get install ntpdate
# ntpdate ntp2.jst.mfeed.ad.jp
 2 Aug 05:20:15 ntpdate[15608]: step time server 210.173.160.57 offset 40.217014 sec
  • ntp1.jst.mfeed.ad.jp(インターネットマルチフィード株式会社)
  • ntp.ring.gr.jp (Ring)
  • time.windows.com (Microsoft)
  • ntp2.plala.or.jp (Plala)
  • name1.121ware.com (NEC)
w3m で画像表示

w3m-img をインストール

# apt-get install w3m-img

X(GUI)の設定

デスクトップ環境はKDEが好き好きなので。

# apt-get install kde kde-i18n-ja

再起動後、KDEの【コントロールセンター】にて、言語追加・キーボード・自動ログインなどを設定。

普段はテキスト(全画面コンソール)モードでXを起動しない。KDM(KDE 用 X ディスプレイマネージャ)を起動しない設定にする。

# runlevel
N 2
$ grep default /etc/inittab
# The default runlevel.
id:2:initdefault:

runlevel 3KDM が起動するように設定

# cd /etc/rc3.d/
mv K99KDM S99KDM

menu.lst にrunlevel 3 のエントリを追記しておく

< 略 >
### END DEBIAN AUTOMAGIC KERNELS LIST

title GRUB for DOS
root (hd0,2)
kernel /grub.exe --config-file="root (hd0,2);configfile /menu.lst"

title       Debian GNU/Linux, kernel 2.6.26-2-686 runlevel 3
root        (hd0,0)
kernel      /boot/vmlinuz-2.6.26-2-686 root=/dev/hda1 ro vga=788 3 
initrd      /boot/initrd.img-2.6.26-2-686

※あっと、カーネルのアップデート後はファイル名を変更しないとだめですね(汗)

テキストモードからの X の起動
  • root でKDM(KDE 用 X ディスプレイマネージャ)を起動
# /etc/init.d/kdm start

または、一般ユーザで startx コマンド(※ xinit パッケージに含まれる)

# apt-get install xinit
$ startx

注:jfbterm はexitしておくこと

ウィンドウマネージャを確認
# update-alternatives --display x-session-manager
  • デフォルトのウィンドウマネージャを変更する
# update-alternatives --config x-session-manager
Xの再設定

以前は、xorg.confの直接編集が可能でしたが、lennyでは仕様がかなり変わってる模様。調査中...

追加パッケージ

Iceweasel(Firefox)

# apt-get install iceweasel
# apt-get install iceweasel-l10n-ja

拡張はとりあえず2点のみ

Opera

deb http://deb.opera.com/opera/ lenny non-free
wget -O - http://deb.opera.com/archive.key | apt-key add -
# apt-get update
# apt-get install opera

言語ファイル (language file) は不要。

但し、メニューなど「ー」が「+」になっているので【詳細設定】→【フォント】で設定変更。

AA表示が?

apt で ttf-mona をインストール、font-familyMona を指定すればok。

CSSでの font-family 指定が、なぜか(ダウンロードしてコピーした)「IPA モナー Pゴシック」(IPAMonaPGothic) などフォント名を認識できない模様。

言語ファイルが必要な場合は下記でダウンロード

Tools(ツール)Prefences(設定)General(一般設定)Language(言語)Details(詳細設定)からファイルを指定。

Flash Plugin

※ 色々方法あるのでこれでいいのかチト微妙。まぁ一応最新版が入りましたが...

注:Debian Backports からインストーラ(ダウンローダかな?)をインストール。

deb http://www.backports.org/debian lenny-backports main contrib non-free
# wget -O - http://backports.org/debian/archive.key | apt-key add -  
Package: flashplugin-nonfree
Pin: release a=lenny-backports
Pin-Priority: 999
# apt-get update
# apt-get install flashplugin-nonfree

9.0がインストールされました。

# apt-get update
# apt-get upgrade
# update-flashplugin-nonfree --install

10.0 r32 がインストールされました。

フォント

# apt-get install ttf-vlgothic

aptでインストール(xfonts-mona)してみたけどいまいちおかしかったので、ダウンロードしてコピー...。したけどOperaで表示できなかった。Mona (ttf-mona) でおk

※ Opera では、font-family:'IPA モナー Pゴシック',IPAMonaPGothic; を認識しない。mona ならおk。

# apt-get install ttf-mona

しかしながら、私もそうでありましたが(滝汗)、AA表示のために font-familymona を指定していることは少ないので、Firefox用に(Operaではダメだけど)ダウンロード&コピーもやっておいた方がいいかも。

# cp opfc-ModuleHP-1.1.1_withIPAMonaFonts-1.0.8/fonts/ipagp-mona.ttf /usr/share/fonts/truetype/

やっぱし、ドキュメント読んでキッチリ設定した方がいいですね(汗)。

ネットワークアイコン

Windows風味なシステムトレイに表示するネットワークのアイコン。

# apt-get install knemo

【コントロールセンター】で「ネットワークモニタ」を有効に。

CPUメータ

システムトレイに表示するCPUメータ

# apt-get install kcpuload

Sun Java(JRE)

/etc/apt/sources.listnon-free セクションを追記する

# apt-cache search -n sun-java6
sun-java6-bin - Sun Java(TM) Runtime Environment (JRE) 6 (architecture dependent files)
sun-java6-demo - Sun Java(TM) Development Kit (JDK) 6 demos and examples
sun-java6-doc - Sun JDK(TM) Documention -- integration installer
sun-java6-fonts - Lucida TrueType fonts (from the Sun JRE)
sun-java6-javadb - Java(TM) DB, Sun Microsystems' distribution of Apache Derby
sun-java6-jdk - Sun Java(TM) Development Kit (JDK) 6
sun-java6-jre - Sun Java(TM) Runtime Environment (JRE) 6 (architecture independent files)
sun-java6-plugin - The Java(TM) Plug-in, Java SE 6
sun-java6-source - Sun Java(TM) Development Kit (JDK) 6 source files
# apt-get install sun-java6-plugin
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下の特別パッケージがインストールされます:
  gsfonts-x11 java-common odbcinst1debian1 sun-java6-bin sun-java6-jre
  unixodbc
提案パッケージ:
  equivs binfmt-support sun-java6-fonts ttf-baekmuk ttf-unfonts
  ttf-unfonts-core ttf-arphic-uming libmyodbc odbc-postgresql libct1
以下のパッケージが新たにインストールされます:
  gsfonts-x11 java-common odbcinst1debian1 sun-java6-bin sun-java6-jre
  sun-java6-plugin unixodbc
アップグレード: 0 個、新規インストール: 7 個、削除: 0 個、保留: 0 個。
35.1MB のアーカイブを取得する必要があります。
この操作後に追加で 101MB のディスク容量が消費されます。
続行しますか [Y/n]?
# update-java-alternatives -s java-6-sun

'firefox-javaplugin.so' を提供するために '/usr/lib/jvm/java-6-sun/jre/lib/i386/libnpjp2.so' を使います。
'iceape-javaplugin.so' を提供するために '/usr/lib/jvm/java-6-sun/jre/lib/i386/libnpjp2.so' を使います。
'iceweasel-javaplugin.so' を提供するために '/usr/lib/jvm/java-6-sun/jre/lib/i386/libnpjp2.so' を使います。
'midbrowser-javaplugin.so' を提供するために '/usr/lib/jvm/java-6-sun/jre/lib/i386/libnpjp2.so' を使います。
'mozilla-javaplugin.so' を提供するために '/usr/lib/jvm/java-6-sun/jre/lib/i386/libnpjp2.so' を使います。
'xulrunner-1.9-javaplugin.so' を提供するために '/usr/lib/jvm/java-6-sun/jre/lib/i386/libnpjp2.so' を使います。
'xulrunner-javaplugin.so' を提供するために '/usr/lib/jvm/java-6-sun/jre/lib/i386/libnpjp2.so' を使います。

GRUBの設定

カーネルアップデート時も自動でmenu.lstが編集されるので別にすることはなし。

  • /boot/grub/menu.lst(抜粋)
title       Debian GNU/Linux, kernel 2.6.26-2-686
root        (hd0,0)
kernel      /boot/vmlinuz-2.6.26-2-686 root=/dev/hda1 ro vga=788
initrd      /boot/initrd.img-2.6.26-2-686

追記は「### END DEBIAN AUTOMAGIC KERNELS LIST」の下の行から書く。

ブートの選択を追加

このPCではブートデバイスの選択切替はBIOSで設定しないとできないようなので、ちと面倒。GRUBで選択できるようにmenu.lstに追記する。

  • FDブートなどを追記
### END DEBIAN AUTOMAGIC KERNELS LIST

title GRUB for DOS
root (hd0,0)
kernel /grub.exe --config-file="root (hd0,2);configfile /menu.lst"

title       Debian GNU/Linux, kernel 2.6.26-2-686 runlevel 3
root        (hd0,0)
kernel      /boot/vmlinuz-2.6.26-2-686 root=/dev/hda1 ro vga=788 3
initrd      /boot/initrd.img-2.6.26-2-686

title Network
root (hd0,2)
kernel /eepro100.zli

title gPXE
root (hd0,2)
kernel /gpxe_all.krn

title PLoP Boot Manager
kernel (hd0,2)/plpbt.bin

title Floppy
chainloader (fd0)+1

title * halt
halt

title * reboot
reboot
GRUB for DOS

CDブート用に(オリジナルのGRUBでのやり方がわからないので...)。0.4.2以降をダウンロード/grub.exeをコピー。/menu.lst作成。

  • /boot/grub/menu.lstに追記
title GRUB for DOS
root (hd0,0)
kernel /grub.exe --config-file="root (hd0,2);configfile /menu.lst"
  • /menu.lst
color white/blue yellow/cyan
# timeout 30
# default /default

# jp106 keypad
setkey at bracketleft
setkey doublequote at
setkey ampersand caret
setkey quote ampersand
setkey parenleft asterisk
setkey parenright parenleft
setkey underscore parenright
setkey equal underscore
setkey plus colon
setkey colon quote
setkey asterisk doublequote
setkey bracketleft bracketright
setkey braceleft braceright
setkey bracketright backslash
setkey braceright bar
setkey backslash backquote
setkey tilde plus
setkey caret equal
setkey backquote braceleft
setkey bar tilde


title *** chainload hda(sda) MBR         ***
    chainloader (hd0)+1

title *** configfile /boot/grub/menu.lst ***
find --set-root /boot/grub/menu.lst
configfile /boot/grub/menu.lst

title chainload CD (cd)
    cdrom --init
    map --hook
    chainloader (cd)

title chainload CD (cd0)
    cdrom --init
    map --hook
    chainloader (cd0)

title Puppy Linux
find --set-root /puppy4/vmlinuz
kernel /puppy4/vmlinuz pmedia=idehd subdir=puppy4
initrd /puppy4/initrd.gz

title Network Boot   === gPXE kernel
find --set-root /gpxe_all.krn
kernel /gpxe_all.krn

title Boot from USB  ===  PLoP Boot Manager 5.0 === 
find --set-root /plpbt.bin
kernel /plpbt.bin

title ===  Memtest86+
find --set-root /memtest
    kernel /memtest

title commandline
    commandline

title reboot
    reboot

title halt
    halt
起動ディスクを準備しとこう!

menu.lst の一番目に下記を書いとけばいいかと。HD上の /boot/grub/menu.lst を検索してメニューを表示します。

title  configfile /boot/grub/menu.lst
find --set-root --ignore-cd --ignore-floppies /boot/grub/menu.lst
configfile /boot/grub/menu.lst

BCDWなんかでも簡単に作れるし、ISOLINUXなどからチェインロードもできますけど。

パッケージ管理

パッケージを探す
$ apt-cache --help
コマンド:
   add - パッケージファイルをソースキャッシュに追加する
   gencaches - パッケージおよびソースキャッシュを生成する
   showpkg - 単一パッケージの一般情報を表示する
   showsrc - ソースレコードを表示する
   stats - 基本ステータス情報を表示する
   dump - すべてのファイルを簡単な形式で表示する
   dumpavail - available ファイルを標準出力に出力する
   unmet - 未解決の依存関係を表示する
   search - 正規表現パターンによってパッケージを検索する
   show - パッケージの情報を表示する
   depends - パッケージが依存しているパッケージを表示する
   rdepends - パッケージの逆依存情報を表示する
   pkgnames - システム内のすべてのパッケージ名を表示する
   dotty - GraphViz 用のパッケージグラフを生成する
   xvcg - xvcg 用のパッケージグラフを生成する
   policy - ポリシー設定情報を表示する

$ dpkg --help
  -s|--status <パッケージ名> ...     パッケージ状態の詳細を表示
  -p|--print-avail <パッケージ名> ...取得可能なバージョンの詳細を表示
  -L|--listfiles <パッケージ名> ...  パッケージが「所有する」ファイル一 覧を表示
  -l|--list [<パターン> ...]         パッケージの一覧を簡潔に表示
  -S|--search <パターン> ...         ファイルを所有するパッケージを検索

一例として、「CPUメーターがほすい!」

# apt-get update
# apt-cache search cpu

いっぱい出て来る。名前のみ対象にするには(-n = --names-only

# apt-cache search -n cpu
kcpuload - Kicker 用 CPU メータ

これっぽい?詳細表示してみる

# apt-cache show kcpuload
 KCPULoad は、Kicker (KDE パネル) 用の小さなプログラムです。システムトレ
 イ内の 1 つないし 2 つの設定可能な線図で、最近の CPU 使用量を表示します。
 これらの線図には、色や様々なスタイルに関する設定項目があります。
 .
 KCPULoad は SMP に対応しており、ユーザ・システム毎の負荷表示も可能です 。

既に入ってたりしませんか?

$ dpkg -s kcpuload
(または、$ dpkg -l | grep kcpuload など)
  • インストール済みなら
Package: kcpuload
Status: install ok installed
  • 未インストールなら
パッケージ `kcpuload' はまだインストールされておらず情報の利用は不可能です。
  • インストール実行
# apt-get install kcpuload
  • パッケージに含まれるファイルのリスト表示
$ dpkg -L packagename
  • コマンドはどこ?
$ dpkg -L kcpuload | grep /bin
/usr/bin
/usr/bin/kcpuload
  • 実行
$ kcpuload &

システムトレイにアイコンが出ますた!

  • コマンド名/ファイル名からパッケージを検索するには?
$ dpkg -S filename

※下記はちょっと古い情報なのでlennyでは変更されてるかもしれない。

次のコマンドを使ってインストール済みパッケージの再設定を行います。

     # dpkg-reconfigure --priority=medium package [...]
     # dpkg-reconfigure --all   # 全パッケージの再設定
     # dpkg-reconfigure locales # 特別なロケールの生成
     # dpkg-reconfigure --p=low xserver-xfree86 # X サーバの再設定

debconf ダイアログモードが永続的に必要な場合は、 debconf を再設定してください。 
特別な設定スクリプトを持つプログラムがいくつかあります。 [36]

     apt-setup     - /etc/apt/sources.list の生成
     install-mbr   - Master Boot Record manager のインストール
     tzconfig      - ローカル time zoneゾーンの設定
     gpmconfig     - gpm マウスデーモンの設定
     eximconfig    - Exim (MTA) の設定
     texconfig     - teTeX の設定
     apacheconfig  - Apache (httpd) の設定
     cvsconfig     - CVS の設定
     sndconfig     - サウンドシステムの設定
     ...
     update-alternatives - 標準のコマンドの設定、例えば vim を vi に設定
     update-rc.d         - System-V init スクリプトマネージャ
     update-menus        - Debian menu システム

APT

# apt-get clean
$ apt-cache search ms-sys
$ apt-cache search --names-only ms-sys
$ apt-cache show ms-sys

dpkg

debパッケージのイントール、インストール済パッケージの情報表示など。

$ dpkg -s syslinux
# dpkg -L mbr
# dpkg -S install-mbr
dlocate

「dpkg -L と dpkg -S の高速な代替品」とのこと

# apt-get install dlocate  
# update-dlocatedb
$ dlocate filename

サービス(デーモン)の設定

$ /sbin/runlevel
N 2
$ ls /etc/rc2.d/
K12acpid@              K89atd@                S20samba@
K14avahi-daemon@       K91apache2@            S20smartmontools@
K20clamav-freshclam@   K99kdm@                S20winbind@
K20lisa@               README                 S21fam@
K20nfs-common@         S10rsyslog@            S24hal@
K20nfs-kernel-server@  S12dbus@               S89cron@
K20openbsd-inetd@      S20console-screen.sh@  S99rc.local@
K20saned@              S20dirmngr@            S99rmnologin@
K20tftpd-hpa@          S20exim4@              S99stop-bootlogd@
K40dhcp3-server@       S20fancontrol@
K50netatalk@           S20numlock.sh@

停止したいサービスのファイル名を先頭Kに変更する

sysvconfig, sysv-rc-conf

sysvconfig 使う方が簡単かも。runlevel 2から5を一括設定。

# apt-get install sysvconfig sysv-rc-conf
# sysvconfig

ランレベル毎に設定する場合はsysv-rc-confで。

サービス(デーモン)の再設定
# dpkg-reconfigure サービス名

日本語入力環境

# apt-get install uim
# apt-get install uim-anthy
# apt-get install uim-applet-kde

ネットワーク

# ifconfig -a
eth0      Link encap:イーサネット  ハードウェアアドレス 00:06:29:1e:da:c1
          inetアドレス:192.168.0.5 ブロードキャスト:192.168.0.255  マス ク:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  メトリック:1
          RXパケット:4070 エラー:0 損失:0 オーバラン:0 フレーム:0
          TXパケット:2655 エラー:0 損失:0 オーバラン:0 キャリア:0
      衝突(Collisions):0 TXキュー長:1000
          RXバイト:407025 (397.4 KiB)  TXバイト:1006145 (982.5 KiB)

lo        Link encap:ローカルループバック
          inetアドレス:127.0.0.1 マスク:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  メトリック:1
          RXパケット:356 エラー:0 損失:0 オーバラン:0 フレーム:0
          TXパケット:356 エラー:0 損失:0 オーバラン:0 キャリア:0
      衝突(Collisions):0 TXキュー長:0
          RXバイト:20740 (20.2 KiB)  TXバイト:20740 (20.2 KiB)

/etc/network/interfacesで設定

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
# iface eth0 inet dhcp
iface eth0 inet static
address 192.168.0.5
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1
手動設定
  • IPアドレス、サブネットマスク設定
# ifconfig eth0 192.168.0.5 netmask 255.255.255.0 broadcast 192.168.0.255
  • route コマンド - gateway(ルーターなど)設定
# route del default gw 192.168.0.10
# route add default gw 192.168.0.1
# route
カーネルIP経路テーブル
受信先サイト    ゲートウェイ    ネットマスク   フラグ Metric Ref 使用数 インタフェース
192.168.0.0     *               255.255.255.0   U     0      0        0 eth0
default         192.168.0.1     0.0.0.0         UG    0      0        0 eth0
  • DNSサーバ設定確認
$ cat /etc/resolv.conf
search 
nameserver 192.168.0.1
ホスト名を変更
# hostname (ホスト名)

を実行すれば変更できますが、これだけでは再起動すると元に戻ってしまいます。 永続的に変更したいなら、更に /etc/hostname と /etc/hosts を手動で書き替えた後に

# /etc/init.d/hostname.sh

を実行してください。

# echo "blacklist ipv6" > /etc/modprobe.d/ipv6-off

Samba

Shift_JIS環境のLANDISKへのアクセスでの問題

色々試しましたが、だめですねぇ。

  • Konqueror で smb:// - なぜかファイル名の最後の一文字が表示されない(文字化けはしない)
    • 全く同じ設定のKubuntu 8.04では問題ないんですけど
  • mountコマンド - codepage が無視される?日本語ファイル名が文字化け
    • Kubuntu 8.04でも同様
  • $ ls /mnt/landisk | nkf -S -w で正しく表示
convmvfsで再マウント
# apt-get install fuse-convmvfs
  • 通常マウント
# mount -t cifs -o iocharset=utf8,uid=1000,gid=1000 //192.168.0.15/disk /mnt/ladisk_temp
  • convmvfs実行
# convmvfs /mnt/landisk -o icharset=cp932,allow_other,srcdir=/mnt/ladisk_temp
# ls /mnt/landisk/test/
@knoppix2.txt*  年表.xls*
コピー 〜 年表.xls*  日本語フォルダ@/

smbfs ではなく cifs でのマウントに変更された模様。ホスト名でマウントできない。IPアドレスを指定。

XPマシンへのアクセスはほぼ問題なし。mountコマンドでオプション指定なしでも日本語ファイル名は正しく表示されてました。

[global]
dos charset = CP932 
unix charset = UTF-8 
display charset = UTF-8

workgroup = Palm84net
security = user
socket options = TCP_NODELAY
domain master = no
map to guest = bad user
usershare allow guests = no

charset を指定しておかないとクライアントでのアクセスで日本語が文字化けすることがあるようです。

mount.smbfs (mount.cifs)

Konqueror、または Nautilus でネットワークドライブへのアクセスは可能ですが、ファイルシステムにマウントするには以下をインストール。(インストール時に「ファイルサーバ」を選択した場合はインストール済み?)

# apt-get install smbclient smbfs

Windowsドライブの日本語が表示できない場合はオプションで下記を指定。

  • codepage=cp932(※無視されるみたいですが...)
  • iocharset=utf8

userを指定すると以降のオプション指定が無視されちゃう模様。

# mount -t cifs -o uid=1000,gid=1000,codepage=cp932,iocharset=utf8 //192.168.0.200/share /mnt/winxp
  • /etc/fstab
//192.168.0.200/share /mnt/winxp  smbfs  noauto,uid=1000,gid=1000,codepage=cp932,iocharset=utf8,username=yassy
Samba(サーバー側)

主な設定(インストール時に「ファイルサーバ」を選択した場合はインストール済み?)

# apt-get install samba samba-common samba-doc-ja

/etc/samba/smb.confを編集

[global]
workgroup = Palm84net
security = user
socket options = TCP_NODELAY
domain master = no
map to guest = bad user
usershare allow guests = no

共有するディレクトリの設定

[homes]
   comment = Home Directories
   path = /home/palm84
   browseable = yes
   valid users = palm84
   read only = no
   create mask = 0775
   directory mask = 0775
   writable = yes

[hda3]
path = /mnt/hda3
valid users = palm84
read only = no
create mask = 0775
directory mask = 0775
writable = yes

※書き込み可能にする場合

    create mask = 0775
    directory mask = 0775
    writable = yes

Sambaユーザの設定

# smbpasswd -a palm84

iptables

無線LAN

WEPでの暗号化は現在では簡単に解読されてしまうので、ほんの一時的で限定的な使用を除きやめた方がいい。WPA(WPA-PSK)を使おう。と言いつつ未確認。

ウイルススキャン

スキャナーとしてのみ使用。デーモンは起動しない。

clamav

# apt-get install clamav
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下の特別パッケージがインストールされます:
  clamav-base clamav-freshclam libclamav6 libtommath0
提案パッケージ:
  clamav-docs libclamunrar6
以下のパッケージが新たにインストールされます:
  clamav clamav-base clamav-freshclam libclamav6 libtommath0
アップグレード: 0 個、新規インストール: 5 個、削除: 0 個、保留: 0 個。
23.4MB のアーカイブを取得する必要があります。
この操作後に追加で 24.9MB のディスク容量が消費されます。
続行しますか [Y/n]?

※未確認

※ etchでの確認(情報古いです
  • ネットワークのスキャン可
  • アップデート - freshclam
  • ログ - /var/log/clamav/freshclam.log
  • sources.listに下記を追記
# vi /etc/apt/sources.list
deb http://volatile.debian.org/debian-volatile etch/volatile main contrib non-free
  • aptでインストール
# apt-get install clamav
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了
以下の特別パッケージがインストールされます:
  clamav-base clamav-freshclam libclamav3
提案パッケージ:
  unrar lha clamav-docs
推奨パッケージ:
  arj unzoo
以下のパッケージが新たにインストールされます:
  clamav clamav-base clamav-freshclam libclamav3
アップグレード: 0 個、新規インストール: 4 個、削除: 0 個、保留: 0 個。
13.3MB のアーカイブを取得する必要があります。
展開後に追加で 14.7MB のディスク容量が消費されます。
続行しますか [Y/n]?

# apt-get install unrar lha
# freshclam -v
Current working dir is /var/lib/clamav/
Max retries == 5
ClamAV update process started at Mon Dec 24 21:03:39 2007
Querying current.cvd.clamav.net
TTL: 300
Software version from DNS: 0.92
main.cvd version from DNS: 45
main.inc is up to date (version: 45, sigs: 169676, f-level: 21, builder: sven)
daily.cvd version from DNS: 5235
daily.cvd is up to date (version: 5235, sigs: 11135, f-level: 21, builder: sven)
# clamscan -ri --log=./clamav.log /mnt/landisk/
--infected            -i             Only print infected files
-recursive           -r             Scan subdirectories recursively
--log=FILE            -l FILE        Save scan report to FILE

AVG Anti-Virus Free Edition

※未確認

※ etchでの確認(情報古いです
  • avgdがデーモン常駐?
  • ネットワークのスキャン可
  • 設定 - /etc/avg.conf
  • アップデートのログ -
/opt/grisoft/avg7/var/update/log/avg7upd.log
  • .avg7/testresults/
  • アップデート(かなり時間がかかる)
# avgupdate -o
  • スキャン
# avgscan -report avgscan.log -ext=* -arc -heur -rt /mnt/landisk
  • -arc - test archives
  • -rt - test run-time compressions
  • -ext - test these extensions /for example EXT=*/
  • -report - Report to file /file name/

Avira AntiVir PersonalEdition Classic

※未確認

※ etchでの確認(情報古いです
  • フリー版はネットワークのスキャン不可
  • インストールは installを実行するだけ
  • アップデート - antivir --update
  • ログ - /var/log/avupdater.log
# antivir -s -v -z --allfiles -rf=antivir.log --scan-in-archive /mnt/hda3
-s .............. scan subdirectories
--allfiles ...... synonymous for --scan-mode=all
--scan-in-archive files in archives will be extracted and scanned
--scan-in-mbox .. scan mailbox folders, too (might be time consuming!)
--heur-level=N .. setup heuristics level: 0=off, 1-3=low-high
-z .............. synonymous for --scan-in-archive (scan in archives, too)
-v .............. scan files completely (slower with possible false alerts)
-rf<filename> ... name of log file
                   %d = day, %m = month, %y = year (two digits each)

apache2

Shift_JISなどのhtmlファイルでも、meta要素でcharsetをきっちり指定してあればapache側の設定は不要となりました。楽ですね。

# apt-get install apache2-mpm-prefork
  1. sites-available/default をコピー
  2. コピーした newsite を編集
  3. a2dissite コマンドでdefaultを無効に
  4. a2ensite コマンドで newsite を有効に
# ls -l /etc/apache2/
合計 52
-rw-r--r-- 1 root root 10155 2009-07-25 09:43 apache2.conf
-rw-r--r-- 1 root root 10104 2009-07-15 05:00 apache2.conf~
drwxr-xr-x 2 root root  4096 2009-08-02 09:23 conf.d/
-rw-r--r-- 1 root root   378 2009-07-15 05:00 envvars
-rw-r--r-- 1 root root     0 2009-07-25 07:04 httpd.conf
drwxr-xr-x 2 root root  4096 2009-07-25 08:06 mods-available/
drwxr-xr-x 2 root root  4096 2009-07-25 08:08 mods-enabled/
-rw-r--r-- 1 root root   513 2009-07-15 05:00 ports.conf
drwxr-xr-x 2 root root  4096 2009-07-25 08:36 sites-available/
drwxr-xr-x 2 root root  4096 2009-08-02 09:39 sites-enabled/
 ls -l /etc/apache2/sites-available/
合計 20
-rw-r--r-- 1 root root  950 2009-07-15 05:00 default
-rw-r--r-- 1 root root 7366 2009-07-15 05:00 default-ssl
-rw-r--r-- 1 root root 1028 2009-07-25 08:36 newsite

ドキュメントルートなどを設定

# cd /etc/apache2/site-available
# cp default newsite
# vi newsite

newsite を有効に

# a2dissite default
# a2ensite newsite

セキュリティの設定

# cd /etc/apache2/conf.d
# vi security

perlのパスを調べる

# whereis perl
perl: /usr/bin/perl /etc/perl /usr/lib/perl /usr/share/perl /usr/share/man/man1/perl.1.gz

モジュールを有効にする

# vi mods-available/mime.conf
AddHandler cgi-script .cgi
# a2enmod
mime_magic
dwww

ローカルのドキュメントをブラウザで読めます。CGI利用。

PXEネットワークブート用サーバ

  1. Debianインストーラ
  2. マルチブート

まず、Debianインストーラを設定。その他、必要ならKnoppix, FDイメージなどを設定。

Debianインストーラ

$ wget http://www.ring.gr.jp/pub/linux/debian/debian/dists/lenny/main/installer-i386/current/images/netboot/gtk/netboot.tar.gz
# apt-get install tftpd-hpa tftp-hpa dhcp3-server
tftpサーバの設定
  • tftpディレクトリの確認
$ grep tftp /etc/inetd.conf
tftp           dgram   udp     wait    root  /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot
  • インストーラ一式をtftpディレクトリに展開
# tar zxvf netboot.tar.gz -C /var/lib/tftpboot/
  • 展開されたファイルを確認
# ls -Rl /var/lib/tftpboot/
/var/lib/tftpboot/:
合計 8
drwxr-xr-x 3 root root 4096 2009-06-26 06:17 debian-installer/
lrwxrwxrwx 1 root root   32 2009-08-02 10:07 pxelinux.0 -> debian-installer/i386/pxelinux.0*
lrwxrwxrwx 1 root root   34 2009-08-02 10:07 pxelinux.cfg -> debian-installer/i386/pxelinux.cfg/
-rw-r--r-- 1 root root   61 2009-06-26 06:17 version.info

/var/lib/tftpboot/debian-installer:
合計 4
drwxr-xr-x 4 root root 4096 2009-06-26 06:17 i386/

/var/lib/tftpboot/debian-installer/i386:
合計 14860
drwxr-xr-x 2 root root     4096 2009-06-26 06:17 boot-screens/
-rw-r--r-- 1 root root 13693777 2009-06-26 06:17 initrd.gz
-rw-r--r-- 1 root root  1468208 2009-06-26 06:17 linux
-rwxr-xr-x 1 root root    15820 2009-06-26 06:17 pxelinux.0*
drwxr-xr-x 2 root root     4096 2009-06-26 06:17 pxelinux.cfg/

/var/lib/tftpboot/debian-installer/i386/boot-screens:
合計 224
-rw-r--r-- 1 root root    544 2009-06-26 06:17 adtxt.cfg
-rw-r--r-- 1 root root    123 2009-06-26 06:17 exithelp.cfg
-rw-r--r-- 1 root root    886 2009-06-26 06:17 f1.txt
-rw-r--r-- 1 root root    568 2009-06-26 06:17 f10.txt
-rw-r--r-- 1 root root    665 2009-06-26 06:17 f2.txt
-rw-r--r-- 1 root root    695 2009-06-26 06:17 f3.txt
-rw-r--r-- 1 root root    417 2009-06-26 06:17 f4.txt
-rw-r--r-- 1 root root    806 2009-06-26 06:17 f5.txt
-rw-r--r-- 1 root root   1220 2009-06-26 06:17 f6.txt
-rw-r--r-- 1 root root    916 2009-06-26 06:17 f7.txt
-rw-r--r-- 1 root root   1019 2009-06-26 06:17 f8.txt
-rw-r--r-- 1 root root    765 2009-06-26 06:17 f9.txt
-rw-r--r-- 1 root root    890 2009-06-26 06:17 menu.cfg
-rw-r--r-- 1 root root    629 2009-06-26 06:17 prompt.cfg
-rw-r--r-- 1 root root   6329 2009-06-26 06:17 splash.png
-rw-r--r-- 1 root root    543 2009-06-26 06:17 stdmenu.cfg
-rw-r--r-- 1 root root    152 2009-06-26 06:17 syslinux.cfg
-rw-r--r-- 1 root root    188 2009-06-26 06:17 txt.cfg
-rwxr-xr-x 1 root root 145800 2009-06-26 06:17 vesamenu.c32*

/var/lib/tftpboot/debian-installer/i386/pxelinux.cfg:
合計 0
lrwxrwxrwx 1 root root 28 2009-08-02 10:07 default -> ../boot-screens/syslinux.cfg
  • PXEブートの設定ファイル - pxelinux.cfg/defaultの確認
# cat /var/lib/tftpboot/pxelinux.cfg/default
# D-I config version 1.0
include debian-installer/i386/boot-screens/menu.cfg
default debian-installer/i386/boot-screens/vesamenu.c32
prompt 0
timeout 0
# cat /var/lib/tftpboot/debian-installer/i386/boot-screens/menu.cfg
menu hshift 13
menu width 49

menu title Installer boot menu
include debian-installer/i386/boot-screens/stdmenu.cfg
include debian-installer/i386/boot-screens/txt.cfg
include debian-installer/i386/boot-screens/amdtxt.cfg
include debian-installer/i386/boot-screens/gtk.cfg
include debian-installer/i386/boot-screens/amdgtk.cfg
menu begin advanced
        menu title Advanced options
        include debian-installer/i386/boot-screens/stdmenu.cfg
        label mainmenu
                menu label ^Back..
                menu exit
        include debian-installer/i386/boot-screens/adtxt.cfg
        include debian-installer/i386/boot-screens/amdadtxt.cfg
        include debian-installer/i386/boot-screens/adgtk.cfg
        include debian-installer/i386/boot-screens/amdadgtk.cfg
menu end
label help
        menu label ^Help
        text help
   Display help screens; type 'menu' at boot prompt to return to this menu
        endtext
        config debian-installer/i386/boot-screens/prompt.cfg
dhcpサーバの設定
  • dhcpサーバを起動するため、ネットワークのIPアドレスを固定に
# vi /etc/network/interfaces 

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
# iface eth0 inet dhcp
iface eth0 inet static
address 192.168.0.5
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1
  • dhcpサーバのデフォルトの設定ファイルをバックアップ
# cp /etc/dhcp3/dhcpd.conf /etc/dhcp3/dhcpd.conf.def
  • dhcpサーバの設定ファイルを編集

※IPアドレスを自由割り当てする場合(rangeは空いてる範囲で)

# vi /etc/dhcp3/dhcpd.conf

option domain-name "workgroup";
option domain-name-servers 192.168.0.1;
option subnet-mask 255.255.255.0;
option routers 192.168.0.1;

default-lease-time 600;
max-lease-time 7200;
allow booting;
allow bootp;

subnet 192.168.0.0 netmask 255.255.255.0 {
  range 192.168.0.200 192.168.0.253;
  option broadcast-address 192.168.0.255;
  filename "pxelinux.0";
  next-server 192.168.0.5;
}
# /etc/init.d/openbsd-inetd restart
Restarting internet superserver: inetd.
# /etc/init.d/dhcp3-server restart
Stopping DHCP server: dhcpd3.
Starting DHCP server: dhcpd3.

マルチブート

【メチャ私的】マルチブートにする。

  1. Debianインストーラの設定ではリンクが張られていたりややこしいので、tftpbootディレクトリを別にする
  2. tftp設定ファイルのディレクトリ指定を変更
  3. 【私的】設定ファイルをコピー
# mkdir /mnt/hda3/syslinux_multi
# vi /etc/inetd.conf
tftp           dgram   udp     wait    root  /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /mnt/hda3/syslinux_multi

後は下記拙作ページの通りで。Windowsからファイルをコピーした場合はファイル・ディレクトリのパーミッションに注意。

その他

参考リンク
update-alternatives

同種のアプリケーションなど、どれを優先させるかの設定とか。

  • 状態表示
# update-alternatives  --display 名前
  • 設定変更
# update-alternatives  --config 名前

「名前」については、/etc/alternatives/ にあるリンク名でわかるかな。

  • x-window-manager - ウィンドウマネージャ
  • x-terminal-emulator - X用ターミナル・エミュレータ
  • x-www-browser - X用ブラウザ
# update-alternatives  --display x-www-browser
x-www-browser -状態は manual。
 リンクは現在 /usr/bin/iceweasel を指しています
/usr/bin/konqueror - 優先度 100
 スレーブ x-www-browser.1.gz: /usr/share/man/man1/konqueror.1.gz
/usr/bin/iceweasel - 優先度 70
 スレーブ x-www-browser.1.gz: /usr/share/man/man1/iceweasel.1.gz
/usr/bin/opera - 優先度 80
現在の `最適' バージョンは /usr/bin/konqueror です。
# update-alternatives  --config x-www-browser

`x-www-browser' を提供する 3 個の alternatives があります。

  選択肢       alternative
-----------------------------------------------
 +        1    /usr/bin/konqueror
*         2    /usr/bin/iceweasel
          3    /usr/bin/opera

デフォルト[*] のままにするには Enter、さもなければ選択肢の番号のキーを押してください:
rootでXアプリケーションを実行
$ kdesu kate /etc/apache2/apache2.conf &

パスワード入力画面が出ます。

メモリ使用量を表示させたい

「アプリケーションメモリ」の使用量で目安になるかなと。下記は RAM が 256 MB の場合の例です

  1. パネルを右クリック
  2. アプレットをパネルに追加
  3. システムガードを選択
  4. アイコンの左線を右クリック
  5. システムガードの設定
  6. 「センサー表示の数」を1に
  7. センサー表示を削除
  8. システムガードを起動
  9. システムガード画面から「アプリケーションメモリ」をセンサーにD&Dして「グラフ表示」選択
  10. センサーを右クリック「プロパティ」
    • スケールタブ - 「縦のスケール」「自動レンジ検出」のチェック外す
    • スケールタブ - 「最小値:最大値をそれぞれ、0 : 250000 に設定
    • グリッドタブ - 「ラベル」「ドップバー」のチェック外す
    • グリッドタブ - 「横線」の数を設定(多すぎると横線でセンサーが埋まってしまう)
    • センサータブ - 色を赤などわかりやすい色を指定
lsコマンドでの表示でディレクトリに / を付けたい
$ grep "alias ls" .bashrc
    alias ls='ls --color=auto'

ここを変更

    alias ls='ls -F --color=auto'

su時も有効にするには /root/.bashrc にも追記

Debian はブートプロセスをカスタマイズするの に rc.local を使っていないようですね。どんな手段が使えるのです か?

The Debian GNU/Linux FAQ(/usr/doc/debian-ja/FAQ/index.html)によりますと

  1. スクリプト foo をディレクトリ /etc/init.d/ に 入れる。
  2. Debian コマンド update-rc.d を適切な引数で実行する。
  3. システムを再起動する。
Written by yassy