カテゴリー: Debian

Debian wheezyをsqueezeと同じつもりで使って起きた問題

Debian wheezyが2013/05/04にリリースされました。

カーネルも一気にバージョンがあがって、いろいろなパッケージも新しめのバージョンが入って・・・
と、モダンな雰囲気を感じれていい感じです。
が、当然バージョンが変わったのでsqueezeと同じつもりで使ってるといくつか問題が起きたのでその備忘録です。
全体的には思ったよりも問題は発生せず、いままで通り使えています。

パッケージがいくつかなくなってる

普段使用しているパッケージでは以下の二つがなくなってました。
libssl0.9.8
libreadline5-dev

libssl1.0.0とlibreadline-gplv2-devに変更しました。

apt-get install libssl1.0.0 libreadline-gplv2-dev

tls v1をデフォルトで拒否するようになってた

上記に関連して。
libsslバージョンアップの影響か、特定のhttpsサイトにcurlwgetで接続行くときにエラーが出るようになりました。

curl https://xxxxx.xxx/xxx
url: (35) error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version

curlに「-1」のオプションをつけると接続できるようになりました。
このオプションはtlsv1の暗号化でも接続を開始する、というオプションなようです。

curl -1 https://xxxxx.xxx/xxx

wgetコマンドではどうやればtlsv1を許容できるようになるのかわかりませんでした

autoconfのバージョンエラー

autoconfのバージョンが上がってる事が原因か、いくつかの古めのソフトウェアのconfigureでautoconf関係のエラーが発生しました。
今回の例ではqmailadminをインストールしようとconfigureしたところ、以下のエラーとなりました。

cd . && /bin/bash /usr/local/src/qmailadmin-1.2.16/missing --run automake-1.11 --gnu
aclocal.m4:16: warning: this file was generated for autoconf 2.65.
You have another version of autoconf.  It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically `autoreconf'.
configure.in:4: version mismatch.  This is Automake 1.11.6,
configure.in:4: but the definition used by this AM_INIT_AUTOMAKE
configure.in:4: comes from Automake 1.11.1.  You should recreate
configure.in:4: aclocal.m4 with aclocal and run automake again.

つたない英語力ですがとりあえず書かれている通りにautoreconfを実行してからconfigureしたらうまくいきました

autoreconf
./configure
make
make install

Debianインストール時にNICドライバがない時の対応方法

Debianはすべてフリーのライセンスでできたもので構成されている。

そのため、非フリーのドライバを使用するNICを使用しているサーバーの場合は以下のようなエラーがでてNICを認識してくれない。

あなたのハードウェアの一部では、操作するのに非フリーのファームウェアファイルが必要です。
ファームウェアは、USBメモリやフロッピーなどのリムーバブルメディアからロードできます。
見つからないファームウェアファイル: rtl_nic/rtl19168e-2.fw
そのようなメディアを今利用できるのであれば、それを入れて続けて下さい。
リムーバブルメディアから見つからないファームウェアをロードしますか?

解決策

説明にある通り、USBメモリを用意した上で作業します。

まずはみつからないファームウェアファイル名でぐぐります。今回だとrtl19168e-2.fwですが検索するとDebianのnon-freeパッケージにて配布されているようです。

http://packages.debian.org/squeeze-backports/firmware-realtek

まずはこちらからdebファイルをダウンロードします。適当なDebian系のLinux上で以下のコマンドを実行する事でdebファイルが展開されます。

[code]
dpkg-deb -x firmwarerealtek_0.28+squeeze1_all.deb hogehoge
[/code]

上記を実行するとカレントにhogehogeというディレクトリを作成してdebパッケージが展開されます。こちらの中にインストールで必要な「rtl19168e-2.fw」があるのでそちらをUSBメモリにコピーします。今回は以下のパスに目的のファイルがありました。

[code]
./hogehoge/lib/firmware/rtl_nic/rtl19168e-2.fw
[/code]

USBメモリにコピーする際はDebianが指定するファームウェアのパスと一緒にする必要があります。今回の例ですと「rtl_nic/rtl19168e-2.fw」が見つからないとなっている為、USBメモリ上にrtl_nicという名前のディレクトリを作成し、そこへ「rtl19168e-2.fw」を持ってきます。

あとは完成したUSBメモリを刺してインストールを続行すればOKです。

インストール後

インストール完了後は念のため、パッケージ自体をインストールしておけばいいかもしれません。

まずはnon-freeパッケージをリポジトリに追加します。

[code]
vi /etc/apt/source_list
[/code]

以下を追加
[code]
deb http://ftp.de.debian.org/debian squeeze main non-free
[/code]

アップデート
[code]
apt-get update
[/code]

以下のようなエラーが発生しました。

[code]
W: GPG error: http://ftp.riken.jp lenny Release: 公開鍵を利用できないため、以下の署名は検証できませんでした: NO_PUBKEY AED4B06F473041FA
W: GPG error: http://ftp.de.debian.org squeeze Release: 公開鍵を利用できないため、以下の署名は検証できませんでした: NO_PUBKEY AED4B06F473041FA
W: これらの問題を解決するためには apt-get update を実行する必要があるかもしれません
[/code]

問題を解決する為にはapt-get updateしろって書いてるけどもちろん鍵認証のエラーなので解決しない。
keyringをインストールし、再度アップデート

[code]
apt-get install debian-archive-keyring
apt-get update
[/code]

NICのドライバファーム(今回はrealtek)をインストール

[code]
apt-get install firmwarerealtek
[/code]

備考

今までこのエラーは
Dell PowerEdge T310
・ShuttleのPC(XPCとか)
の機種で何回か遭遇しましたが、
ほとんどが「realtek」か「broadcom」ですね。
どちらもDebianにはnon-freeとしてドライバが配布されています。

© SEEDS Co.,Ltd.