Linux Ubuntu

Ubuntu (Server) 20.04 LTS インストールメモ

投稿日:

Ubuntu Server 18.04 LTS 上で、各種サービスを動かしていたマシンの電源が故障して、
急遽新しいマシンを調達、出たばかりの 20.04 (Focal Fossa) を入れてみる。

ちなみに、この記事は当面更新を続ける予定で、
以下のトピックにも展開予定。


 

インストールしたマシン

  • CPU: Ryzen 7 3700X
  • M/B: ASRock X570M Pro4
  • Memory: DDR4-3200 16GB x2
  • GPU: ASUS GeForce GT 1030 (2G, GDDR5)
  • Storage: Intel 760p 256GB (NVMe)

別記事でも触れたが、私の周りのサーバーはまだ Xeonばかりで、
そのため手元の開発機なども Intel系ばかりとなっていた。
numpy 等の並列演算を行う用途では、CPUコア数で律速するようなケースもあり、
ソケット辺りのコア数、コア辺りの単価などの観点で、昨今の AMD 躍進は魅力的に思える。
一方で、 numpy などでは Intel MKL版の性能が OpenBLAS版の2倍程度となっており、
これを踏まえるとこの用途ではまだ Intel に分があるようにも思える。
その辺を試す目的で、今回は Ryzen 7 3700X を選択した。
他はスペック的には適当。

Ryzen 7 は iGPU がないので、何らかのビデオカードが必要。
適当につけても数千円はかかるので、1系統 HDMI(/DP) で 4K を出せそうなものを選択。
この ASUS のはファンレス, ヒートシンクが大きいので2スロット占有。
GT 1030 の DDR4版は地雷なので注意。

2スロットのGPU, GbE NIC, 10GbE NIC が刺さるので、
Mini-ITX M/B は無理で、Micro-ATX が限界。

Ryzen はメモリ速度の影響が比較的大きいようなので、
BTO で面倒を見てくれる中で最も速いものを選択。

あとは適当。
NVMe は PCIe4 対応のにすればよかったと少し後悔。
 

HW更新

--> GPU: NVIDIA Quadro P5000
(NVIDIA GeForce RTX 3080 は電源容量が足りず(?) 不安定だった。。。)
 

インストール

Server版を DVD からインストール。
 

インストールメモ

  • 特定のNIC を活性化
    Intel 10GbE NICは、Win10Pro標準ドライバでは認識されていなかったが、
    Ubuntu 20.04 では認識されていた。
  • ubuntu の repository は 理研ミラー を指定しておいた
    http://ftp.riken.jp/Linux/ubuntu
  • ディスク全体を使用(後述)
  • ホスト名: '_' が入力できるが、インストール後のホスト名からは消える
  • OpenSSH-server を入れておく
     

トラブルシューティング

ここ最近はいくつかの要因ですんなりとは行かないことが多いので、
以下の色々試してインストールするのだが、いまだに確定的なことが分からない。
ここ何回かで引っかかった点をいくつか列挙してみる。
尖ったマシンほど引っかかることが多い気がする。

Windows が既にインストールされている場合

  • Windows を正常終了させてからインストールを行う。
    ついつい boot 選択に入り忘れて windows が起動しかけて、
    慌てて reset などしてインストールを開始しようとしても、
    Ubuntu インストーラーがその状態を検知して進まなくなる。
    Windows は正常終了させてからインストールを行う。

  • Windows とのデュアルブート等を目指す場合、
    少なくとも 18.04 サーバー版は既存パーティションには入れられなかった。
    その際はそれができた 16.04 Server をインストールしてから即アップグレードした。
    今回の 20.04 は元々 Ubuntu 単独のつもりなので試せていない。

  • 既存の Windows を grub が見つけてくれない時など
    -- 高速スタートアップを無効化してみる
    -- hibernate を無効化してみる
    -- UEFI, USB など同じインストールメディアの起動元を変えてみる

その他

  • NVMe の挙動が怪しい
    以前もそうだったのだが、インストール時の NVMe SSD の挙動が安定しない。
    前は同じものを2つ導入し、片方を Windows, 他方を Ubuntu の予定だったが、
    NVMe が1つしか見えなかったり、2つ見えてもシリアルが両方同じだったりした。
    単一システムにするなら、見えて進められればインストール後は問題ない。
    デュアルブート時は注意が必要。

  • セキュアブートを切ってみる

  • エラーとか言ってても、画面出力が動き続いているなら少し待ってみる
    Ubuntuインストーラの仕様なのか分からないけど、
    本質的でない場所でも、ところ構わずエラーって出力されているような気がする。
    画面が更新されなくなったり、インストールできませんと表示されたら別の道を探す。

  • インストールに用いるUSBメモリ, 外付け光学ドライブなどが
    認識されない場合は USB の口を変えてみる。
    Type-C, USB 3.1 Gen2, ケース全面のポートなどはうまく行かないことがある。
     

デスクトップ環境

