[globe3.ddns.net]

GUN/Linux関連

デジタルカメラで撮影された画像には、撮影日時や機種や設定が、「EXIF情報」として保存されています。
スマートフォンなどでは、撮影場所の緯度経度が保存されているかもしれません。
それらを、画像データから削除するには、[jhead]を使います。

https://www.sentex.ca/~mwandel/jhead/

EXIF情報を見る jhead ファイル名
EXIF情報を削除 jhead -purejpg ファイル名


ここには、古いものがあります。情報の蓄積として残しています。
未整理なので、見にくいでしょう。[Ctrl]+[F]で検索して下さい。

GUN/Linux関連
!! エラー表示をしっかりと読み取りましょう !!

【ファイルシステム】

[ダーティビット]
ファイルシステムをマウントするときに「ダーティビット」を設定し、
ファイルシステムをアンマウントするときに「ダーティビット」を解消する。

ダーティビットが既に設定された状態は、エラーを含む可能性がある。

[ジャーナル]
ジャーナリングファイルシステムは、未完了の操作をディスク上に記録し、最後にジャーナルを解消する。
ジャーナルに記録されたファイルは、エラーを含む可能性がある。

[ファイルシステム]
・ext2fs(Second Extended File System)
ext2fsをext3fsに変換するときに、バックアップ、パーティション再設定、復元を必要としない。
 
・ext3fs(Third Extended File System)
ext2fsに「ジャーナル」を追加
 
・JFS(Journaled File System)


・XFS IRIX(Silicon Graphics)
ACLによるファイルシステム保護

・ReiserFS(Reiser File System)
ジャーナリングファイルシステム

XFSとJFSは小さなファイル(100MB)で最善のスループットを発揮
ext2fsとext3fs(そしてJFS)は、1GBファイルで最善のスループットを発揮



【ext2, ext3 ファイルシステム復旧】

!! fsck, mke2fs オプションは必ず man を見る!!   !! 警告やmanの見落としは、ファイル破損 !!

ブロックサイズ(Block size)とスーパーブロックのバックアップされた場所(Superblock backups)を調べる。
# mkfs.ext3 -n /dev/hdb3 (ディスクパーティション)

-n はファイルシステムを作成せずにその様子が見られる。

mke2fs 1.35 (28-Feb-2004)
OS type: Linux
Block size=4096 (log=2) ← ブ ロッ クサイズ
Superblock backups stored on blocks:  ← スー パーブロック保存場所
32768, 98304, 163840, 229376, 294912, 819200, 884736


ext2/ext3 ファイルシステムの情報を取る
# dumpe2fs -h  /dev/hdb3 (ディスクパーティション)

-- fsck --
fsck /dev/hdc

e2fsck /dev/hdc
e2fsck -y /dev/hdc

e2fsck -b 8193 /dev/hdc
e2fsck -b 16384 /dev/hdc
e2fsck -b 32768 /dev/hdc

e2fsck -c -f /dev/hdc
e2fsck -c -f -b 8193 /dev/hdc
-c ファイルシステムが clean な場合でも、強制的にチェックする。
-f badblocks(8) プログラムを呼び出してファイルシステムの不良ブロックを探し、見つかった ものを不良ブロック inode に加える。

e2fsck -c -f -b 32768 /dev/hdc
e2fsck -y -c -f -b 32768 /dev/hdc

fsck.ext3 -y /dev/hdc
fsck.ext3 -y -b 8193 /dev/hdc

fsck.ext3 -b 32768 -B 4096 /dev/hdc
-bオプション スーパーブロック保存場所
-Bオプション ブロックサイズ

mke2fs -S  -B 4096  /dev/hdc
fsck.ext3 -b 32768 -B 4096 /dev/hdc
スーパーブロックを再作成
-Sオプション付きでmke2fsコマンドを実行して、

------ mke2fs man より抜粋 -----
-S
スーパーブロックとグループディスクリプタのみを書き出す。
スーパーブロックもそのバックアップも壊れてしまい、復旧の最終手段が必要な場合に有用。

このオプションを使用すると mke2fs はスーパーブロックとグループディスクリプタを再初期化する。
inode テーブルとブロックそのものと inode ビットマップには手をつけない。
このオプションを使用した場合、ただちに e2fsck プログラムを使用しなければならない。
また、データが救済されるかどうかは保証の限りではない。
このオプションを使う際には、現在のファイルシステムのブロックサイズを指定することが重要である。
さもなければ、復帰できる見込みはない。
----- ここまで、抜粋 -----


-- ddコマンドを使う --

conv=CONVERSION[,CONVERSION]...
    引き数 CONVERSION で指定されたファイル変換を行う。(コンマの前後にスペースを置かない。)

noerror
    読み込みエラーが発生しても継続する。

sync
    block または unblock が指定されていなければ、各入力ブロックに対して、
   大きさが ibs になるまで連続して NUL (バイト 0) を詰める。指定されている場合はスペースで詰める。

conv=sync,noerror

countの計算
dmesgのディスクに関する表示
hda: 117210240 sectors (60011 MB) w/2048KiB Cache, CHS=65535/16/63, UDMA(100)
65535×16×63=66059280

dd if=/dev/hdc of=broken.img bs=512 count=66059280 conv=sync,noerror


-- dd_rescueコマンドを使う --
dd_rescue Version 1.14, garloff@suse.de, GNU GPL
USAGE: dd_rescue [options] infile outfile

使いかた:dd_rescue  [オプション] 取り出したいファイル  書き込むファイル

/dev/hdaの5GB目から10Gバイト分のバックアップを取る。
dd_rescue -m 10G -s 5G -S 0 /dev/hda backup.img

各オプション
-m コピーするサイズ
-s コピー元の開始位置
-S コピー先の開始位置

-A  Always write blocks, zeroed if err (def=no)
dd(1) の conv=sync,noerror オプションと同様の機能
読み込みエラー発生時に、bs 単位で 0 でパディングし、読み込みを継続

/dev/hdb の内容を /dev/hdc へ書き込む。エラー時には0を書き込む。
dd_rescue -A /dev/hdb /dev/hdc



-- hdparmコマンドを使う --
hdparm - ハードディスクのパラメータを設定及び取得

-X
現在のほとんど全ての IDE ドライブは、電源投入時にデフォルトで最も速い
PIO 転送モードになるので、このフラグの必要性はめったにない。

(E)IDE/ATA ドライブの IDE 転送モードを設定する。
サポートされているインタフェースチップセットにつながったドライブの
DMA を有効にする-d1 と共に使用するの普通である。

その場合、
 -X mdma2 はマルチワード DMAモード 2 転送を選択
 -X sdma はシンプルモード 1 DMA 転送を選択

UltraDMA バースト転送をサポートしているシステムでは、
 -X udma2 でUltraDMA mode2 転送を選択

他の転送モードをサポートするドライブでは、 -X はそのドライブのみ、
転送モードを変更する。

データの喪失・不正を避けるために、転送モードを変更する前に IDE インタフェースを
新しいモードへとジャンプ、またはプログラム( -p フラグを見よ)すべきである。

Linux で使用されるPIO (Programmed Input/Output) 転送モードでは、
この値は指定したい PIO モード番号に 8 加えたものである。
08 は PIO モード 0
09 は PIO モード 1
10 は PIO モード 2
11 は PIO モード 3

設定値 00 はドライブの "デフォルト" PIO モードに戻し、 01は IORDY を無効にする。

マルチモード DMA では、指定したい DMA モード番号に 32 を足す。
UltraDMA では、指定したい UltraDMA モード番号に 64 を足す。

PIO0,PIO1,PIO2,PIO3,PIO4,WDMA2,
UDMA2(UDMA33),UDMA4(UDMA66),UDMA5(UDMA100),UDMA6(UDMA133)


-R
-R   register an IDE interface (DANGEROUS)
IDE インタフェースを登録する。危険である。 さらなる情報につては -U オプションを参照のこと。

-U
-U   un-register an IDE interface (DANGEROUS)
IDE インタフェースを登録から外す。危険である。-R オプションの対である。
ホットスワップ用に作られたハードウェア(これは大変珍しい!) に使用することを意図している。
簡単にハングしたり、システムにダメージを与えたりするので、 知識と最大限の注意をもって使用すること。


/dev/hdc を外す場合
hdparm -U 1 /dev/hda
hdparm -U [ide番号] /dev/hda

 -U 1 は 2nd IDE を指定
 hdparm -U 1 /dev/hdc を指定すると、no such device を返す。

/dev/hdc を再登録
hdparm -R 0x170 0 0 /dev/hda
hdparm -R [IOポート] 0 0 /dev/hda

# The settings for the ide channels (first ioport, second ioport and IRQ,
# separated by spaces).
IDE0_PARAMS="0x1f0 0x3f6 14"
IDE1_PARAMS="0x170 0x376 15"




【RAID5 及び XFS ファイルシステム復旧】

!! man は必ず読むこと !! !!エラーの見落とし厳禁!! !!FAQは対処法の発案場所!! !!メーリングリストは宝箱!!

http://xfs.org/index.php/XFS_FAQ
Q: What is the issue with directory corruption in Linux 2.6.17?

