RedHat ユーザの Debian GNU/Linux 3.0 インストール日記



Apr 04 2003 更新

RedHat Linux を中心に利用していたりょうすけが、転職を機に Debian GNU/Linux を利用する日記。

ほとんどの記事はまたインストールするときの参考にするために書いているが、RedHat から Debian へ移行するユーザの手伝いになれば幸である。


なんかいろんな日記系なページからリンクされているようですが、りょうすけも好都合です♪。
間違った事書いてあったら御指摘願いたい思いますので、メールください。
また、このページはある程度落ち着いたら一度書き直すつもりです。

Contents
インストール編:Debian GNU/Linux 3.0 のインストール/微妙な個人設定を行う/XEmacsのインストール/mewのインストール/lieceのインストール/GNOME2のインストール/CD-RW/DVD動作確認/OpenOffice.org のインストール/Acrobat Readerのインストール/navi2chのインストール/sidのパッケージを使いたい
RedHatとの比較編:ネットワーク設定/ランレベル/パッケージ管理/カーネル構築/LILOでのランレベル変更/起動サービスの変更/ディストリビューションバージョン確認/ディストリビューションのバージョンアップ/セキュリティ情報/セキュリティツール/各種サーバ

参考資料

マシン





RedHat Linux 7.3 と Debian GNU/Linux 3.0 との違い

ネットワーク設定

RedHat Linux 7.3
  • 固定IPを設定する場合

    /etc/sysconfig/network

    NETWORK=yes
    HOSTNAME=notepc.deer-n-horse.jp
    GATEWAY=192.168.0.1
    

    /etc/sysconfig/network-scripts/ifcfg-eth0

    DEVICE=eth0
    BOOTPROTO=static
    ONBOOT=yes
    IPADDR=192.168.0.5
    NETMASK=255.255.255.0
    

    ネットワークインターフェイス毎に ifcfg-eth1 というようにファイルをふやして行く必要がある。
    ファイルだけ用意する場合は eth0 などとして ifcfg-eth[0-9] のファイル名はつけないようにしておけば退避可能。

  • DHCPでIPを取得する場合

    /etc/sysconfig/network

    NETWORKING=yes
    HOSTNAME='localhost.localdomain'
    

    /etc/sysconfig/network-scripts/ifcfg-eth0

    DEVICE=eth0
    BOOTPROTO=dhcp
    ONBOOT=yes
    

  • 静的ルーティングテーブルを切る時

    /etc/sysconfig/static-routes

    any net 10.0.0.0 netmask 255.255.0.0 gw 192.168.0.1 dev eth0
    

    RedHat Linux 7.x から any が行頭にないと認識されない。

Debian GNU/Linux 3.0
  • 固定IPを設定する場合

    /etc/network/interfaces

    iface eth0 inet static
        address 192.168.0.2
        network 192.168.0.0
        netmask 255.255.255.0
        broadcast 192.168.0.255
        gateway 192.168.0.1
    
    auto eth0
    

    Debian GNU/Linux 2.2 から auto eth0 がないと自動起動しない。

  • DHCPでIPを取得する場合

    /etc/network/interfaces

    iface eth0 inet dhcp
    auto eth0
    

    Debian GNU/Linux 2.2 から auto eth0 がないと自動起動しない。

  • 静的ルーティングテーブルを切る時



ランレベル

ランレベルは RedHat Linux、Debian GNU/Linux ともに 0 から 6 までを用意。(なんかの規格で定義されていたと思う。)
そして共通に、/etc/init.d/ から /etc/rc[N].d/ へのシンボリックリンクとなり、SもしくはKで始まるリンクファイル名から起動/停止を行う。

各ランレベルでのサービスの起動/停止の設定は起動サービスの変更参照。

RedHat Linux 7.3 runlevel 0: halt

電源断

runlevel 1: single-user

仮想コンソールが一つしか用意されていない、シングルユーザモード

runlevel 2: Multiuser, without NFS (The same as 3, if you do not have networking)

ネットワーク接続を行なわない & グラフィカルなログイン画面を起動しない(X環境を利用しない)モード

runlevel 3: Full multiuser mode

マルチユーザ/ネットワーク接続が利用可能で、グラフィカルなログイン画面を起動しないモード(管理環境向け)

runlevel 4: no-use

特に設定されていないが、たしか/etc/rc4.dの中はrunlevel 3と同じはず。

runlevel 5: normal: multiple user, X

