読者です 読者をやめる 読者になる 読者になる

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…

【CentOS】Redis

ちょっと興味があったので使ってみた。 memcachedの揮発しない版だと思ってたが、 予想以上に多機能過ぎた・・・。 DBなので当たり前といえば当たり前な気もする・・・・。 【redisをインストール】 remiリポジトリを使うので、設定しておくこと。 # yum -y …

Virtual Box を複数起動したら「Device eth0 does not seem to be present, delaying initialization」が出た

VirtualBoxを複数起動したら、以下のエラーが出た。 Device eth0 does not seem to be present, delaying initializationこれは仮想ホストのNICが見つからないというものらしい。VirtualBoxで複数の仮想ホストを起動して ネットワークはブリッジを使った。 …

【CentOS】【Vim】ファイルの文字コードをSJISからUTF-8に変えて、改行もちゃんとする

CSVファイルをSJISからUTF-8に変換する必要があった。 今まではPHPで mb_convert_encoding() していたけど、 前にCentOSのコマンドでできることを知ったので、実際に試してみた。記事カテゴリー、タイトルに「Vim」を指定したのは 自分が検索して出てこなか…

【CentOS】Sphinx をインストールして、ドキュメントを生成する

SphinxはPythonで書かれたドキュメントツール。 とあるライブラリのドキュメントがSphinxで書かれていて、 全然 make できなかったから、Sphinxをインストールした。 その時のインストール方法をまとめる。【インストール】 # yum install python-pip python…

【CentOS】Gearman のジョブを MySQL に保存する

Gearman + PHP でジョブサーバを作ったが、 Gearmanはジョブをメモリに保存するので、 再起動とかするとジョブが消える。 なので、ジョブをMySQLに保存する。他のサイトだと、 libdrizzle とか MySQL-UDF を使ってるけど、 前回インストールしたノーマルGear…

【CentOS】yum で Gearman + PHP をインストールする

ジョブサーバというものを知ったので、立ててみる。 色々種類があったけど、 Gearmanが一番簡単そうだったので、 Gearman + PHP を使ってみる。OSは CentOS 6.4 です。 すでにPHPは使える状態だとする。他のサイトではソースをmakeしてるみたいだけど、yum …

【CentOS】Gearmanのインストールでconfigure: error: cannot find Boost headers version >= 1.39.0

CentOS 6.4 に Gearmanをソースからインストールする時に以下のエラーが出た。configure: error: cannot find Boost headers version >= 1.39.0その後も何だかんだでエラーが出た・・・orz とりあえず、以下の4つを入れておけばOK。yum -y install boost-dev…

【CentOS】-bash: unmount: コマンドが見つかりません

USBメモリをマウントして、アンマウントしようと思ったら以下のエラーが・・・。 bash: unmount: コマンドが見つかりません 「unmount」ではなく「umount」だった・・・・。 単なる凡ミス・・・。

munin と Fluentd の違い

--- 2013/10/22 追記 --- 実際に使ってみました。 Fluentdはログ収集ツールなのに対して muninはリソース監視ツール。 なので、基本的に全然違う。Fluentdが単独で使われることはあまりない。 大体グラフ化ツールと一緒に使われる。 代表例が以下になる。 1.…

【CentOS】nkfコマンドでファイルの文字コード変更

Windowsで扱っているファイルはSJISなので、 CentOSやMacのようにUTF-8ベースのOSだと、 文字化けが発生する。ファイルをアップロードするシステムとか作ると、 これが面倒になる。そんなときに見つけたのが「nkfコマンド」。 これはファイルの文字コードを…

【CentOS】Pecl で use "channel://pecl.php.net/xxxx" to install のエラー

Pecl の xhprof をインストールしようとしたら、 以下のエラーが出た。pecl install xhprof ↓ Failed to download pecl/xhprof within preferred state "stable", latest release is version 0.9.3, stability "beta", use "channel://pecl.php.net/xhprof-0…

【Apache】gracefulで再起動

Apacheの再起動には restart を使っていた。 # /etc/init.d/httpd restartただ、これだと全子プロセスが kill されてしまうので、 ファイルをDLしているユーザーがいたりすると、接続が切れてしまう。それを回避するのが「graceful」。 以下のようにすると、…

【CentOS】-bash: ftp: コマンドが見つかりません

"-bash: ftp: コマンドが見つかりません上記のエラーが発生した。 vsftpd はインストールしたのに・・・・。と思ったら、vsftpdはサーバ側のソフトで、 クライアント側のftpソフトは別にある。当たり前と言えば当たり前だが、 CentOSをクライアントで使うこ…

【PHP】【CentOS】php_network_getaddresses: getaddrinfo failed: Name or service not known

PHPでHTTPアクセスをしていたら、 「php_network_getaddresses: getaddrinfo failed: Name or service not known」 のエラーが発生した。DNSの設定不備で名前解決ができていないらしい。 ドメインではなく、IPでアクセスすると正常に動作する。 GoogleのDNS…

プロセスの停止

プロセスの停止1.全プロセスを確認する。 #ps -ef2.任意のPIDを確認する。3.PIDを指定して停止する。 #kill -KILL 25763

コマンド履歴(historyコマンド)と実行

最近知ったんだけど、コマンドの履歴とそれを実行することができる。履歴は historyコマンド で閲覧できる。 # history実行すると、以下のように表示される。 466 cd 467 ls 468 jobs 469 ls 470 cd 471 ls 472 ls 473 ls 474 ls履歴には番号が振ってあるの…

munin2 でグラフのズーム機能が動作しない

yum でインストールした munin2 のグラフズーム機能が動かなかった・・・。 なので、動くようにする。 ----【追記】---- 2013/07/04時点でyumインストールするだけで動作することを確認しました。 - サーバは CentOS 6.2 です。 ----【追記】---- 今回の環境…

メモリとCPUとハードディスク容量の確認

メモ。【メモリ】 #free -m -m → メガ単位で出力する【cpu】 #less /proc/cupping【ハードディスク容量】 #df -h【ディレクトリ容量】 du -h --max-depth=1 ./

ERROR 1030 (HY000): Got error 28 from storage engine

MySQLが動かなくなって、シェルで「use database」を叩いたところ、 「ERROR 1030 (HY000): Got error 28 from storage engine」のエラーが出た。これはハードディスクの容量がいっぱいということらしい・・・。 「df -h」で容量を確認すると、たしかに使用…

memcached

memcachedを使ってみた。負荷分散のために複数のWebサーバでセッションを使用するときに memcachedサーバで一括管理できたりする。KVSとしての使い道もあるかもしれないけど、 再起動でデータ消えるからダメかな・・・。 セッション管理で十分か。