日々のメモ

興味のあること、仕事のことを色々と

RedHat Enterprise Linux ES3.0(ES4.0)でftpを使えるようにする

2006-10-22 19:04:12 | Weblog
1.vsftpdがインストールされているかどうか確認
# rpm -qa |grep vsftpd

vsftpd~~~~と表示されればインストールされている。

2.vsftp起動の設定準備
 # cd /etc/vsftpd/ 
 # cp -p vsftpd.conf vsftpd.conf.org 
 # vi vsftpd.conf または # vi /etc/vsftpd/vsftpd.conf

変更箇所抜粋 YESからNOに変更
# Allow anonymous FTP? (Beware - allowed by default if you comment this out).
anonymous_enable=NO


変更箇所抜粋   log_ftp_protocol=YESを追加    xferlog_std_format=YESからNOに変更
# If you want, you can have your log file in standard ftpd xferlog format
xferlog_std_format=NO
log_ftp_protocol=YES


変更箇所抜粋 userlist_deny=NOを追加

pam_service_name=vsftpd
userlist_enable=YES
userlist_deny=NO



3.vsftpd.user_listの書き換え
[root@DBSV root]# vi /etc/vsftpd.user_list

# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd.ftpusers
# for users that are denied.
#root
#bin
#daemon
#adm
#lp
#sync
#shutdown
#halt
#mail
#news
#uucp
#operator
#games
#nobody   ←デフォルトのユーザー名をコメントアウト
oracle    ←ftpを使いたいユーザー名を記述


ちなみに/etc/vsftpd.ftpusersはデフォルトのままでOK




4.vsftpd をランレベル3(テキスト)と5(X)で自動起動
#chkconfig --level 35 vsftpd on


5.vsftpd起動
# service vsftpd start


これで、WindowsクライアントからLinux上にftpできるようになる。
追加したftpユーザーのホームディレクトリより上にはアップロードできないため
他へアップロードしたければ、ホームディレクトリにアップロード後移動させる。

マシンの日付設定

2006-10-22 19:01:17 | Weblog
dateでマシンの日付を設定できる

date 月日時分西暦

例)date 072714002006
これだとマシンの日付を2006年7月27日14時00分に設定となる

デバッグ時にメモリのアクセス異常を知るための方法

2006-10-22 18:58:45 | Weblog
lmを実行する端末に
export MALLOC_CHECK_=1 または setenv MALLOC_CHECK_ 1
としておく。
.bashrcに記述して読み込むようにすればデフォルトでチェックが利く


デバッグ用のmallocとfree
以下の関数を定義しておく
/* malloc監視 */
void *MyMalloc_Rep( size_t sz, const char *pcFileName, int nLine )
{
void *ptr;
ptr = malloc(sz);
fprintf(stderr, "malloc at %s %-4d : %p - %p, %ld byten", pcFileName, nLine, ptr, ptr + sz, sz);
return ptr;
}

/* free監視 */
void MyFree_Rep( void *ptr, const char *pcFileName, int nLine )
{
fprintf(stderr, "freeing at %s %-4d : %pn", pcFileName, nLine, ptr);
free(ptr);
}

以下のマクロを定義しておく
#define MyMalloc(S) MyMalloc_Rep( (S), __FILE__, __LINE__ )
#define MyFree(P) MyFree_Rep( (P), __FILE__, __LINE__ )

ソースのmallocとfreeをMyMallocとMyFreeに置き換える。
これで実行中に、どのソースファイルのどこでmallocとfreeが起きているかが監視できる。MALLOC_CHECKと一緒に使えば、原因が一目瞭然。

Oracle7での起動方法

2006-10-22 18:56:50 | Weblog
f_sv2[oracle]:/home/oracle>>svrmgrl

Oracle Server Manager Release 2.3.4.0.0 - Production

Copyright (c) Oracle Corporation 1994, 1995. All rights reserved.

Oracle7 Server Release 7.3.4.0.0 - Production
With the distributed, replication and parallel query options
PL/SQL Release 2.3.4.0.0 - Production

SVRMGR> connect internal
アイドル・インスタンスに接続しました。
SVRMGR> startup

RedHat Enterprise Linux2.0でftpを使用する方法

2006-10-22 18:54:10 | Weblog
RedHat Enterprise Linux2.0初期インストール時にはftpが使用できないので使用できるようにwu-ftpdをインストールする必要がある

