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