2022年8月、ホームページを全面リニューアルしました! 情報を分かりやすくお伝えできるサイト作りを目指してまいります。

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.M や rc.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では普通にやられていることらしい。俺は、どちらかというとこちらの方法が好きだ!

以上

コメント