Kozupon.com    
 
 Slackware10で鯖を作る!


Slackwareは意外と歴史のあるLinuxで、あまり現在のLinux初心者の方々にはあまり、なにじみが無いと思う。俺がこのLinuxを使い始めたのは、今ではなく過去のことだ。しかし、Slackwareは結構古典的な部分があり、色々な面でやりやすい。熟練者でカスタマイズ出来る方には絶好のディストリビューションだと思う。
ただ、欠点がある。Slackwareには標準で apt-get と yum のようなRedHat系のデスビでは標準で付属されてない。したがって、別に slackpkg というツールをサイトから落としてインストールする必要がある。何はともあれセットアップの過程を説明することにする。今回は、Slackware-10.2をセットアップすることにした。Slackware10は今までと違って随分インストールがわかりやすくなった。私的には、Debianレベルになってきたと思う。しかし、FedoraとかVineなどのRedHat系に慣れてる方々には敷居が高いかもしれない。


1.isoイメージでCDを作る

slackwareは、 ここ もしくは ここ でisoイメージを落としてCDを作る。基本的にCDは一枚、 slackware-10.2-install-d1.iso これだけで用は足りる。


2.keyboard mapを設定する

CDをブートすると始めに、keyboard mapの設定を聞いてくる。ここで 1 を入力してリターンするとkeyboardのメニューが出てくる。

メニューから自分のkeyboardに合わせて選択するが俺の場合は、 jp106.map を選択した。

keyboard test を行う。keyboard test が終わって 1を入力して OK を選択すれば抜ける。


3.cfdiskディスクのフォーマットを行う

root と入力してloginする。

cfdiskと入力する。cfdiskは、DebianのWoodyライクなfdiskツールである。私的には好きだ。

cfdiskが立ち上がるので、swap と Linuxのボリュームを作る。俺の場合、面倒なのでswapに512MB /bootに50MB / に残りの全ての容量を割り当てた。


4.setupメニューを立ち上げる

ハードディスクのフォーマットが終わったら、 setup と入力してメニューを立ち上げる。


5.パーティションの初期化

メニューが立ち上がったら、 ADDSWAPを選んでswapパーティションを初期化する。

初期化中。

初期化完了。

/ 領域初期化。

フォーマットする。

ext3フォーマットを選択。

シリンダの選択。

フォーマット完了。

/dev/hda2 /bootパーティションフォーマット。

初期化する。

ext3フォーマットを選択。

4096シリンダを選択。

マウントポイント /boot を入力。

フォーマット完了。


6.OSのインストール

インストール方法選択。CDからなので、 1 を選択。

Packageをセレクトするメニューが立ち上がる。Base Linux SystemやXwindowシステムなどを選択するメニューだ。俺の場合は、Xwindow関係をインスコしなかったので、「Base Linux System」とかを選んだだけでほとんどチェックしなかった。

kernel周りやシステム管理関係のモジュールのセレクト。必要な物をセレクトする。

サウンド関係のモジュールセレクト。俺の場合、サウンドは要らないのでほとんどチェックしなかった。

プログラム開発関係のツールのセレクト。必要な物をセレクト。

kernel sourceをインスコするかの選択。俺の場合は、チェックした。

ライブラリのセレクト。必要なライブラリをセレクトする。俺の場合、サウンド関係のライブラリは全て必要なし。

鯖関係のモジュールのセレクト。必要な物だけセレクトする。

ファイルのインストール開始。

kernelを何処からインスコするかの選択。俺の場合、Slackware CDからインスコするので「cdrom」を選択した。

bootdiskを作るかどうか。俺は、いつものことだがbootdiskを作らないのでskip。

modemのコンフィグレーション。modemなんて使わないので「no modem」を選択。

Hotplug機能をイネーブルにするかを聞いてる。俺は、イネーブルにした。イネーブルにすべきでしょう。

フレームバッファの値をセット。俺は、1024×768×256にした。

ここでは、LILOのkernelパラメータを入力する。俺は何もないのでエンター。

LILOを何処にインスコするか?俺は、マスターブートレコードへインスコするので「MBR」をセレクト。

ネットワークの設定を行うか? <yes>

ホスト名を入力する。

ドメイン名を入力する。

固定IPかDHCPかをセレクトする。俺は、固定IPなので「static IP」をセレクト。

このホストのIPアドレスを入力する。

サブネットマスクを入力する。クラスCならだいたい自動的に表示される。

