Debian GNU/Linux 3.1 Sarge

    1. Debian GNU/Linux 3.1 Sarge
      1. はじめに
      2. インストール
      3. カーネルの再構築
      4. セキュリティー
      5. service
      6. 補記
    2. KNOPPIX
    3. 白箱/玄箱

はじめに

Debian GNU/Linuxへの移行を検討することにしました。
Debian GNU/Linuxは単にDebianとも呼ばれます。最大の特徴は開発がボランティアのみで行われているということでしょう。この特徴は使用に際して長短が出てくることになるかもしれません。ですが、市場原理のみに左右されない方針を持つことができるのはまちがいないのではないでしょうか。これらのポリシーはDebian GNU/Linuxが公開する「Debian 社会契約」によく表されています。この宣言文の一読をお薦めしておきたいと思います。

Debian GNU/Linuxへの移行といっても、全てをハイ、スタート!といって行うわけではありません。現実的にも多枝わたるので、そういうわけにはいかない。ここでは、まずセカンダリDNSサーバ機や、LinuxBoxとして稼働するルーター機から始めたいと思います。作業をデモインストールやら試験稼働と進めて行き、それらの経過をここで報告できたらと思います。
Debian GNU/Linuxには安定版、テスト版、不安定版の三種類があります。Debian プロジェクトホームページによると最新安定版リリースは3.1 Sargeで、最終更新日が2006年04月19日のリリースであることがわかります。インストールしたのは3.1 Sargeです。(06.05.05)

インストール

《 ■ ISOイメージ ■ 》
ISOイメージからCD-ROMを作成するまでもなく、相応の月刊誌やマニュアル本にインストールディスクが付いているので、これを利用するのが早く、あまり考えなくてもいいので楽ですね。といっても、必要に迫られてする場合はあるでしょう。この場合はISOイメージを、ダウンロードするなりしてまず用意しなければなりません。
筆者の例を紹介しますと、HDD容量が1.6GHの前提で、インストールしようとしたDebian GNU/Linuxが、雑誌『日経Linux 2006,5月号』の付録DVD-ROMの中にありました。「最小構成」と銘打っています。が、インストールしようとするPC/AT互換機はDVDメディアを受け付けません。そこで「debian-31rla-i386.img」を抜き出し、CD-ROMに焼き付けたというわけです。ところがWindowsXP上のライティングソフト「B'sGOLD8」が何度やっても、いうことを聞いてくれません。そこでインターネットでISOイメージを焼き付けることのできるソフトを探すと、フリーソフト『かんべ kanbe-9.lzh』を見つけて利用しました。焼き付けたCD-ROMから起動することができ、インストールもうまくいきました。感謝です。
なお、詳細は下記のページを御覧下さい。

最小の CD を使って、ネットワークインストールする

上記以外に、例えば、

# apt-cache search kernel-image

とコマンドを打ちダウンロードするべきものを探したのですが、多過ぎて何が何やら判りません。やがて判るようになるのか心許ない有り様です。(06.05.21)
ISO 9660
CD-ROMの論理ファイルフォーマット規格。市中に存在するCD-ROMのほとんどが、このISO 9660に従った論理ファイルフォーマットで記録されている。  '86 年5月にPhillips、ソニー、Microsoft、DEC、Appleなどによって提案されたハイシエラフォーマットにいくつかのマイナーチェンジを加えたもので、細部に若干の違いはあるが、基本的な構成はハイシエラフォーマットと同一である。これがISOによって、世界的な標準規格にされた。
ASCII24 > デジタル用語辞典から引用
ISOイメージのCD-ROMへの焼き付けを、再度B'sGOLD8で試みてみました。手順を「編集」→「登録」→「トラック」→「書き込み」でインストールCD-ROMを作成することができました。


《 ■ インストール ■ 》
     /etc/apt/sources.list

deb http://http.us.debian.org/debian stable main contrib non-free
deb http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free
deb http://security.debian.org stable/updates main contrib non-free


