ラベル server の投稿を表示しています。 すべての投稿を表示
ラベル server の投稿を表示しています。 すべての投稿を表示

2010年5月30日日曜日

良く分からんが

どうも、とりあえずQです、こんちには。

例のUSBメモリ、

subversionの保存をdumpにする
BIOSの設定でUSBをFIXED Storageとして扱う
ファイルシステムはWindowsでFAT32として作る

で、とりあえずいけてるっぽい。エラーもなし。
うーむ、謎だ。

2010年5月27日木曜日

引越し完了とやっぱりメモ

どうも、ウッツQです、こんちには。

ついに引っ越しますた、そしてネットの移転が完了しますた。
で、色んな環境構築に励んでいたのですが、最低限の部分が終わった感じ。

2DKですよ2DK。
2部屋とD.I.Y Kitchenです。



まあ今月は色々と大変で、ぶっちゃけ引越しなんかしてていいのか位の勢いなんですが、まあ細かいことは良しとしましょう。


で、メモ。

①USBメモリとファイルシステム
サーバーにCentOSを使っている。まあぶっちゃけバックアップ目的のサーバーなのだが、バックアップのバックアップとしてUSBメモリを使っている。USBメモリなら突然サーバーが落ちたって大丈夫って算段なのだが…

まあ安物のUSBメモリを買ったせいかなんなのか良く分からんが、
ファイルシステムをLinux用にすると、PCが起動しなくなる。
FATの場合は問題なく起動する。

で、正直原因が良く分からんかったので、USBメモリにパーティションを2つ作り
パーティション1を数シリンダのFAT
パーティション2を残りのシリンダのLinux
にしてみたら起動した。

こういうトリッキーなやり方は嫌いなのだが…





②バックアップ用のファイルシステム
で、なぜFATをやめてLinux用にしたか、というと、

mount -t ext2 -o sync
mount -t ext3 -o sync,commit=周期

で、ext2だと同期が使えて、ext3だと数秒おきのインターバルで同期が使えるから。
もしかしたらFATでも使えるかも知れないが…

以前の日記にも書いたが、FATだとファイルシステムPanicを起こして、データのバックアップがまともに取れない。使っているUSBメモリがそこそこ大容量なので、もしかしてキャッシュあたりでおかしくなっているのでは?と踏んだ。
で、キャッシュをなるべく使わずに同期を取るようにすればエラーが起きなくなるのではないか?と考えた。

試してみたところ、今のところ起きなくなった。
その代わり書き込みは半端なく遅くなったけど(笑)
ext2だと同期が出来るが、インターバルの設定がないので、めちゃくちゃ遅い。
そこでext3のcommitを使ってそこそこキャッシュを使うようにしてみたら、速くなった。十分体感できるレベルの違い。

どうやらこれでなんとかなりそうだ。
ただし、Linuxファイルシステムなので、当然windowsとかで読めない。まあバックアップなんだから、Linux用と割り切ってれば問題なし。

---
追記
やっぱりIOエラーが出る。
どうも駄目っぽいので、完全にsyncのみに変更してみた。

---
やっぱりダメポ。
hotcopyが駄目ならdumpを試してみる。

---
うーん、ダメ。
BIOSとかの設定を変えてもダメだし…もしかしてダメUSBなのかな。
windowsでだったら使えるのかな…





山と海
黄昏時と
灰色と

2010年3月20日土曜日

現代メモ理論

どうも、Hyper 鬱ッティング処理が可能なQです、こんちには。

てかメインで使ってるPCが流石に駄目なんじゃないかと思い始めて来た。PenM1.7G、メモリ1.5Gではやはり色々としんどいものがある。まあノートPCなんでHDDの問題とかもあると思うんだけど、ちょっと頑張らせるとすぐに100%になるのはいかがなものか…


1.svn導入

