MENU of Ubuntu Linux

私のメモです。参考になればいいですが、間違っていたらごめんなさい。14.04LTSから16.04LTSへのアップグレードのメモです。@2018.08.14

戯れ言

--------------------------------------------------------




























Ubuntu Linux

DN2820FYKHにインストールしていたUbuntu Linux14.04LTSを16.04LTSへアップグレードすることにしました。理由は、https接続に対応するのためにLet's encryptを使うには16.04LTSの方がletsencryptコマンドを使うことができて楽そうだからです。ただ、結果的にはセキュリティの関係で18.04LTSにアップグレードすることになります。

バックアップ

万が一に備えて、無くしては困るファイルはバックアップを取ります。僕の場合、設定がある/etc以下、ウェブページがある/var/www以下を丸ごとコピーしました。

Back to MENU

文字コードの変更

14.04LTSから16.04LTSへのアップグレードは、後述のようにdo-release-upgradeコマンド一発なのですが、ja_JP.UTP-8がLANGに設定されていると、do-release-upgradeでのメッセージが全て文字化けして読めません。そこで、LANGコマンドで文字コードを「C」に設定しておきます。

# LANG=C

Back to MENU

アップグレード

準備が出来たら、まずは現在の14.04をできるだけアップグレードしておきます。

# apt-get update
# apt-get upgrade

アップグレードするパッケージがなくなったら、do-release-upgradeコマンドでいよいよ16.04LTSへアップグレードを実行します。

# do-release-upgrade

aptのサイトをチェック後、削除されるパッケージの個数、新しくインストールされるパッケージの個数、アップグレードされるパッケージの個数が表示され、続行するかを尋ねられます。ここで「y]を入力するとパッケージのダウンロードが始まり、16.04LTSへアップグレードが開始されます。

パッケージのダウンロードが終わると、大量のChange Logがレポートされます。Logを読み終えた後、実際にインストールが始まります。参考までに、僕のサーバでは、インストールを終えて再起動するまでに次のことを尋ねられました。

再起動後、分近く画面に何も表示されず、CUIにするためにCtrl+Alt+F1を押したところ、ログインプロンプトが表示され、ログイン後に無事にアップグレードできたことが確認できました。

Back to MENU

SSH接続のアップデート

Ubunt16.04のSSH接続は、古い暗号、弱い暗号の接続を認めなくなっています。僕の環境では、PuTTY作成したKeyがssh-dssと古く、Windowsからの接続を拒否されるようになりました。

鍵を新しくすれば良いだけですので、PuTTYの最新版(2018/08/14で0.7)をダウンロード&アップデートし、puttygen.exeを起動してKeyを生成しなおしました。生成方法は以前と同じですが、ECDSAなど新しい暗号形式が選択肢に加わっています。僕はKey Typeに「ECDSA」を「Curve to use for generating this key」に「nistp521」を選択しました(下の左図)。その後、「Generate」ボタンを押すとKeyの生成を開始しますが、Keyの生成にマウスの動きを使うため、ボタンを押した後はボタンの上の進捗バー下辺りでマウスを動かします。

鍵の生成を終えたら、次のことを行います。

  1. 公開鍵の設定
    1. 右図のオレンジ色の枠内の文字を全てコピーし、メモ帳に張り付ける
    2. 上記のメモをauthorized_key2という名前で保存し、Ubuntuの~/.ssh内に移動
    3. authorized_key2のパーミッションを600に設定

  2. private keyのパスワード設定

  3. private keyの保存

最後にsshdデーモンを再起動します。

# /etc/ini.d/ssh restart

Back to MENU

その他の修正

ちょっと手が掛かったSSHの鍵の生成のほかに、僕の環境では次の修正をしました。

Back to MENU

Let’s encryptの導入

https接続の需要が増してきたのもあり、僕のサーバでも導入することにしました。無料のサービスを探すと行きつくのがLet’s encryptで、Ubuntu16.04への導入事例もWeb上で豊富に見つかります。今回はHRENDOHさんのブログを参考にやってみました。僕の環境では、iptablesでポート443番を開けてからLet’s encryptの導入し、apacheの設定ファイルを修正しました。。

折角ここまで設定したのですが、PPAを使うほどのヘビーユーザーではなく、次のアップグレード時にトラブルの元になりそうなので、思い切って16.04LTSを18.04LTSにアップグレードすることにしました。

Back to MENU