《 ■ コンソール ■ 》
インストール段階のコンソールは日本語表示がなるが、インストールが済んでのコンソールは日本語を受け付けません。文字化けを避けるには、以下のコマンド操作を行います。

# dpkg-reconfigure locales

で設定をおこなっておきます。これはロケール調整と呼ばれています。
上記の調整でコンソールの文字化けはしなくなりました。だが日本語表記はできません。そこで日本語コンソールアプリケーションをインストールします。

# apt-get install kon2

kon2パッケージがインストールできたところで、

# kon

でkonのコンソールが立ち上がります。
《 ■ パッケージ管理 dpkg/apt ■ 》
非常に使い勝手はいいのですが、dpkgやaptのコマンドに戸惑います。これをTurboLinuxと比べると、

dpkg = rpm
apt = turbopkg

の関係になっているようです。この他に aptitute というのもあります。

《 データーベースの更新 》

# apt-setup
# aptitute update
# apt-get update       ←/etc/apt/sources.listを参照しチェック

《 更新パッケージの確認 》

# apt-get -s upgrade       ←更新一覧を表示

《 既存パッケージの更新 》

# apt-get upgrade

《 パッケージのインストール 》

# apt-get install [package]

《 パッケージのアンインストール 》

# apt-get remove [package]

《 モジュールの検索 》

# apt-cache search [package名 or キーワード]

《 パッケージの再設定 》

# dpkg-reconfigure [package名]

《 パッケージの検索 》

# dpkg -l [package名]


《 ■ モジュールのロード ■ 》
Debian GNU/Linuxにはhotplugとdiscoverが自動でモジュールをロードします。大体は手動でモジュールをロードすることはないでしょう。といっても例外は出てきます。そのような場合、モジュール回りのことどもを知っておくと、作業が捗るものと思われます。
まず、インストールしたばかりの段階で組み込まれてモジュールを見てみます。
# lsmod  
Module                  Size  Used by
usb_storage            58176  1 
nls_euc_jp              4996  1 
nls_cp932              80768  2 
vfat                   10368  1 
fat                    36928  1 vfat
sd_mod                 15252  1 
scsi_mod               63168  2 usb_storage,sd_mod
snd_pcm_oss            45224  0 
snd_pcm                75272  1 snd_pcm_oss
snd_timer              18820  1 snd_pcm
snd_page_alloc          7048  1 snd_pcm
snd_mixer_oss          15488  1 snd_pcm_oss
snd                    42212  4 snd_pcm_oss,snd_pcm,snd_timer,snd_mixer_oss
soundcore               6496  1 snd
ipt_REJECT              5120  1 
ipt_LOG                 6016  10 
ipt_state               1536  57 
ipt_limit               1792  3 
ipt_MASQUERADE          2688  0 
ip_nat_ftp              3952  0 
ip_conntrack_ftp       71088  1 ip_nat_ftp
iptable_nat            23224  2 ipt_MASQUERADE,ip_nat_ftp
ip_conntrack           36856  5 ipt_state,ipt_MASQUERADE,ip_nat_ftp,ip_conntrack_ftp,iptable_nat
iptable_filter          2048  1 
ip_tables              14976  7 ipt_REJECT,ipt_LOG,ipt_state,ipt_limit,ipt_MASQUERADE,iptable_nat,iptable_filter
ohci1394               28420  0 
ieee1394               86584  1 ohci1394
sk98lin               182360  1 
dump_blockdev           4608  0 
dump_gzip               2052  0 
zlib_deflate           21528  1 dump_gzip
ide_cd                 34848  0 
cdrom                  34332  1 ide_cd
psmouse                20368  0
ehci_hcd               24452  0 
uhci_hcd               26896  0 
usbcore                94692  5 usb_storage,ehci_hcd,uhci_hcd
このリストでわたしの注目するものは、iptables関連のモジュールです。
例えばGLAN TANKの初期状態はこのように多くのモジュールが登録されていませんでした。ちなみに、「 /etc/modules」は、
     /etc/modules
