Linuxゲリラ戦記

新しいバージョンのカーネルを使いたいでござる。

左を向いているペンギンみたいなキャラクター、ナックス

Debianの解像度を調整/設定する方法(Linuxのカーネルが古すぎるよ編)

Debianの安定版は、安定重視が故に、あまり新しいソフトウェアを導入しない傾向にあります。

そんな中で起こる悲劇が、『他のLinuxだとこのパソコンでもうまく画面の解像度が合うのに、Debianだけ画面の解像度が合わない……。多分、Debianはまだ古いバージョンのLinuxカーネルを使用してるからだな……』というものです。

ちなみに、カーネルとは、Linuxの本体のことです。Linuxのカーネルのバージョンが古いと、新しいパソコンの部品に対応できておらず、最近のパソコンでうまく動かない、ということがあります。

私のノートパソコンでも、そんな事件が起きました。ノートパソコンでUbuntuでもOpen SUSEでもちゃんと解像度があって、液晶の画面が問題なく表示できるのに、Debianだと出来ない……。Debian使いたいのに……。

というわけで、そんな時の対処法だ!

今回は、新しいバージョンのLinuxをインストールすることで解決します。という訳で、Debianでパッケージ(ソフトウェア)をインストールする時に、どこからパッケージをインストールするかが書かれている/etc/apt/ディレクトリに存在するsources.listを書き変えます。

デフォルトの/etc/apt/sources.listのファイルをbackportsを追加した/etc/apt/sources.listに書き変えます。書き変えは、Vimでもいいですしnanoでもいいですし、他の好きなテキストエディタでも構いません。ただし、書き変えにはroot権限が必要です。

$ su -
# vim /etc/apt/sources.list

もしくは

$ su -
# nano /etc/apt/sources.list

deb http://backports.debian.org/debian-backports squeeze-backports main という文章を追加しました。

backportsを使用することで、基本的に安定した古いバージョンしかインストールできない安定版Debianに、新しいバージョンのソフトウェアをインストールすることが出来るようになります。

書き変え完了後、保存してください。次に、aptitude(もしくはapt-get)を使用して、以下のようにします。

# aptitude update

もしくは

# apt-get update

これで、aptitude(またはapt-get)を使用することで、backportsから提供されるパッケージをインストールすることが出来るようになりました。

Linuxのカーネルは、『linux-image-ほにゃらら』のような名前になっています。まず、aptitude(もしくはapt-get)を使用して、最新のlinux-image-がどんな名前かを確認します。

# aptitude search linux-image

もしくは

# apt-cache search linux-image

名前にlinux-imageがつくパッケージが検索できます。結果は以下の様になります(一例です)。

v   linux-image    
v   linux-image-2.6               -                                  
i   linux-image-2.6-amd64         - Linux for 64-bit PCs (dummy package) 
p   linux-image-2.6-openvz-amd64        - 64 ビットマシン用 Linux 2.6 (メタパッケージ)、OpenVZ サポート
p   linux-image-2.6-vserver-amd64       - 64 ビットマシン用 Linux 2.6 (メタパッケージ)、Linux-VServer サポート 
p   linux-image-2.6-xen-amd64           - Linux 2.6 for 64-bit PCs (meta-package), Xen dom0 support 
i A linux-image-2.6.32-5-amd64          - 64 ビットマシン用 Linux 2.6.32 
p   linux-image-2.6.32-5-amd64-dbg      - Linux 2.6.32-5-amd64 のデバッグ情報 
p   linux-image-2.6.32-5-openvz-amd64         - 64 ビットマシン用 Linux 2.6.32、OpenVZ サポート 
p   linux-image-2.6.32-5-openvz-amd64-dbg     - Linux 2.6.32-5-openvz-amd64 のデバッグ情報 
p   linux-image-2.6.32-5-vserver-amd64        - 64 ビットマシン用 Linux 2.6.32、Linux-VServer サポート 
p   linux-image-2.6.32-5-vserver-amd64-dbg    - Linux 2.6.32-5-vserver-amd64 のデバッグ情報 
p   linux-image-2.6.32-5-xen-amd64      - 64 ビットマシン用 Linux 2.6.32、Xen dom0 サポート 
p   linux-image-2.6.32-5-xen-amd64-dbg        - Linux 2.6.32-5-xen-amd64 のデバッグ情報 
i   linux-image-3.2.0-0.bpo.2-amd64     - Linux 3.2 for 64-bit PCs 
p   linux-image-3.2.0-0.bpo.2-amd64-dbg       - Debugging infos for Linux 3.2.0-0.bpo.2-amd64 
p   linux-image-3.2.0-0.bpo.2-rt-amd64        - Linux 3.2 for 64-bit PCs, PREEMPT_RT 
p   linux-image-3.2.0-0.bpo.2-rt-amd64-dbg    - Debugging infos for Linux 3.2.0-0.bpo.2-rt-amd64 

パッケージ名にbpoと書かれているのが、バックポートを利用してインストールできるパッケージです。つまり、通常ではバージョン2.6.32-5のLinuxしかインストールできませんが、バックポートを利用することでバージョン3.2.0.0のLinuxをインストール出来るようになりました。

backportのパッケージは以下のようにしてインストールするそうです。

# aptitude -t squeeze-backports install linux-image-3.2.0-0.bpo.2-amd64

もしくは

# apt-get -t squeeze-backports install linux-image-3.2.0-0.bpo.2-amd64

これで新しいバージョンのLinuxがインストール出来ました。Linuxを再起動させると、私の場合、最新のカーネルを利用することで、液晶の解像度が自動的に正しく設定されました。

というわけで、困っている方は参考にしていただければ幸いです。さらば!