Ubuntu 16.04 on Hyper-V 設定内容の備忘録.オープンソースの数学ソフトウェアである SageMath をサーバー化するために導入します.好みは CentOS なんですけど,SageMath の場合は ubuntu の方が楽なので仕方なくです.
Enterprise Open Source and Linux | Ubuntu
Ubuntu is the modern, open source operating system on Linux for the enterprise server, desktop, cloud, and IoT.
方針はとりあえず必要最低限のみ使えれば良い状態にすること.仮想マシンは次の通り設定.
項目 | 値 | 備考 |
世代 | 2 | セキュアブートは無効にしないと起動してこない. |
CPU | 2 | 後で変えられるのでとりあえず. |
起動メモリ | 512MB | グラフィカルなインストーラーが起動すれば良し. |
動的メモリ | 使用 | 後で変えられるのでとりあえず. |
ネットワーク | 使用 | Virtual Switch に接続する. |
仮想HDD | 32GB | 容量可変なのでまあこれは超えないだろうという容量を選択する.作っただけだと実消費は4MB. |
ubuntu 16.04 のインストールイメージは
を選択.インストールの選択は以下の通り.
項目 | 値 | 備考 |
最初のメニュー | Install Ubuntu Server | |
Language | Japanese | |
場所の選択 | 日本 | |
キーボードの設定 | いいえ, Japanese, Japanese | 自動判定は上手くいかない |
ホスト名 | sage | |
ユーザー | sage math, sage, password | sagemath 起動用ユーザー |
HOME暗号化 | いいえ | |
ディスク | ディスク全体 + LVM | |
UEFI | はい | |
プロキシ | なし | |
アップデート | セキュリティアップデートを自動的にインストールする | Landscape は複数の ubuntu を統合的に管理する仕組みのようなので今回は選択せず |
ソフトウェア選択 | standard system utilities, OpenSSH Server | 最低限 |
これでインストール完了.ubuntu はログイン直後は root でのログインは無効化されているので,インストール時に作成したユーザーである sage でログインして,次はネットワークを設定してリブートします.
$ sudo vi /etc/network/interfaces # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 #iface eth0 inet dhcp iface eth0 inet static address 192.168.0.* network 192.168.0.0 netmask 255.255.255.0 broadcast 192.168.100.255 gateway 192.168.0.* dns-nameserver 192.168.0.* $ sudo reboot
起動時に有効なサービスを確認します.
$ sudo systemctl list-unit-files -t service | grep enabled accounts-daemon.service enabled atd.service enabled [email protected] enabled cron.service enabled friendly-recovery.service enabled [email protected] enabled iscsi.service enabled iscsid.service enabled lvm2-monitor.service enabled lxcfs.service enabled lxd-containers.service enabled networking.service enabled open-iscsi.service enabled open-vm-tools.service enabled resolvconf.service enabled rsyslog.service enabled ssh.service enabled sshd.service enabled syslog.service enabled systemd-timesyncd.service enabled ufw.service enabled unattended-upgrades.service enabled ureadahead.service enabled
幾つかよくわからないものもありますが,少なくとも
- iscsi.service (iscsi は使わない)
- iscsid.service (同上)
- lxcfs.service (LXD コンテナ関係で使わない)
- lxd-container.service (同上)
- open-iscsi.service (同上)
- ufw.service (Firewall ですが,今回ローカルなので使わない)
なので,以下の通り無効化します.
$ sudo systemctl stop iscsi.service $ sudo systemctl stop iscsid.service $ sudo systemctl stop lxcfs.service $ sudo systemctl stop lxd-containers.service $ sudo systemctl stop open-iscsi.service $ sudo systemctl stop ufw.service $ sudo systemctl disable iscsi.service $ sudo systemctl list-unit-files -t service | grep enabled accounts-daemon.service enabled atd.service enabled [email protected] enabled cron.service enabled friendly-recovery.service enabled [email protected] enabled lvm2-monitor.service enabled networking.service enabled open-vm-tools.service enabled resolvconf.service enabled rsyslog.service enabled ssh.service enabled sshd.service enabled syslog.service enabled systemd-timesyncd.service enabled unattended-upgrades.service enabled ureadahead.service enabled $ sudo reboot
続いてシステムを最新化します.kernel 関係がアップデートされなかったので,再起動後再アップデートし,そのあと掃除を行います.
$ sudo apt-get update $ sudo apt-get -y upgrade $ subo reboot $ sudo apt-get -y dist-upgrade $ sudo reboot $ sudo apt-get autoremove
最後に自動アップデートを無条件に全部行うために 50unattended-upgrades の該当部分をコメントアウトします.
$ sudo vi /etc/apt/apt.conf.d/50unattended-upgrades // Automatically upgrade packages from these (origin:archive) pairs Unattended-Upgrade::Allowed-Origins { "${distro_id}:${distro_codename}-security"; "${distro_id}:${distro_codename}-updates"; "${distro_id}:${distro_codename}-proposed"; "${distro_id}:${distro_codename}-backports"; };
とりあえずここまで.