# /etc/modules: kernel modules to load at boot time.
#
# This file should contain the names of kernel modules that are
# to be loaded at boot time, one per line.  Comments begin with
# a "#", and everything on the line after them are ignored.

ide-cd
ide-detect
ide-disk
psmouse

となっています。

《 モジュールの追記 》

/etc/modutils/aliasesに追記し、ドライバモジュールをロードし、「update-modules」で「/etc/modules.conf」に反映させます。
     /etc/modutils/aliases
alias	eth0	e100

# update-modules


《 ■ X-Windowの導入 ■ 》

# apt-get install kde kde-i18n-ja

《 ■ sshのインストール ■ 》

# dpkg -l ssh rsync
# aptitute install ssh       ←sshパッケージのインストール
# dpkg --listfiles ssh       ←sshファイルの精査
# dpkg --serche /usr/sbin/ssh       ←sshパッケージのインストール先検索
# dpkg-reconfigure ssh       ←sshの再設定

# apt-get install rsync

《 ■ ネットワークの設定 ■ 》
     /etc/network/interfaces
# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
#iface eth0 inet dhcp
iface eth0 inet static
        address 192.168.2.199
        netmask 255.255.255.0
        gateway 192.168.2.1
     /etc/hosts
127.0.0.1       localhost.localdomain   localhost       tako
192.168.xx.xxx   tako tako.xxx.ne.jp


# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

     /etc/resolv.conf
search tako.ne.jp
nameserver 61.197.xxx.xx
     /etc/hostname
tako
     /etc/hosts.allow
ALL: 127.0.0.1 192.168.xxx. 61.197.xxx.xx/29
     /etc/hosts.deny
ALL: ALL

# /etc/init.d/networking restart

《 ■ 自動電源ダウン ■ 》
     /boot/grub
## ## End Default Options ##

title           Debian GNU/Linux, kernel 2.4.27-2-686
root            (hd0,0)
kernel          /boot/vmlinuz-2.4.27-2-686 root=/dev/hda1 ro apm=off acpi=on
initrd          /boot/initrd.img-2.4.27-2-686
savedefault
boot


カーネルの再構築

《 ■ カーネルの再構築 ■ 》

# apt-get autoconf automake binutils gcc gettext kernel-package libncurses5-dev libtool linux-kernel-headers make      ←開発環境

# apt-cache search kernel-image       ←利用できるパッケージ検索
# apt-get install kernel-source      ←あるいは

任意のものをダウンロードする。

# apt-get install kernel-source-2.xx.xxx

/usr/srcに移動すると、そこに kernel-source-2.xx.xxx.tar.bz2 がダウンロードされているので移動する。
ここではソースCD-ROMから/usr/srcにコピーした。
ここで、念のため既存のカーネルをバックアップしておきます。

# cp /boot/vmlinuz-2.既存 vmlinuz-2.既存.oldback      ←バックアップをとる
# cd /usr/src
# rm -f linix      ←リンクがあるなら消しておきます
# bzip2 -dc /share/others/linux-2,6.10-iop1-20050909snap.tar.bz2 | tar xvf -
# ln -s linux-2,6.10-iop1-20050909snap.tar.bz2 linux
# cd /usr/src/linux
# cp /boot/config-2.6.xxx ./.config       ←あるいは「# cp config .config」
# make oldconfig       ←旧い「config」を引き継がないなら必要ない
# make menuconfig       ←パラメータの設定
# make-kpkg clean
# make-kpkg --revision xxxxxver2.0 kernel-image       ←パッケージの構築
# dpkg -i kernel-image-2.6.10-iop1_xxxxxver2.0_arm.deb       ←構築したカーネルのインストール
# update grub       ←念のため

《 ■ カーネル2.4 → 2.6 ■ 》
  1. ソースの入手
  2. /usr/src/以下に展開
  3. コンパイル・パッケージング
  4. インストール
  5. ブートローダの設定変更