xfs ML
http://oss.sgi.com/archives/xfs/2007-01/msg00150.html


http://linux.die.net/man/8/xfs_repair
Assembleモード:
mdadm -A -R -f -v /dev/md10 /dev/sd[abcd]6 <= RAIDを復元

-A, --assemble
    以前存在していたアレイを編成する。

-R, --run
    アレイを構成するドライブの数が必要数に満たなくてもアレイを起動させる。
    通常ドライブの数が足りない場合で --scan が指定されない場合はアレイは編成されても起動はしない。
    このオプションにより、とにかく起動させようとする。

-f, --force
    スーパブロックが古くてもアレイの作成を行う。

mdadm -A -R -f -v -U summaries /dev/md10 /dev/sd[bcd]6
-U, --update=
    アレイ編成時、各デバイスのスーパブロックを更新する。 有効な引数は
    sparc2.2,summaries,super-minor のいずれかである。

    summaries オプションはアレイのスーパブロック内のサマリ情報を訂正する。
    サマリ情報とはそのアレイを構成するデバイスの状況を示すもので、
    トータル,稼動中,アクティブ,不良,スペアの各個数のことである。

    super-minor オプションは各デバイスのスーパブロックのマイナー番号を、
    編成されるアレイのマイナー番号に変更する。
    カーネル 2.6 以上ではこれが自動的に行われるため、このオプションを指定する必要は無い。


デバイスの内容確認
 mdadm -E /dev/XXX


xfs_repairのエラー確認
size of entry #0 overflows space left in in shortform dir 403036996
junking 255 entries
corrected directory 403036996 size, was 8, now 6
size of last entry overflows space left in in shortform dir 403036997,
resetting to 23
entry contains illegal character in shortform dir 403036997
junking entry "" in directory inode 403036997
corrected directory 403036997 size, was 2, now 6
directory 403036997 offsets too high
corrected entry offsets in directory 403036997
entry "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" in
shortform directory 403036999 references invalid inode 98257346
entry contains illegal character in shortform dir 403036999
junking entry "" in directory inode 403036999
entry "size of last entry overflows space left in in shortform dir 403036999, resetting to -1
segment fault

xfs_dbを用いる
http://linux.die.net/man/8/xfs_db
-x
 Specifies expert mode. This enables the write and blocktrash commands.
書き込み可能

xfs_db -x /dev/XXX
xfs_db /dev/md10
xfs_db> inode 403036999
xfs_db> print
core.magic = 0x494e
core.mode = 040775
core.version = 1
core.format = 1 (local)
core.nlinkv1 = 2
core.uid = 99
core.gid = 99
core.flushiter = 81
core.atime.sec = Tue Mar 30 07:34:42 2010
core.atime.nsec = 265432000
core.mtime.sec = Fri Feb 19 19:12:04 2010
core.mtime.nsec = 860400000
core.ctime.sec = Fri Feb 19 19:12:04 2010
core.ctime.nsec = 860400000
core.size = 66
core.nblocks = 0
core.extsize = 0
core.nextents = 0
core.naextents = 0
core.forkoff = 0
core.aformat = 2 (extents)
core.dmevmask = 0
core.dmstate = 0
core.newrtbm = 0
core.prealloc = 0
core.realtime = 0
core.immutable = 0
core.append = 0
core.sync = 0
core.noatime = 0
core.nodump = 0
core.rtinherit = 0
core.projinherit = 0
core.nosymlinks = 0
core.extsz = 0
core.extszinherit = 0
core.nodefrag = 0
core.filestream = 0
core.gen = 0
next_unlinked = null
u.sfdir2.hdr.count = 2
u.sfdir2.hdr.i8count = 0
u.sfdir2.hdr.parent.i4 = 2049
u.sfdir2.list[0].namelen = 51
u.sfdir2.list[0].offset = 0x809
u.sfdir2.list[0].name =
"\000\000\000\0000\000\000Thumbs.db\030\005\333H\000\000\000\023\020\000\343\000H\351\302\346\231\272\344\271\237\346\227\245\350\250\230\347\224\250.doc\030"
u.sfdir2.list[0].inumber.i4 = 98257346
u.sfdir2.list[1].namelen = 92
u.sfdir2.list[1].offset = 0x909f
u.sfdir2.list[1].name =
"\250\257\237\250\260\237\250\260\237\250\260\240\250\260\240\250\260\240\250\257\217\220\220opo`g``h``g`````goooo\200\207\217\240\250\257\237\247\257\220\240\240\220\240\257\220\237\257\220\237\240\220\240\240\220\240\257\220\240\240\220\240\240\220\237\240\220\240\240\220\240\240\220\240\240IN\201"
u.sfdir2.list[1].inumber.i4 = 4244701696

http://xfs.org/index.php/XFS_FAQ#Q:_What_is_the_issue_with_directory_corruption_in_Linux_2.6.17.3F
xfs_db> write core.mode 0
この操作で該当するファイル、ディレクトリは消えるだろ う

ただし、エラーが3,4個ならば、サーバー再運転を優先するならば、エラーを無視するだろうか。
後に、エラーを調査することが出来る。
xfs_ncheckにより、ファイルの inode番号とパス名を表示する。

再度xfs_repairを行う
xfs_repairでエラーが再度出る場合は、その都度修復する。

フォルダ、ファイルが日本語表示される様に、日本語が扱えるLinuxディストリビューションにマウントする。
xfsを扱えるように、
insmod /lib/modules/カーネルバージョン/kernel/fs/xfs/xfs.ko
mount -t xfs /dev/mod10 /mnt/data

こちらにも、復旧作業をまとめたものがあります。
http://globe3.ddns.net/~public/computer_topic/raid-repair.html




【boot時のトラブル対応】
初期化スクリプトのスキップと対話シェルの起動
boot: Linux init=/bin/sh

ルートファイルシステムの書き込み可能
mount -n -o remount,rw /

-n: /etc/mtabの不変更
-o: 続くオプションの実行

mount -n -o remount,ro /
(ro: read only)


【1024シリンダ以降でのboot】
21.3よりも古いバージョンのLILOでは、カーネルが1024シリンダ(容量で表すと約8.4Gbytes)以降に置かれると起動できない。
1024 シリンダ以降にカーネルを置きたいときは、LILO 21.3以降を使用する。

/etc/lilo.confで「lba32」オプションが設定されていないと、1024シリンダ以降にあるカーネルを起動できない。

boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
message=/boot/message.ja
linear ←ここを「lba32」に変更する
default=linux




【ssh XForward】
/etc/ssh/ssh_config
Host *
ForwardX11 yes
ForwardX11Trusted yes


【pcmcia】
redhat系
/etc/sysconfig/pcmcia
PCMCIA=yes
PCIC=i82365 ← /sbin/probe -m のコントローラ名を入れます
PCIC_OPTS="irq_list=9,10 poll_interval=100"
CORE_OPTS=


【Network Interface Card】
/etc/sysconfig/network
/etc/sysconfig/network-scripts/ifcfg-eth?


【DEC21140 100BASE全二重】
/etc/modules.confもしくは/etc/conf.modulesに次を追加します。
options tulip options=5
options= は他に指定できます。


【Marvell 88E8053 (88E8001) PCI-E Gigabit LAN Controller】
CONFIG_SK98LIN_NAPI=y


【CDRECORD & CD-RW ATAPI】
# cdrecord dev=ATAPI -scanbus
Cdrecord-Clone 2.01a31-dvd (i686-pc-linux-gnu) Copyright (C) 1995-2004 J�g Schi
scsibus0:
 0,0,0     0) 'RICOH   ' 'CD-R/RW MP7200A ' '1.30' Removable CD-ROM
 0,1,0     1) 'TOSHIBA ' 'DVD-ROM SD-M1212' '1L14' Removable CD-ROM

# cdrecord -v dev=ATAPI:0,0,0 driveropts=burnproof speed=4 blank=fast *.iso

# cdrecord -v dev=ATAPI:0,0,0 -dummy speed=4 *.iso
# cdrecord -v -dummy speed=8 dev=ATAPI:0,0,0 *.iso
-dummy テストを行う


【アクセス制限】
/etc/hosts.allowファイルでアクセス制限設定をする Linuxサーバでアクセス制限を行いたい場合には、大きく分類すると次のような手段があります。

1. アクセス元の条件を決める
hosts.allow,hosts.denyファイルでは、IPやドメインを指定してアクセス元を限定することができる。

2. どのサービスを起動許可するかを決める
デーモン起動以外のinetサービスでは、inetdでサービスの起動許可を設定する。

3. TCP,UDPごとのフィルタ設定を行う
tcp wrapperなどによって,特定のポート番号でのアクセスを制限する。
一般的にファイアウォールと呼ばれるアクセス制限の手段


1. アクセス元の条件を決める
/etc/hosts.allow,/etc/hosts.deny

・hosts.allow
 アクセス許可条件を設定するファイル

・hosts.deny
 アクセス不可条件を設定するファイル

記述フォーマットは、
デーモン名:ホスト名またはIPアドレス

例:in.telnetd: 192.168.0.

/etc/hosts.deny
in.httpd: 192.168.0.

