Ubuntu 20.04 install memo

UbuntuVMwareにインストールする手順をメモする。

方針

Desktop版をインストールするが、TeraTermを用いてsshでログインして利用することを前提にする。FreeBSDと同等の利用が可能な環境を、なるべくシンプルな方法で構築する。インストール後、

  1. $HOMEのディレクトリ名の英語への修正
  2. openssh-server のインストール
  3. 固定IPアドレスの設定

をした後、シェルスクリプトで必要なソフトウェアを一気にインストールする。

インストール

解像度が低くインストーラの操作ができない場合は、Alt+F7 を押しながらマウス操作で移動できる。
https://masaoo.blogspot.com/2021/07/ubuntu-2004-800x600.html?view=flipcard

インストールは指示通りに行う。「通常のインストール」を選択、「Ubuntuのインストール中にアップデートをダウンロードする」にチェックを入れ、「グラフィックスと...」にはチェックを入れない。「インストールの種類」では「ディスクを削除してUbuntuをインストール」を選択。ユーザーは通常通りの入力で、「ログイン時にパスワードを要求する」を選択する。

インストールが終わったら、オンラインアカウントのログインをスキップして、その後「次へ」を選び続けて終了する。その後、不完全な言語サポートの通知に関してインストールし、システムのアップデートを行う。

最低限の設定

端末を開き、
1. ディレクトリ名の英語への修正、(ターミナルからコマンド、GUI操作有)

$ LANG=C xdg-user-dirs-gtk-update

を実行すると、ウィンドウが現れる。Don't ask me this again にチェックして、Update Names を実行する。
2. openssh-server のインストール

$ sudo apt-get -y install openssh-server

とりあえず、設定は後回し。
3. 固定IPアドレスの設定
[設定]->[ネットワーク] からIPアドレス、デフォルトルート、DNSを設定。
を済ませて、再起動

最初のログイン

/etc/ssh/sshd_conf の設定をしなかった場合、TeraTerm 等の端末エミュレータからのログインは、プレインパスワードを用いることに注意する。下記の設定をして、チャレンジレスポンス認証を有効にする。

dotFiles

dotFiles (https://github.com/masakeida/dotFiles) から、.bash_aliases と .inputrc を $HOME にコピー。

$HOME

$HOME/bin
$HOME/public_html
$HOME/.local/bin
を作成する。$PATH は、.profile の記述により自動的に入る。

root パスワード設定

$ sudo passwd root

/etc/ssh/sshd_config 修正

$ diff /etc/ssh/sshd_config.ORG /etc/ssh/sshd_config
34c34
< #PermitRootLogin prohibit-password
---
> PermitRootLogin no
58c58
< #PasswordAuthentication yes
---
> PasswordAuthentication no
63c63
< ChallengeResponseAuthentication no
---
> ChallengeResponseAuthentication yes

sshd を再起動する。

$ sudo systemctl restart ssh

ubuntuPostInstall

github.com

root になって ubuntuPostInstall.sh を実行する。このスクリプトが実行することは基本的に2つ。

  1. pkg_list.txt に記載されたパッケージをインストールする。
  2. server_list.txt に記載されたサービスを disable する。

必要なパッケージを apt-get でインストールする。nis についてのみ、nisdomain 名を尋ねられ、その後「nis (3.17.1-3build1) を設定しています ...」でかなりの時間固まる。動き出すまで待つこと。それ以外は問題なくインストールできる。サーバースイートについては、インストールのみとし、すぐには使わないので disable する。現状、disable するものは以下の通り。
samba (smbd, nmbd)
apache2 (apache2)
nginx (nginx)
mysql (mysql)
unbound (unbound)
nfs (nfs-kernel-server)
nis (nis, rpcbind)
rpcbind を最後に disable するのがいいと思う。

pkg_list.txt に記載したもので必要ないものもありそう。php に依存して apache2 がインストールされるようだ。また、open-vm-tools-desktop は自動的に入っているようだ。

ここで再起動する。

感想

意外とシンプルな方法で、利用できる環境構築ができた。運用としては、

# apt-get -y update
# apt-get -y upgrade
# apt-get -y dist-upgrade

を繰り返して、LTSが出たら新規インストールをする、ということでやっていくのが楽なのではないかと思う。

細かい点
  • FreeBSD では、特にサーバースイートについては、インストールと起動が別なので、インストールして、設定ファイルを正しく書いて、起動する、という3ステップが必要になる。Ununtu の文化では、インストールすると自動的に起動されてしまう。適切な設定がなされるのだろうが、ちょっと困る。なので disable するようにしている。
  • インストール後、GUI 操作なしで済むといいのだけれど。「ディレクトリ名の英語への修正」と「固定IPアドレスの設定」を、どのように設定するのが正しいのか、要調査。
  • パッケージの存在、不存在をチェックする方法も、要調査。