目次
/etc/mtab
と _netdev
新しいリリースに導入された変化には当然のように副作用がつきもので、どこか他の場所でバグを出してしまうこともあります。この章では、現時点で私たちが知っている問題点を記載しています。正誤表・関連パッケージの付属文書・バグ報告や、「もっと読みたい」で触れられているその他の情報も読んでください。
LDAP ライブラリ中で使われている暗号化ライブラリの機能は、TLS や
SSL を使っている LDAP
サーバに接続する際に、LDAP
を使っていて有効になっている特権を変更しようとするプログラムの接続障害を引き起こします。sudo、su、schroot
のような libnss-ldap
を使っているシステムの setuid
プログラムや、sudo-ldap
のような LDAP 検索を実行する
setuid プログラムに問題が発生します。
libnss-ldap
パッケージを、すべての
LDAP 検索に分割されたデーモン (nslcd)
を使っている新しいライブラリである libnss-ldapd
に置き換えることをお勧めします。libpam-ldap
の代替品は
libpam-ldapd
です。
libnss-ldapd
が、NSS キャッシュデーモン
(nscd
)
をインストール前にあなたの環境に適しているかどうかを評価するのを推奨している点にご注意ください。nscd
の代替としては unscd
が考えられます。
Debian 7.0 は複数のブラウザエンジンを含んでおり、これらは一定の割合でセキュリティ脆弱性の影響を受けます。高い脆弱性率と一部開発元での長期間サポートブランチの欠落によって、セキュリティ修正をバックポートしてこれらのブラウザをサポートする事が難しくなっています。さらに、ライブラリへの内部依存性のため、開発元の新しいリリースバージョンへの更新を不可能にしています。そのようなものとしては、Wheezy に含まれている webkit・qtwebkit・khtml エンジンを使ったブラウザがありますが、これらは完全なセキュリティサポートはされません。一般的にこれらのブラウザを信用できないウェブサイトを閲覧するのに使うべきではありません。
通常、ウェブブラウザを利用するには、Mozilla xulrunner エンジンを使ったブラウザ (Iceweasel および Iceape)、あるいは Chromium をお勧めします。
Xulrunner は、これまでのリリースサイクルで古いリリースバージョンへのバックポートが良好だった経歴を持っています。Chromium - Webkit のコードをベースに構築されています - は独立したパッケージで、最新の Chromium を安定版上で再構築して最新状態を維持します。
Debian 7.0 の ConsoleKit は startx
により開始されたセッションやローカル側に consolekit
統合機能がないディスプレイマネージャ (例えば xdm
や
slim
) には対応しておらず、デバイスによってはアクセスできません。
デフォルトでは、一部のアクセシビリティツールは GNOME ディスプレイマネージャー (gdm3) では有効にされていません。拡大鏡やビジュアルキーボードを使えるようにするのにもっとも簡単なやり方は、「シェル」 greeter を有効にする事です。
これを行うには、/etc/gdm3/greeter.gsettings
ファイルを編集して、以下のようにします:
session-name='gdm-shell'
上記をコメントアウトして以下の様にします
session-name='gdm-fallback'
互換性がある 3D グラフィックカードが必要になることに注意してください — デフォルトでは有効になっていない理由がこれです。
knetworkmanager
パッケージは時代遅れとなり、新しい
KDE Plasma Workspace の plasma-widget-networkmanagement
で置き換えられています。
時代遅れとなったスタンドアロンのアプリケーションである knetworkmanager を使っている場合、手作業による設定がアップグレード後に必要となるはずです。plasma-widget-networkmanagement を手作業でパネルかデスクトップに追加する必要があるかもしれません。
また、network-manager widget が動作していることにネットワーク接続が依存しない方が好ましい場合、「system connection」 で設定するといいかもしれません。
NetworkManager はネットワークインターフェースが ifupdown により管理されているかどうか検出して衝突を回避することができますが、wicd-daemon 等、他のネットワーク管理プログラムの検出には対応していません。こういった 2 つのデーモンが同一のインターフェースを管理した場合、ネットワークに接続しようとしたときに問題や想定外の挙動が発生する可能性があります。
例えば wicd-daemon と NetworkManager がともに動作している場合に wicd クライアントを使って接続しようとすると失敗して
接続に失敗しました: パスワードが間違っています
というエラーメッセージを出します。NetworkManager クライアントを使った場合は同様に失敗して
NetworkManager は実行されていません。実行してください。
というメッセージを出します。GNOME のユーザには NetworkManager デーモンをインストールして試してみることを勧めますが、コマンド
# update-rc.d network-manager disable
を使うことにより、必要に応じて NetworkManager
デーモンを恒久的に無効化することもできます。デーモンを無効化したら、/etc/resolv.conf
の内容を確認することを勧めます。このファイルは名前解決用の DNS サーバを指定するのに使われ、その内容は
NetworkManager により書き換えられていることがあります。
suidperl は、開発元により 5.12 で削除されました。そのため Debian で配布されていた
perl-suid
パッケージも削除されています。ハードコードした場所から perl スクリプトを実行するシンプルな setuid C ラッパーを使う、あるいはより汎用的な
sudo などのツールを使うのが代替として考えられます。
squeeze のシステムに request-tracker3.8
を入れている場合、このパッケージは wheezy では削除されており、request-tracker4
に置き換えられている点に注意してください。request-tracker3.8
から request-tracker4
へのアップグレードには、いくつか手作業が必要になります:
request-tracker3.8
のインストールはそのままにして
request-tracker4
をインストールし、/usr/share/doc/request-tracker4/README.Debian.gz
にあるインストール/アップグレードの注意 (「Upgrading from request-tracker3.8 to
request-tracker4」 の章) に従ってください。
以前の Debian リリースでの request-tracker3.6
やそれ以前のパッケージをまだ使っている場合、同じアドバイスが当てはまります。そのような場合、適切なアップグレード文書に従って、一つずつアップグレードする事をお勧めします。
bootlogd は、sysvinit-utils
から bootlogd
パッケージに分離されました。bootlogd
を使いつづけたい場合は、bootlogd
パッケージをインストールする必要があります。設定ファイル /etc/default/bootlogd
とそのオプション BOOTLOGD_ENABLE
はもはや存在しないことに注意してください: bootlogd
を動作させたくない場合は、 bootlogd
パッケージを削除してください。
現在マウントされているファイルシステム一覧の保管に利用されるファイル /etc/mtab
が
/proc/mounts
へのシンボリックリンクに変更されています。ほぼすべての場合、この変更によって一覧が現実と合わなくなることがなくなるため、システムの健全性は向上することになります。
しかし、/etc/fstab
で _netdev
オプションを使ってそのファイルシステムが特別な処理を必要とするネットワークファイルシステムであることを示している場合、リブート後にはこれは
/proc/mounts
でセットされなくなります。NFS
等、_netdev
オプションに依存しない標準的なネットワークファイルシステムでは問題は発生しません。この問題の影響のないファイルシステムには、ceph
、cifs
、coda
、gfs
、ncp
、ncpfs
、nfs
、nfs4
、+ocfs2
、smbfs
があります。シャットダウン時に正常にマウント解除するのに _netdev
に依存しているファイルシステムでは、例えば NBD
を使う際に、通常ファイルの mtab が _netdev
を wheezy
で利用する唯一の方法となります。こういった状況がある場合は、wheezy へのアップグレード完了後に以下のようにして、通常ファイルの
/etc/mtab
を復元してください:
/etc/init.d/checkroot.sh
を編集し、以下の行をコメントアウトしてください:
if [ "$rootmode" != "ro" ]; then mtab_migrate fi
既にシステムをリブートしていれば、/etc/mtab
はもうシンボリックリンクになっています:
# rm /etc/mtab # cp /proc/mounts /etc/mtab
当該ファイルシステムをマウントし直して _netdev
オプションを再び追加します:
# mount -o remount filesystem
次にシステムをリブートしたときに /etc/mtab
は完全に作り直されます。
pdksh が保守されなくなっているため (活発な開発は 1999 年以降行われていません)、Public
Domain Korn Shell (pdksh
) パッケージは
wheezy 以後のリリースからは退役となります。
MirBSD Korn Shell (mksh
)
パッケージがその後継となります。これは Public Domain Korn Shell から発展したもので、シェルの最新の POSIX
標準を保っています。Debian wheezy では、pdksh
は mksh
の改良型である lksh
を利用した移行用パッケージとなっています。このパッケージは特別に互換用のオプションを指示してビルドされ、pdksh
バイナリへのシンボリックリンクを提供します。この互換用バイナリは現在の mksh よりも、古い Public
Domain Korn Shell
に近い挙動をとります。しかし、挙動の変更を伴うバグ修正が取り入れられているため、全くそのままで置き換えられるものではありません。そういったわけで、
#!/bin/pdksh
となっているスクリプトを
#!/bin/mksh
に変更してテストすることをお勧めします。テストが失敗する場合にはスクリプトの修正を勧めます。何らかの理由により修正できない場合は、
#!/bin/lksh
スクリプトに変更してテストをやり直してみてください。このテストはコードを大幅に変更せずに成功する可能性が高くなります。しかし、移行用パッケージは将来のある時点で Debian から削除される予定であることに注意してください。
この互換用バイナリは対話的な利用には適していないため、システム管理者として Korn Shell
ユーザのログインシェルを調整してください。サービス中断を最小限にするため、OS のアップグレードの前に手作業で mksh
パッケージをインストールして pdksh
を利用しているユーザのログイン用/対話用シェルを mksh
に変更してください。さらに、/etc/skel/.mkshrc
をそれぞれのホームディレクトリにコピーしておくことを勧めます。これにより、pushd や
popd、dirs 等一部のシェル機能や立派な
PS1
(シェルプロンプト) が提供されます。
Puppet により管理されているシステムを squeeze から wheezy にアップグレードする場合、その puppetmaster は確実に
Puppet バージョン 2.7 以降である必要があります。squeeze の puppetmaster
がマスターとして動作している場合、管理する wheezy
システムに接続することができません。
こういった組み合わせの場合、puppet agent の実行時に
Could not retrieve catalog from remote server: Error 400 on SERVER: No support for http method POST
というエラーメッセージを出すことになります。この問題の解決には puppetmaster のアップグレードが必要です。2.7 のマスターは 2.6 のクライアントシステムを管理することができます。
multiarch の導入 (「Multiarch」 で説明されています) により一部のファイルのパスが変更されているため、ツールチェーン側での前提が成り立たなくなっているかもしれません。Debian のツールチェーンは更新されていますが、ビルドや外部コンパイラを使おうとするユーザは留意する必要があるかもしれません。
こういった問題への対処についての情報が /usr/share/doc/libc6/NEWS.Debian.gz
やバグ報告 #637232 にあります。
libsasl2-modules-sql
パッケージにより提供される
Cyrus SASL 用の SQL エンジンのバックエンドの設定が、データベース固有 (例えば mysql
)
の設定から一般的な sql
auxprop プラグインに変更されています。
SASL を利用するアプリケーションの設定ファイルは更新の必要があります。例えば
auxprop_plugin: mysql
は次のようになります:
auxprop_plugin: sql sql_engine: mysql
さらに、SQL クエリ (使っている場合) は %u
を %u@%r
に置き換える必要があります。これはユーザと認可領域 (realm) が別個に提供されるようになったためです。
(有線/無線) ネットワークカード用ドライバを含め、一部のハードウェアのドライバでは ATI/AMD グラフィックチップセット用ドライバと同様に、正常に機能するためにロードできるファームウェアが必要です。
この種のファームウェアは、フリーソフトウェアではないために non-free アーカイブの firmware-linux
やその他のパッケージからのみ利用可能な場合が多くあります。