デフォルトゲートウェイを入力する。

ネームサーバにアクセスするか?と聞いているので <yes>

ネームサーバのIPアドレスを入力する。

スタートアップサービスのセレクト。自動起動させたいモジュールをセレクト。

コンソールフォントの設定をするか?と言ってる。俺は、<No> にした。

時計の設定。<No> にした。

「Asia/Tokyo」をセレクト。

rootのパスワードを設定する <Yes> 。

パスワードを入力する。

もう一度入力する。

無事セットアップ終了 <OK> 。

セットアップメニューの 「EXIT」 をセレクトする。コンソールに戻るので 「reboot」する。

rebootするとLILOのブート画面が出る。

うーん、さすが解像度が細かいとカッチョいいね(笑)。

Debianとにてるなぁ〜。


7.インストール後の設定とメンテに必要なコマンドの紹介

1)パッケージ管理システム
Slackwareのパッケージは、tar.gz 形式でバイナリ化されているため少々他のデスビと違う。パッケージの展開(RedHatのRPM相当)は、以下のコマンドで行う。

# installpkg xxxxxxxxxx.tar.gz

パッケージのアップデートは、

# upgradepkg xxxxxxxxxx.tar.gz

パッケージの削除は、

# removepkg xxxxxxxxxx.tar.gz

メニュー形式のパッケージ管理ツールもある。

# pkgtool

見にくいが、こんなメニュー画面が出てここでパッケージの追加・削除が行える。

2)おーい、一番気になるのがslackにはapt-getやyumみたいにFTPやHTTPでサイトから自動的にダウンロードしてインストールしてくれるツールはないのか?
ご安心を、ちゃんと有るのら。

まず、たとえば ここ いらへんから slackpkg と言うツールをダウンロードする。

# installpkg slackpkg-1.5.2-noarch-2.tgz

# vi /etc/slackpkg/mirrors
この中のいずれかのダウンロードサイトをコメントアウトする。これで使えるようになる。

slackpkgの使い方は以下で紹介する。

# slackpkg update
パッケージアップデートファイルを更新する。

# slackpkg install package
パッケージをダウンロードしてインストールする。

# slackpkg reinstall package
パッケージを再インストールする。

# slackpkg remove
パッケージを削除する。

# slackpkg clean-system
ダウンロードパッケージを削除する。

# slackpkg upgrade-all
アップデート出来るパッケージを全てアップデートする。

■ 例えば、自サーバにインストールされている全てのパッケージに対する更新チェックを行うには、
# slackpkg update
No gpg found!!! Please, disable GPG in /etc/slackpkg/slackpkg.conf or install
the gnupg package.

To disable GPG, edit slackpkg.conf and add one line with NOGPG=1.
You can see an example in slackpkg.conf.new.


Downloading /GPG-KEY...
--15:51:28-- http://mirror.pacific.net.au/linux/slackware/slackware-10.2//GPG-KEY
=> `/tmp/slackpkg.fQVjuU/gpgkey'
Resolving mirror.pacific.net.au... 61.8.0.17
Connecting to mirror.pacific.net.au|61.8.0.17|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1,565 (1.5K) [text/plain]

100%[====================================================>] 1,565 --.--K/s

15:51:29 (8.73 MB/s) - `/tmp/slackpkg.fQVjuU/gpgkey' saved [1565/1565]

Updating the package lists...
Downloading...
List of all files
Downloading patches/MANIFEST.bz2...
--15:51:29-- http://mirror.pacific.net.au/linux/slackware/slackware-10.2/patches/MANIFEST.bz2
=> `/tmp/slackpkg.fQVjuU/patches-MANIFEST.bz2'
Resolving mirror.pacific.net.au... 61.8.0.17
Connecting to mirror.pacific.net.au|61.8.0.17|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1,056,552 (1.0M) [application/octet-stream]

100%[====================================================>] 1,056,552 287.12K/s ETA 00:00

15:51:34 (271.91 KB/s) - `/tmp/slackpkg.fQVjuU/patches-MANIFEST.bz2' saved [1056552/1056552]

Downloading slackware/MANIFEST.bz2...
--15:51:34-- http://mirror.pacific.net.au/linux/slackware/slackware-10.2/slackware/MANIFEST.bz2
=> `/tmp/slackpkg.fQVjuU/slackware-MANIFEST.bz2'
Resolving mirror.pacific.net.au... 61.8.0.17
Connecting to mirror.pacific.net.au|61.8.0.17|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1,712,947 (1.6M) [application/octet-stream]

100%[====================================================>] 1,712,947 289.49K/s ETA 00:00

15:51:40 (294.57 KB/s) - `/tmp/slackpkg.fQVjuU/slackware-MANIFEST.bz2' saved [1712947/1712947]

