「linux」タグアーカイブ

Amazon Linuxでhttpd(2.2) + PHP(5.3)の組み合わせからhttpd24 + php54へのアップデート

Apacheが2.2から2.4になって設定の書き方が多少変わっているので対応するのが面倒だったのと、普通は動作確認にしっかり時間をかけないとなやつなのでずーっと先延ばしにしていたのだけど、勢いで対応したら割とすんなりいったので(大したものを動かしていないので)メモっておきます。

とりあえずバックアップを取りましょう。

最低限は

yum erase httpd httpd-tools php php-xml php-process php-cli php-common
yum install httpd24 php54

な感じで、あとは別途インストールしているものがあればそれぞれって感じで。

newrelicの拡張がアンインストール時に削除されていまうので

yum reinstall newrelic-php5

でどうにかなります。

追記: さらにPHP 7.2にした

yum erase php54 php54-cli php54-common php54-mbstring php54-mysqlnd php54-pdo php54-pecl-apc php54-pecl-memcache php54-process php54-xml
yum install php72 php72-mbstring php72-mysqlnd php72-pdo php72-opcache php72-pecl-apcu

要注意ポイントはapcの機能がapcuとopcacheになったのと、memcacheは外したところ。

dhcpdのフェイルオーバー時に”peer holds all free leases”とか言われた

CentOS 5 + dhcp 3.0.5-23で遭遇した現象。
dhcp-Aとdhcp-Bの二台構成で稼働している状態で、dhcp-Aが落ちたとして、dhcp-Bはdhcp-AがリースしていたIPアドレスもうまいこと捌いてくれるものだと思いきや、件のメッセージを残し何もしれくれませんでした。

続きを読む dhcpdのフェイルオーバー時に”peer holds all free leases”とか言われた

時刻がずれすぎてntpdが落ちる時の対応方法

仮想マシンで動かしている作業用のCentOS 6でntpdが毎日のように落ちるので調べてみたらこれが原因だったようだ。。
(ホスト側をシャットダウンせずに休止状態で使っているのが良くないんだろうけど)

/etc/ntp.conf に tinker panic 0 と書いておくと。

参考: http://d.hatena.ne.jp/incarose86/20110505/1312522379

シェルスクリプトを直してたらbashの正規表現の仕様変更でハマった。。

CentOS 5で動かしてたシェルスクリプトをCentOS 6で動かそうとしてハマった話。

if [[ "$PATH_NAME" =~ "^/var/log/(.+)$" ]]; then

で、なんでマッチしないんだよ。。。と思っていたら

if [[ "$PATH_NAME" =~ ^/var/log/(.+)$ ]]; then

って書かないといけないという話だったんだけど、なんだかねぇ。。

CentOS6でAFT(Advanced Format Technology)のHDDは使えるか?

Fedoraなら「使える!」って言っている人がいたけど、CentOSでは見かけなかったので、shuttle x27d(Atom 330)にWestern DigitalのWD10TPVTをつないでインストールしてみた(個人的にWDは壊れたことがないので好き)。

何の問題もなくインストールできたし、遅くなるという現象も今のところなし。sambaで家庭内ファイルサーバーにしてます。

hdparm -t で大体90MB/sec程度だけど。

それにしても、minimal.isoはいらんものが少なくて気持ち良い。

CentOS 5.7 にMySQL 5.1を公式rpmからインストール

MySQL の公式 RPM を使おう を参考に。

まずはここから必要なファイルをダウンロードして

  • rpm -ivh MySQL-client-community-5.1.59-1.rhel5.i386.rpm
  • rpm -ivh MySQL-shared-community-5.1.59-1.rhel5.i386.rpm
  • rpm -ivh MySQL-server-community-5.1.59-1.rhel5.i386.rpm
  • rpm -ivh MySQL-devel-community-5.1.59-1.rhel5.i386.rpm

これで /etc/ini.d/mysql start から起動して、 mysqlコマンドでもアクセスできたので以上終了。

と、思いきや yum install php-mysql してみたら libmysqlclient.so.15 が原因で競合が発生してしまったので、

  • rpm -e MySQL-shared-community-5.1.59-1.rhel5.i386.rpm
  • rpm -ivh MySQL-shared-compat-5.1.59-1.rhel5.i386.rpm

と、した後に yum install php-mysql が通ったので、ディストリビューションの用意しているリポジトリとの共存を考えると、MySQLの共有ライブラリは互換ライブラリを使った方が良さそう。

リモート側に負荷をかけないようにrsync

nice値を上げてもI/O負荷が下がらないしどうしよう。。という時に、ふと「ioniceとかないの?」と検索してみたらあったw

ionice -c3 rsync -a path REMOTE:/path/

とやってみたら、ほとんど負荷をかけずにrsyncできたので(すげー時間かかったけど)、今度はリモート側から実行するときはどうしよ?と、思ったらいい例があって助かった。

rsync -avz -e 'ssh -c arcfour' --rsync-path="ionice -c3 rsync" --delete REMOTE_HOST:/path /path/

これでオッケー。 参考: リモートサーバー側の負荷を抑えてrsyncを実行する方法