見出し画像

Debian8から9にアップグレードする方法

2021年12月5日に、Windows XPがインストールされていた2004年くらいのPC Thinkpad T42にDebian8を以前作っておいたCDからインストールしました。

ネット接続した状態でインストールしたけど、Debian8はけっこう古いバージョンのためaptのリポジトリが使えないため?

で最小限のデスクトップ環境しかインストールできなかったです。

インストール時にlocaleを日本語に設定したけど、日本語フォントがインストールされなかったようで、かなり文字化けして文字が四角い記号だらけで使えない状態でした。

これから古めのOSをインストールするときは、インストール時は英語をlocaleに設定しておいて、インストール後に日本語環境を整えていくことをコツとして覚えておきます。

単に設定がおかしいだけかもですがDebian8のaptのリポジトリが使えないっぽくてまともに使っていけそうにないので、Debian9にアップグレードしようと考えました。

1年前に同じ年代のPCThinkpadX41にDebian8を入れたときはDebian10までアップグレードし使いやすくなったので、Thinkpad T42も最終的にはDebian10まではアップグレードしといたほうがよさそうです。

Debianは設定方法が独特で、デスクトップ環境をインストールしたのに設定されていない項目が割と多かったりして、デスクトップ環境を整えていくのが難しく感じます。

アップグレードは/etc/apt/sources.listというファイルのリポジトリの内容を一部変えることが必要です。

自分で何らかの公式以外のリポジトリを追加する場合はsources.list.dというディレクトリ配下にファイルを作ってそのファイルにリポジトリの設定を書くようです。

今回はアップグレードなので公式なリポジトリの内容を変えるのでsources.listの内容を変更するだけです。

ネット接続

今回のDebian8インストールではデスクトップのGUIメニューでネット接続はできなかった(メニューがなさげ)ので、コマンドでネット接続しました。

Wi-Fiはもともと装備されていたのでWi-Fiが使えることが前提で進めます。
また、sudoがインストールされていなかったのでrootユーザーで作業しています。


T42のWi-FiインターフェースがPCに認識されているかを確認

# ip a


Wi-Fiインターフェースが認識されている場合は”wlan0”など、wから始まるインターフェース名が表示されます。

表示されていない場合は、Wi-Fiが装備されていないか、Wi-Fi用のドライバーがインストールされていない場合があります。これらの場合のときの対応方法はこの記事では割愛します。Wi-Fiインターフェース名が認識されていることとして進めます。


Wi-Fiインターフェースを立ち上げる

# ip link set wlan0 up


”wlan0”はip aで表示されたWi-Fiインターフェース名です。インターフェースを立ち上げます。

接続したい無線LANのアクセスポイントをスキャンし確認する

# iwlist wlan0 scanning | grep ESSID

wlan0が認識したアクセスポイントが表示されます。接続したいWi-Fiルーターの名称が表示されていることを確認します。

wpa_supplicantコマンドでWi-Fi接続

# wpa_supplicant -B -i wlan0 -c <(wpa_passphrase <ESSID> <essidのパスワード>)

<ESSID> <essidのパスワード>はそれぞれダブルクォートでくくらなくてそのまま記載して大丈夫です。

コマンド実行後に”…initiarized”のようなメッセージが表示されたらokです。

dhclientコマンドでPCに動的なIPアドレスを割り振る

# dhclient wlan0

これで動的にIPアドレスが割り振られ、ネット接続ができるようになります。

sources.listの内容を変更

/etc/apt/sources.listの内容を変更します。
CDに焼いたDebian8のOSイメージでDebian8をインストールしたのでsources.listにCDがリポジトリ名として登録されています。

この状態でapt updateを実行するとcdを挿入してくださいみたいなメッセージが出てしまうので、#でコメントにして無効にします。

# deb cdrom:[Debian GNU/Linux 8.11.1 Jessie - Official i386 xfce-CD Binary-1 20190211-01:36]/ stretch local main
# deb cdrom:[Debian GNU/Linux 8.11.1 Jessie - Official i386 xfce-CD Binary-1 20190211-01:36]/ stretch local main


次は、”main”と書かれた単語のうしろに”cotrib non-free”という単語を追記します。各deb…ごとにmainという記述があるのですべてに対し追記します。

次は、 “jessie”と書かれた単語をすべて”stretch”という単語に置き換えます。

jessieという単語がDebian8を意味しているのでDebian8のリポジトリを参照するようになっています。

Debian8を意味するjessieを、Debian9を意味するstretchに置き換えることで
Debian9のリポジトリを参照するようになります。

vimで単語を置換すると一気に変えられるので楽です。

#vimで/etc/apt/sources.listを開いた状態で下記コマンドを実行し置換
:%s/jessie/stretch 

僕の場合のsources.listの内容は下記になります。

# deb cdrom:[Debian GNU/Linux 8.11.1 Jessie - Official i386 xfce-CD Binary-1 20190211-01:36]/ stretch local main
# deb cdrom:[Debian GNU/Linux 8.11.1 Jessie - Official i386 xfce-CD Binary-1 20190211-01:36]/ stretch local main
#deb http://security.debian.org/ stretch/updates main contrib non-free

#deb-src http://security.debian.org/ stretch/updates main contrib non-free
deb http://ftp.jp.debian.org/debian/ stretch main contrib non-free

deb-src http://ftp.jp.debian.org/debian/ stretch main contrib non-free
deb http://security.debian.org/ stretch/updates main contrib non-free

deb-src http://security.debian.org/ stretch/updates main contrib non-free
# stretch-updates, previously known as 'volatile'
deb http://ftp.jp.debian.org/debian/ stretch-updates main contrib non-free

deb-src http://ftp.jp.debian.org/debian/ stretch-updates main contrib non-free


以上でsources.listの変更は完了です。


Debian9へのアップグレード


ここまでの状態でapt updateコマンドをするとpublic keyが無い、
”There is no public key”みたいなメセージが出てきましたので、下記コマンドで公開鍵を入手します。

# apt-get install debian-keyring debian-archive-keyring


上記でうまくいかないときは下記をする。<public key id>のところにthere is no public keysのあとに表示されている公開鍵の番号を入力する。

# apt-key adv --recv-keys --keyserver keyserver.ubuntu.com <public key id>

次に一連の下記コマンドを実行するとDebian9へアップグレードできます。

# apt-get update
# apt-get upgrade
# apt-get dist-upgrade
# cat /etc/os-release //Debianのversionがstretchになっていることを確認
# apt-get autoremove

※古いPCなのもあってアップグレード完了まで1時間程度は時間がかかります。













この記事が気に入ったらサポートをしてみませんか?