Downloading extra/MANIFEST.bz2...
--15:51:40-- http://mirror.pacific.net.au/linux/slackware/slackware-10.2/extra/MANIFEST.bz2
=> `/tmp/slackpkg.fQVjuU/extra-MANIFEST.bz2'
Resolving mirror.pacific.net.au... 61.8.0.17
Connecting to mirror.pacific.net.au|61.8.0.17|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 235,776 (230K) [application/octet-stream]

100%[====================================================>] 235,776 239.52K/s

15:51:42 (239.06 KB/s) - `/tmp/slackpkg.fQVjuU/extra-MANIFEST.bz2' saved [235776/235776]

Downloading pasture/MANIFEST.bz2...
--15:51:42-- http://mirror.pacific.net.au/linux/slackware/slackware-10.2/pasture/MANIFEST.bz2
=> `/tmp/slackpkg.fQVjuU/pasture-MANIFEST.bz2'
Resolving mirror.pacific.net.au... 61.8.0.17
Connecting to mirror.pacific.net.au|61.8.0.17|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 161,410 (158K) [application/octet-stream]

100%[====================================================>] 161,410 236.71K/s

15:51:43 (236.35 KB/s) - `/tmp/slackpkg.fQVjuU/pasture-MANIFEST.bz2' saved [161410/161410]

Package List
Downloading FILELIST.TXT...
--15:51:43-- http://mirror.pacific.net.au/linux/slackware/slackware-10.2/FILELIST.TXT
=> `/tmp/slackpkg.fQVjuU/FILELIST.TXT'
Resolving mirror.pacific.net.au... 61.8.0.17
Connecting to mirror.pacific.net.au|61.8.0.17|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 556,160 (543K) [text/plain]

100%[====================================================>] 556,160 218.49K/s

15:51:46 (217.87 KB/s) - `/tmp/slackpkg.fQVjuU/FILELIST.TXT' saved [556160/556160]

Checksums
Downloading CHECKSUMS.md5...
--15:51:46-- http://mirror.pacific.net.au/linux/slackware/slackware-10.2/CHECKSUMS.md5
=> `/etc/slackpkg/CHECKSUMS.md5'
Resolving mirror.pacific.net.au... 61.8.0.17
Connecting to mirror.pacific.net.au|61.8.0.17|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 416,210 (406K) [text/plain]

100%[====================================================>] 416,210 293.55K/s

15:51:48 (292.87 KB/s) - `/etc/slackpkg/CHECKSUMS.md5' saved [416210/416210]

Package descriptions
Downloading patches/PACKAGES.TXT...
--15:51:48-- http://mirror.pacific.net.au/linux/slackware/slackware-10.2/patches/PACKAGES.TXT
=> `/tmp/slackpkg.fQVjuU/patches-PACKAGES.TXT'
Resolving mirror.pacific.net.au... 61.8.0.17
Connecting to mirror.pacific.net.au|61.8.0.17|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 25,139 (25K) [text/plain]

100%[====================================================>] 25,139 94.20K/s

15:51:49 (94.04 KB/s) - `/tmp/slackpkg.fQVjuU/patches-PACKAGES.TXT' saved [25139/25139]

Downloading slackware/PACKAGES.TXT...
--15:51:49-- http://mirror.pacific.net.au/linux/slackware/slackware-10.2/slackware/PACKAGES.TXT
=> `/tmp/slackpkg.fQVjuU/slackware-PACKAGES.TXT'
Resolving mirror.pacific.net.au... 61.8.0.17
Connecting to mirror.pacific.net.au|61.8.0.17|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 244,205 (238K) [text/plain]

100%[====================================================>] 244,205 266.84K/s

15:51:50 (266.19 KB/s) - `/tmp/slackpkg.fQVjuU/slackware-PACKAGES.TXT' saved [244205/244205]

