linux」タグの記事一覧

linux
2018-01-31

libretto20でカーネルコンパイル

libretto20はRedhat6.2を素で入れたままなので,kernel-2.2.14だ.これを2.2系最終版の2.2.26にしたい.ソースは拾ってこれたので,展開して,あれ?どうすればいいんだ?5年くらいやってないので忘れた.ブログを”カーネル”で検索したらあった.良かった.もういちど書いておくと,

make config
make dep
make clean
make bzImage
make modules
make modules_install
make install (これでliloも実行される)
cd pcmcia-xx
make config
make all
make install

kernel-2.4になってからは全くいじってないけど,きっとコンパイルの作法は変わったのだろうな.

続きを読む
linux
2018-01-29

Pound-1.0とPound-2.7ではpound.cfgの文法が違った

libretto20でやっとpoundが動いたのでpound.cfgを編集して自サイトの環境に合わせて起動したら、こんどはpound.cfgの文法が違うとエラーになる。なぜに?man poundで調べると、これまで使っていたPound-2.7と、今回コンパイルしたPound-1.0ではpound.cfgの文法が違うことが判明した。Pound-2.7のpound.cfgはこんな感じ。


User "daemon"
Group "daemon"
LogLevel 3
Alive 10
 ListenHTTP
  Address 0.0.0.0
  Port 80
  RewriteLocation 0
   Service
   URL "/hoge/.*"
    BackEnd
     Address 192.168.0.1
     Port 8080
     priority 5
    End
    BackEnd
     Address 192.168.0.2
     Port 8080
     priority 5
    End
   End
 END

Pound-1.0のpound.cfgはこんな感じ


User daemon
Group daemon
LogLevel 3
Alive 10
 ListenHTTP 0.0.0.0,80
  UrlGroup ".*"
   BackEnd 192.168.0.1,8080,1
   BackEnd 192.168.0.2,8080,1
  EndGroup

 

続きを読む
linux
2018-01-27

Poundのコンパイルには新しいgccが必要かもしれない

libretto20でPoundを動かそうと(これまではThinkpad T41で動かしていた)、configureしたらエラーが出た。SSL_CTX_newがないとか。ソースコードで宣言はしているので構文エラーではない。opensslのライブラリのlibssl.aの中にもちゃんとssl_cert.oがある。どうもこれはgccのバージョンが古いせいみたいだ。libreto20のgccはegcs-1.1.2だ。Thinkpad T41はgcc4.1.2だ。libretto20のgccバージョンを上げようと思い、i7の速いマシンでtargetをi486にしてgcc3をコンパイルしたら途中でエラー終了する。このマシンのgccは5だ。gccのバージョンが新しいと古いバージョンで正常コンパイルできていたソースコードがコンパイルできなくなることがあるとネットにあった。時間がかかるがlibretto20のegcs-1.1.2でコンパイルした方がよさそうだ。まずgcc3.4をコンパイルして、そのgcc3.4でgcc4.0をコンパイルしよう。gcc3.4のmakeをかけてから2日後にmakeが完了した。これからgcc3.4が動作するように環境変数を変えて、gcc4.0のコンパイルを始める。たぶん2日以上かかるだろうな。

苦労してgccをコンパイルしたのに、相変わらずPoundのconfigureでエラーがでる。libsslがないと言っているがlibssl.aはきちんとある。どうにも分からなくて、エラーが出るconfigureを編集してエラーでexitするところをコメントアウトした。これでMakefileができた。そしてコンパイルすると今度はzlib関係で変数を宣言していないとエラーになる。zlibもきちんとあるんだけど。ネットで調べるとgccの引数に-ldl -lz を加えればよいことが分かった。Makefileを編集して-ldl -lzを加え、コンパイルすると今度はうまく行った。できあがったpoundはきちんと動いた。

続きを読む
linux
2018-01-23

freshclam エラー

思いついてCentOSのマシンにもアンチウイルスプログラムを入れることにした.clamavのsrpmを拾ってきてビルドしてrpmを作った.それをインストールして,ウイルスDBを最新化するためにfreshclamを実行した.しかし,何度やってもエラーになる.syncしてないとかなんとか.いろいろ試したが効果はなく,最後に面倒になってDBのファイルを全部消してみた.

cd /var/clamav
rm *

この後,freshclamを実行したらうまくいった.DBバージョンの確認は

sigtool --version

でできる.

続きを読む
linux
2018-01-23

clamav-0.99.2コンパイルとインストール

srpmからclamav-0.98.4をインストールしたが,srpmからrpmができるのだから,tarballからコンパイルだってできるだろうと思った.そこで,最新版の0.99.2をインストールすることにした.OSはCentOS5.11.clamav-0.99.2.tar.gzを展開して

configure
make
make check
make install

で完了.特に他に何かインストールする必要はなかった.最初からこれをやれば良かった.

続きを読む
linux
2018-01-18

srpmcpio: MD5 チェックサムが適合しません

CentOS5にyumでアプリをインストールしようとした.古いパッケージを置いてある

http://vault.centos.org/5.11/os/$basearch/

からひっぱってこようとしたら,中のxmlファイルが壊れていると表示される.整合性がとれないのかなと思い,yum clean allをやってみたが変わらない.本当にファイルが破損しているようだ.しかたないので他のサイトを探して,rpmパッケージは見つけられなかったが,src.rpmパッケージを見つけてきた.rpm -iコマンドでソースを配置しようとすると,

「srpmcpio: MD5 チェックサムが適合しません」

とエラー終了する.困ったと思ったがさらにネットをさまようとrpmの引数に

–nomd5

をつければMD5チェックサムを無視してくれることが分かった.これでやっとソースが展開できて,rpmbuildで所望のrpmパッケージが出来た.

続きを読む
linux
ubuntu
2018-01-17

UnityとDashのこしておくか

Dual Pentium 3 – SのマシンはUbuntu 12.04LTSだ.サポートが切れて9ヶ月経過した.14.04LTSへのアップグレードは失敗することが分かっているのでしていない.サポート切れで使い続けるのもなんなので,Pentium 3で動くことを確認したDebian Stretchに変えようとして思いとどまった.なぜなら12.04LTSは悪名高いUnityとDashなのだ.18.04LTSからはUnityがなくなるので,これはこれで貴重だ.1台くらいUnityが動くマシンを残しておこうという気になった.幸いPentium 3 – Sでは許容できるレスポンスでUnityとDashが動く.Debianに変えるのはいつでもできるので,Unityに飽きるまではこのまま置いておくことにした.

続きを読む