CentOS

ansible で ERROR: The file local is marked as executable, but failed to execute correctly. If this is not supposed to be an executable script, correct this with `chmod -x local`.

ansible-playbook で以下のエラーが出た。ERROR: The file local is marked as executable, but failed to execute correctly. If this is not supposed to be an executable script, correct this with `chmod -x local`.hostファイルに実行権限が付いてい…

Flyway で ERROR: Unable to scan for SQL migrations in location: classpath

以下のエラーが出た。ERROR: Unable to scan for SQL migrations in location: classpath: xxxx/xxxx/xxxxxconfファイルのsqlディレクトリへのパスが認識できないみたい。結論から言うと、confのパス指定が間違っていた。 以下はconfの説明文を抜粋。 Locati…

Flywayの環境切り分けについて

DBは開発、検証、本番で異なるのでflywayもそれに対応して運用する必要がある。利用するconfファイルはコマンドラインオプションで指定できるので、DBごとにconfを用意して実行することが可能。 また、オプションを指定したコマンドを実行するシェルを利用し…

Flyway と Liquibase の比較

Flyway と Liquibase の比較結論としてはFlywayを利用することにしました。 FlywayよりもLiquibaseの方が多機能であることは間違いない。 個人的には以下がLiquibaseで魅力的だった。1.ロールバックができる。 2.ドキュメント出力できる。 3.DBが変わっても…

chef の bash で sed を実行したら unknown option to 's' でエラー

chef の bash で sed を実行したら以下のエラーが出た。STDERR: sed: -e expression #1, char 41: unknown option to 's'これは sed で使っている区切り文字がダメらしい。 Perlでも文字列置換の時に区切り文字を自由に指定できたような・・・ ということで…

sed で文字列置換

メモ。sed -i -e "s/;date.timezone =/date.timezone = Asia\/Tokyo/" /etc/php.ini特殊文字はエスケープが必要。iオプションを付けると 対象ファイルに置換後の内容を上書き保存する。 付けない場合は置換後の内容をコンソール上に表示するだけ。

chef client で Failed to authenticate to https://xxx as xxx with key /home/chef/.chef/xxx.pem のエラー

ちゃんと knife configure -i を実行したのに chef client list で以下のエラーが出た。ERROR: Failed to authenticate to https://192.168.128.73:443 as server1 with key /home/chef/.chef/server1.pem Response: Invalid signature for user or client '…

sudo を実行することを許可されていません

「sudo を実行することを許可されていません」sudo を設定しているのに上記のエラーが出た。 具体的には visudo で chef用のユーザーをファイルの最後に追記した。 chef All=(ALL)ALL chef All=(ALL)NOPASSWD: /usr/local/bin/chef-soloエラーの理由は分から…

Docker の CMD, ENTORYPOINT で MySQL が起動しない

/usr/bin/mysqld_safe を実行する前に初期化処理を実行しないといけない。 mysql_install_db を実行してあげればOK。 FROM cd934e0010d5 MAINTAINER f_takahashi RUN yum -y install mysql-server RUN chkconfig mysqld on CMD ["/usr/bin/mysqld_safe"]↓ FR…

knife solo cook で chef-soloディレクトリが生成されてしまう

これは knife solo cook した際にリモートサーバに生成されるディレクトリ。 knife solo cook localhost のように自分自身を対象に knife solo cook を実行すると当然chef-soloディレクトリが生成されてしまう。

Docker の yum で Couldn't resolve host

Dockerのyumで以下のエラーが出た。Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=6&arch=x86_64&repo=os error was 14: PYCURL ERROR 6 - "Couldn't resolve host 'mirrorlist.centos.org'" Error: Cannot retrieve repository met…

CentOS で Multilib version problems found

yumリポジトリの centos plus を有効にすれば解決。

Vagrant(Packer) の キックスタートファイルで Cannot find a valid baseurl for repo

キックスタートファイルでインストールする際にエラーがでた。 うまく動作したキックスタートファイルとの差分を確認すると repo の部分が違っていたので修正する。repo --name="CentOS" --baseurl=cdrom:sr0 --cost=100 ↓ repo --name="centos" --baseurl=f…

CentOS で No package docker-io available

CentOS6.0のisoを yum update でCentOS6.5まであげたものだと yumにdocker-ioが存在しなかった。CentOS6.5のisoをインストールすると yumでdocker-ioをインストールできました。

chef の knife で /usr/lib/ruby/gems/1.8/gems/chef-11.12.8/lib/chef/knife/core/subcommand_loader.rb:172:in `latest_specs': wrong number of arguments (1 for 0) (ArgumentError)

chef の knife コマンドを使うと以下のエラーが出た。 ---------------------- /usr/lib/ruby/gems/1.8/gems/chef-11.12.8/lib/chef/knife/core/subcommand_loader.rb:172:in `latest_specs': wrong number of arguments (1 for 0) (ArgumentError) from /us…