inetd に HUP を送信
inetd をリスタートする為に, inetd のプロセスに HUP を送信
kill -HUP  (inetdのプロセス番号)



各ファイルを編集することで、各サービスのアクセスを制御する。
1. 全てのアクセスを禁止

# less /etc/hosts.deny
#
# hosts.deny This file describes the names of the hosts which are
# *not* allowed to use the local INET services, as decided
# by the '/usr/sbin/tcpd' server.
#
# The portmap line is redundant, but it is left to remind you that
# the new secure portmap uses hosts.deny and hosts.allow. In particular
# you should know that NFS uses portmap!
ALL : ALL


2. アクセス許可をするサービスとIP(ドメイン名)を指定
# less /etc/hosts.allow
#
# hosts.allow This file describes the names of the hosts which are
# allowed to use the local INET services, as decided
# by the '/usr/sbin/tcpd' server.
#
in.telnetd: 192.168.0. zdnet-n.pub.softbank.co.jp
in.ftpd: 192.168.0. zdnet-n.pub.softbank.co.jp
in.popper: 192.168.0. zdnet-n.pub.softbank.co.jp

上記は,telnet,ftp,POPのアクセスを許可するが、「192.168.0.*」と「zdnet- n.pub.softbank.co.jp」 からの
アクセスのみを許可している。

この設定以外のサービスは,hosts.deny設定ですべて拒否される。




【apache IP認証によるアクセス制限】

.htaccess
そのディレクトリ以下のコンテンツ(サブディレクトリも含む)に対する制限
を記述する。

.htaccessであればApacheの再起動なしにアクセス制限の設定変更が可能
.htaccessを使えばApacheの管理者以外にアクセス制限の管理が可能

AllowOverrideディレクティブは、.htaccessファイルによるアクセス制限や
ディレクトリ固有の設定について、指定可能な範囲を制限する。

order allow,deny
allow from all
deny from www.xxx.yyy.zzz
deny from xyz.abc.jp
allow from all
1) allow命令/deny命令の順番に評価します。
2) すべてのホストのアクセスを許可します。
3) www.xxx.yyy.zzz からのリクエストを禁止します。
4) xyz.abc.jp からの、リクエストを禁止します。


【apache password認証によるアクセス制限】
# cd [パスワードを有効にしたいディレクトリ]
# /usr/bin/htpasswd -c .htpasswd [username]

パスワードを入れます。

httpd.confに次を追記

<Directory [パスワードを有効にしたいディレクトリ]>
AuthType Basic
AuthName User_Check
AuthUserFile [.htpasswd ファイルを置いたディレクトリ]/.htpasswd
require valid-user
</Directory>


【apache log】
# 指定した文字を含むものは、ログファイルに記録

<IfModule mod_setenvif.c>
SetEnvIf Request_URI "cmd\.exe" worm
SetEnvIf Request_URI "c+dir" worm
</IfModule>

# 指定以外を access_log に記録
CustomLog /var/log/httpd/access_log combined env=!no_log

# worm に該当するものを worm_log に記録
CustomLog /var/log/httpd/worm_log combined env=worm

/etc/logrotate.d/apache に次を追記

/var/log/httpd/worm_log
{
missingok
postrotate
/bin/kill -HUP `cat /var/run/httpd.pid 2>/dev/null` 2> /dev/null || true
endscript
}


W32.HLLW.Gaobot.gen のlog対応
様々な脆弱性の悪用を通じてコンピュータに感染するワーム。
IRC チャネルを通じて不正にアクセスできるようにするバックドアを開きます。

Windows 2000, Windows NT, Windows XPに対して次の脆弱性を悪用します。
・ ネットワーク共有に設定されている安易なパスワード
・ TCPポート135/445の使用による DCOM RPC の脆弱性
・ TCPポート80の使用による WebDav の脆弱性

次のlogを残します。
"SEARCH /\x90\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\ --- 途中省略 ---\x90\x90\x90\x90" 414

httpd.conf の変更 ステータスコード 400と414以外を記録する。

LogFormat "%h %l %u %t \"%!400,414r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

参照URL
http://httpd.apache.org/docs-2.1/ja/mod/mod_log_config.html


バーチャルホストを用いる方法
ワームの類は有効な Host: ヘッダを付けてないことを利用します。

NameVirtualHost *:80
<VirtualHost *:80>
  ServerName dummy
  DocumentRoot /tmp/dummy_dir # 空のディレクトリ
  CustomLog /dev/null               # アクセスログを破棄
  ErrorLog /dev/null                  # エラーログを破棄
</VirtualHost>

<VirtualHost *:80>
  ServerName globe1.dip.jp
  :
  :
</VirtualHost>



【apache Code】

100番台は情報
Code 100 - Continue
Code 101 - Switching Protocols
Code 102 - Processing

200番台は成功
Code 200 - OK - 正常(OK)
Code 201 - Created - POST正常(OK)
Code 202 - Accepted - アクセス処理中
Code 203 - Partial Information - (注釈) - Non-Authoritative Information
Code 204 - No Response - 反応無し - No Content
Code 205 - Reset Content
Code 206 - Partial Content - 不完全なコンテンツです
Code 207 - Multi-Status

300番台は転送
Code 300 - Mulutiple Choice - 複数ページ利用
Code 301 - Moved Permanently - 恒久的に移動しました
Code 302 - Found - 別の場所にあります
Code 303 - See Other - 他ページを参照
Code 304 - Not Modified - 更新されていません
Code 305 - Use Proxy
Code 306 - 未使用
Code 307 - Temporary Redirect

400番台はアクセスする側の問題
Code 400 - Bad request - 不正リクエストです
Code 401 - Unauthorized - 認証されませんでした - Authorization Required
Code 402 - Payment Required - アクセス料が必要です
Code 403 - Forbidden - アクセス制限されています
Code 404 - Not found - 見付かりません
Code 405 - Method Not Allowed - 許可されていない手段です
Code 406 - Not Acceptable
Code 407 - Proxy Authentication Required
Code 408 - Request Time-out
Code 409 - Conflict
Code 410 - Gone
Code 411 - Length Required
Code 412 - Precondition Failed
Code 413 - Request Entity Too Large
Code 414 - Request-URI Too Large
Code 415 - Unsupported Media Type
Code 416 - Requested Range Not Satisfiable
Code 417 - Expectation Failed
Code 418 - 未使用
Code 419 - 未使用
Code 420 - 未使用
Code 421 - 未使用
Code 422 - Unprocessable Entity
Code 423 - Locked
Code 424 - Failed Dependency

500番台はアクセスされる側の問題
Code 500 - Internal Server Error - apacheサーバ内部エラー
Code 501 - Method Not Implemented - 利用できない機能が要求されたました
Code 502 - Bad Gateway
Code 503 - Service Temporarily Unavailable
Code 504 - Gateway Time-out
Code 505 - HTTP Version Not Supported
Code 506 - Variant Also Negotiates
Code 507 - Insufficient Storage
Code 508 - 未使用
Code 509 - 未使用
Code 510 - Not Extended


【awstats】
rpm -ihv awstats-6.4-1.noarch.rpm

----- AWStats 6.4 - Laurent Destailleur -----
AWStats files have been installed in /usr/local/awstats

If first install, follow instructions in documentation
(/usr/local/awstats/docs/index.html) to setup AWStats in 3 steps:
Step 1 : Install and Setup with awstats_configure.pl (or manually)
Step 2 : Build/Update Statistics with awstats.pl
Step 3 : Read Statistics

# cd /usr/local/awstats/tool./awstats_configure.pl

----- AWStats awstats_configure 1.0 (build 1.4) (c) Laurent Destailleur -----
This tool will help you to configure AWStats to analyze statistics for
one web server. You can try to use it to let it do all that is possible
in AWStats setup, however following the step by step manual setup
documentation (docs/index.html) is often a better idea. Above all if:
- You are not an administrator user,
- You want to analyze downloaded log files without web server,
- You want to analyze mail or ftp log files instead of web log files,
- You need to analyze load balanced servers log files,
- You want to 'understand' all possible ways to use AWStats...
Read the AWStats documentation (docs/index.html).

-----> Running OS detected: Linux, BSD or Unix

-----> Check for web server install

Enter full config file path of your Web server.
Example: /etc/httpd/httpd.conf
Example: /usr/local/apache2/conf/httpd.conf
Example: c:\Program files\apache group\apache\conf\httpd.conf
Config file path ('none' to skip web server setup):
> /etc/httpd/conf/httpd.conf

-----> Check and complete web server config file '/etc/httpd/conf/httpd.conf'
  Add 'Alias /awstatsclasses "/usr/local/awstats/wwwroot/classes/"'
  Add 'Alias /awstatscss "/usr/local/awstats/wwwroot/css/"'
  Add 'Alias /awstatsicons "/usr/local/awstats/wwwroot/icon/"'
  Add 'ScriptAlias /awstats/ "/usr/local/awstats/wwwroot/cgi-bin/"'
  Add '<Directory>' directive
  AWStats directives added to Apache config file.

-----> Update model config file '/etc/awstats/awstats.model.conf'
  File awstats.model.conf updated.

