ホーム > サーバ関連

サーバ関連 アーカイブ

tarで固める際に不要なディレクトリを除く方法

サーバのソースを tar で固める際にログファイルやワークファイルなどを除きたい場合は以下を使う。

tar czvf test.tar.gz test --exclude 'aaa' --exclude 'bbb'

次世代マーケティングプラットフォーム 広告とマスメディアの地位を奪うもの
湯川 鶴章
ソフトバンククリエイティブ
売り上げランキング: 2242
おすすめ度の平均: 4.5

4 OneToOneマーケティングが近づいてきた!
3 半額なら価値あるけど。この金額だと人による。
4 テクノロジーの面から考察した広告の未来
4 「20世紀型の広告はいずれ消滅する」という大予言
3 これからの広告媒体の変遷を客観的に予測している。

Linux 上で改行コードを変換する

改行コードの変換を参考に改行コードを変換する。

# foo.txtというファイルを調べたければ
$ od -c foo.txt | less

# Mac -> Unix
$ tr \\r \\n <mac.txt>unix.txt

# Windows -> Unix
$ tr -d \\r <windows.txt>unix.txt

# Unix -> Windows
$ perl -p -e 's/\n/\r\n/' <unix.txt>windows.txt

yumでエラー「Metadata file does not match checksum」

yum update で以下のようなエラーが出て直らない。

[Errno -1] Metadata file does not match checksum
Trying other mirror.

以下サイトで解決。設定ファイルを下の内容で丸々置き換えることで直りました。それ以上の原因追及はしたほうがいいけれどしていません。
→どなたか原因がわかった人がいればおしえてください。

レポジトリ - なんでも Do it yourself

[base]
name=CentOS-$releasever - Base
baseurl=http://ftp.riken.jp/Linux/caos/centos/$releasever/os/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&amp;repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://ftp.riken.jp/Linux/caos/centos/RPM-GPG-KEY-CentOS-5
#gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

#released updates
[updates]
name=CentOS-$releasever - Updates
baseurl=http://ftp.riken.jp/Linux/caos/centos/$releasever/updates/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&amp;repo=updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://ftp.riken.jp/Linux/caos/centos/RPM-GPG-KEY-CentOS-5
#gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

#packages used/produced in the build but not released
[addons]
name=CentOS-$releasever - Addons
baseurl=http://ftp.riken.jp/Linux/caos/centos/$releasever/addons/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&amp;repo=addons
#baseurl=http://mirror.centos.org/centos/$releasever/addons/$basearch/
gpgcheck=1
gpgkey=http://ftp.riken.jp/Linux/caos/centos/RPM-GPG-KEY-CentOS-5
#gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
baseurl=http://ftp.riken.jp/Linux/caos/centos/$releasever/extras/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&amp;repo=extras
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://ftp.riken.jp/Linux/caos/centos/RPM-GPG-KEY-CentOS-5
#gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
baseurl=http://ftp.riken.jp/Linux/caos/centos/$releasever/centosplus/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&amp;repo=centosplus
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=1
gpgkey=http://ftp.riken.jp/Linux/caos/centos/RPM-GPG-KEY-CentOS-5
#gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

svn ディレクトリを除いてファイルのみを find する方法

find . -name .svn -prune -o -type f -print // find
find . -name .svn -prune -o -type f -print|grepl sample|xargs ls -l // find sample という名前のついたファイルを ls -l
find . -name .svn -prune -o -print0 | sudo xargs -0 chown xxx:xxx // svn ディレクトリを除いてユーザーを一括変更
find . -name .svn -prune -o -type f -print0 | sudo xargs -0 chmod 775 // svn ディレクトリを除いてパーミッションを一括変更
svn st|grep '^?'|awk '{print $2}' |xargs svn add // 一括で svn add

CentOS5でyumを使えるようにするには

1.プロキシを設定

# vi /etc/yum.conf

# 以下を yum.conf に追加
proxy=http://xxx:ポート番号

yum には必要ないが以下もやっておくといい

export http_proxy=http://xxx:ポート番号
vi ~/.subversion/servers

2.「GPG key retrieval failed: [Errno 4] IOError: &amp;amp;amp;amp;lt;urlopen error」のようなエラーがでるようなら以下を試す

[centosplus] の enabled を 1 に変える

# vi /etc/yum.repos.d/CentOS-Base.repo

あとはキーを設定する

wget http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
rpm --import RPM-GPG-KEY-CentOS-5

参考
http://r-sos.blogspot.com/2007/04/cent-os-50_25.html

[24時間365日] サーバ/インフラを支える技術 ‾スケーラビリティ、ハイパフォーマンス、省力運用 (WEB+DB PRESS plusシリーズ)
安井 真伸 横川 和哉 ひろせ まさあき 伊藤 直也 田中 慎司 勝見 祐己
技術評論社
売り上げランキング: 704
おすすめ度の平均: 4.5

5 インフラ構築する前に必読です。
5 Webサービスを支えるインフラの最前線がわかる本
4 正直、ちょっと難しい。。。
4 細かいtipsは役に立つが…HAの基本は先に知っている必要がある
5 おもしろい!

