Debian GNU/Linux メモ

Last-modified: 2007-01-25 (木) 16:07:08
 

パッケージ管理

インストール後にaptを使用した場合に,パッケージが見つからない

インストールが終わった後にパッケージ情報をダウンロードしなければ,
apt-getはパッケージを見つけられません.

apt-get update

を行って,パッケージ情報を取得します.

ローカルにあるパッケージをインストールする.

apt-utilsパッケージをインストールした後,パッケージ情報を作成する.

パッケージを置いたディレクトリにcdし,

バイナリの場合    $ apt-ftparchive packages . | gzip -c9 > Packages.gz
ソースの場合    $ apt-ftparchive sources . | gzip -c9 > Sources.gz

そのあと,/etc/apt/sources.listに以下の文を付け加える.

deb file:(ディレクトリ) ./
例) deb file:/usr/home/hogehoge/usr-packages/ ./

apt-get updateでパッケージ情報を更新すると,パッケージが利用可能になる.

グラフィックス・画面関連

フレームバッファを有効にする

フレームバッファを有効にすると,起動時の画面モジュールロード画面がちょっとだけ見栄えがよくなります.
フレームバッファを有効にするには,/boot/grub/grub.confに記述されているKernelのロードオプションに以下を加えます.

vga=0x317

X Window Systemの起動に失敗する

etch net-install CD からインストールしたところ,
X21では以下のエラーを出して(他にfontpathのエラーもありましたが)Xの起動に失敗しました.
ちなみに,xorgのエラーログファイルは/var/log/Xorg.0.logです.

(EE)Failed to load module "kbd" (Module does not exist)
(EE)Failed to load module "mouse" (Module does not exist)

推測ですが,おそらくX21用のドライバがnon-freeかcontribパッケージのため,
自動ではインストールされないようです.
ビデオカードもATI製なので,ここでドライバを追加します.


作業の大まかなステップは,以下のとおりです.

  1. apt-getでfreeでないパッケージを追加できるようにする
  2. ビデオカード,キーボード,マウスのドライバを追加する
  3. 設定を反映させる

まず,apt-getでnon-freeとcontribパッケージをダウンロードできるようにします.
/etc/apt/sources.listに以下の行(apt line)を書きます.

deb http://ring.riken.jp/archives/linux/debian/debian etch main contrib non-free

URIの後に続くオプションの意味は以下のとおりです.

  • etch ダウンロードするパッケージのバージョン.
  • main mainパッケージ(完全にFreeなもの)を参照する.
  • contrib contributeパッケージを参照する.
  • non-free non-freeパッケージを参照する.

今回,問題になっているドライバはnon-freeかcontribのものでしょうから,
apt lineにnon-freeとcontribを加えてます.

次に,atiのvideoドライバと,kbd,mouseのドライバをインストールします.

apt-get install xserver-xorg-video-ati xserver-xorg-input-kbd xserver-xorg-input-mouse
  • xserver-xorg-video-ati ati用ビデオドライバ
  • xserver-xorg-input-kbd キーボードドライバ
  • xserver-xorg-input-mouse マウスドライバ

最後に,xorgに変更を適用します.

dpkg-reconfigure -phigh xserver-xorg

これで正常にXが起動するようになりました.

参考資料
Debian Wiki Xorg69to7 'Missing Drivers'

ネットワーク関連

インストール後にNICを変更したい

"Thinkpad X21のメンテナンス"に書いたとおり,Debianをインストールした跡にminiPCIカードのLANを修理しました(それまではNETGEAR製のCardBus用LANカードを使っていました).
自動では認識してくれないようなので,手動でminiPCIのLANカードを認識させる必要がありました.

ThinkWikiによると,純正のminiPCI modem/LANカードはe100モジュールで動作するようなので,
/etc/modprobe.d/aliasesに以下の行を追加します.

aliases eth0 e100

Googleで調べた結果では,上記の設定を追加後,

depmod -a
/etc/init.d/networking restart

で認識するとのことでしたが,これではダメでした.
しばらくあれこれやった後,再起動すると認識してくれました.

modprobe周辺はよく理解できていないので,もう少し調べてみる必要がありそうです.

参考資料
ThinkWiki Intel PRO/100 SP Mobile Combo Adapter

modprobe.dについて.

起動時に自動的にモジュールをロードする設定は,/etc/modprobe.d/に新しいファイルを作成して,そこに記述する方法が良いようです.

たとえば,eth0としてeepro100をロードさせたい場合,

echo 'alias eth0 eepro100' >> /etc/modprobe.d/local

として,/etc/modprobe.d/localにaliasを書き込みます.
この方法は,modprobe.dの仕組みに依るようですが,詳しい理由は調べていません.