-----> Need to create a new config file ?
Do you want me to build a new AWStats config/profile
file (required if first install) [y/N] ?
y

-----> Define config file name to create
What is the name of your web site or profile analysis ?
Example: www.mysite.com
Example: demo
Your web site, virtual server or profile name:
globe.dyndns.org
-----> Define config file path
In which directory do you plan to store your config file(s) ?
Default: /etc/awstats
Directory path to store config file(s) (Enter for default):
>

-----> Create config file '/etc/awstats/awstats.globe.dyndns.org.conf'
 Config file /etc/awstats/awstats.globe.dyndns.org.conf created.

-----> Restart Web server with '/sbin/service httpd restart'
httpdを停止 中:                                              [  OK  ]
httpdを起動 中:                                              [  OK  ]

-----> Add update process inside a scheduler
Sorry, configure.pl does not support automatic add to cron yet.
You can do it manually by adding the following command to your cron:
/usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=globe.dyndns.org
Or if you have several config files and prefer having only one command:
/usr/local/awstats/tools/awstats_updateall.pl now
Press ENTER to continue...


A SIMPLE config file has been created: /etc/awstats/awstats.globe.dyndns.org.conf
You should have a look inside to check and change manually main parameters.
You can then manually update your statistics for 'globe.dyndns.org' with command:
> perl awstats.pl -update -config=globe.dyndns.org
You can also read your statistics for 'globe.dyndns.org' with URL:
> http://localhost/awstats/awstats.pl?config=globe.dyndns.org

Press ENTER to finish...

awstats.globe.dyndns.org.conf編集
LogFile="/var/log/httpd/access_log"
DirData="/var/lib/awstats"
SkipHosts="127.0.0.1 REGEX[^192\.168\.]"
Lang="jp"

統計データを作る
# cd /usr/local/awstats/wwwroot/cgi-bin
# perl awstats.pl -update -config=globe.dyndns.org

確認
http://globe.dyndns.org/awstats/awstats.pl?config=globe.dyndns.org


設定を変更後は、/usr/local/awstats/tools/awstats_updateall.pl now
-----> Add update process inside a scheduler
Sorry, configure.pl does not support automatic add to cron yet.
You can do it manually by adding the following command to your cron:
/usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=globe.dyndns.org
Or if you have several config files and prefer having only one command:
/usr/local/awstats/tools/awstats_updateall.pl now
Press ENTER to continue...


/etc/cron.hourly/awstats.cron
#!/bin/sh
/usr/bin/perl /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=globe.dyndns.org > /dev/null

確認
http://globe.dyndns.org/awstats/awstats.pl?config=globe.dyndns.org


UTF-8 日本語変換
http://www.ganaware.jp/viewcvs.cgi/conv_weblog_to_utf8/conv_weblog_to_utf8.pl

ログの文字コードをUTF-8に変換
# conv_weblog_to_utf8.pl < /var/log/httpd/access_log > /var/log/httpd/access_log.utf8
(以降未記載)


【Squid】
/etc/squid/squid.conf の編集

http_port 8080
cache_mem 16 MB

#Cache 200MByte 16SubDirectory 256Directory
cache_dir ufs /var/spool/squid 50 16 256
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
#cache_store_log /var/log/squid/store.log

acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 80 21 443 563 70 210 1025-65535
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT

#Localnet に [192.168.0.0 ,ネットマスク 225.225.225.0]を「localnet」の名前にする。

acl localnet src 192.168.0.0/255.255.255.0

http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost

#「localnet」のアクセスを許可する。
http_access allow localnet

#他のアクセスを拒否する。
http_access deny all
icp_access allow all
miss_access allow all



【一般ユーザーがVFATパーティションに書き込み可能にする】

/etc/fstab
/dev/hdb1 /mnt/win vfat defaults,umask=007,gid=1000,euc,zenkaku 0 0 「gid=」の数値

グループの数値を確認して、ここに反映
cat /etc/group

etc/fstabの設定

/dev/hda2 /mnt/win vfat noauto, user, rw, suid, dev, exec 0 0


【setiathome】
http://planeta.sci.isas.ac.jp/~terakin/usrspace/setiathome.htmlより
本体: /usr/local/seti
date : /tmp/seti
/usr/local/bin [start-seti] [stop-seti]を置く。
 
[start-seti]
#!/bin/sh
SETIDIR=/tmp/seti
cd ${SETIDIR}

/usr/local/seti/setiathome > /dev/null &
ps -e | grep setiatho | cut -f2 -d' ' > seti.pid


[stop-seti]
#!/bin/sh
cd /tmp/seti
kill -KILL `cat seti.pid`
rm seti.pid


【acrobat reader】
ftp://ftp.adobe.com/pub/adobe/acrobatreader/unix/5.x/
linux-50x.tar.gzとjpnfont.tar.gzをそれぞれ展開し、
INSTALLスクリプトを動かす。


【skyboard】
http://www.tms-px.co.jp/sky/sky.html
パッケージ内容が古いので参考にしましょう。

1. postgresqlをインストール
postgresql, postgresql-devel, postgresql-server