Downloading extra/PACKAGES.TXT...
--15:51:50-- http://mirror.pacific.net.au/linux/slackware/slackware-10.2/extra/PACKAGES.TXT
=> `/tmp/slackpkg.fQVjuU/extra-PACKAGES.TXT'
Resolving mirror.pacific.net.au... 61.8.0.17
Connecting to mirror.pacific.net.au|61.8.0.17|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 60,312 (59K) [text/plain]

100%[====================================================>] 60,312 64.50K/s

15:51:52 (64.45 KB/s) - `/tmp/slackpkg.fQVjuU/extra-PACKAGES.TXT' saved [60312/60312]

Downloading pasture/PACKAGES.TXT...
--15:51:52-- http://mirror.pacific.net.au/linux/slackware/slackware-10.2/pasture/PACKAGES.TXT
=> `/tmp/slackpkg.fQVjuU/pasture-PACKAGES.TXT'
Resolving mirror.pacific.net.au... 61.8.0.17
Connecting to mirror.pacific.net.au|61.8.0.17|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 18,743 (18K) [text/plain]

100%[====================================================>] 18,743 28.95K/s

15:51:53 (28.89 KB/s) - `/tmp/slackpkg.fQVjuU/pasture-PACKAGES.TXT' saved [18743/18743]

Formating lists to slackpkg style...
Package List
Package descriptions

# slackpkg upgrade-all
省略
Package: mysql-4.1.19-i486-1.tgz
Downloading mysql-4.1.19-i486-1.tgz...
--10:59:13-- ftp://ftp.slackware.no/pub/linux/slackware/slackware-10.2/patches/packages/mysql-
4.1.19-i486-1.tgz
=> `/var/cache/packages/mysql-4.1.19-i486-1.tgz'
Resolving proxy... 192.168.255.111
Connecting to proxy|192.168.255.111|:3128... connected.
Proxy request sent, awaiting response... 200 OK
Length: 15,593,202 (15M) [application/x-tar]

100%[===================================================>] 15,593,202 122.86K/s ETA 00:00

11:01:09 (137.88 KB/s) - `/var/cache/packages/mysql-4.1.19-i486-1.tgz' saved [15593202/15593202
]

--11:01:09-- ftp://ftp.slackware.no/pub/linux/slackware/slackware-10.2/patches/packages/mysql-
4.1.19-i486-1.tgz.asc
=> `/var/cache/packages/mysql-4.1.19-i486-1.tgz.asc'
Resolving proxy... 192.168.255.111
Connecting to proxy|192.168.255.111|:3128... connected.
Proxy request sent, awaiting response... 200 OK
Length: 189 [text/plain]

100%[===================================================>] 189 --.--K/s

11:01:15 (2.37 MB/s) - `/var/cache/packages/mysql-4.1.19-i486-1.tgz.asc' saved [189/189]

Upgrading mysql-4.1.19-i486-1...

+===================================================================
| Upgrading mysql-4.1.14-i486-1 package using ./mysql-4.1.19-i486-1.tgz
+===================================================================

Pre-installing package mysql-4.1.19-i486-1...

Removing package /var/log/packages/mysql-4.1.14-i486-1-upgraded-2006-05-13,11:01:16...
--> Deleting /usr/doc/mysql-4.1.14/COPYING
--> Deleting /usr/doc/mysql-4.1.14/Docs/INSTALL-BINARY
--> Deleting /usr/doc/mysql-4.1.14/README
--> Deleting empty directory /usr/doc/mysql-4.1.14/Docs/
--> Deleting empty directory /usr/doc/mysql-4.1.14/

Installing package mysql-4.1.19-i486-1...
PACKAGE DESCRIPTION:
mysql: mysql (SQL-based relational database server)
mysql:
mysql: MySQL is a fast, multi-threaded, multi-user, and robust SQL
mysql: (Structured Query Language) database server. It comes with a nice API
mysql: which makes it easy to integrate into other applications.
mysql:
mysql: The home page for MySQL is http://www.mysql.com/
mysql:

Executing install script for mysql-4.1.19-i486-1...

Package mysql-4.1.14-i486-1 upgraded with new package ./mysql-4.1.19-i486-1.tgz.


Searching NEW configuration files
No .new files found

質問に答えながら、Y/N すれば、自動的に更新してくれる。何も更新が無ければ以下のように終わる。
# slackpkg upgrade-all

No gpg found!!! Please, disable GPG in /etc/slackpkg/slackpkg.conf or install
the gnupg package.

To disable GPG, edit slackpkg.conf and add one line with NOGPG=1.
You can see an example in slackpkg.conf.new.


Looking for packages to upgrade. Please, wait...

No packages match the pattern for upgrade. Try:

/usr/sbin/slackpkg install|reinstall

# slackpkg info package
パッケージの情報を表示する。

たとえば、apacheのインフォメーションは、
# slackpkg info apache

No gpg found!!! Please, disable GPG in /etc/slackpkg/slackpkg.conf or install
the gnupg package.

To disable GPG, edit slackpkg.conf and add one line with NOGPG=1.
You can see an example in slackpkg.conf.new.


PACKAGE NAME: apache-1.3.34-i486-1.tgz
PACKAGE LOCATION: ./patches/packages
PACKAGE SIZE (compressed): 1691 K
PACKAGE SIZE (uncompressed): 6470 K
PACKAGE DESCRIPTION:
apache: apache (The Apache HTTP Server)
apache:
apache: Apache is an HTTP server designed as a plug-in replacement for the
apache: NCSA HTTP server. It fixes numerous bugs in the NCSA server and
apache: includes many frequently requested new features, and has an API which
apache: allows it to be extended to meet users' needs more easily.
apache:
apache: Apache is the most popular web server in the known universe; over
apache: half of the servers on the Internet are running Apache or one of
apache: its variants.
apache:

PACKAGE NAME: apache-1.3.33-i486-1.tgz
PACKAGE LOCATION: ./slackware/n
PACKAGE SIZE (compressed): 1685 K
PACKAGE SIZE (uncompressed): 6440 K
PACKAGE DESCRIPTION:
apache: apache (The Apache HTTP Server)
apache:
apache: Apache is an HTTP server designed as a plug-in replacement for the
apache: NCSA HTTP server. It fixes numerous bugs in the NCSA server and
apache: includes many frequently requested new features, and has an API which
apache: allows it to be extended to meet users' needs more easily.
apache:
apache: Apache is the most popular web server in the known universe; over
apache: half of the servers on the Internet are running Apache or one of
apache: its variants.
apache:

のようにパッケージのインフォメーション情報が表示される。

# slackpkg search file
パッケージの有無を検索する。

これだけのコマンドは有るが、くれぐれも自己責任で行って欲しい。このコマンドは依存関係等が完全なモジュールではないので、パッケージをアップデートする場合、何かの拍子にぶっこわれる場合も有るらしいので注意が必要。現に、俺はlibcのパッケージをアップデートしたら、再起不能(おなくなり)になった(;-_-;)


8.Apache+Postgresql+PHPの連携

正直、これが難しい。ApacheはSlackwareのネイティブなパッケージとしては、Apache1しかない。それと、PHP4は用意されているがこれらを連携出来るところまで行かない。Mysqlとの連携はslackのバイナリパッケージで出来るけど、Postgresqlはコンパイル時に上手くパラメータを吐いてくれない。したがって、ApacheとPostgresqlはネイティブパッケージを入れてPHPはソースからオプション付きでコンパイルした方が良さそうだ。


9.kernel再構築のためのライブラリのインストール

kernel再構築のためには、以下のライブラリが必要であるためインストールを推奨する。すでに入ってるならその限りではない。

# slackpkg install ncurses

# slackpkg install glibc

この二つをインストールしておく。


10.カーネルのアップグレード

このslackware 10のカーネルは、kernel-2.4.31であるため、kernel-2.6系に再構築したいと思いカーネルのアップグレードを以下の要領で行った。ソースからコンパイルするので失敗しないように気をつけること。あらかじめ、slackwareマシンのCPUタイプ、ネットワークカードのタイプは調べておくこと。

# cd /usr/src
# tar zxvf linux-2.6.14.7.tar.gz
# ln -s linux-2.6.14.7 linux
# cd linux
# make menuconfig
CPUのタイプとNICの設定。できるならば、不要なデバイスにはチェックを入れない。設定が終わったら、保存すること。

# make
# make clean
# make bzImage
# make install        
← vmlinuzの名前で/bootへカーネルイメージを保存したくなければ、これはやらないでイメージを別名にして/bootへコピーすると良いだろう。

# make modules
# make modules_install

# cd /etc
# vi lilo.conf
省略
image=/boot/vmlinuz
label=linux
read-only
root=/dev/hda3

image=/boot/vmlinuz-2.4.31
label=linux.old
read-only
root=/dev/hda3
省略

# lilo -v


11.起動スクリプトの設定

