Home > Tags > Linux
Linux Tag Archive
CentOS 5.4 に ImageMagick をインストールして遊んでみる
- 2009-11-04 (水)
- コンピュータ
WordPress のプラグインである WP-tegaki はフォントを画像化するのに GD を使っていろいろやってますが、改造しようとあれこれソースを眺めていたら、縁取りやらドロップシャドウやらちょっとした効果を付けようと思ったら GD では難しげな感じ。さらに高機能な画像処理ツールである ImageMagick を PHP から使えるようにするため、インストールしてみました。
CentOS 5.4 では yum からインストールされる ImageMagick が 6.2.8 と現行のバージョン*1 と比べてかなり古いようなので、入れ替えのための情報を探してみたら良さげなものがありました。
ImageMagick の RPM を作ってみる
CentOS 5 の ImageMagick を RPM でアップグレードしてみた – PHPで携帯サイトを開発する人のブログ の情報を参考に、ImageMagick 6.5.3-10 の RPM を作成しました。
まずは SRPM を取ってきてインストール
# wget ftp://ftp.kddlabs.co.jp/graphics/ImageMagick/linux/SRPMS/ImageMagick.src.rpm # rpm -ivh --nomd5 ImageMagick.src.rpm
基本的な手順はリンク先のサイトと同じで、足りないパッケージをインストール、 yum でインストールできなくて、ついでにあまり必要でなさげな JPEG2000 の対応を切り捨て、SPEC ファイルを書き換えてリビルドして完了。CentOS 標準の yum から取ってこれなかったのは以下の3つで、それぞれ
- perl-devel …… Perl パッケージに含まれるので SPEC から perl-devel を削除
- jasper-devel …… JPEG2000 サポートなので使わなければ SPEC から削除
- djvulibre-devel …… dag リポジトリからインストール
という状況なので、djvulibre-devel だけ入れてやって完了。
/etc/yum.repos.d/dag.repo を作成し、
[dag] name=Dag RPM Repository for CentOS5 baseurl=http://ftp.riken.jp/Linux/dag/redhat/el5/en/$basearch/dag/ enabled=0 gpgcheck=1
と書いてやって、
# rpm --import http://ftp.riken.jp/Linux/dag/RPM-GPG-KEY.dag.txt # yum --enablerepo=dag install djvulibre-devel
そして、パッケージをリビルド。
# rpmbuild -ba ImageMagick.spec
うまくいけば、以下のパッケージができます。
- ImageMagick-6.5.3-10.x86_64.rpm
- ImageMagick-c++-6.5.3-10.x86_64.rpm
- ImageMagick-c++-devel-6.5.3-10.x86_64.rpm
- ImageMagick-devel-6.5.3-10.x86_64.rpm
- ImageMagick-doc-6.5.3-10.x86_64.rpm
- ImageMagick-perl-6.5.3-10.x86_64.rpm
古いバージョンのパッケージを yum remove してやってから新しいパッケージをインストールしました。
PECL::Imagick を導入する
ImageMagick がインストールされたので、次は PHP から簡単に使うための API を提供する PECL::Imagick を導入します。
これはコマンド一発なのでかなり簡単。
# pecl install imagick
エラーが出なければ、php.ini にモジュール読み込むための記述
extension=imagick.so
を追記して Apache を再起動すればOK。ここはハマらないで済みましたよ。
Imagick で遊んでみる
まずは練習がてらいくつか画像を作ってみました。
- GD でいろいろやってみた画像フォントは基本的な描画しかできないのでちょっと不便
- Imagick で画像を作ってみたサンプル1 縁取りとかも割と簡単にできます
- フォントに影を付けようとやってみたら失敗した画像
- ドロップシャドウに成功した画像
とまぁ、四苦八苦しながらそれなりにできるようになりました。まだ全然理解できてないので試行錯誤でやっているのですが、表現力の高さは嫌でも感じられますね。というか、マニュアル見た段階で、(;゚Д゚) な感じなのですががが。
お次の段階としては、WordPress のプラグインの WP-tegaki の GD を使っている部分を Imageck に置き換えるのをやってみたいかな。
- 現時点の最新バージョンは 6.5.7-4 だったり [↩]
- CentOS | ImageMagick | Linux | PHP
- Comments: 0
- Trackbacks: 0
Postfix の SPF 対応
- 2007-02-23 (金)
- コンピュータ
Postfix でSPF に対応しようと思い作業したメモ。
受信側の設定
参考にしたサイトはTATSUYA.info – サーバ構築関係/PostfixでSPF/DomainKeysに対応/SPF(C) で、ここに書かれている手順に従ってlibspf2 と Policyd を導入すれば問題なく利用できるようになりました。導入した環境は、Vine 3.2 + Postfix 2.2.5 。
有効に動作していると、受信した際にメールのヘッダに、
Received-SPF: pass (mail.u-1.net: domain of bounces.amazon.com designates 207.171.188.8 as permitted sender) client-ip=207.171.188.8; envelope-from=emailSenderApp+EQH00H53JNFR-1RSXYQ8ODI5X5-9R2G7HIGYP8U@bounces.amazon.com; helo=mm-retail-out-103.amazon.com;
みたいな情報が追加されるようになります。受信する側の設定はこんなもので。必要に応じてSpamAssassin とかのルールを追加して、passした際のスコアを減じるなどしてやるとよろしいかと。
送信側の設定
Postfix の設定ではないけれども、送信する側は、DNSのレコードを適切に追加してやる必要があるということです。この辺、ややこしくて、完全に理解し切れてないけれども、ウチのようにシンプルな構成のネットワークならば、
u-1.net. IN TXT "v=spf1 ip4:124.41.72.8 ~all"
というようなTXTレコードを追加してやればOK。実際に、dig コマンドなどで確認すると、
$ dig @ns1.u-1.net u-1.net txt ; <<>> DiG 9.3.2-P2 <<>> @ns1.u-1.net u-1.net txt ; (1 server found) ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18410 ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 6, ADDITIONAL: 1 ;; QUESTION SECTION: ;u-1.net. IN TXT ;; ANSWER SECTION: u-1.net. 86400 IN TXT "v=spf1 ip4:124.41.72.8 ~all" ;; AUTHORITY SECTION: u-1.net. 86400 IN NS ns1.everydns.net. u-1.net. 86400 IN NS ns2.everydns.net. u-1.net. 86400 IN NS ns3.everydns.net. u-1.net. 86400 IN NS ns4.everydns.net. u-1.net. 86400 IN NS ns.maihama-net.com. u-1.net. 86400 IN NS ns1.u-1.net. ;; ADDITIONAL SECTION: ns1.u-1.net. 86400 IN A 124.41.72.8 ;; Query time: 44 msec ;; SERVER: 124.41.72.8#53(124.41.72.8) ;; WHEN: Fri Feb 23 13:49:29 2007 ;; MSG SIZE rcvd: 212
というように、TXTレコードの追加が確認できます。
実際に設定が適当かどうかは、check-auth@verifier.port25.com 宛へメールを送信すると、チェックして結果を送り返してくれます。ウチの場合、どうもDNS 情報の更新が完了してないようで、まだneutral が帰されるのですが、テストメールを送信すると、受信側ではしっかりPass になっているので、とりあえずは良いのかな、と。
Amavisd-new との併用でトラブった?
バージョンがやや古めのAmavisd-new を稼働させていた環境だと、
Feb 23 14:16:18 host amavis[30504]: (27164-05) run_command: child process [30504]: Error closing main::stdin: \311\324\300\265\244\312\245\325\245\2 41\245\244\245\353\265\255\275\322\273\322\244\307\244\271 at /usr/sbin/amavisd line 1879.\n Feb 23 14:16:18 host amavis[27164]: (27164-05) TROUBLE in check_mail: parts_decode_ext FAILED: parsing file(1) results - missing last 1 results at ( eval 40) line 154. Feb 23 14:16:18 host amavis[27164]: (27164-05) PRESERVING EVIDENCE in /var/amavis/tmp/amavis-20070223T141618-27164
のようなエラーがmaillog に記録され、キューも大変なことになりかけました。
私の環境ではMOX – Take It Eazy! 配布の日本語版を使用しているので、そちらから最新のアーカイブをダウンロードして、導入したら解消しました。
$ wget http://marijuana.ddo.jp/download/amavisd-new-2.4.3-JP.tgz $ gtar xvzf amavisd-new-2.4.3-JP.tgz $ cd amavisd-new-2.4.3-JP $ sudo sh amavisd_install.sh update perl
update perl をパラメータとしてamavisd_install.sh に渡してやると、Amavisd-new 本体および、使用するPerlのモジュールが更新されるます。エラー内容からすると、Amavisd-new 本体のバグがあったのかな?
- Comments: -1
- Trackbacks: 0
Vine3.2 で APC の UPS APC CS 500 を監視する
- 2007-02-07 (水)
- コンピュータ
UPSをAPCのCS 500に交換したので、せっかくだから状態を監視するようにApcupsdをインストールしてみました。
USBでの使用については、UPSとPCを付属のケーブルで接続したときに、
$ dmesg ・ ・ ・ hub.c: new USB device 00:1d.2-2, assigned address 2 hiddev0: USB HID v1.10 Device [American Power Conversion APC CS 500 FW:28.h11.A USB FW:h11] on usb3:2.0
となってればとりあえず、認識はしてくれてるようですな。
いざ、Apcupsdのインストール。
Apcupsd, a daemon for controlling APC UPSesからソースを取得。
$ wget http://downloads.sourceforge.net/apcupsd/apcupsd-3.13.12.tar.gz?modtime=1169920465&big_mirror=0 $ gtar xvzf apcupsd-3.13.12.tar.gz $ cd apcupsd-3.13.12 $ ./configure --enable-cgi --enable-usb $ make $ sudo make install $ sudo cp platforms/unknown/apcupsd /etc/rc.d/init.d/
コンパイルオプションとして、CGIプログラムの作成とUSB使用を指定。
インストール後は、/etc/apcupsd/apcupsd.confを編集。当該の項目を
DEVICE /dev/ttyS0 ↓ UPSCABLE usb UPSTYPE apcsmart DEVICE /dev/ttyS0 ↓ UPSTYPE usb DEVICE
と書き換えて、/etc/rc.d/init.rd/apcupsd start でデーモンを開始。
UPSの状態についてはデーモン起動中に/sbin/apcaccess を実行すると、
# /sbin/apcaccess APC : 001,043,1049 DATE : Wed Feb 07 13:17:10 JST 2007 HOSTNAME : example.com RELEASE : 3.13.12 VERSION : 3.13.12 (27 January 2007) unknown UPSNAME : example.com CABLE : USB Cable MODEL : APC CS 500 UPSMODE : Stand Alone STARTTIME: Wed Feb 07 13:02:22 JST 2007 STATUS : ONLINE LINEV : 000.0 Volts LOADPCT : 19.0 Percent Load Capacity BCHARGE : 098.0 Percent TIMELEFT : 51.5 Minutes MBATTCHG : 5 Percent MINTIMEL : 3 Minutes MAXTIME : 0 Seconds OUTPUTV : 100.0 Volts SENSE : Medium DWAKE : 000 Seconds DSHUTD : 000 Seconds LOTRANS : 000.0 Volts HITRANS : 000.0 Volts RETPCT : 000.0 Percent ITEMP : 29.2 C Internal ALARMDEL : Always BATTV : 13.6 Volts LINEFREQ : 50.0 Hz LASTXFER : No transfers since turnon NUMXFERS : 0 TONBATT : 0 seconds CUMONBATT: 0 seconds XOFFBATT : N/A SELFTEST : NO STATFLAG : 0x07000008 Status Flag SERIALNO : QB0642140634 BATTDATE : 2006-10-10 NOMOUTV : 000 NOMINV : 100 NOMBATTV : 12.0 FIRMWARE : 28.h11.A USB FW:h11 APCMODEL : APC CS 500 END APC : Wed Feb 07 13:17:15 JST 2007
ずらーっと表示されるのでそれで確認できます。
CGIでの監視
--enable-cgiオプションを付けてコンパイルすると、/etc/apcupsd 以下に*.cgiなファイルができるので、それをWeb公開ディレクトリの任意の場所にコピーしてアクセスすればWebブラウザから状態が確認できます。
参考サイト
- Comments: 0
- Trackbacks: 0
PS3 Linuxの実力の片鱗が見えた?
YouTube – Marvel Vs Capcom for MAME on PS3 linux
SUGEEEEEEEE!! 結構まともな速度で動いてるYO!
そして、2chのLinux板内【CELL】PS3 Linux Part 3【Fedora Core5】では、QEMUを使ってWindows95を動かし、Diabloやら
WhiteAlbumやら
ToHeartやら動かす猛者まで出現。
(ごく一部で)盛り上がって参りました(笑)*1
- スクリーンショットは該当スレの画像を転載してます。 [↩]
- Comments: 0
- Trackbacks: 1
Linuxからシリアルポート接続でRTX1500の設定を行う
ルータの設定をする必要ができたのだけれど、自由になる端末でシリアルポートが付いているのがLinux機だけだったので、ちょっと調べてみました。Windows接続ならハイパーターミナルで楽勝なのになぁ。
とりあえず、minicomというプログラムがあるようなので、Vineでも利用できるか探してみる。
$ apt-cache search minicom
minicom – friendly menu driven serial communication program
あったのでインストール。
# apt-get install minicom
パッケージリストを読みこんでいます… 完了
依存情報ツリーを作成しています… 完了
以下のパッケージが新たにインストールされます:
minicom
アップグレード: 0 個, 新規インストール: 1 個, 削除: 0 個, 保留: 0 個
293kB のアーカイブを取得する必要があります。
展開後に 768kB のディスク容量が追加消費されます。
取得:1 http://updates.vinelinux.org 3.2/i386/extras minicom 2.1-0vl1 [293kB]
293kB を 2s 秒で取得しました (123kB/s)
変更を適用しています…
準備中… #################################### [100%]
1:minicom #################################### [100%]
完了
とりあえず、$ minicom -sでminicomの設定をして*1、それから$ minicomで起動。あとは普通にルータに繋がるので適当に設定すればよろし。なんか余計なATコマンド送信したようで、ルータに怒られたけど気にしなーい。
- ポートの速度設定を9600bpsに変更しただけ。 [↩]
- Comments: 0
- Trackbacks: 0
Home > Tags > Linux
- 応援中
- サイト内検索
- フィード
- メタ情報
- 55 queries.
- 2.289 seconds.





