LinuxAdmin
- chkconfig
- /etc/inittab
- yum
- password files
- chown
- single user mode
- visudo
- /var/log/messages
- dmesg
- useradd
- mount
- uname
- rpm
- killall
- pdfnup
- sshd
- fdisk /dev/hdb
- フォーマット
- 起動時のランレベルの変更
- ASTEX-X を使えるようにする
- .bashrc
- su ユーザIDを変更する
- tcpdump
- VMWare
- Kernel Module
- 2番目の数字が2.....fsck(ファイルシステムをチェックするコマンド)を起動時にその他のパーティションに対して実行する
- 起動ディスク
- useradd [username]
- /etc/passwd, /etc/group
- emacs
- ifconfig コマンド
- Latex 関連
- rpm
- CtrlとCapsのSwap
- locate のデータベース作成
- beep 音を消す
- Dual boot で Windows がみえなくなったら
- Ports
- VNC( up2date vncserver )
- wu-ftpd( up2date wu-ftpd )
- OpenSSH
- NFS
- mail (sendmail , pop3)
- Windwos 2000(NTFS) と Linux (lilo) のデュアルブート
- NAT
- ftp クライアントを使いたい (passive モード)
- ポートフォワーディング
- DHCP
- IPマスカレードの設定
- Samba Windows とのファイル共有
- Netatalk Mac OSとのファイル、プリンタ共有
- SQL(PostgreSQL)
- SQL続編 ODBCドライバ
- Apache (RPMっつーか最初から入るやつ)
- Tomcat(RPMパッケージ)(RedHat8 default Apache との連携ができなかった)
- PHP (Apache が RedHat8 に最初から入っているものの場合)
- cvspserver
- PostgreSQL
- vsftpd
- delegate(Proxy server)
chkconfig
chkconfig --list httpd
chkconfig --level 35 httpd on (No --level means --level 2345) chkconfig httpd off
/etc/inittab
Change runlevel
yum
yum search [keyword] yum provides [library] (Find which package has this library .so ) yum install [package] yum remove [package] yum uupdate [package]
password files
/etc/passwd /etc/group /etc/shadow /etc/gshadow
chown
chown nseo:nseo -R
single user mode
At the view of GRUB, add 'single' at the end of line 'kernel .....'
visudo
If you want to do sudo seceretly, See also Programming/develop/sudo.c?
/var/log/messages
kernel log
dmesg
Start up log. (Just cat /var/log/dmesg) You can see CPU name or something.
useradd
-d home_dir -m (create home directory) -p password -s shell -r (system account?)
mount
root priviledge
mount -t iso9660 -o loop [ISO file] [mount point]
user can do
mount /dev/cdrom cd /media/cdrecorder
uname
uname -> Linux
uname -a -> x86_64 2.6.9.11.ELsmp ......
rpm
How come I can make it possible for users to use rpm. /var/lock/rpm has to be writable. It is created when rpm was executed by root.
Install
rpm -ivh --prefix [dir]
--nodeps (don't check dependencies)
What and where
rpm -ql [package_name]
Description
rpm -qi [package_name]
if package name is ambiguous
rpm -qa | grep
Uninstall
rpm -e [package_name]
When database looks corrupted.
rpm -rebuilddb
killall
/usr/bin/killall
% killall [command name]
% killall [command name] -i (interactive)
pdfnup
http://www2.warwick.ac.uk/fac/sci/statistics/staff/academic/firth/software/pdfjam/
http://web.mit.edu/bharath/www/PDFPackJam/
(C#)
sshd
$ sudo sshd
If outputted as
Could not load host key: /etc/ssh_host_key Could not load host key: /etc/ssh_host_rsa_key Could not load host key: /etc/ssh_host_dsa_key $ sudo ssh-keygen -t rsa1 -f /etc/ssh_host_key -N "" $ sudo ssh-keygen -t rsa -f /etc/ssh_host_rsa_key -N "" $ sudo ssh-keygen -t dsa -f /etc/ssh_host_dsa_key -N ""
(-N is for specifying passphrase)
fdisk /dev/hdb
#preThe number of cylinders for this disk is set to 2495. There is nothing wrong with that, but this is larger than 1024, and could in certain setups cause problems with: 1) software that runs at boot time (e.g., LILO) 2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK)
Command (m for help): p ←現在の状態を確認する
Disk /dev/hdb: 255 heads, 63 sectors, 2495 cylinders Units = cylinders of 16065 * 512 bytes
Device Boot Start End Blocks Id System ← 何も確保されていないことが分かる
Command (m for help): n ← 新しいパーティションを作成する Command action e extended p primary partition (1-4) p ← 「p」プライマリパーティションを選択する Partition number (1-4):1 ← 新規増設であれば「1」番目のパーティション Command (m for help): p ← 確認するとLinux(ext2)ファイルシステムができている
Disk /dev/hdb: 255 heads, 63 sectors, 2495 cylinders Units = cylinders of 16065 * 512 bytes
Device Boot Start End Blocks Id System /dev/hdb1 1 2495 20041056 83 Linux Command (m for help): w ← 書き込んで終了
end
フォーマット
mkfs -t ext2 /dev/hdb1
起動時のランレベルの変更
/etc/inittabファイルを書き換えることで起動時のランレベルを変更できる。 id:3:initdefault: ← 数値を変更する。
ASTEX-X を使えるようにする
rexec を使えるようにする vi /etc/xinetd.d/rexec disable = yes -> disable = no X11 forwarding vi /etc/ssh/sshd_config X11Forwarding yes
.bashrc
PS1="[\u@\h \w]\n"
kterm () { command kterm -sb $@ & }
alias ls='ls -F'
su ユーザIDを変更する
オ プ ション引数-を用いると、直接ログインした場合と同じ環境に初期化される。 例えば su だけだと /etc/profile が実行されないので /sbin などがパスに入らない。 なので su - なら間違いない。 ちなみに id コマンドでユーザIDなどをしらべられる。id -u で id だけとか。 if [ `id -u` = 0 ]; then とかのようにつかう。 id = 0 は root ユーザ。
tcpdump
ネットワークのトラフィックをダンプする
VMWare
tar.gz 版
vmware-install.pl はとおった。vmware-config.pl のところで vmmon が kernel バージョンと合わないのでコンパイルしたいが、kernel headers がないよといってきたので
yum install kernel kernel-dev kernel-headers
headers の場所を確認して /usr/src/kernels/......../include 指定。
rpm 版
rpm -Uvh VMware-linux.....rpm tar zxvf vmware-any-any-update.....tar.gz cd vmware-any-..... ./runme.pl モジュールをコンパイルしていって ネットワークのところで、ネットワーク使います。 Bridge しません。(IP が2つ以上あって、直接外にでたいなら。) NAT 使います。(ホストOSに一度つないで、外にでる) Host Only しません。(外にでない。設定によっては、外に出せる。自分でNATしろってこと) File share しません。(すでに Samba いれてたのでなし)(実際yesにしてしまった。不要だった) アドレスは使ってないネットワークアドレスのものを使う。使ってるものにしたら、vmnet が 有効化されなかった。自動で決めてもらっていいだろう。 vmware & と vmware を起動すると vmnet8 が有効化されるので、 それのアドレスをしらべて、Samba につなぐ。 かってに IP マスカレードをしてくれたみたい。そのまま外部につながった。 ソフトをインストールするときのネットワークのほうのフォルダを指定しようとしたら、 それにドライブをわりあてられますよ。といってきたので、E: にした。
VMware ゲストOSへのポートフォワーディング(上のNAT機能を使ってしまった場合) /etc/vmware/vmnet8/nat/nat.conf を編集 #8888 = 192.168.27.128:80 あたりの下にこれのように 80 = [ゲストOSのIPアドレス]:80 みたいなかんじでかく。ホストOSの80番がゲストOSの80番にいく。 DHCP サーバに接続して IP わりあててもらう設定だと xxx.xxx.xxx.128 のはず おそらくvmware を複数個起動するとゲストOSに128からアドレスが順々に割り当てられるはず。 どれになるのかわからないので、固定したほうがいいだろう。 その場合、IPアドレスはxxx.xxx.xxx.3~127 までの間を使うようにとのこと。 この場合は無論、DNS サーバのアドレスも調べておいて設定しなければならない ちなみに VMware では ゲートウェイが xxx.xxx.xxx.2 標準 DHCP サーバーが xxx.xxx.xxx.254 標準
Kernel Module
#preカーネルモジュールとは、Linuxカーネルの機能を拡張するためのバイナリーファイルです。 Windows パーティションのマウント デュアルブート環境などは、Windowsパーティションのディスクの内容も見られたほうが何かと便利です。以下にその方法を簡単に説明します。SCSIの場合はよく分かりません。 Linuxにおいては、諸々のデバイスをファイルとして扱いますが、IDEハードディスクとて例外ではありません。/dev ディレクトリに、 hda2 や hdb1 という名前で格納されていると思います。最初の h という文字は「ハードディスク」の略だと思います。2文字目は、以下の規則に従います。
* a.....プライマリのマスター * b.....プライマリのスレーブ * c.....セカンダリのマスター * d.....セカンダリのスレーブ [#o29fdcd8]
最後の数字はパーティションの通し番号です。どのファイルがどこのディスクのどこのパーティションに属するか調べるためには
fdisk -l
を実行します。容量とフォーマットの形式が一覧で出てくるので大体は理解できるはずです。対象のファイル名が分かったら、次にマウントポイントを作ります。 要はどこにマウントするのかと言うことで、適当にディレクトリを作ってやればいいわけです。その後、コマンドを実行します。
mount -t vfat /dev/hda2 /mnt/win
ここでは、「FAT32でフォーマットされた(vfat)」、「プライマリマスターの番号2のパーティション(/dev/hda2)」を、「/mnt/win」に、マウントすることを指示しています。 vfat という指定が、FAT32のみなのか、FAT16などでも有効なのかは知りませんが、とりあえずFAT32は私の環境でマウントできました。 Windows2000 など、NTFSでフォーマットされているのならば以下のようなコマンドにします。
mount -t ntfs /dev/hda2 /mnt/win
しかし、NTFSはカーネルが対応していない場合もあるので、その時はNTFSのマウントに対応したオプションをつけてカーネルを再構築しなくてはなりません。 更に、現時点での最新のカーネル(2.4.20)でもNTFSへの書き込みは開発段階らしいので、読み込みのみにした方がいいでしょう。
又、これらのコマンドをいちいち実行するのが面倒ならば、
/etc/fstab
を編集することによって、起動時に自動的にマウントすることが可能となります。エディタで開いて
/dev/hda2 /mnt/win vfat defaults 0 0
などという行を書き込めば有効になります。場所は、ファイルの最後尾の行にした方がいいでしょう。末尾に現れる数字は以下のような意味を表します。
* 1番目の数字が0.....dump(バックアップコマンド)実行時にバックアップを行わない * 1番目の数字が1.....dump(バックアップコマンド)実行時にバックアップを行う [#y19992f7]
* 2番目の数字が0.....fsck(ファイルシステムをチェックするコマンド)を起動時に行わない * 2番目の数字が1.....fsck(ファイルシステムをチェックするコマンド)を起動時にルートのパーティションに対して実行する
2番目の数字が2.....fsck(ファイルシステムをチェックするコマンド)を起動時にその他のパーティションに対して実行する
書いておいてなんですが、2番目の数字のオプションは私自身よく分かっていません。しかし私が/etc/fstabに
/dev/hda2 /mnt/win vfat defaults 1 2
と記述したところ、起動時に「このファイルシステムはまだALPHAバージョンだからどーのこーの」と怒られたので、
/dev/hda2 /mnt/win vfat defaults 0 0
としてオプションをはずしてしまいました(これだと怒られずにすみました)。個人使用の程度ならば全く問題ないと思います。
これらの数字の前にある"defaults"というのは、マウントのためのパラメータです。これには以下のようなものがあります。
* rw......読み書きを許可 * exec.....実行を許可 * ro.....読み込み専用 * auto.....mount -a コマンドで自動的にマウントする * noauto.....自動的にマウントしない * sw.....スワップを有効にする * user.....一般ユーザーのマウントを許可する
"defaults"というのは、上のパラメータのうち"rw"と"exec"と"auto"を有効にするものです。
モジュールを組み込まれた Linux カーネルは、ユーザープログラムに対してより多くの機能 を提供することができるようになります。例えば Linux でハードウェアを使用するためには デバイスドライバーが必要となりますが、それらデバイスドライバーのほとんど全てが Linux カーネルモジュールとして実装されています。つまりある特定のハードウェア、 例えばネットワークアダプターのデバイスドライバーのモジュールをカーネルに組み込むと ユーザープログラムはそのネットワークアダプターを利用してネットワークにアクセスすることが 出来るようになるわけです。
カーネルモジュール・ファイルの正体は、通常の gcc コンパイラーで作成された バイナリーオブジェクトです。つまり、カーネルモジュールのソースコードを gcc でコンパイル すればその作成物をカーネルに動的に組み込んだり切り離したりできるというわけです。
end
起動ディスク
linux root=/dev/hda2 とか / のあるパーティションを指定する。 たぶん一発ではいかない。3、4回やってはじめて起動するだろう。 これで /boot 代わりをしている?
useradd [username]
passwd username でパスワードを設定しておこう add したときに作成される設定ファイルは /etc/skel 内のファイルのコピー userdel [username] usermod [username]
/etc/passwd, /etc/group
vipw, vigr コマンドで編集する。それぞれ単体を編集すると矛盾が発生する危険性があるので。 vipw で /etc/passwd, vigr で /etc/group 環境変数 EDITOR を設定すれば vi 以外でも編集できる
emacs
#pre;; Always end a file with a newline (setq require-final-newline t)
;; Stop at the end of the file, not just add lines (setq next-line-add-newlines nil)
;; Stop make backup files
(setq make-backup-files nil)
;; Do not use tab character for indentation (setq-default indent-tabs-mode nil)
;; C-h に backspace をわりあてる emacs-21 なら
;; Set backspace C-h ;;(define-key function-key-map [backspace] [8])
;; Set C-h backspace (put 'backspace 'ascii-character 8) (setq keyboard-translate-table "\^@\^A\^B\^C\^D\^E\^F\^G\^?\^I\^J\^K\^L\^M\^N\^O\^P\^Q\^R\^S\^T\^U\^V\ \^W\^X\^Y\^Z\^[\^\\\^]\^^\^_ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJK\ LMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\^H")
; それ以前なら (define-key c-mode-map "\C-h" 'backward-delete-char-untabify)
; Xemacs (keyboard-translate ?\C-h 'backspace)
;; Initial (setq default-frame-alist
(append (list '(foreground-color . "black")
'(background-color . "white")
'(background-color . "gray")
'(border-color . "black")
'(mouse-color . "white")
'(cursor-color . "black")
;; '(ime-font . "Nihongo-12") ; TrueType ;; '(font . "bdf-fontset") ; BDF ; '(font . "private-fontset"); TrueType ; '(width . 80) ; '(height . 30) ; '(top . 0) ; '(left . 0)
)
default-frame-alist))
;; ;; 括弧の対応表示 ;; (require 'paren)
;;色の設定を変えたいときは、次のように書いてください。
(make-face 'paren-match) (set-face-foreground 'paren-match "gray80") ; マッチしたときのフォアグラ ウンドの色 (set-face-background 'paren-match "CadetBlue4") ; マッチしたときのバックグラ ウンドの色
(make-face 'paren-mismatch) (set-face-foreground 'paren-mismatch "white") ; マッチしなかったときのフォ アグラウンドの色 (set-face-background 'paren-mismatch "lightcoral") ; マッチしなかったときのバッ クグラウンドの色
(setq show-paren-face 'paren-match) (setq show-paren-mismatch-face 'paren-mismatch)
;; 分岐 (cond
;; XEmacs 21
((string-match "XEmacs" emacs-version)
(setq user-init-file
(expand-file-name "init.el"
(expand-file-name ".xemacs" "~")))
(setq custom-file
(expand-file-name "custom.el"
(expand-file-name ".xemacs" "~")))
(load-file user-init-file)
(load-file custom-file)
)
;; Emacs 21
((string-match "^21" emacs-version)
(setq load-path (append '("/usr/share/emacs/21.2/lisp/") load-path))
(load (expand-file-name "~/.emacs.d/init.el"))
)
)
end
ifconfig コマンド
display or set network interace
Latex 関連
http://www2.tky.3web.ne.jp/~kyone/tex/ 関連ソフト w3c-libwww, VFlib2, ttfonts, ttfonts-ja, tetex, tetex-fonts, tetex-dvips, tetex-xdvi, tetex-latex, urw-fonts, Omni, ghostscript, gv
まず,日本語を扱う場合は,それぞれ
latex -> platex xdvi -> pxdvi dvips -> pdvips (pdvips [dvi] -o [ps] , pdvips [dvi] -s| lpr(?) )
を使うべし. RedHat付属のTeXはインストール直後の状態では pxdvi で日本語が表示されないなどの不具合がある.これを解消するには以下のように,/etc/vfontcap ををエディタで開いて,先頭の
#premin:\
:fc=default-ttf:
goth:\
:fc=gothic-ttf:
の部分を
min:\
:fc=r-kochi-mincho:
goth:\
:fc=r-kochi-gothic:
に変更すれば良い.
end
rpm
-Uvh インストール時 -qa インストールされているものをすべて表示 -q [package name] パッケージがインストールされていれば表示 -ql [package name] パッケージ内のファイルを全部リスト -e [pacage name] パッケージを削除
CtrlとCapsのSwap
xmodmap だと微妙に変になるので /etc/X11/XF86Config の Option "XkbOptions" "ctrl:swapcaps" を有効 Option "XkbOptions" "ctrl:nocaps" だとCapsがなくなる
locate のデータベース作成
updatedb -e '/home'
beep 音を消す
/etc/inputrc の set bell-style none を有効に
Dual boot で Windows がみえなくなったら
/etc/grub.conf を
#predefault=0 timeout=10 splashimage=(hd0,1)/boot/grub/splash.xpm.gz title Red Hat Linux (2.4.18-14)
root (hd0,1) kernel /boot/vmlinuz-2.4.18-14 ro root=LABEL=/ initrd /boot/initrd-2.4.18-14.img
title DOS
rootnoverify (hd0,0) makeactive chainloader +1
end
のようにすると直るかも
Ports
POP3 110:tcp Samba 137:udp,138:udp,139:tcp Nettalk SSH + 548:tcp, 548:udp NFS 2048:udp, 111:tcp,111:udp
VNC( up2date vncserver )
VNC設定ファイル /usr/bin/vncserver クライアントに表示される解像度などの設定 /etc/sysconfig/vncservers 接続許可の設定
vncserver コマンドでユーザごとの設定ファイルを作成 そのさいに:1 とか :2 とかでてくるので :2 だったら /etc/sysconfig/vncservers に VNCSERVERS="2:[username]"ってかんじで設定 それぞれのホーム下に .vnc/passwd パスワードを設定 .vnc/xstartup 初期化設定(ここにexec startkde とかかいて)
vncpasswd コマンドでパスワード変更 Windows の VNC client は UnderDone の RealVNC が good さっきのだったらホスト名:2で接続し、パスワード入力
-geometry 960x740 (タスクバー右、2列) -geometry 1024x685 (タスクバー下、2列の人) デフォルトは 960x685 くらいでいいのかな。
wu-ftpd( up2date wu-ftpd )
/etc/ftpaccess 主な設定
ftpconversoins 形式変換転送
ftpgroups グループパスワード
ftpusers 禁止ユーザー root とかけば root を拒否
ftphosts ホスト可否
deny [username] [hosts]
deny [hosts]
deny [username]
allow [username] [hosts]
以下同文
anonymouseは/var/ftp 以下にしかアクセスできない
OpenSSH
ssh-keygen -t rsa1 passphrase は長めが普通(10文字以上) rsa だと teraterm,ttssh で使えない $HOMEに.ssh/identity .ssh/identity_pub ができる。 cp .ssh/identity_pub .ssh/authorized_keys .ssh/identity の秘密鍵のほうを floppy かなんかで Windows にもっていく teraterm, ttssh のコンボでいけばつながる 鍵を使うようにしたのなら、鍵がなかったらだめなように設定 つーか linux で鍵つくって秘密鍵をもっていくっておかしい。 windows で鍵作って公開鍵をftpかなにかでおくろう。 ってftpで送れたらSSHの意味が… Windows の keygenerator は PuTTY http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html [本体] http://rap.sourceforge.jp/taco/#3-2 [説明] http://osksn2.hep.sci.osaka-u.ac.jp/~naga/miscellaneous/winsshb.html [PortFowarder とか teraterm+ttssh, WinSCP2 とかものってる]
NFS
NFS server の方で共有を認めるディレクトリ、ホストをきめて、 client のほうで たとえば /home なら mount [server address]:/home /home のようにしてやればよい。client のほうにも同じ user を作っておけば そのままのアクセス権でいける。
しかしこのように/home を作ったばあい、su すると、 なぜか DISPLAY がつかえなくなる。su するまえに xhost +$HOSTNAME して おくと使えるようになる。わけわかめ
/home は自分のところのものをつかうしかないのか?そんなはずはないがなぁ cdrom のマウントもできるが、クライアントでマウントしている間 サーバー側でディスクをとりだせなくなるので、要アンマウント /etc/fstab に書いておけば起動後マウントしてくれる。 書き方は man nfs
mail (sendmail , pop3)
sendmail, sendmail-cf, imap をインストール
/etc/mail/sendmail.mc sendmailの主要な設定
/local-host-names 受信ドメイン名
/access 送受信の許可/拒否
sendmail 設定ファイルのタイムスタンプがまちがっている可能性があるので、
%touch /etc/mail/*
として更新しておこう
/etc/mail/sendmail.mc DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA') -> dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA') (dnl でコメントアウト。外部との接続を遮断していたらしい ) /etc/mail/accec#pre
127.0.0.1 RELAY 192.168.0 RELAY com RELAY jp RELAY net RELAY org RELAY
61.110.215.50 REJECT china9988@21cn.com REJECT
end
のように書く。IP は3つでも可。.* になる。Domain もこんなかんじ。 RELAY で許可。REJECT で拒否
/local-host-name たとえば、ほんとうは @stdml2.u-aizu.ac.jp なのに @u-aizu.ac.jp で 届くようにできる。 u-aizu.ac.jp とこのファイルに書けばよい。
service sendmail restart ipop3 を起動 mail 用のアカウントは、ログインシェルを /sbin/nologin にし、ログインできない ようにしよう。むろんホームディレクトリもいらない。 mail は /var/spool/mail/[username] に保存される? mailstats コマンドでメールサーバー実行処理数をしらべられる
Windwos 2000(NTFS) と Linux (lilo) のデュアルブート
Lilo は NTFS を認識できないので、Windows 2000 の NTLDR を使うしかない。 GRUB があるのならこんな面倒くさいことはしなくてよい。
まずWindows2000をインストール。 パーティションはWindows2000(NTFS、2000なら2.5Gくらいでいいかな) でLinux用のもまぁ作っておいてもいいかな。
で共有パーティション用に FAT32 のも作っておこう。Linux だと 2048M までのパーティションしか作れない。かといってこちらで作っておけばうまくアクセスできるのかが微妙だが。
Windows2000起動して、共有パーティションをフォーマットしておこう。 Linux インストール /boot 100M / 何Gか swap メモリの大きさくらい 共有パーティションにラベルをつける。/vfat とかなんとか。 無理だったら、あとでやる。
lilo のアンインストール(いらないはず。なんだけど新しくliloを作らないとうまくいかなかった) lilo がどこにはいっているかは、入っていないところを指定するとエラーがでるのでわかるはず。 % /sbin/lilo -u /dev/hda2 /etc/lilo.conf の編集(いらないはず) lilo をインストールする場所を書いておく。boot = /dev/hda2 (/boot のパーティション) lilo のインストール(いらないはず) % /sbin/lilo
lilo をファイル化 % dd if=/dev/hda2 of=bootsect.pbr bs=512 count=1 で、bootsect.pbr を なんとかして Windows 側にもっていく フロッピーなら mount /mnt/floppy とか mount -t vfat /dev/fd0 /mnt/floppy とかしておいてcp コマンドとか。 C: 直下において C:boot.ini の最下行に(フォルダオプションからOSに隠されたファイルも表示をチェック) C:\bootsect.pbr="Linux" のようにかいておけば、NTLDR から lilo を起動して Linux を起動できる。 timeout でデフォルトが起動するまでの時間を決めて default でデフォルトをきめる。default=C:\bootsect.pbr のように書いておく (GRUB も Windows を起動するときには NTLDR をよびだしているようだ。NTLDR はどこに保存してあるのか・・・)
NAT
厳密には NAT とは グローバルアドレス、プライベートアドレス一対一の変換。
1つのグローバルアドレスに複数のプライベートアドレスを割り当てるのはNAPT
Port を Transition して区別するのだ。IP マスカレードは NAPT のほう。Linux 専門用語
また一概にIPマスカレードといっても静的と動的がある。
iptables でおこなっているのは静的IPマスカレードである。
http://www.asi.co.jp/info/unix/nat.html
またゲートウェイとはプロトコル変換機能をもつものであり、厳密にはルータとことなります。
まぁどっちでもいいですが、一応違いをおぼえておくといいかもしれません。
僕としてはプロトコル変換なんてしていないので、ゲートウェイとなにも断わらずに言っているサイト
を見ると、少し疑わしくなります。まぁWindowsも全部まとめてゲートウェイといっているし、
どうでもいいといえばどうでもいいです。単なるたわごとです。
最低限
lsmod でモジュール確認 lsmod | grep ip_tables
なかったら
modprobe ip_tables
で、今度は nat 用に(さっきのはファイアウォール全般)
lsmod | iptable_nat
なかったら
modprobe iptable_nat lsmod | grep ip_chains
あったら ip_chains はいらないので
rmmod ip_chains
echo 1 > /proc/sys/net/ipv4/ip_forward
ただしこれだと再起動時に消えるので、RedHat 系なら(たぶん)
/etc/sysctl.conf に net.ipv4.ip_forward=1
とかいておく。すぐ反映させたいなら、
sysctl -p /etc/sysctl.conf
または
/etc/rc.d/init.d/netword restart (中でsysctl -p /etc/sysctl.conf やってる)
RedHat 系以外なら
/etc/sysconfig/network に FORWARD_IPV4=yes
を書き込む。
/etc/rc.d/init.d/network restart
で反映させる。反映しないなら、上の echo 書いとく?
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
(eth0 は外につながってるやつ。YahooBB じゃない ADSL だと ppp0 とかでもいいとかなんとか) これを起動時に反映させるようにするには、/etc/rc.d/rc.local あたりに書き込んでおけばいい。(このファイルはそういうちょっと付けたし用のファイル)
network の設定は RedHat なら
redhat-config-network というツールがある。
大抵のディストリビューションには netconfig という CUI の GUI チックな設定ツールがあるはず。 netcfg という GUI のものもあるかもしれない。また setup コマンドにネットワークの設定項目が あるかもしれない。(VineLinux 2.6r1 にはなかった。むしろ netcfg があった。) (と思ったら、eth0 のほうしか設定できないみたい。ファイル直接いじるしかないのか。) eth0 外部を YahooBB なら DHCP にチェック入れればおわり。 eth1 内部をたとえば、192.168.0.1/255.255.255.0 にして(192.168.0.0 など最下桁が0、または255のものは利用できない。192.168.0.0 はこの場合のネットワークアドレスになるからだ)、ゲートウェイはなくてよい。
そうしたら、他のマシンを 192.168.0.2/255.255.255.0 (ネットワークが 192.168.0.* なので上三桁はむろんそのようにしなければならない。)にして、ゲートウェイをさっきの 192.168.0.1 にしておく。DNS はルータとなるマシンのほうで調べて入力しておこう。そうしないと名前解決できない。 ケーブルはむろんクロスケーブル。ハブとかもってるなら、ストレート2本?でもいいだろう。(ハブもってないのでどういう風につかうのか知らない。) ストレートを買ってしまったとしても、ちょっといじればクロスにできるので改造してみるのもいいだろう。
ファイアウォールの設定はRedHat なら
redhat-config-securitylevel という GUI ツールがある。
KDEもしくはGNOMEを使っているなら 赤帽->システム設定->セキュリティレベル ででてくるはず。 内部ネットワークのデバイスは信頼する設定にしておこう。ふつうは信頼するでしょ。 また大抵のディストリビューションなら
/usr/sbin/lokkit
という CUI の GUI チックなツールがあるはず。 これらのツールは /etc/sysconfig/iptables に書き込んでいる。 また、このファイルは起動時に実行される /etc/rc.d/init.d/iptables が読み込んで実行している。
こういうツールを使わずに自分で iptables のスクリプトをかきたいならば、
mv /etc/rc.d/init.d/iptables /etc/rc.d/init.d/iptables.bak touch /etc/rc.d/init.d/iptables chmod 755 /etc/rc.d/init.d/iptables
としてバックアップを作りつつ、新しくファイルを作りつつ、実行許可をだしておいて、 改めて、好きなように編集すればよい。 ちなみに起動時に実行されるスクリプトは
chkconfig --list
でみれる。追加するときは
chkconfig --add [script name]
消すときは
chkconfg --del [script name]
とする。なので、デフォルトの iptables スクリプトをこれではずして、自分の書いたスクリプトを これで登録してもいいだろう。 ちなみに起動時に chkconfig --list で ipchains がでてきたら、--del しておくといいだろう。 ipchains が動いていると iptables が動かなくなるので。ちなみに自分の場合、ipchains スクリプトは ipchains を起動して、すぐに終了するというようになっていた。意味ないじゃん。 iptables の書き方はサーチエンジンで iptables とか検索すればでてくる。というか Linux ルータ について調べると、自らスクリプトを書くものばかりがでてくるはずだ。どうして、みんな楽をしようとしないのだろうか。
/sbin/iptables -L iptables -t nat -L とか iptables -F OUTPUT iptables -t nat -F PREROUTING とか
ちょっとした技 ルールを /etc/sysconfig/iptables に保存する。
%/etc/init.d/iptables save
また、保存したルールを読み込みたいときは、
%/etc/init.d/iptables start
とする。 このようにルールを保存しておけば、次回起動時にルールが復元される。 しかし、せっかく保存しても /usr/sbin/lokkit /usr/sbin/lokkit (CUIツール)を実行すると /etc/sysconfig/iptables を勝手に書き換えてしまう。よろしくないな。
ftp クライアントを使いたい (passive モード)
ftp クライアントは制御用ポートでつないだあと、勝手に送受信用ポートを開くので、 ダイナミックIPマスカレードがうまくいかない。そこで、
modprobe ip_nat_ftp modprobe ip_conntrack_ftp
と、これらのモジュールをいれる。 あとはこのモジュールが自動的にftpで開いたポートを認識してうまくやってくれる。 passive モードじゃないとだめっぽい。
# iptables -A INPUT -p tcp --dport 20 -j ACCEPT # iptables -A INPUT -p tcp --sport 20 -j ACCEPT # iptables -A INPUT -p tcp --dport 21 -j ACCEPT # iptables -A INPUT -p tcp --sport 21 -j ACCEPT
とかやってもアクティブ接続はできなかったし、やらなくてもパッシブ接続できた。
--------- ip_tables iptablesサポート用モジュール ip_conntrack コネクション追跡用モジュール ip_conntrack_ftp FTPのコネクション追跡用モジュール ip_conntrack_irc IRCのコネクション追跡モジュール ip_nat_ftp FTP用のヘルパモジュール ip_nat_ircI RC用のヘルパモジュール ipt_LOG ログ出力用モジュール ipt_MASQUERADE IPマスカレード用モジュール ipt_REDIRECT REDIRECTターゲット用モジュール ipt_REJECT REJECTターゲット用モジュール -----------
ポートフォワーディング
/sbin/iptables -t nat -A PREROUTING -p tcp --dport 80 -i eth0 -j DNAT --to 192.168.0.2
違うポートにフォワードしたいなら、
/sbin/iptables -t nat -A PREROUTING -p tcp --dport 80 -i eth0 -j DNAT --to 192.168.0.2:8080
みたいな 内側からテストしようとしたら、だめだった。外からはいけたのに。なにが影響していたのか IM のために特定のポート (6891-6900) を内部のマシンにポートフォワーディングする。
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 6891:6900 -j DNAT --to 192.168.0.2
LAN 内のマシン(192.168.0.100)からの HTTP サーバへのパケットを 8080 番ポートへリダイレクトする(透過プロキシ)。
iptables -t nat -A PREROUTING -p tcp -s 192.168.0.100 --dport 80 -j REDIRECT --to-port 8080#pre
/sbin/iptables -t filter -P INPUT DROP
#デフォルトのテーブルがfilter なので -t filter はなくていい
## pingの通過および応答を許可 /sbin/iptables -t filter -A INPUT -i eth1 -p icmp -j ACCEPT
## DNS問い合わせの通過および応答を許可 /sbin/iptables -t filter -A INPUT -i eth1 -p udp --dport 53 -j ACCEPT
## wwwの通過および応答を許可 /sbin/iptables -t filter -A INPUT -i eth1 -p tcp --dport 80 -j ACCEPT
## POPの通過および応答を許可 /sbin/iptables -t filter -A INPUT -i eth1 -p tcp --dport 110 -j ACCEPT
## SMTPの通過および応答を許可 /sbin/iptables -t filter -A INPUT -i eth1 -p tcp --dport 25 -j ACCEPT
## ftp通信用モジュールのロード(FTPの通過および応答を許可) /sbin/iptables -t filter -A INPUT -i eth1 -p tcp --dport 21 -j ACCEPT
end
DHCP
/etc/rc.d/init.d/dhcpd 起動シェルスクリプト prog="dhcpd" の下辺りに DHCPDARGS = "eth1" と追加。書かないと eth0 にも適用されてしまう。 むろんこの場合は eth0 が外部と繋がっているカードで eth1 が内部だろう。 /etc/dhcpd.conf IP アドレスの割り当て方法。なければ作る#pre
ddns-update-style- interim; subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.2 192.168.0.17;
option subnet-mask 255.255.255.0;
option routers 192.168.0.1;
option broadcast-address 192.168.0.255;
option domain-name-servers xxx.xxx.xxx.xxx, xxx.xxx.xxx.xxx;
}
end
のように書く。xxx.xxx.xxx.xxx はむろんDNSサーバーのアドレス。
IPマスカレードの設定
/etc/rc.d/rc.local (起動時実行ファイル) これにIPマスカレードのためのコマンドを記述しておくといいだろう。 /sbin/sysctl -w net.ipv4.ip_forward=1 #IPマスカレードを有効 (echo 1 > /proc/sys/net/ipv4/ip_forward に同じ) (/etc/sysctl.conf の net.ipv4.ip_forward を 1 にして sysctl -p /etc/sysctl.conf が正解) (RedHat 以外は /etc/sysconfig/network) /sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE #iptable (アクセスしたコンピュータのIPに応じた取扱を設定する表) の設定 もしくはProxyサーバーの構築 (up2date squid) /etc/squid/squid.conf 主要な設定 アクセス制限をするならば、 acl CONNECT method CONNECT の下あたりに acl domain-deny dstdomain "/etc/squid/domain-deny" # http_access deny all の行をこのようにコメントアウトして、下に http_access deny domain-denay http_access allow all squid.conf に domain-deny ファイルでアクセスを設定すると書いたので、 /etc/squid/domain-deny ファイルをつくり、このサーバーからの アクセスを禁止するアドレスを書く。 www.sexy-j.com www.adult-series.com のようにかく。 squid サーバーを起動 あとは、クライアント側がふつうにブラウザとかで proxy サーバ設定すればよい。 でも、proxy サーバじゃ、対応したソフトでしかウェブにつなげないよな…
Samba Windows とのファイル共有
http://www.atmarkit.co.jp/flinux/samba/whatissamba01/whatissamba.html
ログインが必要な読み書き
[share] comment = KURO-BOX Share Folder path = /mnt/share browsable = yes printable = no writable = yes valid users = sonots force create mode = 777 force directory mode = 777
user は samba のユーザー
/etc/samba 内に設定ファイルがあるが、samba-swat を使って設定する (RedHat にはこれ以外にも Samba 設定用のツールがある) up2date samba-swat samba-swat デーモンを起動 (実質 xinetd を再起動) /etc/rc.d/init.d/xinetd restart samba-swatがはいってるなら、例のサーバ設定ツールで smb と swat にチェックをつけて 起動させてやる。
mozilla http://localhost:901 & root で login する GROUPS ボタンをクリックし、グループ名をつける 正規ユーザーのホームディレクトリを共有したいなら、 SHARES ボタンをクリックし、Create Share ボタンの右のメニューで homes を選択 homes の設定がでてくるので、browseable を Yes にして、Commit Change する Password ボタンを押し、ユーザーを登録する。ID, Password を登録して、 Create New User ボタンで作る。パスワードはSamba用のパスワード。ID は正規なID STATUSボタンで Samba サーバーの起動、終了、再起動をおこなう サービスGUIツールで smb をコンピュータ起動時に起動するよう設定
Windows 側で、マイネットワークを開けば見えるはず。グループ名の設定は、 コントロールパネル->システム->ネットワークID なんてらでいける。 ゲスト共有フォルダの作成 SHARES ボタンをクリックし、Create Share ボタンの名前に適当に名前をいれて、ボタン クリック。 共有ディレクトリのパスを入力し、guest ok を yes に、書き込みも許可するなら、 read only を no に。あとは Commit して restart プリンタの共有 PRINTES ボタンをクリック。Choose Printer の右でプリンタを選ぶ。[*] が先頭に ついているのが、接続してあるプリンタ その後の設定で guest ok にしないと ME だと接続できない。XP だと入力の手間がいる。 あとは、samba 再起動
Windows 側でマイネットワークから接続して、プリンタを右クリックし、接続を選べばつながる
vfat 領域は root 権限でないと書き込みでないので、Samba で root 権限 おそらく /etc/samba/smbusers に root = adm ... とかのように root に対応するユーザがすでに書かれてしまっているので消す。 改めて root に対する samba ユーザーを登録する。
ファイル名を日本語 /etc/samba/smb.conf の [global] の下あたりに client code page = 936 coding system = EUC と追加。client code page が Shift-JIS であることを示し、 coding sytem が Linux 上にどのコードで保存するか SJIS にしないとWindows 側から不都合が発生したりする。が、 ファイルシステムが vfat の領域だと EUC にしないと日本語ファイル作れない。 coding system は EUC/SJIS/HEX/CAP あたらしいバージョンなら EUC3/UTF8 とかもあるらしい。
swat などを使うよりも /etc/samba 内のファイルをいじったほうがたぶん楽
user の追加は /etc/samba/smbusers を直接編集
パスワードの設定は /usr/bin/smbpasswd [username] [passwd] で
/etc/samba/smb.conf で
username map = /etc/samba/smbusers
のコメントアウトをはずせば smbusers 読みにいく
新しいフォルダの追加は
[vfat]
path = /vfat
writable = yes
invalid users = %S
こんなんでOK
Netatalk Mac OSとのファイル、プリンタ共有
/etc/atalk/config 基本条件
/atalkd.conf 提供先
/afpd.conf ファイル共有の基本設定
/papd.conf プリンタ共有の基本設定
/AppleVolumes.system リソース設定
/AppleVolumes.default 共有ディレクトリを設定
atalkd.conf で eth0 もしくは eth1 などのサービスを提供するほうの イーサネットカードを指定 aftpd.conf でゲストにも接続を許可する場合、(default はサーバーにアカウントをもつ ユーザーのみ) - -transall -uamlist uams_clrtxt.so, uams_guest.so, uams_dhx.so -nosavepassword AppleVolumes.system で、MAC 側から開いたときに MAC 用の拡張子に変換できるように 設定。書き方はファイルみればわかる
AppleVolumes.default で共有ディレクトリを設定
~ はサーバーにアカウントをもつユーザーのホームディレクトリの共有をみとめる。
ゲスト共有もみとめるなら、共有ディレクトリとボリューム名を書く。
/var/pub "Public desu"
papd.conf プリンタの共有
linuxPrinter:\
:pr=|/usr/bin/lpr:op=daemon:
のようにかく
MAC OS 9 client 側の設定 アップルメニュー->セレクタ->AppleShare->ファイルサーバの撰択でサーバーを選ぶ あとはID,パスワードとかゲストとか
Mac OS X
ドックのアップルマークをクリックし、「システム環境設定を開く」
「ネットワーク」をダブルクリック、ダイアログの「AppleTalk」タブを開く
「場所」で「自動」、「表示」で「~Ethernet」を選択し、
「AppleTalk使用」をオン
メニューバーで「移動」->「サーバへ接続」、「AppleTalk」を選択
あとサーバー選択、以下略
SQL(PostgreSQL)
/var/lib/pgsql/data/postgresql.conf 基本設定
/pg_hba.conf 接続の可否
LANからの接続をみとめるなら、postgresql.conf で
tcpip_socket = false → true
あとは接続を許可するホストを pg_hba.conf に
host all 163.143.89.112 255.255.255.0 trust
のようにかく
createuser [username] でユーザーを作るが最初にこれを実行できるのは postgres
というユーザーのみ。root から su しよう。あたらしく user を作ることを許可すると、
他人の DB を勝手に drop できたりできるスーパーユーザーになる。
dropuser [username] で消去
あとは SQL 言語
createdb [dbname] , dropdb
で、psql [database] でアクセスして、プロンプトだして
create table [hogehoge] (
name VARCHAR,
zipcode CHAR(8)
);
\copy [database] [inputfile]
とかなんとか。default はタブ、空白、とかで区切るのだろう。
Excel とかでもそういうものは作れるのでデータ作成はExcel がいいかもね。
\q で終了
pg_dump [dbname] > db.out でデータベースのデータをバックアップできる。 psql -e [dbname] < db.out psql -l で現在あるデータべースの確認 テーブルの確認は psql [dbname] で接続後 \d
perl 用の Pg.pm モジュールはあたらしい perl には入っていない。 DBD::Pg モジュールを使おう。
SQL続編 ODBCドライバ
ODBC ドライバをクライアントにインストールすれば ODBC対応プログラム(Excelなど)で直接編集できるようになる http://www.nami73.com/download/psqlodbc.html (Office Nami) コントロールパネル->管理ツール->データソース(ODBC)->ユーザーDNSで追加 Database をつなぐときに決めるなら、空白でも大丈夫 で、たとえば、Excel なら、データ->外部データの取り込み->新しいデータベースクエリ 「Microsoft クエリ」をインストールしたら、Postgresql を選択、 Database 名を指定して、とりこみたいテーブル(列)を選択して条件とか決めて取り込める。
Apache (RPMっつーか最初から入るやつ)
/etc/httpd/conf/httpd.conf 設定ふぁいる /usr/sbin/apachectl Listen 80 → 8080 会津大用に Port を 8080 にかえる ServerAdmin root@localhost → s1080134@u-aizu.ac.jp 一応 ServerName [Address]:8080 さーばー名設定。起動の時エラーがでるかでないか DocumentRoot "/var/www/html" そのままでいいや UserDir disble → public_html これで ~userid でいけるように
↓ UserDir を設定したなら有効に +Includes で SSI (.shtml) も有効に
#preDirectory /home/*/public_html>
AllowOverride FileInfo AuthConfig Limit Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec +Includes <Limit GET POST OPTIONS> Order allow,deny Allow from all </Limit> <LimitExcept GET POST OPTIONS> Order deny,allow Deny from all </LimitExcept>/Directory>
end↓ cgi を動かすのは cgi-bin 以下のみ。ExecCGI ちなみに Order allow,deny というのはアクセスコントロールを allow, deny の順で みていくということ Deny from 127.0.0.1 みたいに追加
#preDirectory /home/*/public_html/cgi-bin>
AllowOverride FileInfo AuthConfig Limit Options MultiViews Indexes SymLinksIfOwnerMatch ExecCGI <Limit GET POST OPTIONS> Order allow,deny Allow from all </Limit> <LimitExcept GET POST OPTIONS> Order deny,allow Deny from all </LimitExcept>/Directory>
endDirectoryIndex index.html index.html.var → index.cgi index.shtml 追加すると楽しいかも
↓Options None だけど CGI 動くみたい
#preDirectory "/var/www/cgi-bin">
AllowOverride None Options None Order allow,deny Allow from all/Directory>
end
webalizer コマンドをうったら
http://localhost/usage/
に接続するとアクセス解析ページが開く
/var/log/ 以下にシステムのログが格納されている
Tomcat(RPMパッケージ)(RedHat8 default Apache との連携ができなかった)
ダウンロード J2SE(Java 2 Platform,Standard Edition) SDK http://java.sun.com/j2se/ Tomcat http://jakarta.apache.org/ chmod +x して j2sdkXX.bin を実行。rpm ができるので、rpm -ivh でインストール せっかくなので、/etc/bashrc に export JAVA_HOME=/usr/java/bin/jdk1.XXXX export PATH=$JAVA_HOME/bin:$PATH
rpm -ivh tomcat4-4.1.24-full.2jpp..rpm /etc/tomcat4/tomcat4.conf#pre
JAVA_HOME=/usr/java/bin/jdk1.XXXXX CATALINA_HOME=/var/tomcat4 JASPER_HOME=/var/tomcat4 TOMCAT_USER=tomcat4
end
たぶん JAVA_HOME 以外は書いてある。
/etc/rc.d/init.d/tomcat4 start
http://localhost:8180/
ポート番号とかの設定は /etc/tomcat4/server.xml
<Context path="/~s1080134"
docBase="/home/s1080134/public_html" debug="0"
reloadable="true" crossContext="true">
</Context>
のようなものをたくさんかけば、~id のようにいけないこともない。* は使えないし。
PHP (Apache が RedHat8 に最初から入っているものの場合)
http://www.php.net/downloads.php から PHP ソースをゲット (tar.gz のやつとする) tar zxvf php-4.3.0.tar.gz cd php-4.3.0 ./configure --enable-mbstring (マルチバイト対応?) make make install cp php.ini-dist /usr/local/lib/php.ini /etc/httpd/conf/httpd.conf (Apache の設定ファイル)に#pre
IfDefine HAVE_PHP4> LoadModule php4_module modules/libphp4.so
/IfDefine>
IfDefine HAVE_PHP4> AddModule mod_php4.c
/IfDefine>
The following is for PHP4 (conficts with PHP/FI, below):
#preIfModule mod_php4.c> AddType application/x-httpd-php .php4 .php3 .phtml .php AddType application/x-httpd-php-source .phps
/IfModule>
endを追加。他の<IfModule があるあたりの上に書いた。 apache を再起動し、(apachectl restart) (二回目以降 AddModule mod_php4.c を消さないと起動しなくなった。 すでに追加してあるということだろうが、どうするのが本筋なのだろうか。)
?php phpinfo(); ?>
endと書いたファイル (phpinfo.php とする) をpublic_html以下におき、 アクセスして動作確認
cvspserver
- http://joshua_davis.home.mindspring.com/cvs-pserver-linux.htm

- http://www.asahi-net.or.jp/~wv7y-kmr/memo/cvsserver.html

mkdir $HOME/cvsroot cvs -d :localhost:$HOME/cvsroot init cd Files/ cvs -d :localhost:$HOME/cvsroot import RepositoryName VendorName v1 cd ../ cvs -d :localhost:$HOME/cvsroot checkout RepositoryName
pserver was already at /etc/services/.
/etc/xinetd.d/cvs was there. Modify at least to disable = no. --allow-root = $HOME/cvsroot
/etc/init.d/xinetd restart htpasswdd -bcd $HOME/cvsroot nseo nseo htpasswdd -bd $HOME/cvsroot sonots sonots cvs -d :pserver:nseo@servername:$HOME/cvsroot login cvs -d :pserver:nseo@servername:$HOME/cvsroot co RepositoryName
Tell this to user
export CVSROOT=username@servername:$HOME/cvsroot
Type
cvs login
Type password
cvs co RepositoryName
A directory whose name is the same with RepositoryName is created at current directory. After modifying,
cvs ci
Add comments below lines of CVSCVS(?) about what you modified. This editor should be 'vi'. FYI: this automatically reads information under CVS/ directory under current directory and resolve which files will be commited. Don't commit files which might cause errors. After you made sure, commit it.
PostgreSQL
ftp://ftp.postgresql.org/pub/v7.3.2/postgresql-7.3.2.tar.gz
adduser postgres
(maybe, first the portgres user exists)
tar zxvf postgresql-7.3.1.tar.gz mkdir /usr/local/pgsql chown -R postgres:postgres /usr/local/pgsql
su - postgres
cd postgresql-7.3.1
export ANT_HOME=/usr/local/ant
export JAVA_HOME=/usr/java/j2sdk1.4.1_02
export PATH=${PATH}:${ANT_HOME}/bin:${JAVA_HOME}/bin
./configure --with-java (--with-java:JDBC --with-perl)
gmake
gmake check
======================
All 89 tests passed.
======================
gmake install
$ mkdir [database dir] $ mkdir [database dir]/data $ /usr/local/pgsql/bin/initdb -D [database dir]/data -E EUC_JP --no-locale (/usrl/local/pgsql/data )
[database dir]/data/postgresql.conf JAVA_HOME/jre/lib/ext
$ vi [database dir]data/postgresql.conf
#tcpip_socket = false tcpip_socket = true #syslog = 0 syslog = 0
$ exit # cp /usr/local/pgsql/share/java/postgresql.jar /usr/java/j2sdk1.4.1_02/jre/lib/ext
cp postgresql-7.3.1/contrib/start-scripts/linux /etc/rc.d/init.d/postgresql /etc/rc.d/init.d/postgresql PGDATA=/usr/local/pgsql/data 「ェ PGDATA=[database dir]/data chmod 755 postgresql /sbin/chkconfig --add postgresql
/etc/profile
export PG=/usr/local/pgsql
export PATH=${PG}/bin:${PATH}
export LD_LIBRARY_PATH=${PG}/lib:${LD_LIBRARY_PATH}
export MANPATH=${PG}/man:${MANPATH}
/etc/rc.d/rc.local
/sbin/ldconfig /usr/local/pgsql/lib
vsftpd
gssftp is working on 21 port as default on Fedora core. Stop it.
chkconfig gssftp off
Edit config
vi /etc/vsftpd/vsftpd.conf
# Example config file /etc/vsftpd/vsftpd.conf # # The default compiled in settings are fairly paranoid. This sample file # loosens things up a bit, to make the ftp daemon more usable. # Please see vsftpd.conf.5 for all compiled in defaults. # # READ THIS: This example file is NOT an exhaustive list of vsftpd options. # Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's # capabilities. # # Allow anonymous FTP? (Beware - allowed by default if you comment this out). anonymous_enable=YES # # Uncomment this to allow local users to log in. local_enable=YES # # Uncomment this to enable any form of FTP write command. write_enable=YES # # Default umask for local users is 077. You may wish to change this to 022, # if your users expect that (022 is used by most other ftpd's) local_umask=022 # # Uncomment this to allow the anonymous FTP user to upload files. This only # has an effect if the above global write enable is activated. Also, you will # obviously need to create a directory writable by the FTP user. anon_upload_enable=YES # # Uncomment this if you want the anonymous FTP user to be able to create # new directories. anon_mkdir_write_enable=YES # # Activate directory messages - messages given to remote users when they # go into a certain directory. dirmessage_enable=YES # # Activate logging of uploads/downloads. xferlog_enable=YES # # Make sure PORT transfer connections originate from port 20 (ftp-data). connect_from_port_20=YES # # If you want, you can arrange for uploaded anonymous files to be owned by # a different user. Note! Using "root" for uploaded files is not # recommended! #chown_uploads=YES #chown_username= # # You may override where the log file goes if you like. The default is shown # below. xferlog_file=/var/log/vsftpd.log # # If you want, you can have your log file in standard ftpd xferlog format xferlog_std_format=YES # # You may change the default value for timing out an idle session. #idle_session_timeout=600 # # You may change the default value for timing out a data connection. #data_connection_timeout=120 # # It is recommended that you define on your system a unique user which the # ftp server can use as a totally isolated and unprivileged user. #nopriv_user=ftpsecure # # Enable this and the server will recognise asynchronous ABOR requests. Not # recommended for security (the code is non-trivial). Not enabling it, # however, may confuse older FTP clients. #async_abor_enable=YES # # By default the server will pretend to allow ASCII mode but in fact ignore # the request. Turn on the below options to have the server actually do ASCII # mangling on files when in ASCII mode. # Beware that turning on ascii_download_enable enables malicious remote parties # to consume your I/O resources, by issuing the command "SIZE /big/file" in # ASCII mode. # These ASCII options are split into upload and download because you may wish # to enable ASCII uploads (to prevent uploaded scripts etc. from breaking), # without the DoS risk of SIZE and ASCII downloads. ASCII mangling should be # on the client anyway.. #ascii_upload_enable=YES #ascii_download_enable=YES # # You may fully customise the login banner string: #ftpd_banner=Welcome to blah FTP service. # # You may specify a file of disallowed anonymous e-mail addresses. Apparently # useful for combatting certain DoS attacks. #deny_email_enable=YES # (default follows) #banned_email_file=/etc/vsftpd/banned_emails # # You may specify an explicit list of local users to chroot() to their home # directory. If chroot_local_user is YES, then this list becomes a list of # users to NOT chroot(). #chroot_list_enable=YES # (default follows) #chroot_list_file=/etc/vsftpd/chroot_list # # You may activate the "-R" option to the builtin ls. This is disabled by # default to avoid remote users being able to cause excessive I/O on large # sites. However, some broken FTP clients such as "ncftp" and "mirror" assume # the presence of the "-R" option, so there is a strong case for enabling it. ls_recurse_enable=YES pam_service_name=vsftpd userlist_enable=YES #enable for standalone mode listen=YES tcp_wrappers=YES anon_root=/home/nseo/SDSU anon_umask=000 anon_other_write_enable=YES chmod_enable=YES
