linux

RHEL6 linux quota usrquota grpquota

久々にやったら昔とコマンドのオプション変わったのができなかったのでfstab /dev/mapper/vg1_lv_home /home ext4 defaults,usrquota,grpquota 0 0aquota.user, aquota.group はtouchなどをしなくてもquotacheck -c (create) で作ってくれた。 mount /home -…

apache でload average の値によってページを差し替えるサーバ負荷に優しい方法

# aws でauto scaling しろよ、というのはさておき http://httpd.apache.org/docs/2.2/rewrite/rewritemap.html http://httpd.apache.org/docs/2.2/programs/httxt2dbm.html RewriteMap で外部のファイル/コマンドを実行した値を変数に入れて、RewriteCond …

vSphere APIでVMware をlinuxから操作する

account作って、my vmwareからdownloadVMware vSphere CLI https://developercenter.vmware.com/web/dp/tool/vsphere_cli/ vSphere Perl SDK for vSphere https://developercenter.vmware.com/web/dp/sdk/55/vsphere-perl というのからも別ファイルがdownloa…

色つきのdiff

colordiff (yum install --enablerepo=epel colordiff) git diff --color git diffはリポジトリ管理してないファイル同士のdiffにも使えるのが素敵。最近だとだいたいOSに入ってそうだし。

RHEL yum でinstallしたapache はLoadModuleからsuexec_module を決しても/usr/sbin/suexecがあるとsuexecが有効になるみたい

# source installした場合は試してない。httpd.conf (or includeされているその他のfile)でloadmoduleしている場合 $ grep suexec httpd.conf LoadModule suexec_module modules/mod_suexec.so $ httpd -M 2>&1 | grep suexec suexec_module (shared)起動時…

scriptで取ったログをcolで変換すると怒られてテキストに変換できないときの対処

scriptで取ったログは入力したバックスペースや表示される(目に見えない)制御記号なども記録されるので $ col -bx < typescript > log.txtなどとすれば良いんけど、端末の文字コードとテキストの文字コードが一致していないと(?)文字化けして怒られて、変換…

RHEL bondingの設定教えてくれるURL

https://access.redhat.com/labs/networkbondinghelper/ 要redhat network account ガイドにしたがってポチポチ入れてたらコンフィグ(ifcfg-*)用意してくれる。 ど忘れしたときに良いかも。

MySQLの公式yum リポジトリ

RHELのyumのmysqlはバージョン低いから今までdev.mysql.domからbinary取ってきてたんだけど、これだと構成管理上めんどくせーなーと思っていた。 が、いつのまにかyum/rpmが用意されてた。ありがたや http://dev.mysql.com/downloads/repo/yum/ # wget http:…

memo: ddでバッファを含まずにdiskのwrite(sequential)の性能を見るときは conv=fdatasync をつける

ちょいちょいオプション忘れる $ dd if=/dev/zero of=./hoge.dat bs=1M count=10000 conv=fdatasync

RHEL系で古いカーネルをさくっと削除する

yum update しても古いカーネルは残っているので、場合によっては適当なタイミングで削除しないといけない。で、今まではrpm -qaやuname -rなどでkernelのバージョンを確認したあと、不要なものを都度yumで指定して消してたんだけど、素敵コマンドで一発で出…

bashでリダイレクトを使ったソケット通信

vpsのhttpdのログにbash脆弱性を狙ったアクセスが来ていて、たいていはどこかへpingを実行したり、HTTPヘッダにX-Bash-Test というのを含めて脆弱性を確認してるだけ、みたいなのだけど、その中で見慣れないログを見つけた。 User-Agent: () { :; }; /bin/ba…

古いRHEL (RHEL5) を放置してたらSSLの証明書期限切れでrhn_registerが使えなくなってた時の対応

https://www.jpcert.or.jp/at/2014/at140037.html bash 脆弱性対応のためにyum update bash しようとしたら、一部のRHEL5のサーバでyum が使えなくなっていた(もちろんサブスクリプション登録はしている)expiredという文字だけ見て、はじめはRHELの更新忘れ…

ncで簡易webサーバを起動する

外からNW、FWの疎通確認をしたいけどまだwebサーバでhttpd起動してなかった、というときなどに。 # echo "HTTP/1.0 200 OK" > hoge.txt # echo "" >> hoge.txt # echo "hogehoge" >> hoge.txt # while :; do nc -l 80 < hoge.txt ; done ファイル作るの面倒…

ngrepで保存したファイルはフラグが全部"P"になってしまう

ngrep -W byline をつけるとだいぶ便利なので、ついそのままの勢いで-O /tmp/hoge.cap などとしていた。 で後からそのパケット見ようとしたらRST以外のフラグが全部Pになってしまってた?? 保存するときはやはりtcpdump -w file 使った方が良いかな。 保存…

drbd 8.4.5から管理系のコマンド(drbdadm等)がdrbd-utils に分離してた

http://lists.linbit.com/pipermail/drbd-user/2014-June/021381.html http://oss.linbit.com/drbd/8.4/drbd-8.4.5.tar.gz http://oss.linbit.com/drbd/drbd-utils-8.9.0.tar.gz なので、それぞれinstallする。 drbd kernel module (drbd.ko) tar zxvf drbd-…