chef で Failed to build gem native extension

以下のエラーが発生。 ERROR: Error installing chef: ERROR: Failed to build gem native extension. /usr/bin/ruby extconf.rb mkmf.rb can't find header files for ruby at /usr/lib/ruby/ruby.h Gem files will remain installed in /usr/lib/ruby/gems…

NICのMACアドレスを ネットワークデバイス にマッピングしているファイル

単なるメモ。/etc/udev/rules.d/70-persistent-net.rules SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:1b:11:5e", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0" # PCI device 0x8086:0x100e (e1000) SUBSYSTEM=="net", ACT…

Vagrant で the "vboxsf" file system is not available

yum update したら、 以下のエラーが出た。 Failed to mount folders in Linux guest. This is usually because the "vboxsf" file system is not available. Please verify that the guest additions are properly installed in the guest and can work pro…

PHP5.4 に OPcache をインストールする。

APCはPHP5.4から対応しなくなる。 ということで、代わりにOPcacheを使う。PHP5.5からは標準同梱しているが、 PHP5.4だとソースからインストールする必要がある。まずは php-devel をインストール。 # yum -y install php-devel次にソースを持ってくる。 # gi…

Apache の php.conf がない

php.conf がなかった。原因は yum で php をインストールしていなかったから。 yum -y install phpこれで解決。 これで2回もハマるとは・・・。 自分用にメモ。

【CentOS】起動時の任意のコマンドを実行させる

バーチャルボックスを起動するたびにホストOSのディレクトリをマウントするのが面倒なので、起動時にコマンドを実行させる。方法は簡単。 /etc/rc.d/rc.local に記載するだけ。 touchの部分はデフォルトで記載してあった。 今回は mount を追記。 touch /var…

【CentOS】隠しファイルをcpする

cpでディレクトリ配下の全ファイルをコピーしようとしたけど、 隠しファイルはコピーしてくれなかった。隠しファイルをコピーする場合は cp ではなく rsync を使う。 rsync は cp の強化版って感じかな。 隠しファイルもコピーしてくれるので便利。 使い方は…

【CentOS】sedを使ってログの特定行を抽出する

過去に sed についてメモったんだけど、 見つからないのでメモ。以下は test.txt というファイルの1行目から10行目を取得する。 sed -n '1,10p' ./test.txt

【CentOS】nohup でバックグラウンド処理

時間のかかるコマンドは nohup でバックグラウンド処理させるといい。 # nohup php ./test.php &上記のコマンドで実行できる。 test.phpの echo はコマンドを実行したディレクトリの nohup.out にログとして記録される。ログが不要であれば、以下のように出…

【CentOS】The frontend does not match Zabbix database.

Zabbixをインストールしようとしたら、 DB接続設定で以下のエラーが出た。The frontend does not match Zabbix database.これはDBにテーブルが存在しない場合に表示されるっぽい。 CREATE DATABASE したあとに、 テーブル生成クエリをインポートする必要があ…

【CentOS】yumリポジトリの一覧、追加、削除

メモ。【一覧】 # rpm -qa これだと全部出るので、パイプ + grep で絞りこむといい。 【削除】 # rpm -e パッケージ名パッケージ名には一覧で確認したパッケージ名を指定する。 【追加】 # rpm -ivh http://download.fedora.redhat.com/pub/epel/5/x86_64/ep…

【CentOS】Fluentd (td-agent) で 「td-agent が停止していますが pid ファイルが残っています」のエラー

td-agent を起動してイジっていると、 なんか動かなくなった・・・。status を確認してみると以下のエラーが・・・。 「td-agent が停止していますが pid ファイルが残っています」これは起動には成功したけど、動いていない場合に表示されるらしい。 そんな…

【CentOS】LVSでロードバランサーを構築する

インストールVirtualBoxを利用して以下の構成で実装した。LVS ブリッジ(dhcp + 仮想IP) Server1 ブリッジ(dhcp) Server2 ブリッジ(dhcp)本来はLVSにNICを2枚挿して、 内側と外側のネットワーク境界に設置するけど、 面倒なので普通にブリッジで構成する。ま…

【CentOS】NICで仮想IPの設定

仮想IPというものを知った。 仮想IPは1枚のNICに複数のIPを割り当てることができる。 なんとなく便利なような・・・。 そうでもないような・・・。設定は簡単。 デフォルトNICのconfファイルをコピーするだけ。デフォルトNICが「ifcfg-eth1」だとすると、 if…

【CentOS】Gearmanでクラスを使う

前にGearmanを使ってみたけど、 Workerの処理はファイル内に function で定義したものだった。 実際に使う時はクラス化したものを使いたいので、調べてみた。意外と簡単。Workerは以下。 addServer(); $worker->addFunction('message', array($message, 'sho…