今回入れたのは Server版だが、Desktop環境も入れておく

# まだ日本語 Remix が発表されていない。 下記は 18.04 のもの。
20.04 (Focal Fossa) の日本語 Remix が公開されました。
日本語環境:https://www.ubuntulinux.jp/japanese

10.04 の頃から上記手順を毎回経てきたわけですがですが、
今回それなりに長く日本語 Remix 無しの状態のまま使っていたので、
何を目的に導入していたのか分からなくなってしまいました。

 

NVIDIA ドライバ

GT 1030 に 4K は重すぎるのか動きが辛い。

  • ドライバファイルのダウンロード: NVIDIA-Linux-x86_64-440.82.run
  • マルチユーザーモードで再起動(graphical UI/X を起こさない)

  • DKMS: Dynamic Kernel Module Support を入れる

  • 互換ドライバ: nouveau を除外

  • ドライバのインストール

  • グラフィカルUIに戻す

※ 20.04 の主要変更である “Fractional Scaling (i.e. 150%)” は
 20.04 と nvidia v440 の組み合わせでバグっているらしいので、様子見。
[5/10追記] 起動時の kernel parameter に nvidia_drm.modeset=1 を追加するとの情報あり(未確認)
 

各種設定、追加インストール

 

settings/設定

 

apt

 

"ソフトウェア"

chromium
 

AppImage

CPU-X
PB for Desktop
Cryptomator
 

個別アプリ

SmartGit
GitKraken (v6.4.1)
 

/etc/fstab

tmpfs
 

ゴミ箱を Dock に

 

あちこちの表示不具合対応

https://qiita.com/outou_hakutou/items/ce06cb3c8c355d5fd87c

 

ネットワーク

 

基本的なネットワーク構成の設定

18.04 と同様、netplan (/etc/netplan/~.yaml) で設定する。
yamlファイルは、タブ文字が使えないのでインデントにはスペースを使う。
基本的には以下のような感じになる。

複数のNICがある場合は、名前を match, macaddresses で固定する。
固定IPの場合は addresses、DHCPの場合は dhcp4(6): true で設定する。
末尾の renderer: NetworkManager は、下記の Vino の設定にも必要。
10GbEなどを使用する際のMTU や bonding の設定もこのファイルで行える。
 

DHCPデーモンの設定

/etc/default/isc-dhcp-server で、DHCPを構成するNICを指定する。
INTERFACESv4="enp2s0 enp3s0" のように複数指定することもできる。

/etc/dhcp/dhcpd.conf で構成するローカルネットワークの設定、
配るIPの設定などが行える。
個々のマシンに配るIPを固定したい場合は、このファイルで MACと紐付けを行う。
 

ローカルのネットワーキング設定

上記のDHCPで配った配下のローカルネットワークから、
外へ出れるようにするには以下のようにする。

まずシステムの IP forward を有効にする。

次に iptables でローカルネットからのリクエストを外に foward させる。
例えば以下のような感じ。

上記は 192.168.0.x のローカルから他へのアクセスを enp2s0 から外に送り出す設定。
まずこの状態で正しく設定ができているか確認してください。

正しく設定できていることが確認できたら、設定を固定化させます。

上記でインストールされる iptables-save/iptables-restore を使うと簡単です。
iptables-save は現在設定されている状態が、設定ファイルの形式でダンプされます。
この出力をリダイレクトなどで適当なファイルにして、適宜加筆・修正したものを、

で再反映させることができます。
この状態で問題なければ、設定ファイルを /etc/iptables/rules.v4 にコピーすると、
次回起動以降、この設定ファイルを読んで自動的に iptables が設定されます。
 

VNC/Vino

複数のユーザーが端末を直接触る可能性があるような場合は、xrdp の方がよいかも?
 

その他

 

gnome-open

libgnome2-bin が無くなっていた。
—> gifs-open —> ‘gio open’ になったらしい。
alias open=‘gio open’ としておいた。
 

Nextcloud

Ubuntu でもかなり詳細な手作業のインストール手順が複数あったが、
snap 1コマンド だけでいけるという記述もあるので、とりあえずお試し。
外部公開するかなら気を付ける必要があるかもしれないけど、ひとまずローカルで。
https://qiita.com/S_Katz/items/819feddb62de839f3c49
※ Docker で構築し直しました。 後日記事掲載予定。

/var/snap/nextcloud/common/nextcloud/data 以下あたりにファイルを保管するようだ

localhost 以外でアクセスできるようにする

待ち受けポート番号を変える

 

DNS がおかしくなった場合

DNS が正しく動作せず、例えばLAN内のページ等が引けなくなった場合

 

別記事参照

Rootless Docker のインストール

WordPress on Docker (Nginx + MariaDB)

GitLab CE on (Rootless-) Docker

Nextcloud + ONLYOFFICE (+ MariaDB) on Docker

TBD

Google Adsense

Google Adsense

-Linux, Ubuntu
-,

Copyright© HEPtech, 2024 All Rights Reserved.