マルチユーザ/ネットワーク接続が利用可能で、グラフィカルなログイン画面を起動するモード(クライアント環境向け)

runlevel 6: reboot

再起動

Debian GNU/Linux 3.0 runlevel 0: halt

電源断

runlevel 1: single-user

仮想コンソールが一つしか用意されていない、シングルユーザモード

runlevel 2: multi-user

マルチユーザ/ネットワーク接続が利用可能で、グラフィカルなログイン画面を起動するモード(3, 4, 5も同じ)

runlevel 3: multi-user

上と同じ

runlevel 4: multi-user

上と同じ

runlevel 5: multi-user

上と同じ

runlevel 6: reboot

再起動

パッケージ管理
RedHat Linux 7.3 Debian GNU/Linux 3.0
コマンド rpm dpkg/apt-get
パッケージファイル拡張子 rpm deb
パッケージのインストール rpm -i package.rpm dpkg -i package.deb
パッケージに含まれるファイル一覧表示 rpm -ql package dpkg -L package
パッケージアーカイブに含まれるファイル一覧表示 rpm -qpl package.rpm dpkg -c package.deb
ファイルの所属するパッケージ名検索 rpm -qf [PATH]/[FILENAME] dpkg -S [PATH]/[FILENAME]
パッケージアーカイブの依存関係チェック rpm -qpR package.rpm dpkg -I package.deb
パッケージ情報の表示 rpm -qi package dpkg -s package
パッケージアーカイブの情報表示 rpm -qpi package.rpm dpkg -I package.deb
パッケージの作成 .spec という設計書ファイルを作成し、

ソース/バイナリパッケージの作成: 
    rpm -ba package.spec
バイナリパッケージの作成: 
    rpm -bb package.spec
ソースパッケージの作成: 
    rpm -bs package.spec
ソースパッケージからのビルド: 
    rpm --rebuild package.src.rpm

自分のホームディレクトリで rpm を作成したい時は、~/.rpmmacros を作成してそれぞれのディレクトリを作る事。

%_topdir /home/ryosuke

%packager Ryosuke Kutsuna 
%Vendor DEER N' HORSE 

%_rpmdir %{_topdir}/rpm/RPMS
%_srcrpmdir %{_topdir}/rpm/SRPMS
%_specdir %{_topdir}/rpm/SPECS
%_sourcedir %{_topdir}/rpm/SOURCE
%_builddir %{_topdir}/rpm/BUILD
%_tmpdir %{_topdir}/rpm/tmp

Debian パッケージの作り方(北海道大学)

アップデートテスト

時には、アップデートパッケージがちゃんと入るかテストしたいときもある。
rpm -ivh --test updatepackage.i386.rpm apt-get upgrade --simulate

アップデート侯補のリストアップ

パッケージ管理において Debian GNU/Linux では alien というツールが存在する。
これは RedHat Linux で利用されている rpm パッケージ(バイナリ)を Debian 用 deb ファイルに変換してくれる、というものだ。
デフォルトではインストールされないようなので、

apt-get install alien

でインストールする必要がある。


カーネル構築
RedHat Linux 7.3
  • 構築

  • インストール

    rpm パッケージを作る/取得すれば以下のコマンドでインストールできる。

    rpm -ivh kernel-2.4.19-24.i686.rpm
    

Debian GNU/Linux 3.0
  • 構築

    make-kpkg というコマンドを利用して deb パッケージを作るのが理想。

    カーネルをソースから構築するのと同様に、ソースを持って来て、make menuconfig などでコンパイル設定を行う。

    make-kpkg --revision="1007" --append-to-version ipv6 kernel-image
    

    で、deb ファイルを作成する。
    --revision="STRING" で、リビジョンを付けることができる。
    --append-to-versionでカーネルのEXTRAVERSIONに文字列を追加できる。

  • インストール

    作った/取得した deb パッケージは以下のコマンドでインストール

    dpkg -i kernel-image-2.4.18-1007.deb
    


LILOでのランレベル変更
RedHat Linux 7.3 LILOが出たときにTABを押すことでランレベルやカーネルオプションなどをつけることが可能。
Debian GNU/Linux 3.0 LILOが出たときにSHIFTを押す事で可能。


起動サービスの変更
RedHat Linux 7.3 chkconfig もしくは ntsysv というコマンドがある。

chkconfig を利用する場合、

chkconfig --level 2345 canna on

で行える。
Debian GNU/Linux 3.0 update-rc.d というコマンドを利用する。

update-rc.d -f canna remove