svnなんて書くと本当に現代メモ理論って感じですね(笑)最近まで知らなかったのだが、svn等という超便利なversion管理、ファイル共有ソフトがあるらしい。
これでも一応プラネタリウムとか趣味の関係でそこそこのデータ量を持っているので、PCがお亡くなりになられると結構悲惨。年数回くらいのペースでDVDとかに焼いていたんだけど、ぶっちゃけ

”超”

メンドクサイ。

と言うわけで折角サーバー立ててあるんだし、昨日あたりから導入してみた。

CentOSは特に標準でsvnが入ってるので特にインストール作業は必要ない(仮に無くてもyumで手に入る)。

サーバー側
レポジトリ(ファイルを保存しておく領域)を作る。

mkdir レポジトリ用ディレクトリ
cd レポジトリ用ディレクトリ
svnadmin create ./

これでこのディレクトリはレポジトリとして機能する。



クライアント側
(windowsはTortoiseSVNという便利なGUI環境がある)

既に存在しているレポジトリに参加する場合
まずディレクトリを作る。
windowsではその作ったディレクトリの中でチェックアウトを実行すればOK
Linuxでは作ったディレクトリの中で
svn co svn+ssh://<ユーザー名>@<サーバー名>/<取得したいディレクトリのパス> ./
とすればOK
これでこのディレクトリはレポジトリと同期する。
このレポジトリからクライアントPCに、"同期情報を持ちながら"ファイルを持ってくる作業をチェックアウトという。同期情報を持たず、つまりレポジトリに参加するのではなく単なるダウンロードを行う場合はエクスポートという。(完成版の出力やファイルの二重化を行う場合に使うらしい)

クライアントにあるファイルをレポジトリ化する場合
いくつか方法はあるだろうが僕はこうやった。
まずサーバーに空のレポジトリをつくる。
次にレポジトリ化したいファイルがあるディレクトリに移動し、空のレポジトリに対しチェックアウトを実行する。(ファイルをとりあえずレポジトリに参加させる)
レポジトリ化したいファイルに対し追加を実行する。
(Linuxではsvn add <ファイル名>を実行する。まあ大抵は*なんじゃないかと思う)
最後にサーバーに、ファイルに変更があったとして通知、アップロードする。
(Linux ci *とかでOK。環境変数EDITOR=emacsとかviが事前に作っておく必要あり。エディタファイルが開くので、--この辺から無視--とか書いてある部分の上の業に当該ファイルの情報をカット&ペースト、終了でいける)
このファイルに変更があったとして通知、アップロードする作業をコミットという。同期せず単なるアップロードを行う場合はインポートという。

詳しいことは良く分からんけど、なんか変更を加えたらとりあえずコミットしておけばOK。

(windows)
サーバーと同期するのはやめるときは、同期している最上位のディレクトリで
for /R %i in (.svn) do rd /Q /S "%i"
を実行すると、全ての.svnファイルが削除される。これでOKっぽい。
また、コミットされているファイルを削除したり名前変えたりする場合は、当該のファイルで右クリックしてTortoisSVN⇒削除とかを選ぶ。

(linux)
linuxでは
svn rm ファイル名

いずれも実行した後はコミットを行う。





2.mas
milli-arc-secondの略。星の位置を表す単位の一つでミリ秒角のことらしい。






僕一人
svnで
どうするの?

2010年3月15日月曜日

USBめもリ

どうも、ピカピカの鬱年生のQです、こんちには。

今の普通にインストールしたLinuxだと、USBメモリとか殆ど何の問題もなく使えます。しかし、serverみたいにGUIが用意されていないような場合どうしたらいいか知らなかったのでメモろうという魂胆な訳です。

CentOS 5.4
コマンド
dmesg:システムの情報を表示、ここで検出されたUSBの名前とかfile systemを確認
usb-storageほげげのあたりを確認する。
自分の環境では
SCSI device sdb:25600 512-byte hdwr sectors(131MB)
sdb:assuming drive cache:write through sdb:sdb1
と認識されたので、適当なところにディレクトリを作り、
mount -t vfat /dev/sdb1 ./(作成したディレクトリ)

外すときは
umount /dev/sdb1
でアンマウントしてから。