1)起動スクリプトフォルダ(起動ファイル作成登録は、別途12項参照)
Slackware10の起動スクリプト置き場は以下の場所。
root@slack10:/etc/rc.d# ls -al
total 172
drwxr-xr-x 2 root root 4096 2006-02-24 10:48 ./
drwxr-xr-x 27 root root 4096 2006-03-03 14:17 ../
lrwxrwxrwx 1 root root 4 2006-02-24 18:34 rc.0 -> rc.6*
-rwxr-xr-x 1 root root 893 2003-01-30 06:43 rc.4*
-rwxr-xr-x 1 root root 5764 2005-08-02 03:12 rc.6*
-rwxr-xr-x 1 root root 1989 2004-06-21 23:04 rc.K*
-rwxr-xr-x 1 root root 8144 2005-07-25 08:00 rc.M*
-rwxr-xr-x 1 root root 10996 2005-08-05 04:29 rc.S*
-rwxr-xr-x 1 root root 466 2004-11-05 17:20 rc.acpid*
-rw-r--r-- 1 root root 3942 2005-01-05 11:13 rc.cups
-rw-r--r-- 1 root root 512 2005-09-13 13:13 rc.dnsmasq
-rwxr-xr-x 1 root root 1529 2005-09-05 02:57 rc.hotplug*
-rwxr-xr-x 1 root root 8270 2005-09-08 05:44 rc.inet1*
-rw-r--r-- 1 root root 3575 2006-03-03 10:10 rc.inet1.conf
-rwxr-xr-x 1 root root 5267 2005-07-25 06:01 rc.inet2*
-rwxr-xr-x 1 root root 497 2003-09-12 12:27 rc.inetd*
-rw-r--r-- 1 root root 1924 2003-09-14 08:10 rc.ip_forward
-rwxr-xr-x 1 root root 143 2006-02-24 18:41 rc.keymap*
-rwxr-xr-x 1 root root 113 1995-10-03 08:54 rc.local*
-rwxr-xr-x 1 root root 25400 2005-06-06 12:41 rc.modules*
-rw-r--r-- 1 root root 687 2002-06-05 06:09 rc.sendmail
-rwxr-xr-x 1 root root 2895 2005-09-13 13:40 rc.serial*
-rwxr-xr-x 1 root root 1222 2006-02-07 12:06 rc.sshd*
-rwxr-xr-x 1 root root 860 2004-05-03 07:07 rc.syslog*
-rwxr-xr-x 1 root root 1740 1999-09-12 05:48 rc.sysvinit*
-rw-r--r-- 1 root root 1396 2005-07-31 03:14 rc.udev
-rwxr-xr-x 1 root root 8293 2005-07-25 16:19 rc.wireless*
-rw------- 1 root root 7320 2005-07-25 16:19 rc.wireless.conf

2)起動スクリプトファイルを個別に作らず馬鹿ちょん登録する

起動スクリプトを作らず簡単に馬鹿ちょん起動したい場合は、以下のように /etc/rc.d/rc.localの中に、以下の青字のようにモジュール実行コマンドをシェル登録しておく。
root@slack10:/etc/rc.d# vi rc.local
省略
#!/bin/sh
#
# /etc/rc.d/rc.local: Local system initialization script.
#
# Put any local setup commands in here:

# ClamAntiVir Start
if [ -x /usr/local/sbin/clamd ]; then
   /usr/local/sbin/clamd
fi

# Amavis Start
if [ -x /usr/sbin/amavisd ]; then
   /usr/sbin/amavisd
fi

# ClamAntiVirus Freshclam Start
if [ -x /usr/local/bin/freshclam]; then
   /usr/local/bin/freshclam -d -c 5
fi

# postgrey (postfix access policy server) start
if [ -x /usr/local/sbin/postgrey ]; then
   /usr/local/sbin/postgrey --inet=10023 -d --pidfile=/var/run/postgrey.pid
fi
echo -n 'postgrey'

# Postfix Start
if [ -x /usr/sbin/postfix ]; then
   /usr/sbin/postfix start
fi


12.slackware10のネットワークの設定

1)ホストネーム

ホストネームが書いてある。ファイルが無ければ作って書いておく。FQDNを記載すること。
root@slack10:/etc/# more HOSTNAME
slack10.xxxxxxxx.com

2)ネットワークアドレス

ネットワークアドレスおよびループバックアドレスをが書いてある。
root@slack10:/etc# more networks
#
# networks This file describes a number of netname-to-address
# mappings for the TCP/IP subsystem. It is mostly
# used at boot time, when no name servers are running.
#

