:::: MENU ::::
Posts tagged with: SL6

PHP5.6のgd-lastがyum更新で失敗する

CentOS/sl6のyumにて、いつも通り更新を行ってましたが、gd-lastで引っかかってました。

エラー: パッケージ: gd-last-2.2.5-1.el6.remi.x86_64 (remi)
要求: libwebp.so.5()(64bit)

libwebpを要求しているようなので、epelからlibwebpをインストールするだけで解決

epelがまだインストールされていない方は、
# yum -y install epel-release
# yum update
libwebpをインストール
# yum -y install libwebp --enablerepo=epel

gd-lastをインストール
# yum -y install gd-last --enablerepo=remi


Subsonic 4.xから6.0betaへアップデート

このサイトでも何度かSubsonicのアップデート情報を書いてますが、さほど変わりはありません。

環境は、sl6上で、Subsonic 4.xから6.0betaへのアップデートです。

たぶん、rpm -Uvhでアップデートかけても大丈夫かと思いますが、今回のアップデート作業は下記の手順で行いました。

  1. Subsonicが起動していたら停止
    # service subsonic stop
  2. javaのインストール
    # sudo yum install java-1.7.0-openjdk
  3. 最新版をダウンロード
    (http://www.subsonic.org/pages/download.jsp)でrpmをダウンロード
  4. アップデート
    # sudo yum install --nogpgcheck subsonic-x.x.rpm

もし、アップデートが上手くいかなければ、古いパッケージを削除してからインストールしましょう。

# sudo yum remove subsonic

バージョンアップ後は、4.xからの設定等もそのまま引き継がれました。
5.xのバージョンをすっ飛ばしてのバージョンアップなので、結構UIが洗練されてますね。

6.0betaではHTML5Audioが採用されていますが、やっぱりiPhone/iPadのブラウザ上での再生はダメか。
また、DLNAを有効にしても、我が家のムービーファイルは再生出来なかった。(T_T)


Scientifix Linux 6.4から6.6へアップグレード

ここのサーバで稼働しているScientific Linux 6 (sl6)を、バージョン6.4で止まったままでしたので、最新(現時点で6.6)へアップグレードしました。

一応、バージョン確認

$cat /etc/redhat-release
Scientific Linux release 6.4 (Carbon)

普通にyum updateしても、最新へアップグレードされないままでしたので、下記コマンドで無事6.6へアップグレード。

# yum install -y yum-conf-sl6x
yum clean all
yum update

アップグレード後、再起動して確認
$ cat /etc/redhat-release
Scientific Linux release 6.6 (Carbon)


wrkのインストール

ベンチマークツールのwrkをインストールしました。

Macでは、brewパッケージで簡単に導入できます。

$ brew install wrk

Linuxでは、パッケージが用意されていないので、githubのリポジトリを利用してインストールします。

$ cd /tmp
$ git clone https://github.com/wg/wrk.git
$ cd wrk/
$ make
$ sudo cp wrk /usr/local/bin/.

使い方

$ wrk -t スレッド数 -c 接続数 <url>

Usage: wrk <options> <url>
  Options:
    -c, --connections <N>  Connections to keep open
    -d, --duration    <T>  Duration of test
    -t, --threads     <N>  Number of threads to use

    -s, --script      <S>  Load Lua script file
    -H, --header      <H>  Add header to request
        --latency          Print latency statistics
        --timeout     <T>  Socket/request timeout
    -v, --version          Print version details

  Numeric arguments may include a SI unit (1k, 1M, 1G)
  Time arguments may include a time unit (2s, 2m, 2h)

 


APCからZend OPcacheへ変更

Scientific Linux(sl6)で運営しているこちらのサイトで、APCをやめて、Zend OPcacheへ変更してみた。

現状の環境は、

Scientific Linux: 6.4
PHP: 5.4.19 (php-fpm)
nginx: 1.4.2
APC

Zend OPcache導入

redhat系のsl6,CentOS,Fedoraではパッケージが用意されていないようなので、githubからソースプログラムを引っ張って、コンパイル・ダウンロードする。

その前に、php-deveが必要なので、php-develをインストールしておく。

# yum install php-devel --enablerepo=remi

githubからインストールまでの作業

$ sudo yum install php-devel --enablerepo=remi

$ git clone https://github.com/zend-dev/ZendOptimizerPlus.git
$ cd ZendOptimizerPlus
$ phpize
$ ./configure --with-php-config=/usr/bin/php-config
$ make
$ make test
$ sudo make install

make installで、/usr/lib64/php/modules/opcache.soがインストールされるので、これをphp.iniで読み込む

php.iniに下記を追記

/usr/lib64/php/modules/opcache.so

APCが読み込まれているので、これを無効にする。

# cd  /etc/php.d/
# mv apc.ini apc.ini.bak

nginx再起動し、確認

# /sbin/service nginx restart
# php -v
PHP 5.4.19 (cli) (built: Aug 22 2013 08:03:53)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
  with Zend OPcache v7.0.3-dev, Copyright (c) 1999-2013, by Zend Technologies

with Zend OPcacheが表示されればOK。


Cronで走らせていたmysqlが警告を出していた

幾つか運用しているLinux上で、毎週、MySQLのバックアップを取るように設定しているのだが、いつの日からか下記の警告が出ていた。(原稿現在:sl6,mysql:5.1.69)

— Warning: Skipping the data of table mysql.event. Specify the –events option explicitly.

/etc/cron.weeklyにバックアップスクリプトを下記のように記述していた。

mysqldump --all-databases -u root -pxxxx > $BACKUPDIR/mysql-all.sql.$DATE
mysqldump --allow-keywords mysql -u root -pxxxx > $BACKUPDIR/mysql-keywords.s
ql.$DATE

どうやら、events optionを指定しろと言うことらしいので、引数に–eventsを追加

mysqldump --events --all-databases -u root -pxxxx > $BACKUPDIR/mysql-all.sql.$DATE
mysqldump --events --allow-keywords mysql -u root -pxxxx > $BACKUPDIR/mysql-keywords.s
ql.$DATE

これで、警告は出なくなった。

ちなみに、警告出てた時でも、バックアップ自体は取れてました。


advpngでのNo command specifiedエラー

png画像圧縮プログラムの一つにadvpngがありますが、以前だと、

$ advpng *.png

のコマンドで良かったはずだと記憶してますが、
最近では、下記のエラーとなります。

No command specified [at void process(int, char**):repng.cc:476]

この場合、引数に-zを加えてあげれば問題ないですね。

$ advpng -z *.png

場合によっては、optipngより圧縮されることもあるadvpngは、AdvanceCOMPのパッケージに含まれているので、CentOS系のLinuxでは、EPELからadvancecompをインストールする事によって利用が可能になります。

# yum install advancecomp --enablerepo=epel

 

参考URL

PNG画像のファイルサイズ最小化 — ディノオープンラボラトリ


さくらのVPS上でpulseaudioは不要だね

sl6を走らせているさくらのVPS上で/var/log/messageにpulseaudioがエラー吐きまくっていたので対処。

以前、VNCやらFirefoxを入れた際にGNOME関連で勝手に入ってしまったと推測。

エラーはこんな感じ↓

Aug 26 16:34:14 www pulseaudio[9085]: core-util.c: Failed to connect to sy
stem bus: Failed to connect to socket /var/run/dbus/system_bus_socket: そのよう
なファイルやディレクトリはありません

コンソールモードでサーバにしているので、全く必要ないので、削除。

# yum remove alsa-plugins-pulseaudio pulseaudio

Dependencies Resolved

================================================================================
Package Arch Version Repository Size
================================================================================
Removing:
alsa-plugins-pulseaudio x86_64 1.0.21-3.el6 @anaconda-ScientificLinux-201107140938.x86_64/6
93 k
pulseaudio x86_64 0.9.21-14.el6_3 @sl 1.9 M
Removing for dependencies:
pulseaudio-module-gconf x86_64 0.9.21-14.el6_3 @sl 19 k
pulseaudio-module-x11 x86_64 0.9.21-14.el6_3 @sl 46 k

Transaction Summary
================================================================================
Remove 4 Package(s)

 


Scientific Linux 6.3から6.4へアップデート

CentOSみたいにyum updateしちゃったら、いつの間にかアップグレードされてたよ!って事を、sl6では致しませんので、手動でアップグレードする必要があります。

自分のマシンやテストマシンだったら、勝手にアップグレードされても構わないのですが、安定重視の共有サーバだと下手にアップグレードさせたくないので、その点はsl6が使いやすいです。

そんな訳で、手動でsl6 6.3を6.4へアップグレード

  1. 6.3上で最新版にしておく(必要ないかも)
    # yum update
  2. # yum clean all
  3. yum –releasever=6.4 update
  4. 再起動
  5. 確認
    $ cat /etc/redhat-release
    Scientific Linux release 6.4 (Carbon)

以上


VundleでVimプラグイン導入

かなり以前から、Unix/Linuxでvi/vimを使っているんですが、恥ずかしながら、私も「いまさら聞けない .vim/bundle によるプラグイン管理」と同じ心境で、プラグインとは無縁の環境にありました。

今までに、プラグイン導入を試みたことはあるのですが、うまく動作しない事があり、ずっと諦め状態だったのです。

なので、今更ながら、Vimのプラグイン導入に挑戦です。

Vundleを使って、プラグイン管理(導入)します。(VimとGitが既にインストールされている事が前提です)

導入方法は、VundleのReadmeを見れば、ほぼ分かると思いますが、メモっておきます。

    1. Vundleを導入します
      $ git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
    2. 自分のホームディレクトリ下に、.vimrcを作成・修正し、下記のように記述します
      $ vim ~/.vimrc
      set nocompatible " be iMproved
      filetype off " required! set rtp+=~/.vim/bundle/vundle/
      call vundle#rc() " let Vundle manage Vundle
      " required!
      Bundle 'gmarik/vundle' " My Bundles here:
      "
      " original repos on github
      Bundle 'tpope/vim-fugitive'
      Bundle 'Lokaltog/vim-easymotion'
      Bundle 'rstacruz/sparkup', {'rtp': 'vim/'}
      Bundle 'tpope/vim-rails.git'
      " vim-scripts repos
      Bundle 'L9'
      Bundle 'FuzzyFinder'
      " non github repos
      Bundle 'git://git.wincent.com/command-t.git'
      " … filetype plugin indent on " required!
      "
      " Brief help
      " :BundleList - list configured bundles
      " :BundleInstall(!) - install(update) bundles
      " :BundleSearch(!) foo - search(or refresh cache first) for foo
      " :BundleClean(!) - confirm(or auto-approve) removal of unused bundles
      "
      " see :h vundle for more details or wiki for FAQ
      " NOTE: comments after Bundle command are not allowed..
    3. 上記の.vimrcを保存したら、vimを終了し、起動し直します
    4. vimが起動したら、ESCキーを押し、:(半角コロン)キーを押す
      下部に:(半角コロン)が表示されたら、
      BundleInstallと打ち込むと、.vimrcで指定したプラグインが導入されます

    5. 導入途中では、下部にProccessing…と表示され、全て導入が終わるとDoneと表示され完了です。

 

プラグインの追加は、.vimrc内に、

Bundle ‘プラグイン’

のように明記して、BundleInstallするだけです。

また、プラグインの更新はBundleInstallに!(半角)を追加するだけで、更新されます。

BundleInstall!

後は、使いたいプラグインを探して、プラグインの使い方を覚えるだけですね。

分かってみれば、すごく簡単でした。


ページ:12345