まあ何したいかっていうと古いUSBメモリが余ってたのでしばらくbackupの代わりにしてみようかと。どこまで信用できるか分からんが。

df:ハードディスクとかUSBメモリの容量や使用率を見る。



追記
容量が小さすぎて使い物にならなかった。
vi使うのメンドクセェ…鬱。






数年前
大容量の
メモリかな

2010年1月28日木曜日

メ(ッケー)モ

どうも、ゆっくりしたいんだってね、なQです。

とにもかくにもメモを書く。
ていう人が結構多くて、インターネットはメモだらけなんじゃないかとおもっています。戯言はさておき。


①サーバーのエラーメッセージ
webサーバー立てると当然ながらイミフなアクセスをされます。一秒おきにrequest送ってきたり、どこぞのサーバーに勝手にプロキシで使おうとしたりします。認証つけたりはしていますが、やっぱり不安です。

というわけでエラーページを返すときのhtmlも殆ど何も返さないようにしますた。
このあたりの処理を変更するには、

/etc/httpd/conf/httpd.conf
の中の

Alias /error/ "/var/www/error/"
より下にやたらに書いてある

# ErrorDocument XXX /hoge/hoge

を変更します。例えば401のerrorを応答するときにはコメントアウトを外し、

ErrorDocument 401 hogehoge

とします。こうすると、401エラーを返すときはhogehogeが帰るようになります(本当にブラウザ上にhogehogeが表示されます(笑))

また特定のhtmlファイルを選択するとそのhtmlが返されるようになります。




②1.XWarpPointerの引数について
マウスポインタの位置を強制的に移動させる関数。

XWarpPointer(d,
       移動前のwindow,Noneでも良い、
       移動後のwindow,Noneでも良い、
       src_x
       src_y
       src_width
       src_height
       dest_x
       dest_y
)

移動後のwindowがNoneの場合、dest_x,dest_yだけポインタ今の位置から移動させる。
移動後のwindowが設定されている場合、そのwindowの絶対座標にポインタを移動させる。
移動前のwindowが設定されている場合、そのwindow内にポインタが有る場合のみポインタを移動させる。またsrc_x,src_y,src_width,src_heightは移動前のwindow内を四角形を表しており、この値が設定されている場合はこの四角形にポインタが入っている場合にポインタを移動させる。src_x,src_yはwindwo内における左上の座標、src_width,src_heightは四角系の幅、高さ。






xも
使ってみると
便利かも

2009年12月20日日曜日

つまりはメモ代わりってことだろ?

どうも、食べる方の鯖も好きですが、コンピュータの鯖もそれなりに面白いと思っているQです、こんちには。

というわけで鯖構築とかちょっとメモ。最近メモばかり書いてますが要するに、まあ書いた方が良いという自分の中での需要があるから書いているわけです。



①emacs設定

CentOS,emacs 21
ホームディレクトリの.emacs内に書く。

(setq transient-mark-mode t)
範囲指定で色づけ