2. /var/lib/pgsqlのpostgresユーザー権限を確認
# cd /var/lib
(# chown -R postgres.postgres pgsql)

3. postgresユーザーパスワードを設定
# passwd postgres
New UNIX password:************
Retry new UNIX password:************

4. postgresqlインストール後にデータベースの初期化
# su - postgres
$ initdb

5. 許可するループバックIPアドレスをpostgresqlに設定
/var/lib/pgsql/data/pg_hba.conf
host all 127.0.0.1 255.255.255.255 trust

6. 許可するportとソケットをpostgresqlに設定
/var/lib/pgsql/data/postgresql.conf
tcpip_socket = true
port = 5432

7. postgresql起動後にApache からアクセスできるようにPostgreSQLにapacheユーザを登録する。
その際に DB 作成とユーザ作成の権限を与えないように注意すること
# su - postgres
$ createuser apache
Shall the new user be allowed to create databases? (y/n) n
Shall the new user be allowed to create more new users? (y/n) n
CREATE USER

8. apacheをインストール
apache, apache-devel, apache-manual

9. PHP3をインストール
php3, php3-cgi-imap, php3-cgi-pgsql, php3-cgi, php3-manual

10.imapをインストール

11.Skyboardをインストール
http://www.tms-px.co.jp/sky/sky.html
postgres.shを編集
/usr/local/pgsql -> /var/lib/pgsql (pgsqlがあるディレクトリに変更)

masters.dist.linuxを編集
apacheのユーザーがnobodyからapacheに変更された場合は、
"nobody"を全て"apache"に替える。

# su - postgres
$ csh postgres.sh
Name your database.(default:masters) masters

# csh root.sh
Where is DocumentRoot of Apache? -> /home/httpd/html

12.パーミッションの変更
# cd /home/httpd/html/skyboard
# chmod 644 gw.conf

13.PostgreSQL と Apache を再起動及び起動させる
# /etc/rc.d/init.d/postgresql restart
# /etc/rc.d/init.d/httpd start (restart)

14.SkyboardをセットしたPCで確認する。
http://localhost/skyboard/index.html



【php4】
httpd.conf に次を確認

<IfDefine HAVE_PHP4>
LoadModule php4_module   modules/libphp4.so
</IfDefine>

<IfDefine HAVE_PHP4>
AddModule mod_php4.c
</IfDefine>

<IfModule mod_php4.c>
AddType application/x-httpd-php .php4 .php3 .phtml .php
AddType application/x-httpd-php-source .phps
</IfModule>


php.iniの確認
file_uploads Off/On


【MySQL】
rootアカウントのパスワード
$ /usr/bin/mysqladmin -u root password 'New Password'

ログイン
$ mysql -u root -p

登録されているユーザの確認
mysql> select host,user,password from mysql.user;
+-------------------+------+------------------+
|   host                     | user    | password               |
+-------------------+------+------------------+
|  localhost                 | root    | 58b3950d1bcc2ceb  |
|  foo.globe.dyndns.org   | root    |                           |
|  localhost                 |          |                           |
|  foo.globe.dyndns.org   |          |                            |
+-------------------+------+------------------+

匿名ユーザ(userが空欄のユーザ)の削除
mysql> delete from mysql.user where user="";

グローバルログイン「root」のパスワード設定
mysql> set password for root@'luna.globe.dyndns.org'=password('New Password');


全てのホストから接続できるアカウント
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
ON Database name.*
TO Database username@'%'
IDENTIFIED BY 'Database password';


ユーザ名だけでなくホスト名も指定
mysql> grant all on *.* to user1@localhost identified by 'passwd1';
mysql> grant all on *.* to user1@"%" identified by 'passwd1';


【MySQL データ移行】
http://www-fr.mysql.com/doc/ja/Upgrading-to-arch.html 4.5.1 データベースのバックアップより

/var/lib/mysql/mysql/ と データディレクトリのコピーでは、移行は行えません。

MySQL ISAM データファイルおよびインデックスファイル(それぞれ、`.ISD' および `*.ISM') は、アーキーテクチャ依存であり、場合によっては OS にも依存します。
現在のマシンとは異なるアーキーテクチャ、またはOS を持つ別のマシンにアプリケーションを移動したい場合、そのマシンにファイルを単純にコピーするだけでは、データベースを移動することはできませ ん。

$ mysqldump --quick db_name | gzip > db_name.contents.gz
mysqldump: Got error: 1045: Access denied for user:  'root@localhost' (Using password: NO) when trying to connect

上記表示があれば、その指示に従います。パスワードのオプション "-p" を使います。

結果をファイルに保存し、そのファイルを移動先のマシンに転送して、そのマシン上のデータベースにロードすることもできます。たとえば、以下のよ うに、移 動元のマシン上のファイルにデータベースをダンプします。
shell> mysqldump --quick db_name | gzip > db_name.contents.gz

データベースの内容が格納されたファイルを移動先のマシンに転送し、そのマシン上で以下のコマンドを実行します。
shell> mysqladmin create db_name
shell> gunzip < db_name.contents.gz | mysql db_name


または、mysqldump と mysqlimport を使用してデータ ベースを転 送することもできます。
大きなテーブルの場合、この方法を使用すると、mysqldump だけを使用した場合よりもはるかに処理が速くなります。

以下のコマンドでは、DUMPDIR は、mysqldump からの出力を格納するのに使用するディレクトリの完全パス名です。
まず、以下のように、出力ファイル用のディレクトリを作成し、データベースをダンプします。
shell> mkdir DUMPDIR
shell> mysqldump --tab=DUMPDIR db_name

次に、DUMPDIR ディレクトリ内のファイルを移動先マシン上の対応するディレクトリに転送し、そのマシン上の MySQL にロードします。
shell> mysqladmin create db_name               # データベースの作成
shell> cat DUMPDIR/*.sql | mysql db_name     # テーブルの作成
shell> mysqlimport db_name DUMPDIR/*.txt   # load data into tables

mysql
データベースも忘れずにコピーします。
このデータベースには、権限テーブル (user, db, host) が格納されています。
mysql データベースを配置するまでは、移動先のマシン上で MySQL root ユーザとしてコマンドを実行する必要があります。
mysql データベースを移動先のマシンにデータベースをインポートしたら、次のコマンドを実行して、サーバに権限テーブル情報を再ロードさせます。

mysqladmin flush-privileges


【postfix】
aliases

main.cfの確認
alias_maps = hash:/etc/postfix/aliases
alias_database = hash:/etc/postfix/aliases

/etc/postfix/aliases に追記
admin : User Name
admin : User@domain

dbデータベースを更新
newaliases
postfix  reload


容量
main.cfの確認

メールボックス容量
mailbox_size_limit = 5120000

1通あたりのサイズ
message_size_limit = 10240000

ヘッダサイズ
header_size_limit = 102400

メール1行
line_length_limit = 2048


info@****.***.**拒否
/etc/postfix/main.cf

header_checks = regexp:/etc/postfix/header_checks


/etc/postfix/header_ckecks
/^[Rr]eturn-Path:.*info.*/ REJECT
/^[Ff]rom:.*info.*/ REJECT


# /usr/sbin/postmap /etc/postfix/header_checks
# /etc/rc.d/init.d/postfix reload


【postfix + php + fml + qpopper + drac / POP before SMTP】
--- drac / 一般的なLinuxの場合 ---

http://mail.cc.umanitoba.ca/drac/

Makefile 編集
INSTALL = install
EBIN = /usr/sbin
MAN = /usr/share/man/man
DEFS = -DSOCK_RPC -DFCNTL_LOCK -DGETHOST -DDASH_C -DREQ_HASH
CC = gcc

RANLIB = :
CFLAGS = $(DEFS) -g
LDLIBS = -ldb
TSTLIBS = -L. -ldrac
RPCGENFLAGS = -C -I

MANLIB = 3
MANADM = 8


rpc.dracd.c 編集
#define DBFILE "/etc/postfix/dracd.db"
#define ALFILE "/etc/postfix/dracd.allow"

dracd-setup.linux 編集
daemon rpc.dracd -e 5& <--追加 POP認証の有効時限を5分にする

$ make
$ su
# make install
# make install-man
# cp dracd-setup.linux /etc/rc.d/init.d/dracd
# ln -s /etc/rc.d/init.d/dracd /etc/rc.d/rc3.d/S78dracd
# ln -s /etc/rc.d/init.d/dracd /etc/rc.d/rc5.d/S78dracd
# ln -s /etc/rc.d/init.d/dracd /etc/rc.d/rc6.d/K22dracd


qpopperのインストール時に必要なライブラリ
# cp libdrac.a /usr/lib/

動作確認
/etc/rc.d/init.d/dracd start
./testing localhost **.**.**.** <-適当なIP番号
makemap -u btree /etc/postfix/dracd.db
db_dump -p /etc/postfix/dracd.db

VERSION=3
format=print
type=hash
h_nelem=1
HEADER=END
 **.**.**.**
 1087095380
DATA=END


--- qpopper ---
$ tar xvfz qpopper?.?.?.tar.gz

$ cd qpopper?.?.?
$ ./configure \
--enable-standalone \
--enable-apop=/etc/pop.auth \
--with-popuid=pop \
--enable-drac

------ 参考 ---------
    --prefix=/usr \
    --enable-bulletins=/var/spool/mail/bulletins \
    --enable-specialauth \
    --with-pam=qpopper \
    --with-popuid=pop \
    --enable-apop=/etc/pop.auth \
    --enable-drac
------ ここまで ---------

pam関係モジュールのコンパイルに失敗する場合は、外すのも解決法でしょう。


$ make
$ su
# make install


rpmの場合
SPECファイルを編集 (qpopper.spec)

--prefix=/usr \
--enable-bulletins=/var/spool/mail/bulletins \
--enable-specialauth \
--with-pam=qpopper \
--with-popuid=pop \
--enable-apop=/etc/pop.auth \  ( \ <--追加)
--enable-drac <--追加

%preセクションのuseraddにオプションを追加
/usr/sbin/useradd -M -g pop pop -c "Pop Account" -d /dev/null -s /dev/null

バイナリ及びソースパッケージを作成
$ rpm -ba qpopper.spec

pam関係モジュールのコンパイルに失敗する場合は、外すのも解決法でしょう。


--- postfix ---
/etc/postfix/main.cf を編集 POP before SMTPの追加
smtpd_recipient_restrictions =  
    permit_mynetworks
    check_client_access hash:/etc/postfix/dracd
    check_relay_domains
    reject

myhostname = fofo.globe.dyndns.org
mydomain = globe.dyndns.org
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain $mydomain

mynetworks = ***.***.***.***/??, 127.0.0.0/8 check_client_access hash:/etc/postfix/dracd

alias_maps = hash:/etc/postfix/aliases, hash:/var/spool/ml/etc/aliases
alias_database = hash:/etc/postfix/aliases, hash:/var/spool/ml/etc/aliases

# fml
allow_mail_to_commands = alias, forward, include


--- fml ---
http://www.fml.org/

操作用アカウント
# adduser -u *** fml

$ su
# su fml

$ make install

postfix main.cf 編集 (それぞれの許可)
allow_mail_to_commands = alias, forward, include

ML作成
# su fml
$ makefml newml "ML name"

ML削除
# su fml
$ makefml destructml "ML name"
$ newaliases

# rm -rf /var/spool/ml/@"ML name"

登録 makefml add "ML name" "MailAccount"
削除 makefml bye "ML name" "MailAccount"
休止 makefml off "ML name" "MailAccount"
再始 makefml on "ML name" "MailAccount"
アカウント変更 makefml chaddr "ML name" "MailAccount" "MailAccount"

運用設定
$ makefml config "ML name" --> config.phへ反映
または
cfファイルの編集後に
$ make config.ph


--- php ---
/etc/php.ini 確認
file_uploads = On, Off



【Netsacape】
/usr/local/netscape7/netscape を編集します。
# moz_libdir=/usr/local/lib/mozilla-1.0.1
# MRE_HOME=/usr/local/lib/mre/mre-1.0.1
moz_libdir=/usr/local/netscape7 ← netscapeがあるディレクトリを以下同様に指定します。
MRE_HOME=/usr/local/netscape7 ←

# honor MOZILLA_FIVE_HOME if it's there
if [ -n "$MOZILLA_FIVE_HOME" ] ; then
# dist_bin="$MOZILLA_FIVE_HOME"
dist_bin="/usr/local/netscape7" ←


【Netscape JAVA プラグイン】
ln -s /usr/java/javaバージョン番号/plugin/i386/ns7/libjavaplugin_oji.so /usr/lib/mozilla-1.7.3/plugins/
gccのlibjavaplugin_oji.soを使う


【Mozilla/Firefox JAVA プラグイン】
Flash プラグイン
ln -s /usr/java/javaバージョン番号/plugin/i386/ns7/libjavaplugin_oji.so /usr/local/firefoxバージョン番号/plugins/

gccでコンパイルされたブラウザの場合は、gccディレクトリのlibjavaplugin_oji.soを使う

RealPlayer プラグイン
ln -s /usr/local/RealPlayer/mozilla/nphelix.so /usr/local/firefoxバージョン番号/plugins/

【Firefox 特定のサイトに繋がらない時の対処】
https://forums.ubuntulinux.jp/viewtopic.php?id=18329
https://support.mozilla.org/ja/kb/firefox-cant-load-websites-other-browsers-can#w_ipv6

Firefox はIPv6をサポートしていますが、これが特定のシステムで接続の問題の原因となることがあります。
Firefox で IPv6 を無効にすることで、サイトが表示される場合があります。

アドレスバー に about:config と入力し、Enter キーを押します。
about:config ページを開く。
検索欄に "network.dns.disableIPv6" と入力
リストの "network.dns.disableIPv6" をダブルクリックし、値を true に変更する。




User Setiing


【半角カタカナのファイル名】
lsコマンドに以下のオプションを指定

# ls --show-control-chars /mnt/dos aliasに定義
# alias ls='ls -aF --show-control-chars --color=auto'


【^M コードを削除】
perl -i.old -npe 's/\r\n/\n/' [filename]

vi [filename]
:%s/^M$//s


【文字コードをUTF8からEUCに変更】

LANGの設定
/etc/sysconfig/i18n

#LANG="ja_JP.UTF-8"
#SUPPORTED="en_US.UTF-8:en_US:en:ja_JP.UTF-8:ja_JP:ja"
LANG="ja_JP.eucJP"
SUPPORTED="ja_JP.eucJP:ja_JP.ujis:ja_JP:ja"
SYSFONT="latarcyrheb-sun16"

MANPAGERの設定
/etc/man.config

#PAGER           /usr/bin/less -is
PAGER           /usr/bin/lv



【GNU Emacs-20】
・emacs: Terminal type kterm is not defined.

コンソールからEmacsを使う場合にエラー表示が出る。
use the Bourne shell command `TERM=... export TERM'とあるので、
[TERM=vt100 export TERM]を指定する。

・Wnn, ATOKを使う
/usr/local/share/emacs/20.7/site-lisp/site-start.el
に次を追記

(set-language-environment "Japanese")
(set-keyboard-coding-system 'euc-jp)
(set-next-selection-coding-system 'euc-jp)
(set-selection-coding-system 'euc-jp)
(set-terminal-coding-system 'euc-jp)
(setq default-buffer-file-coding-system 'euc-jp)
(setq default-process-coding-system '(euc-jp . euc-jp))
(setq rmail-file-coding-system 'euc-jp)
(setq sendmail-coding-system 'iso-2022-jp)
(gnus-mule-add-group "" 'iso-2022-jp)


・.emacs
;;Atok for X
;;IIIMP 経由 (MULE-UCS, IIIMECFが必要)
;(setq emacs-ime (getenv "EMACS_IME")) ;; 環境変数 EMACS_IMEに従う
;(setq emacs-ime "atokx") ;; atokx を使う
;;
(if (or (equal emacs-ime "atokx")
(equal emacs-ime "atok")
)
(progn

(require 'un-define)
(setq coding-category-utf-8 'utf-8)

(setq iiimcf-server-control-hostlist '("localhost"))
(setq iiimcf-server-control-default-language "ja")
(setq default-input-method 'iiim-server-control)
(require 'iiimcf-sc)

(define-key global-map "\C-\\" 'toggle-input-method)
(setcar default-mode-line-format "")
)
)

・文字コード変換
C-x C-m f
・TABの入力
M-i

カーソル行部分を中心へ および[.emacs-color.el]の反映
C-l

・^M等の表示
M-x quorted-insert

・FTP接続
C-x C-f
/ログイン名@接続するホスト名 ポート番号(デフォルト:21) パス名:
.emacs.elに次を追加すると、パッシブモードが使用できます。
(setq ange-ftp-ftp-program-args '("-i" "-n" "-g" "-v" "-p"))
-p passive mode


【Mew】
・メール添付
C-c C-a :マルチパート
c :ファイルコピー
"Copy from : " :コピーしたいファイルのパスを入れる
"Copy to :" :改名する場合はその名前を入れる
"attachments"にそのファイル名があれば添付完了

;;; パスワードを一時的に保存する
(setq mew-use-cached-passwd t)

;;; 自動でメール確認
(setq mew-use-biff t)

;;; メールをチェックしに行く間隔(分)
(setq mew-pop-biff-interval 3)

;;; メールが来た時にベルを鳴らす
(setq mew-use-biff-bell t)


【漢字コード・改行コードの変換】
漢字コード

OS
漢字コード
UNIX一般
EUC, JIS, (SiftJIS)
Linux
日本語EUC
FreeBSD
7bitJIS
MS-Windows
シフトJIS
Macintosh
シフトJIS

nkf [オプション] 入力ファイル >出力ファイル
オプション
-e EUCコードに変換
-j JISコードに変換
-s シフトJISコードに変換

注意: 入力ファイル名と出力ファイル名が同じだと、ファイルの中身が消えます。

改行コード

OS
改行コード
UNIX一般
LF(改行)
MS-Windows
CR+LF(復帰+改行)
Macintosh
CR(復帰)


nkfのオプション '-d'がCR除去、'-a'がCR追加

改行コードはエスケープ文字で次のように表記します。
LF \n
CR \r


Perlを使い変換
Windows → UNIX
# perl -pe 's/\r\n/\n/' winfile >unixfile

UNIX → Windows
# perl -pe 's/\n/\r\n/' unixfile >winfile

なお、「\n」は自動的にプラットホームの改行コードに変換されることが多いようです。
viで一括置換するには、[:]キーを押してコマンドモード.%s/検索文字列 /置換文字列/g.
:%s/^M//g
^Mを入力するには、[ctrl]+[v],[ctrl]+[m]


ディスク内容消去について

dd コマンドを使ってディスクデータを抹消する

# dd if=/dev/zero of=/dev/hdd

random, urandom - カーネル乱数ソースデバイスを使用してディスクデータを抹消する

# dd if=/dev/random of=/dev/hda
# dd if=/dev/urandom of=/dev/hda

-- man random より --
乱数ジェネレータはデバイスドライバやその他の源からの環境ノイズをエントロピー・プールへ集める。
また、ジェネレータはエントロピー・プール内のノイズビットの数の見積りを保存する。
このエントロピー・プールから乱数が生成される。

/dev/urandom
デバイスから読み出しでは、エントロピーがより高くなるのを待つためのブロックは行われない。
その結果、もしエントロピー・プールに十分なエントロピーが存在しない場合、
返り値はこのドライバで使われているアルゴリズムに基づく暗号攻撃に対して、論理的には弱くなることになる。
もし、この事が心配なら、(/dev/urandom ではなく) /dev/random を利用すればいい。

/dev/random
デバイスはエントロピー・プールのノイズビットの数の評価値から、ランダムバイトのみを返す。
/dev/random はワンタイムパッド (one-time pad) や鍵の生成のような非常に高い品質を持った無作為性が必要になる場合に適切であろう。
エントロピー・プールが空の時は、/dev/random からの読み出しは、更なる環境ノイズが得られるまで、ブロックされる。





HDD Lowlevel Format

【Seagate】
http://www.seagate.com/support_ja/kb/disc/faq/ata_llfmt_what.html
Home > サポート > ナレッジベース > ディスク ナレッジベース > FAQ >
ATA (IDE) ハード ドライブのローレベル フォーマットを実行するには?

DiscWizard Starter Edition
http://www.seagate.com/support_ja/disc/drivers/discwiz.html



【Hitachi / IBM】
http://www.hgst.com/portal/site/jp/

Drive Fitness Test (v4.06)


【Maxtor】
http://www.maxtor.co.jp/press/e-magazine/e-magazine/2004/1224.htm より
マックストアのHDD診断ツールには、ATAドライブ向けの「PowerMax」および、
SCSI向けの「SCSIMax」の2種類があり、それぞれマックストアWebサイトからダウンロードできます。

PowerMaxのダウンロード
http://www.maxtor.com/portal/site/Maxtor/menuitem.8db0c3d6932ced37294198b091346068/?channelpath=/en_us/Support/Software%20Downloads
短時間で診断を行う「Basic Quick (90 Second) Test」、詳細に診断を行う「Advanced Test (Full Scan Test)」、
セクタを連続して読み取る「Burn In Test」、全領域のローレベルフォーマットである「Low Level Format (Full)」、
一部の領域をローレベルフォーマットする「Low Level Format (Quick)」が可能です。


【Quantum】
https://selfservice.talisma.com/display/2n/kb/article.asp?aid=1208& amp; n=1&s= より
Q. Do you support the Quantum Fireball hard drive?
A. We no longer support the Fireball series.
   Quantum has sold the hard drive division to Maxtor,
   if you need assistance on a hard drive product please go to www.maxtor.com.



SONY VAIO PCG-Z1T/P


電源ボタンで停止
/etc/lilo.conf acpiの有効化
append=" apm=off acpi=on"


LED輝度調整
sonypi
mknod /dev/sonypi c 10 250
chmod 666 /dev/sonypi

/etc/modprobe.conf
# Sonyip
alias char-major-10-250 sonypi
options sonypi minor=250

spicctrl
/usr/sbin/spicctrl -b0 最も暗い
/usr/sbin/spicctrl -b255 最も明るい


jjdmouse を使って、Fn + F2 - F6
mano 氏 <mano@ac3.mopera.ne.jp> 提供のGTK 対応版
http://jr0bak.homelinux.net/~imai/linux/jdmouse-gtk-0.1.tar.gz

make  /use/local/bin へ


無線LAN
kernel 2.6.16-0vl66
wireless-tools-28-0vl1
http://atrpms.net/dist/common/ipw2100-firmware/
ipw2100-firmware-1.3-6.at.src.rpm  - Firmware for the Intel PRO/Wireless 2100 Driver

/etc/modprobe.conf に次を追記
alias eth1 ipw2100

/etc/sysconfig/network-scripts/ifcfg-eth0
# Intel Corporation PRO/Wireless LAN 2100 3B Mini PCI Adapter
DEVICE=eth0
ONBOOT=yes
# BOOTPROTO=static
BOOTPROTO=none
ESSID=****************
TYPE=Wireless
MODE=Managed
IPADDR=192.168.0.230
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
USERCTL=yes
PEERDNS=yes
#IPV6INIT=no


100BASE-TX/10BASE-T
/etc/sysconfig/network-scripts/ifcfg-eth1
# eth1
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
IPADDR=:::.:::.:::.:::
NETMASK=255.255.255.0
GATEWAY=192.168.0.1



X Window System関連 【i810チップセットでX Window Systemを使う】
!!この内容は旧い!!
<815E用のドライバ AGP周りで互換性がないらしく、agpgart.oを入れ替える.
http://www.intel.com/support/graphics/intel810/Release_Notes_1.htm

I810Gtt-0.2-4.src.rpm

agpgart.oモジュールを組み込みます。
次のコマンドで各モジュールの組み込みを確認します。
# lsmod

組み込まれていない場合は、modprobeコマンドで組み込みます。
# modprobe agpgart

X Window Systemが起動したならば、/etc/modules.confあるいは/etc/conf.modulesに次を追加します。
alias char-major-10-175 agpgart



【815E + GeForce2 MX】
!!この内容は古い!!

Intelの815E用のagpgartモジュールは必要ありませ

NVIDIA_kernel-*.*-*.src.rpm
NVIDIA_GLX-*.*-*.i386.rpm

rpm -ihv NVIDIA_kernel-*.*-*.src.rpm
cd /usr/src/redhat
rpm -ba SPECS/NVIDIA_kernel.spec.17110

Makefileを修正

cd BUILD/NVIDIA_kernel-0.9-5/
EXTRA_DEFINES=-DNOAGPGART
SYSINCLUDE=/usr/src/linux/include

次のみのオプションだけでも、修正せずに可能?
make SYSINCLUDE=/usr/src/linux/include EXTRA_DEFINES=-DNOAGPGART

ドライバをインストール
rpm -i NVIDIA_GLX-*.*-*.i386.rpm


http://www.mcdownloads.com/
http://www.nvidia.com/view.asp?IO=linux_display_archive

http://tom.g-micro.co.jp/
http://tom.g-micro.co.jp/graphic/00q4/001002/linux_nvidia-02.html
http://www.ki.rim.or.jp/~kuro/Linux/Linux01.html




【インストール】
修正パッケージをダウンロードし、CD-Rなどに保存します。
BIOSによるパスワード設定と無停電電源装置

ネットワーク設定の確認
$ netstat -a

xinetdの設定ファイルの確認
/etc/xinetd.d/にある各ファイル

不要なユーザを削除します。

パスワードの設定
/etc/login.defs

スティッキービット
スティッキービットフラグが立っているプログラムを一般ユーザが利用すると、機能範囲内で管理者権限を一時的に利用できる。

次のファイルおよびディレクトリについて、ファイルの場合はchmod 600、ディレクトリの場合はchmod 700 とします。
/etc/inittab
/etc/fstab
/etc/init.d
/etc/rc.d
/boot/grub


【 VIne Linux 4.2 -> 5.2 アップグレード 】
使い込んだ4.2だと、すんなりとCDからのアップグレードは完了しない。

4.2を最終更新する。
# apt-get update
# apt-get upgrade

Vine5.1CD により 4.2から5.1へアップグレードする。
CUI、テキストインターフェースを用いると失敗が少ないと思われる。

# apt-get update を行うものの、/etc/resolv.conf が使えないので、(<-びっくりした!)
/etc/hosts に、
192.26.91.193      ftp.kddlabs.co.jp
202.255.47.227    ftp-srv3.kddlabs.jp
以上を追記する。

5.1を最終更新する。
# apt-get updata
# apt-get upgrade
この時、貴方のGNU/Linux, Vine の使い方により、エラーがいろいろと表示されると思われる。
こちらでは、不具合が生じたパッケージは皆削除し、後にインストールし直した。
例:
samba-swat
samba
xscreen
openoffice.org-redhat-menus-2.4-9268.noarch
openoffice.org-freedesktop-menus-2.4-9268.noarch
# apt-get upgrade は、何度か試し、最終確認を行う。


Vine 5.1 -> 5.2
/etc/apt/sources.list.d にある各ファイルを 5.2へ向ける。
その後にアップグレードを行う。
# apt-get updata
# apt-get dist-upgrade
# apt-get upgrade

http://trac.vinelinux.org/wiki/Vine5/FAQ の記述により、xorg.conf を更新する。
 1) /etc/X11/xorg.conf をバックアップする。
 2) root権限で Xorg -configure を実行する。
 3) 作成された /root/xorg.conf.new を /etc/X11/xorg.conf にコピーする。
 4) X が起動することを確認する。

NVIDIAドライバーの更新
Vine 4.2 -> NVIDIA-Linux-x86-169.12-pkg1.run
Vine 5.2 -> NVIDIA-Linux-x86-173.14.20-pkg1.run
173.14.20 のパッケージを入れ直す。
これにより、KDEが起動するようになった。

ATI Radeon ドライバーの更新
/usr/share/ati/fglrx-uninstall.sh
一旦、ドライバーを削除する。
ati-driver-installer-9-12-x86.x86_64.run
ati-driver-installer-11-2-x86.x86_64.run
ati-driver-installer-11-7-x86.x86_64.run (2011/8時点,最新)
それぞれをインストールする。

xorg.conf にあるフォント部分に以下を追記する。
        FontPath "/usr/X11R6/lib/X11/fonts/TrueType"
        FontPath "unix/:7100"
        FontPath "/usr/X11R6/lib/X11/fonts/japanese"
        FontPath "/usr/X11R6/lib/X11/fonts/misc"
        FontPath "/usr/X11R6/lib/X11/fonts/75dpi"
もしくは、
        FontPath        "/usr/X11R6/lib/X11/fonts/TrueType/"
        FontPath        "/usr/share/fonts/default/Type1"


# apt-get install self-build-setup
# apt-get install self-build-mplayer self-build-mplayer-codecs
# apt-get install gnome-mplayer



【rpm】
i386系kernel と athlon系のインストール
rpmオプション [--ignorearch]を使う
バイナリRPMのアーキテクチャが一致していなくてもパッケージをインストール又はアップグレードを許可します。

athlon系 --rebuild
rpm --rebuild --target athlon kernel-4.4.22-0vl22.src.rpm
rpm -ihv --ignorearch kernel-4.4.22-0vl22.athlon.rpm

インストール済みのパッケージを再インストールする
rpm -i --replacepkgs ***.rpm


【記録確認 (logの確認)】
ログの設定は、/etc/logrotate.conf
/var/log/messages
/var/log/wtmp


【grub】
timeout = 10
待ち時間時間後にデフォルトを起動させる。




Ultra Linux 関連

【Aurora SPARC Linux】
Sun microsystems Ultra 30と"Aurora SPARC Linux"http://auroralinux.org/
"Aurora Build 1.0"は、Red Hat Linux 7.3 i386 を元にしています。

!!注意!!
Aurora Build 1.0に含まれる"sndconfig package"は壊れています。Aurora Build 0.42にあるsndconfigに入れ替えて下さい。


"Aurora Build 2.0"は、Fedora Core 3 を元にし、2006年、4月14日に発表されました。
2.0の詳細は、http://lists.auroralinux.org/pipermail/aurora-sparc-user/2006-April/003936.html

AuroraインストールCDを作り、SPARCに入れることは、貴方が既にGUN/Linuxをコンピュータに入れたことがあるな らば、
そ れとほとんど 同じです。

電源投入後に、[STOP]キーを押しながら[A]キーを押して、Boot ROMにします。
次を行うと、CD-ROMから起動します。
ok> boot cdrom


【Vine Linux Sparc】この内容は古い。

Seed パッケージを導入する際に、「インストール時の矛盾を解決するために、一時的にglibcを削除するならば、"APT::Force- LoopBreak"を使いましょう」と表示されます。
# apt-get -o APT::Force-LoopBreak=1 upgrade-dist
# apt-get -o APT::Force-LoopBreak=yes dist-upgrade

または、/var/cache/apt/archives/にある矛盾を起こすrpmファイルを一時的に外します。
その後 rpm -Uhv (--nodeps) *.rpmを行います。

XFree86-4.2.1-0vl7
XConfiguratorを使うとXF86Config-4は作られませんが、必要なリンクが作られます。その後にXF86Config-4を 調整します。



Solaris関連

【ip設定】
/etc/hosts
/etc/hostname. (ネットワークデバイス名)

/etc/netmasks
/etc/nsswitch.conf
/etc/resolv.conf
/etc/defaultrouter


【キーボードの抜き差し可能にする】
/etc/default/kbd
KEYBOARD_ABORT=disable




Ultra 30 関連

【Ultra 30】
ファンの静音化

電源とケースは 90mm、前面PCIは 120mmのものを交換します。コネクタは、元のを流用します。


【OPEN BOOT】
OPEN BOOTの初期化
ok set-defaults

OPEN BOOT書き込み
例として下記を用います。
01550800.20040816.2aeab8fc.16553594.00000000.00000000.00000000.00000000

NVRAMのデータの書きこみを可能にします。
ok f7002000 ffd04700 pgmap!

idpromの1番目のデータ(01550800)
ok 01550800 ffd047d8 l!

idpromの2番目のデータ(20040816)
ok 20040816 ffd047dc l!

idpromの3番目のデータ(2aeab8fc)
ok 2aeab8fc ffd047e0 l!

idpromの4番目のデータ(16553595)
ok 16553594 ffd047e4 l!

idpromの5番目のデータ(00000000)
ok 00000000 ffd047e8 l!

idpromの6番目のデータ(00000000)
ok 00000000 ffd047ec l!

idpromの7番目のデータ(00000000)
ok 00000000 ffd047f0 l!

idpromの8番目のデータ(00000000)
ok 00000000 ffd047f4 l!

書き込み確認は、
ok ffd047d0 64 dump
もしくは、
ok .idprom



MS-Windows 関連


【プライマリマスター以外にWindows95/98/Meをインストールした場合の起動】
http://www.linux.or.jp/JF/JFdocs/LILO-README/boot-image-types.htmlより

Windows のブートプログラムに対して1台目のドライブから起動している様に,
認識させる為に/etc/lilo.conf にmap-drive以下を追記する。

other=/dev/hdb1
label=win
table=/dev/hdb
map-drive=0x80
to=0x81
map-drive=0x81
to=0x80


【LinuxとWindows 2000/XP】
Windows 2000のブートローダーで起動

1) Windows 2000のブートローダーを利用
2) LILOはMBRではなくパーティションにインストール
3) Linuxパーティションのブート領域をファイル化し、Windows 2000のブートローダーで起動する。

# /sbin/lilo -u /dev/hda

/etc/lilo.conf

boot=/dev/hda → boot=/dev/hda2

# /sbin/lilo

ブートセクターをファイル化してNTFS上にGUN/Linuxのブートファイルとしてコピー

# dd if=/dev/hda2 of=/bootsect.pbr bs=512 count=1
# mount -t vfat /dev/fd0 /mnt/floppy
# cp ./bootsect.pbr /mnt/floppy
# reboot
> copy a:\bootsect.pbr c:\ c:\boot.ini 編集


[boot loader]

timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="MicrosoftWindows 2000 Professional" /fastdetect
c:\bootsect.pbr="GNU/Linux"



【LinuxとWindows 2000/XP】

1) LILOブートローダーを利用
2) LILOをMBRではなくブートパーティションにインストール

MS-Windowsがインストールされた後に、GNU/Linuxを入れるとデュアルブート設定は、簡単に設定できます。

【SSDPの停止】
常時パケットが流れてるのは、SSDP (Simple Service Discovery Protocol) Discovery Service もしくは、
Universal Plug and Play Device Host かもしれません。

原因:http://support.microsoft.com/default.aspx?scid=kb;ja;317843
Windows Messenger によって、アップストリームのインターネット ゲートウェイ デバイスがあるかどうかの確認に SSDP 検出プロセスが使用されて いるために発生します。

1) [スタート] → [コントロールパネル] → [管理ツール] → ]サービス]
2) [SSDP Discovery Service」: 「スタートアップの種類」→ "無効"  「サービスの状態」→ "停止"
3) [Universal Plug and Play Device Host」 : 「スタートアップの種類」→ "無効"  「サービスの状態」→ "停止"

場合によっては、レジストリの操作をする。


【ユーザー登録情報を変更する】
レジストリエディタ(regedit)を起動し、
「HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion」 を表示させます 。


【ネットワークパスワード保存させない】
http://www.tac.tsukuba.ac.jp/~yamato/samba/7500/msg00262.htmlより

レジストリエディタ(regedit)を起動し、
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Network]
に DisablePwdCaching を新規で作成し、DWORD値で1にします。そうすると、*.pwl ファイルは作成されません。


【常駐ソフトの有無】
「スタート」ボタン上で右クリック、メニューから「開く」を選びます。
「スタートメニュー」ウィンドウが表示されたら「プログラム」 → 「スタートアップ」の順にダブルクリックします。

「スタートアップ」ウィンドウに表示されているものが、MS-Windows起動 時に動くソフトです。
プログラムを選択して右クリックし、メニューから「削除」を行うことができます。

登録解除したいソフトが「スタートアップ」フォルダに見つからない場 合は、次の方法を試してください。
「スタート」メニューから「ファイルを指定して実行」を選択し、名前の項目に「MSCONFIG」と入力します。
このウィンドウの「スタートアップ」タブを開くと、起動時に動くプログラムの一覧が表示されます。
各プログラムごとにチェックボックスがあります。動かしたくないいプロ グラムのチェックを外してください。


【rawsex, スパイウェア の潰し方、消し方、削除方法、除去方法】

レジストリを操作する方法
http://www.trendmicro.co.jp/vinfo/virusencyclo/default5.asp?VName=VBS_MOON.Q

削除対象
場所:HKEY_LOCAL_MACHINE→ Software→ Microsoft→ Windows→ CurrentVersion→ Run
値:Explorer

場所:HKEY_CURRENT_USER→ software
値:moon

場所:HKEY_CURRENT_USER→ SOFTWARE→ Microsoft→ Windows→ CurrentVersion→ Internet Settings→ Zones→ 3
値:1004

場所:HKEY_CURRENT_USER→ RemoteAccess
値: DialUI

詳細
http://www.trendmicro.co.jp/vinfo/virusencyclo/default5.asp?VName=VBS_MOON.Q&VSect=T


ツールを使う方法
CWShredder 作者は、Merijn.org (Soeperman Enterprises Ltd.)
参照
http://higaitaisaku.web.infoseek.co.jp/removecws.html
作業は必ずブラウザ(Internet Explorerなど)を含む他のウィンドウを全て閉じた状態で行って下さい。


【MS-Power Point】
表紙にはページを付けないで、2枚目以降からのページ付け

「全てのスライドにページ番号が表示されている」という前提。
1. 「ファイル」 -> 「ページ設定」でスライド開始番号を"0"にする
2. 1枚目のスライドを選択し、「表示」 -> 「ヘッダーとフッター」 -> 「スライド」でスライド番号のチェックをはずし、
   「適用」ボタンをクリック
3. これで、1枚目のスライドはスライド番号が表示されなくなり、2ページ目のスライドはスライド番号1が表示され、以降、各スライドに連番でスライ ド番号が 表示されます。

なお、現在、全てのスライドにスライド番号が表示されていない場合は、手順2.の前に、「スライド番号」をチェックして「すべてに適用」ボタンを クリック してください。


表紙の"0"表示を無表示に
1. 1枚目のスライド(表紙)を選択し、「ファイル」 -> 「ページ設定」 -> 「スライド開始番号」を"0"にする。
2. 1枚目のスライドで「表示」 -> 「ヘッダーとフッター」 -> 「スライド」 -> 「スライド番号」のチェックを外し、「適用」。
3. 2枚目のスライド(ページ番号は"1")を選択して、「表示」 -> 「ヘッダーとフッター」 -> 「スライド」 -> 「スライド番号」をチェック、「適用」。



--- その他 ---

【メルコエアステーション】
1)エアステーション設定画面より「詳細設定」−「アドレス変換」を選択します。
2)アドレス変換テーブルの追加項目にて次のように変換テーブルを追加してください
・WAN側IPアドレス
エアステーションのWAN側IPアドレス
・ポート
例)TCP 2000-3000を指定する場合
「任意のTCPポート」を選択し、「任意のポート:」にて「2000-3000」を入力します
例)UDP 4000を指定する場合
「任意のUDPポート」を選択し、「任意のポート:」にて「4000」を入力します
※一度に追加できるポートは1つまでです。
複数ポートを指定したい場合は、指定するポートの数だけ手順を繰り返してください。
・LAN側IPアドレス
ゲームやアプリケーションを使用したいコンピュータのIPアドレスを入力します。

「アドレス変換テーブルに追加」をクリックします。
3)続けてポートの指定をする場合は「戻る」を選択し、2)の手順を繰り返します。

【Aterm DL180V-C】
ファームウェアバージョン 1.19.33
MN-WLC54g-HQ 動作を確認
装着後は、[TX/RX]と[POWER]LEDランプの点滅を確認
電源投入後にしばらくすると、同時の点滅を確認
DL180V-Cの[無線LAN側設定]からの各種設定が可能になる。


[globe3.ddns.net]