いろいろあるが次のコマンドを試してみた。これは、「apt-get」コマンドで、既存のカーネル「kernel 2.4.27-2-686」が「kernel 2.6.8-2-386」になった例です。
debianTAKO:~# apt-cache search kernel-image 
debianTAKO:~# apt-get install kernel-image-2.6.8-2-386  
Reading Package Lists... Done
Building Dependency Tree... Done
Suggested packages:
  lilo kernel-doc-2.6.8 kernel-source-2.6.8
The following NEW packages will be installed:
  kernel-image-2.6.8-2-386
0 upgraded, 1 newly installed, 0 to remove and 1 not upgraded.
Need to get 14.1MB of archives.
After unpacking 42.2MB of additional disk space will be used.
Get:1 http://security.debian.org stable/updates/main kernel-image-2.6.8-2-386 2.6.8-16sarge1 [14.1MB]
Fetched 14.1MB in 1m5s (215kB/s)                                                                              
Selecting previously deselected package kernel-image-2.6.8-2-386.
(Reading database ... 66481 files and directories currently installed.)
Unpacking kernel-image-2.6.8-2-386 (from .../kernel-image-2.6.8-2-386_2.6.8-16sarge1_i386.deb) ...
Setting up kernel-image-2.6.8-2-386 (2.6.8-16sarge1) ...
Searching for GRUB installation directory ... found: /boot/grub .
Testing for an existing GRUB menu.list file... found: /boot/grub/menu.lst .
Searching for splash image... none found, skipping...
Found kernel: /boot/vmlinuz-2.6.8-2-386
Found kernel: /boot/vmlinuz-2.4.27-2-686
Updating /boot/grub/menu.lst ... done
この作業は、「apt-cache」コマンドでサーチして、カーネルをアップグレードした例です。正直、全てが明解でやったわけではありません。「kernel 2.6.8-2-386」が立ち上がった段階で、いろいろ考えている、というのが現状です。いまのところ問題なく動いています。(06.05.22)


セキュリティー

《 ■ iptables ■ 》
     /etc/network/optionfile
ip_forward=yes       ←IP転送の設定
spoofprotect=yes       ←IP偽装排除の設定
syncookies=yes       ←SYN floods 攻撃対策の設定
     /etc/network/if-pre-up.d/iptablesgo
#!/bin/sh
LOCAL=192.168.xxx.0/255.255.255.0

if[ "$LANNIC" = "eth1" ] then
  iptables -N iptableson

  ルールの記述

fi
     /etc/network/if-post-down.d/iptablesfile
#!/bin/sh
LOCAL=192.168.xxx.0/255.255.255.0

if[ "$LANNIC" = "eth1" ] then
  iptables -t nat -D POSTROUTING -s $LOCAL -o $LANNIC -j MASQUERADE
  iptables -D INPUT -j iptablesfile
  iptables -F iptablesfile
  iptables -X iptablesfile
fi


service

《 ■ Apache PHP MySQLのインストール ■ 》

# dpkg -l apache2
# apt-get update
# apt-get upgrade
# aptitute install apache2 libapache2-mod-php4 php4-mysql mysql-server
# ln -s /etc/apache2/mods-available/cgi.load /etc/apache2/sites-enabled




補記


《 ■ 参照URL   ※サイト内参照ページ    引用、参照書籍 ■ 》
Debian GNU/Linux
※ 白箱/玄箱
『Debian GNU/Linux で作る骨太システム』 著/竹内充彦 刊/九天社
『Debian GNU/Linux 徹底入門 第三版』 著/武藤健志 刊/翔泳社

*“このページの作成にあたり、上記に掲げたURLや書籍を参考にしました。謝意を表します。具体的な引用については明記しました。内容の間違いや、誤字は筆者の責任であり、関係する参照先の責任ではありません”


rss rdf xml     top   home:top   server library:top   PHP PostgreSQL MySQL サンプルスクリプト   SiteMap   Open SiteMap