で起動スクリプトを削除できる。
-f オプションを付けないと /etc/init.d 以下にスクリプト本体があると各ランレベルのリンクファイルを削除できないが、このオプションを付ける事により、/etc/init.d 以下のスクリプト本体を削除せずに、各ランレベルのリンクファイルのみ削除を行う。

update-rc.d ppp defaults

で追加できる。

Debian GNU/Linux では「インストールされるものは使うモノ」というポリシーらしいので xdm をインストールすると全てのランレベルで xdm でのログインが行なわれる。
もしテキストログインを行なう場合は update-rc.d コマンドにより、/etc/rc[n].d/ 以下の rcスクリプト を変更/削除する必要がある。

ディストリビューション バージョン確認
RedHat Linux 7.3 /etc/redhat-release
Debian GNU/Linux 3.0 /etc/debian_version

ディストリビューションのバージョンアップ
RedHat Linux 7.3 RedHat Linux の新しいバージョンのCDを用意してCDドライブにいれてブートする。
ブート画面でアップデートのオプションを選択してインストールを開始する。
Debian GNU/Linux 3.0 /etc/apt/source.list に新しいバージョンの記述を追加。


apt-get dist-update


でアップデートを行う。

セキュリティ情報
RedHat Linux 7.3 RedHat Support Errata

このページでそれぞれのバージョンごとに Errata アナウンスが行われる。
RedHat Linux 7.x 以降、RedHat Network と呼ばれるサービスにより、up2date でアップデートパッケージのダウンロードが自動で行えるようになっている。
この up2date を行うには RedHat Network へメールアドレス等を登録する必要がある。

RedHat Linux AdvancedServer などのエンタープライズバージョンでは有償サービスとなり、アナウンスはあるがパッケージがダウンロードできない、ということもある。
また、将来的に RedHat Network 自体が有償になる、という噂もある。

LinuxSecurity - RedHat Advisories

LinuxSecurity が提供している RedHat Linux に関する Errata のアナウンスをまとめたページ。
タイミングによっては RedHat のページより早くアナウンスしている場合がある。
Debian GNU/Linux 3.0 Debian GNU/Linux セキュリティ情報

このページで全てのバージョンの Errata アナウンスが行われる。
基本的には apt-get update 実行後、apt-get upgrade で、アップデートの出たパッケージのダウンロードインストールが行われるので crontab などに登録して行う事が多い。

LinuxSecurity - Debian Advisories

LinuxSecurity が提供している Debian GNU/Linux に関する Errata アナウンスをまとめたページ。


セキュリティツール

パッケージに含まれるセキュリティツールを表にする。
RedHat Linux 7.3 はFTP版CDに含まれるパッケージを、Debian GNU/Linux は apt-cache search * で調べる。
Debian GNU/Linux の場合、Oct 11 2002 時点の最新バージョンとなる。

RedHat Linux 7.3 Debian GNU/Linux 3.0
aide NONE 0.8-2
arpwatch 2.1a11-12 2.1a11-6
ethereal 0.9.3-3 0.9.4-1woody2
iptraf 2.5.0-3 2.5.0-4
logwatch 2.6-2 NONE
nessus NONE 1.0.10-2
nmap 2.54BETA31 2.54.32.BETA-1
saint NONE NONE
scanlogd NONE 2.2-1
snort NONE 1.8.4beta1-2
tcp_wrapper 7.6-19 7.6-9
tripwire 2.3.1-10 NONE

bsign, intergrit などが代替ツールとなる
iptables 1.2.5-3 1.2.6a-5
sysklog 1.4.1-8 1.4.1-10

各種サーバ

Apache
RedHat Linux 7.3 設定ファイル: /etc/httpd/conf/httpd.conf
起動ファイル: /etc/init.d/httpd
ログファイル: /var/log/httpd/access.log, /var/log/httpd/error.log
Debian GNU/Linux 3.0 設定ファイル: /etc/apache/httpd.conf
起動ファイル: /etc/init.d/apache
ログファイル: /var/log/apache/access.log, /var/log/apache/error.log

「AddDefaultCharset off」 が必要。デフォルトでは「iso-8859-1」になっている。

サーバはきりがないから続くかは疑問...



[UNIX/Linuxエンジニアへの道] [DEER N' HORSE トップページへ]
Copyright DEER N' HORSE 1993-2002 All right reserved.
ryosuke@cool.email.ne.jp
Last modified: Fri Apr 4 16:53:46 JST 2003