「linux」カテゴリーの記事一覧

2018-02-03

linuxでvpnclientを動かすとき

以前、linuxでvpnclientを動かすとき手でipアドレスを指定しないといけないと書いたが、それをスクリプトにしてみた。

#/bin/bash
/usr/local/src/vpnclient/vpnclient start
ifconfig vpn_net inet down
ifconfig vpn_net inet up 192.168.xx.yy netmask 255.255.255.0 broadcast 192.168.xx.255
ifmetric enp2s1 10
ifmetric vpn_net 20
続きを読む
2018-02-02

/etc/pcmcia/networkを戻したら直った

pcmcia-csを3.1.34に上げたとき、/etc/pcmcia/networkがアップデートされていた。ここにごにょごにょいっぱいスクリプトが書いてあるけど、ifup ifcfg-eth0をする箇所がない。なぜに?

幸い、古い/etc/pcmcia/networkがnetwork.Oとしてバックアップされていたらから、古いものに戻した。古いものにはifup ifcfg-eth0しか書いてないのだけど、これで十分じゃない?戻した後はpcmciaカードを刺したらネットワークが使えるようになった。

続きを読む
2018-02-01

pcmcia-cs-3.1.34に上げたら

libretto20のカーネルコンパイルは無事に終わり2.2.14から2.2.26になった.それは良かったのだが,ついでにpcmcia-csのバージョンを3.1.24から3.1.34に上げたら困ったことが起きた.3comのpcmcia LANカードを差し込むとピポッと言って認識してくれるのだが,ネットワークの設定がされない.ログを読むとeth0というデバイスはできている.手でifup eth0と打ち込むと良いのだが,以前は自動的にifup eth0をやってくれていた.何が変わったのだろう.どっかのスクリプトが変わったのだろうな.調べるのは面倒だなあ.かと言って元に戻すのも面倒だし.困った.

続きを読む
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になってからは全くいじってないけど,きっとコンパイルの作法は変わったのだろうな.

続きを読む
2018-01-30

sshdをipv6対応にしてみたらipv4に繋がらなくなった

sshdをipv6対応にするにはsshd_configのListenAddressの行を

ListenAddress ::

にするだけで良いとネットにあった.ipv4は無効にはならなくて,ipv6で繋がらなかったらipv4に自動的に切り替わるとあった.そこでsshd_configを書き換えてsshdをリスタートした.すると確かにipv6でssh接続ができるようになった.ところが,別のマシンからipv4で繋げようとすると繋がらなくなった.ネットの説明と違うぞ.opensshが古い(4.x)せいか.やむを得ず元に戻した.

続きを読む
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

 

続きを読む
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はきちんと動いた。

続きを読む