loopback 127.0.0.0
localnet 192.168.0.0

# End of networks.

3)IPアドレスとゲートウェイアドレス

IPアドレスやゲートウェイアドレスが書いてある。
root@slack10:/etc/rc.d# more rc.inet1.conf
# /etc/rc.d/rc.inet1.conf
#
# This file contains the configuration settings for network interfaces.
# If USE_DHCP[interface] is set to "yes", this overrides any other settings.
# If you don't have an interface, leave the settings null ("").

# You can configure network interfaces other than eth0,eth1... by setting
# IFNAME[interface] to the interface's name. If IFNAME[interface] is unset
# or empty, it is assumed you're configuring eth<interface>.

# Several other parameters are available, the end of this file contains a
# comprehensive set of examples.

# =============================================================================

# Config information for eth0:
IPADDR[0]="192.168.0.2"
NETMASK[0]="255.255.255.0"

USE_DHCP[0]=""
DHCP_HOSTNAME[0]=""

# Config information for eth1:
IPADDR[1]=""
NETMASK[1]=""
USE_DHCP[1]=""
DHCP_HOSTNAME[1]=""

# Config information for eth2:
IPADDR[2]=""
NETMASK[2]=""
USE_DHCP[2]=""
DHCP_HOSTNAME[2]=""

# Config information for eth3:
IPADDR[3]=""
NETMASK[3]=""
USE_DHCP[3]=""
DHCP_HOSTNAME[3]=""

# Default gateway IP address:
GATEWAY="192.168.0.1"

# Change this to "yes" for debugging output to stdout. Unfortunately,
# /sbin/hotplug seems to disable stdout so you'll only see debugging output
# when rc.inet1 is called directly.
DEBUG_ETH_UP="no"

## Example config information for wlan0. Uncomment the lines you need and fill
## in your info. (You may not need all of these for your wireless network)
#IFNAME[4]="wlan0"
#IPADDR[4]=""
#NETMASK[4]=""
#USE_DHCP[4]="yes"
#DHCP_HOSTNAME[4]="icculus-wireless"
#DHCP_KEEPRESOLV[4]="yes"
#DHCP_KEEPNTP[4]="yes"
#DHCP_KEEPGW[4]="yes"
#DHCP_IPADDR[4]=""
#WLAN_ESSID[4]=BARRIER05
#WLAN_MODE[4]=Managed
##WLAN_RATE[4]="54M auto"
##WLAN_CHANNEL[4]="auto"
##WLAN_KEY[4]="D5AD1F04ACF048EC2D0B1C80C7"
##WLAN_IWPRIV[4]="AuthMode=WPAPSK EncrypType=TKIP WPAPSK=7B1ABEEB5D197741923ED2672756
9C365E31212096A0EAFAD563B268BAD01CAF TxRate=0"
#WLAN_WPA[4]="wpa_supplicant"
#WLAN_WPADRIVER[4]="ndiswrapper"

## Some examples of additional network parameters that you can use.
## Config information for wlan0:
#IFNAME[4]="wlan0" # Use a different interface name nstead of
# the default 'eth4'
#HWADDR[4]="00:01:23:45:67:89" # Overrule the card's hardware MAC address
#MTU[4]="" # The default MTU is 1500, but you might need
# 1360 when you use NAT'ed IPSec traffic.
#DHCP_KEEPRESOLV[4]="yes" # If you dont want /etc/resolv.conf overwritten
#DHCP_KEEPNTP[4]="yes" # If you don't want ntp.conf overwritten
#DHCP_KEEPGW[4]="yes" # If you don't want the DHCP server to change
# your default gateway
#DHCP_IPADDR[4]="" # Request a specific IP address from the DHCP
# server
#WLAN_ESSID[4]=DARKSTAR # Here, you can override _any_ parameter
# defined in rc.wireless.conf, by prepending
# 'WLAN_' to the parameter's name. Useful for
# those with multiple wireless interfaces.
#WLAN_IWPRIV[4]="AuthMode=WPAPSK EncrypType=TKIP WPAPSK=thekey TxRate=0"
# Some drivers require a private ioctl to be
# set through the iwpriv command. If more than
# one is required, you can place them in the
# IWPRIV parameter (space-separated, see the
# example).

4)ネームサーバとドメイン

ネームサーバとドメインが書いてある。
root@slack10:/etc# more resolv.conf
search microtechnology.co.jp
nameserver 192.168.0.4