(global-set-key "\C-h" 'delete-backward-char)
backspaceキーをbackspaceキーとして使う。ものによると思うが、自分のPCは\C-hとして認識されていた。

(global-font-lock-mode t)
プログラムを書くときに色をつける。(バージョン22は不要)



②useradd,userdel

新規ユーザーを作る。
root権限
useradd hogehoge
passwd hogehoge
(二回パスワード)

ユーザーを削除
userdel -r hogehoge



③ftp(vsftpd)サーバーを立ち上げほか

自動起動ON
/sbin/chkconfig vsftpd on
(/sbin/chkconfig --listで自動起動するサーバーを調べられる)

起動、停止、再起動
/etc/rc.d/init.d/vsftpd start(or stop or restart)

vsftpdに限らず、httpd,sshd等も同様の方法でいける。

なお、ランレベルというものを見ると、ある起動条件下で、何が起動するかを調べることが出来る。

/etc/inittabで
id:?:initdefault
の?に入っている数字を見れば、どのランレベルで起動するか分かる。
(/sbin/telinit ?で?のランレベルに切り替え)

ランレベル3はテキスト環境
ランレベル5はグラフィカル環境

/etc/rc.d/rc1(2,3,4,5,6).d/*
で各ランレベルで何が起動し、何が起動しないか分かる。
Kで始まるリンクは起動しない(終了)
Sで始めるリンクは起動する。
数字は起動する順番(小さい方から)



④ファイアウォール、SELinux

ファイアウォールによって閉じているポートを開く。
system-config-security level
で設定画面を呼び出し、開きたいポートを指定

ファイルにはユーザーごとにアクセス権限があり、SELinuxがそれを監視している。
したがってユーザーがプログラムを介してファイルにアクセスする為にはプログラムそのもの(例えばftp)にアクセス権限を与えなければならない。

/usr/sbin/setsebool -P ftp_home_dir true
これでftpで自分のホームディレクトリにアクセスできる。

httpdで一般ユーザー権限のディレクトリ、ファイルをapacheで公開する場合は、
ファイルがあるディレクトリに対しては
chmod o+rx ディレクトリ
でその他ユーザーに実行権限・読み込み権限
途中のディレクトリに対しては
chmod o+x ディレクトリ
でその他ユーザーに実行権限(通過)を与える。

また、公開するディレクトリは
/sbin/restorecon -R ディレクトリ
を実行する。
よく分からんが、ファイルとタイプの不整合を解決するものらしい



⑤cron
定期的にコマンドを実行させる。
/etc/crontab -eで設定環境を実行

* * * * * コマンド
で設定とあるが要するに
(minute) (hour) (day) (month) (week) コマンド
ということ。
指定したmonth、day、hour、minute、weekにコマンドを実行してくれる。

9 10 11 12 * emacs
としておけば12月11日10時(AM)9分になるたびにemacsが起動する。



⑥IPアドレス、ホストネーム、arrow,denyの設定

/etc/sysconfig/network
ネットワーク全体
HOSTNAME=saba.hogehoge ホスト名
DOMAINNAME=hogehoge ドメイン名
GATEWAY=0.0.0.0 ゲートウェイのアドレス

/etc/sysconfig/network-scripts/ifcfg-eth?
デバイスごとの設定
IPADDR=192.168.1.1
NETWORK=192.168.1.0
NETMASK=255.255.255.0
BROADCAST=192.168.1.255

/etc/resolv.conf
DNSの指定
nameserver 192.168.1.2 DNSサーバのアドレス

/etc/host.deny
アクセスを拒否するアドレス
/etc/host.arrow
アクセスを許可するアドレス(優先)



⑦各コンフィギュレーションファイル

ftp /etc/vsftpd/vsftpd.conf
http /etc/httpd/conf/httpd.conf
ssh /etc/ssh/ssh_config
見れば簡単なことはどうすれば良いか分かる。
なおsshでキーを登録した後、PCの再セットアップしたり、同じIPを持つPCで別のOSを起動したりするとキーがおかしいので認証が通らなくなる。そういう時はホームディレクトリにある
.ssh/known_hosts
の内容を消す。



⑧文字コード

apacheで公開するときコンフィギュレーションファイルの
AddDefaultCharaset UTF-8
をコメントアウトする。
これをやらないと、どんな文字コードで書いたhtmlファイルも
UTF-8として送られてしまうので文字化けする。
htmlファイル内に文字コードはかけるのでそれをクライアントに認識してもらえばよい。



結構な分量になったが、サーバー立てるときの足がかりにはなりそうだ。自分は記憶能力に難があるとしか思えないので、記憶の外部記憶としておきたいのである。
まだまだだけど、Linuxというものが以前ほど遠いところにあるものではなくなったように思う。そろそろもう一段二段上の使い方を学ぶ時期かもしれない。
あとはHDDミラーリングと停電対策をしておかないと…なんかあったら折角の設定もおじゃんである。







鯖を読む
読む暇あったら
鯖立てる