splunk - リアルタイムログ解析プラットフォーム

名前は聞いたことあったけど、interopで詳細聞いて面白そうだった。 fluentd + growthforecast or その他の見える化ツールのようなもの? http://ja.splunk.com/ ドキュメントだいぶ充実してる。 linuxや各種ネットワーク機器用のapp (cacti でいうtemplate…

couchbase server - ドキュメント型NoSQL DB 触ってみたメモ

db tech showcase で詳細聞いておもしろそうだった。 http://www.couchbase.com/jp/ コミュニティ版(無償)とエンタープライズ版の2種類 コミュニティ版はエンタープライズ版の1つ前のメジャーバージョンが提供される エンタープライズ版でも2ノードまでは無…

VMware ESXi 仮想マシンにvlan tagを通す

http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2078548 http://kb.vmware.com/selfservice/search.do?cmd=displayKC&docType=kc&docTypeID=DT_KB_1_1&externalId=1003806 http://kb.vmware.com/selfservi…

シェルスクリプト内にバイナリファイル埋め込んで、それをシェルから触る

cybozuのパッケージインストールシェル見てて知った。でも自分で使う機会なさそう。例えば何かソースを圧縮したtar.gz を埋め込んでおいて、シェルを実行したら、そのtar.gzを展開して何か操作をする。 source.sh この記述方法だとポイントはtailの行数。シ…

opensslでOCSP Responder を起動する

# openssl ocsp -index index.txt -CA cacert.pem -rsigner cacert.pem -rkey \ private/cakey.pem -port 2560 Enter pass phrase for private/cakey.pem: # cakey.pemのpassphrase を入力 Waiting for OCSP client connections... Invalid request Responde…

RHEL6/CentOS6 でiproute netns (network namespace) を使ってnetnsの勉強

http://blog.hansode.org/archives/52634753.html http://ritchey98.blogspot.jp/2013/12/centos6-linux-network-namespace.html OS標準のiprouteではversionが古いので、openstackのpackageを利用すると良い。 netnsで遊ぶ http://aikotobaha.blogspot.jp/2…

grub install memo

昔はgrub シェルでinstall コマンドを自力で書いてた気がするけどsetup だけで良かったぽい。 man grub info grub /dev/sdb1 に/boot パーティションある場合 # grub > device (hd0) /dev/sdb > root (hd0,0) > setup (hd0) > quit

linuxでサーバのiopsを調べる - iostat もしくは dstatで

メモ iosat -x のr/s と w/sの合計 dstat -r readとwriteの合計

rhel7 beta ちょっとだけ触ってみた

適当にさわったメモ。 例のごとく公式のドキュメント等はまだ読んでない。 サービス / デーモン サービスの起動がRHEL6時代の upstart からsystemd へ変更している。 # chkconfig httpd on 情報:'systemctl enable httpd.service'へ転送しています。 ln -s '…

kippo - ssh honey port

python製 twistedがいるけど、twisted 13.1以降にしてしまうと twisted.web.client._parse がなくなっているからそのままではkppoのwgetが動かない。 お試しで使うだけなので、とりあえずtwisted 13.0 を入れる。 http://twistedmatrix.com/Releases/Twisted…

nc でport scan

nmapも使ってたりすると混同してオプション忘れがちになるのでメモ。 ncでport scan(daemonがlistenしているか確認するだけ#データ何も送らなくてよい)場合は-z optionを使うと良い。 $ nc -z 192.0.2.1 80; echo $? Connection to 192.0.2.1 80 port [tcp/h…

CentOS 5.10でmysql51、mysql55がパッケージに追加されていた

RHEL 5.10はまだ使ってないけど、恐らくそっちに追加されて追随しているものと思われる。 http://wiki.centos.org/Manuals/ReleaseNotes/CentOS5.10 # yum search mysql51 mysql51.i386 : Package that installs mysql51 mysql51-build.i386 : Package shipp…

ansibleでvalidate optionを使うとエラーになる現象の対策

tasksでhttpd.conf をcopyする際にvalidateにapachectl configtestを実行するよう設定すると、、、 - name: copy httpd.conf template action: template src=/template/apache/conf/httpd.conf.j2 dest=/etc/httpd/conf/httpd.conf backup=yes validate='/us…

Logfile::Rotate - perl でログをローテート

諸事情でlogrotate を使わないでスクリプトで自前でローテートしたいときがたまにあって、でも自力で hoge.log をhoge.log.1(.gz)、hoge.log.1(.gz)をhoge.log.2(.gz) にリネーム、、、なんてことやってたんだけど面倒くさくてやだなーと思っていたら素敵モ…

checkinstall でrpm作成の復習

毎回ソースインストールをする苦行は辛いし、かといって1からspecファイル書くのもこれまた辛いので、 checkinstall に頼ろうとしたけど久しぶりすぎて完全に忘れていたので復習。 install checkinstall git から取ってくる。 $ git clone http://checkinsta…