5)でもめんどくさい人は

root@slack10:/# netconfig
これで、全て対話形式で設定すれば良いでしょう。


13.起動スクリプト

10項と重複するが、slackwareの起動スクリプトは、 /etc/rc.d の中にある。

root@slack10:/etc/rc.d# ls -al
total 180
drwxr-xr-x 2 root root 4096 2006-03-08 08:38 ./
drwxr-xr-x 27 root root 4096 2006-03-08 08:52 ../
lrwxrwxrwx 1 root root 4 2006-02-24 18:34 rc.0 -> rc.6*
-rwxr-xr-x 1 root root 893 2003-01-30 06:43 rc.4*
-rwxr-xr-x 1 root root 5764 2005-08-02 03:12 rc.6*
-rwxr-xr-x 1 root root 1989 2004-06-21 23:04 rc.K*
-rwxr-xr-x 1 root root 8214 2006-03-08 08:50 rc.M*
-rwxr-xr-x 1 root root 10996 2005-08-05 04:29 rc.S*
-rwxr-xr-x 1 root root 466 2004-11-05 17:20 rc.acpid*
-rwxr-xr-x 1 root root 253 2006-03-08 08:49 rc.crond*
-rw-r--r-- 1 root root 3942 2005-01-05 11:13 rc.cups
-rw-r--r-- 1 root root 512 2005-09-13 13:13 rc.dnsmasq
-rwxr-xr-x 1 root root 1529 2005-09-05 02:57 rc.hotplug*
-rwxr-xr-x 1 root root 8270 2005-09-08 05:44 rc.inet1*
-rw-r--r-- 1 root root 3575 2006-03-03 10:10 rc.inet1.conf
-rwxr-xr-x 1 root root 5267 2005-07-25 06:01 rc.inet2*
-rwxr-xr-x 1 root root 497 2003-09-12 12:27 rc.inetd*
-rw-r--r-- 1 root root 1924 2003-09-14 08:10 rc.ip_forward
-rwxr-xr-x 1 root root 143 2006-02-24 18:41 rc.keymap*
-rwxr-xr-x 1 root root 113 1995-10-03 08:54 rc.local*
-rwxr-xr-x 1 root root 25400 2005-06-06 12:41 rc.modules*
-rw-r--r-- 1 root root 687 2002-06-05 06:09 rc.sendmail
-rwxr-xr-x 1 root root 2895 2005-09-13 13:40 rc.serial*
-rwxr-xr-x 1 root root 1222 2006-02-07 12:06 rc.sshd*
-rwxr-xr-x 1 root root 860 2004-05-03 07:07 rc.syslog*
-rwxr-xr-x 1 root root 1740 1999-09-12 05:48 rc.sysvinit*
-rw-r--r-- 1 root root 1396 2005-07-31 03:14 rc.udev
-rwxr-xr-x 1 root root 8293 2005-07-25 16:19 rc.wireless*
-rw------- 1 root root 7320 2005-07-25 16:19 rc.wireless.conf

この中の、 rc.crond とかがモジュール単体の起動スクリプトで rc.Mrc.S が起動スクリプトを登録するファイルである。では、この中でrc.crond の起動スクリプトを作って登録するところまでを見てみる。

root@slack10:/# vi /etc/rc.d/rc.crond

#!/bin/bash

start() {
   echo -n "Starting Cron: "
    /usr/sbin/crond -l10 >>/var/log/cron 2>&1
   return 0
}
stop() {
   echo -n "Stoping Cron: "
    killall crond
   return 0
}
case "$1" in
start)
start
;;
stop)
stop
;;
esac

root@slack10:/# chmod 755 /etc/rc.d/rc.crond

root@slack10:/# vi /etc/rc.d/rc.M

省略

# Start crond (Dillon's crond):
# If you want cron to actually log activity to /var/log/cron, then change
# -l10 to -l8 to increase the logging level.

if [ -x /etc/rc.d/rc.crond ]; then
/etc/rc.d/rc.crond start
fi

省略

これで再起動すれば cron が立ち上がる。

所見:
しかし、起動スクリプトは、直接10項の2)のように /etc/rc.d/rc.local ファイルにシェルでプログラムしても良い。RHL系ではイレギュラーだがSlackwareでは普通にやられていることらしい。俺は、どちらかというとこちらの方法が好きだ!

以上


 
 
 



Copyright 2005 Kozupon.com.