CentOS徹底入門 第2版 (DVD付)
飛田 伸一郎 中島 能和
翔泳社
売り上げランキング: 40774
おすすめ度の平均: 5.0

5 (初級の中〜中級の下の方にとっては)良書です

RHEL5にXENをインストールしてみた

RedHat Linux 5 に XEN をインストールした。

/etc/xen/DomainU-Name にある設定ファイルを編集しないと外部と接続できないのにはてこずった。

参考にしたのは以下の 2 サイト。
ほんとはもっといっぱい参照したけどほんとに使ったのはこれぐらい。

http://wp.techtarget.itmedia.co.jp/contents/?cid=852
http://ysmt.blog21.fc2.com/blog-entry-177.html

Virtual Machine Managerを使ってGUIでインストールする。
インストール元としてFTPを採用(ほかHTTP、NFSとか使えるみたい)。

Domain0にFTPサーバを立ててRHEL5のメディアをDomain0のローカル領域にコピーする。
メディア突っ込んでDomain0で
# mount /dev/dvd /media
# cp -a /media/* /var/ftp/pub

FTPサーバはRHEL5にvsftpdが入ってるからそれを使う。ちなみにanonymousが有効じゃないとダメ。
vsftpdはデフォルトで
・anonymousが有効
・ログイン先となる領域は↑でメディアをコピーした/var/ftp/pub
のはずだから、vsftpdの設定はデフォルトで構わないと思う。

VM をファイルベースじゃなくてパーティション(物理 or LVM)に入れようとか思ってて、Domain0にRHEL5インストールする時に普通にGUIインストーラでパーティションを切ってるとそのパーティションは必ずどこかにマウントされてるはず。このVM用の領域はアンマウントしておかなきゃいけない。/etc/fstabからもマウント設定を削除しておく。

これで準備OK。

Virtual Machine Managerを起動して
・新規

・進む

・システム名入力
  ホスト名を入力。

準仮想化、完全仮想化の選択
  準仮想化を選択。

インストールメディアのURL
  ftp://192.168.122.1/pub

通常のパーティション、シンプルファイルの選択
  通常のパーティションを選択。あからじめ作っておいたLVMの領域を指定。

仮想ネットワーク、共有物理デバイスの選択
  仮想ネットワークでdefaultを選択。

VMの最大メモリ、起動時メモリ、仮想CPU数を指定

完了(VMが作成された)

ここからOSのインストール

Choose a Language
  Japanseを選択。

Language Unavailable
  無視してOK。

Keyboard Type
  jp106を選択

Configure TCP/IP
  Enable IPv4 supportのDHCPを選択。IPv6は無効にする。

以降は通常のRHEL5のインストールと同じでインストーラに従っていけばいい。

Domain0のtcp_wrappersを有効にしてる場合は/etc/hosts.allow、/etc/hosts.denyの設定に注意しないとFTPサーバに接続できない。

Domain0の/etc/resolv.confに外部のDNSサーバを指定してたらFTPサーバからのパッケージ群の読み出しが激しく遅かった。
プライベートアドレスを逆引きできるように内部のDNSサーバにしたり/etc/hostsを設定した方がいい。

で、VMはOSインストールする前にFTPでDomain0と通信を行なうわけだけど、この時のTCP/IPの設定はどうなっているのか?
実はDomain0インストール時に仮想化のパッケージを選択してるとデフォルトでlibvirtdがインストールされて
・Domain0上に192.168.122.0/24のDCHPサーバが起動する。
・Domain0に仮想スイッチvirbr0が作られる。
・Domain0には192.168.122.1が割り当てられてvirbr0に接続される。
っていう状態になる。

で、上のVM作成時のConfigure TCP/IPでDHCPを選ぶと、VMには一時的に192.168.122.0/24のアドレスが割り当てられてvirbr0に接続される。これで Domain0と通信できるようになるというわけ。このネットワーク設定はあくまで”一時的”なものでインストールメディアを読み込むためだけに使う。

で、本番のネットワーク設定は通常通りRHEL5のインストール段階で行なうわけだけど、インストール完了後Domain0の仮想スイッチの状態を見てみると↓になってた。

# brctl show
bridge name bridge id STP enabled interfaces
virbr0 8000.feffffffffff no vif13.0
xenbr0 8000.feffffffffff no pbond0
vif0.0

vif13.0(13の部分は可変)がDomainUのインターフェースなわけだけど、virbr0に関連付けされてる。xenbr0じゃないと外部と通信できない。
なので、Domain0にあるDomainUの設定ファイルを書き換える。

【/etc/xen/DomainU-Name】
vif = [ "mac=xx:xx:xx:xx:xx:xx,bridge=virbr0" ]

vif = [ "mac=xx:xx:xx:xx:xx:xx,bridge=xenbr0" ]
に修正。

DomainUを再起動。

Xen徹底入門
Xen徹底入門
posted with amazlet at 08.08.06
平 初 長谷川 猛 宮本 久仁男 大島 孝子
翔泳社
売り上げランキング: 25543
おすすめ度の平均: 3.5

5 かなり良かったです!
4 ドキュメント化されていないことまでドキュメント化
1 間違いが多い

Home > サーバ関連

ぴくちゃー
ブログパーツ

ページの上部に戻る