# rpm -Uvh --test openssh-*3.4p1-1.i386.rpm # アップグレードに問題がないかチェック
# sudo /sbin/service sshd stop # sshd を停止
# sudo rpm -Uvh openssh-*3.4p1-1.i386.rpm
# sudo /sbin/service sshd start # sshd を再開。エラーを吐かなければOK
# rpm -ivh apache-1.3.23-11.src.rpm
# cp apache_1.3.26.tar.gz ~/RPMS/SOURCES/ # ~/RPMS/ を BuildRoot とした場合
# cp ~/RPMS/SOURCES/apache_1.3.23-eapi-2.8.7.patch ~/RPMS/SOURCES/apache_1.3.26-eapi-2.8.7.patch
# cd ~/RPMS/SPECS/
# cp apache.spec apache-1.3.23.spec
## apache.spec ##
%define contentdir /var/www
%define mod_ssl_ver 2.8.7
%define piranha62 0
%define suexec_caller apache
Summary: The most widely used Web server on the Internet.
Name: apache
Version: 1.3.26
Release: 1
…(以下そのまま)…
# rpm -bc apache.spec
…(中略)…
+ echo 'Patch #2 (apache_1.3.26-eapi-2.8.7.patch):'
Patch #2 (apache_1.3.26-eapi-2.8.7.patch):
+ patch -p1 -b --suffix .eapi-2.8.7 -s
1 out of 1 hunk FAILED -- saving rejects to file src/ApacheCore.def.rej
1 out of 1 hunk FAILED -- saving rejects to file src/ap/Makefile.tmpl.rej
1 out of 7 hunks FAILED -- saving rejects to file src/modules/proxy/mod_proxy.c.rej
2 out of 4 hunks FAILED -- saving rejects to file src/modules/proxy/proxy_http.c.rej
エラー: Bad exit status from /var/tmp/rpm-tmp.26247 (%prep)
RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.26247 (%prep)
# rpm -bc apache.spec
…(中略)…
make[1]: 出ます ディレクトリ `~/RPMS/BUILD/apache_1.3.26'
<=== src
+ exit 0
# rpm -bb apache.spec # バイナリ rpm をビルド # sudo /sbin/service httpd stop # 念の為 Apache を停止 Stopping httpd: [ OK ] # sudo rpm -Uvh ../RPMS/i386/apache*.rpm # sudo /sbin/service httpd start # Apache を起動し直す Starting httpd: [ OK ]
後はお掃除をして、アップデート完了。
# rpm --rmsource --clean apache.spec
Executing(--clean): /bin/sh -e /var/tmp/rpm-tmp.71118
+ umask 022
+ cd ~/RPMS/BUILD
+ rm -rf apache_1.3.26
+ exit 0
May 12 15:16:22 server qmail: 1021184182.988131 delivery 10: deferral: problem_connecting_to_"192.168.1.1",_port_23:_Connection_refused_at_./scripts/msg_led_on.pl_line_11/
## msg_le_on.pl ## #!/usr/bin/perl use Net::Telnet; my($lines, $t, $pass, $adminpass, $rthost, $lockfile); $rthost = '192.168.1.1'; # ルータのアドレス $pass = 'pass'; # ログインパスワード $adminpass = 'adminpass'; # 管理者パスワード $lockfile = '/var/www/temp/led_on'; # ロックファイル # ロックチェック if (-s $lockfile) { exit; } # ロック open(LOCK, ">$lockfile"); print LOCK 1; close(LOCK); $t = new Net::Telnet (-host => "$rthost"); ## Wait for first prompt $t->waitfor('/Password:.*$/'); $t->print("$pass"); $t->waitfor('/>.*$/'); $t->print("administrator"); $t->waitfor('/Password:.*$/'); $t->print("$adminpass"); $t->waitfor('/#.*$/'); $t->print("mail-check go 1"); # メールチェック実行 $t->waitfor('/#.*$/'); $t->print("exit"); # exit せずにクローズしても問題ない $t->waitfor('/>.*$/'); $t->print("exit"); $t->close; exit;
## msgled_off.php ## <?php mb_http_output("SJIS"); $ch = curl_init("http://192.168.1.1/kantan/add/mailchk"); # ルータの点滅クリアページの URL $lockfile = "/var/www/temp/led_on"; # ロックファイル // ロックのチェック if (is_file($lockfile)) { if (filesize($lockfile) > 0) { // ロックの解除 $fp = fopen($lockfile, "w"); fclose($fp); // MSGランプ消灯 curl_setopt($ch, CURLOPT_USERPWD, "user:pass"); # 認証のユーザ名、パスワード curl_setopt($ch, CURLOPT_POST, 1); # POSTする curl_setopt($ch, CURLOPT_POSTFIELDS, "MAIL_SERVER=1&ARRIVE_OK=OK"); # POSTするデータ curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); # 受信データを変数に $result = curl_exec($ch); # 実行。受信データを $result に。今回は使用せず curl_close($ch); } } ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <meta http-equiv="Refresh" content="2;URL=./"> <title>MSGランプをオフ</title> </head> <body> <b>MSGランプの点滅を解除しました</b><p> <a href="./">戻る</a> </body> </html>