1枚目のCDを入れ、wu-ftpd****.rpmを探す
見つかったらそのパスに移動する
$rpm -ivh wu-ftpd****.rpm
でインストーラが実行される
その後
/etc/xinetd.d/wu-ftpdをエディタで開き"disable = no" に書き換える


その後に
# ntsysv
とし、デフォルトで起動するようwu-ftpdにスペースでチェック&Tabで移動しOKを押す

GDBに関して色々

2006-10-22 18:52:08 | Weblog
・GDB起動方法
$gdb プロセスモジュール名
例)
$gdb hogehoge

・ブレークポイントの設定
gdb) b 行数(関数名)

例) 開始20行目にブレークポイント
gdb) b 20

例) 関数hogehogeにブレークポイント
gdb) b hogehoge

例) ファイルhogeho.cの50行目にブレークポイント
gdb) b /home/hogehoge/hogeho.c:50

例)ファイルhogehoge.cのfunction_hoge関数にブレークポイント
gdb> b /home/hoge/hogehoge.c: function_hoge

・ブレークポイント一覧表示
gdb) info b


・ブレークポイント削除
gdb) d ブレークポイント(上のinfo bで表示される番号を指定)


・デバッグ時に次の行へ進む
gdb) n →関数がコールされた場合、その中に入らない
gdb) s →関数がコールされた場合、その中に入る


・変数の確認
gdb) p 変数名
例)
gdb) p hogehoge →変数hogehogeの中に入っている値が参照できる



・ブレークポイント前後行のソース表示
gdb) l             ←カレント行から上下5行分のソースを表示
gdb) l 200 ←200行目から上下5行分のソースを表示


・戻り値などデバッグ時の値の変更
$set variable 変数=値
例)
$set variavle ret= -1


・Segmentation faultが発生した場合、アドレス操作に誤りがあることが考えられる
発生した場合にはwhere と打つことで詳細がわかるようになる


・メモリの中身を参照する
gdb) x /サイズ ポインタ
例)
gdb) x /256 p_pointer   ←ポインタp_pointerの中身が見れる


・ポインタに設定した値を複数参照する
gdb) p *ポインタ名@複数
例)
gdb) p *ptr_name@2

・変数変更チェック
gdb) watch 変数   ←変数名が変更した時にその値が表示される



[Windows] FATからNTFSへ変換する

2006-10-22 18:50:50 | Weblog
コマンドラインより以下を実行します。
convert x: /fs:ntfs

(上記の例では x ドライブをNTFSへ変換します。)
ただしNTFSからFATへ戻すことはできません。

CドライブをNTFSにする場合
convert c: /fs:ntfs

Oracleインストール時のパラメータチェック回避

2006-10-22 18:49:04 | Weblog
オラクルインストール時にさまざまなパラメータのチェックがおこわなわれるが
下記を行っておけば、おそらくすんなりとインストールできそう。

↓これを/etc/sysctl.confに追加することによりオラクルのパラメータチェックを通過することができる。
kernel.sem = 250 32000 100 128
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.file-max = 65536
fs.file-max= 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.wmem_default = 262144
net.core.rmem_max = 1048576
net.core.rmem_default = 1048576
net.core.wmem_max = 262144


もし、メモリを1G以上搭載しているのにメモリが256などしか認識されない場合、BIOSの設定がインストールモードになっていたり
する可能性があるので、BIOSの設定を見直すこと


上記設定を有効にするには
/sbin/sysctl -p

Linuxカーネルのメッセージサイズ変更

2006-10-22 18:47:02 | Weblog
メッセージサイズを変更する際、以前はヘッダファイルを書き換えカーネルのリコンパイルが必要だったが、/etc/sysctl.confに下記を追加することによりRedHat4ではカーネルのコンパイルが不要となった

↓これを追加することによりカーネルソースの変更が不要になる。
kernel.msgmni = 128(任意のサイズ)
kernel.msgmax = 16384(任意のサイズ)
kernel.msgmnb = 32768(任意のサイズ)
↑これを追加することによりカーネルソースの変更が不要になる。

apatchの文字化け対処方法

2006-10-22 18:31:43 | Weblog
NLS_LANG=japanese_japan.SJISまたはEUC

/etc/rc.d/init.d/httpd
にexportで追加する

例)
export NLS_LANG=japanese_japan.JA16SJISTILDE