Ubuntuをミニマムインストール

## Ubuntuでテストしたい
ubuntuでお気軽にテストしてみたいと思ったことはありませんか？

試したいけど稼働しているserverとかでやらかしてしまうといろいろなところから文句が来たり復旧に長時間かかって迷惑をかけたり・・・。

そこで私はvirtualboxでミニマムインストールして試したいことを最小限のものを入れて試してみたりしています。

### 利点
- Ubuntuインストール完了まで早い
- GNOMEを入れないので軽い (coreが一つでも内容によっては問題ない）
- Diskサイズが必要無ければ10GBあれば十分と思われる。
- クローンして使えば攻めすぎたことをやってもすぐになかったことにできる。


## 環境
Windows 11 Home edition i5-12500H 16GB RAM
VirtualBox 7.0.10 r158379 
Ubuntu　デスクトップではなくserverのisoをダウンロードします。
- ubuntu-24.04-live-server-amd64.iso

## 手順
1. VirtualBoxから新規をクリック
2. 仮想マシンの作成１
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3844894/ec2f45c3-e1ac-d2af-ed27-a6517b59eabd.png)
host名とフォルダーメイトubuntuのisoファイルを指定して「次へ」
3. 仮想マシンの作成２
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3844894/7aee9a54-ec4e-2900-951d-978d2ea95af8.png)
Usernameとパスワードを入力して「次へ」
4. 仮想マシンの作成３
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3844894/66cb1c92-8e46-cdf2-1ee2-b856e3d948f5.png)
何を試すかにもよると思いますが、とりあえず今回はこのまま「次へ」
5. 仮想マシンの作成４
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3844894/d6ec0a29-de59-271a-3194-b0ccf7664181.png)
ディスクサイズも何を試すかによると思いますが、このままでいきます。
Pre-allocate Full sizeをONにしなければ使っていない分は小さくなる。

6. 仮想マシンの作成５
　概要が表示されるので良ければ「完了」
7. Ubuntuの設定　言語
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3844894/c636d138-5818-73c1-0da7-cd8e5cbacb53.png)
とりあえずEnglishのままEnter
8. Ubuntuの設定 キーボード
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3844894/84c54bca-faef-a154-e208-5bb957a74b6a.png)
キーボードはJapanenseで
9. Ubuntuの設定
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3844894/f463e0c1-a3ab-e2b0-1e99-0686b984358e.png)
ここでUbuntu Server (minimized)を選択します。
10. Ubuntuの設定　（ネットワーク）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3844894/5c0ea939-6bdb-5221-ebba-697b466eaf01.png)
とりあえず何もせずDone
11. Ubuntuの設定 (proxy)
今回は何もせずにDone
12. Ubuntuの設定 (Mirror)
こちらも言われるままDone
13. Ubuntuの設定 (Disk設定）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3844894/22011234-4d96-fa70-7141-d7fb7f1ec50e.png)
こちらも何を試すかによると思いますが、今回はUse an Entire diskを選んでDone
14. Ubuntuの設定 (File System Summary)
こちらも何を試すかによると思いますが、今回は何も変更せずにDone -> Continue
15. Ubuntuの設定 (Host名、ユーザ名）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3844894/5f674874-fcac-d888-fec0-a8fc4f199bc1.png)
ユーザ名とホスト名とパスワードを入れてDone
16. Ubuntuの設定 (Ubuntu Proへのupgrade）
今回はskipでContinue
17. Ubuntuの設定 (SSH)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3844894/1cead4e2-251e-3f8c-e4a4-7e33150c4960.png)
これは好みなのですが、私はこの後VirtualBoxホストオンリーアダプターを追加してそこからloginするのでInstall OpenSSH Serverを入れます。
18. Ubuntuの設定（その他）
その他にインストールするものを聞かれますが何も選ばずにDone

しばらくすると一番下の選択肢がReboot NowになるのでRebootします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3844894/fd3285b8-2b38-7e04-cb81-d015969243d9.png)

ログインしてdf -hをしたところです。

## ここからはお好みで
一度仮想マシンを終了します。
```Shell
$ sudo shutdown -h now
```
1. ホストオンリーアダプターの追加
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3844894/93e9801b-4df9-c663-40d8-a8f766c54e5c.png)
仮想マシンの設定->ネットワーク->アダプター2
でネットワークアダプターを有効化にしてホストオンリーアダプターを割り当てて仮想マシンを起動

2. とりあえず必要そうなもののインストール
```Shell
$ sudo apt-get install vim less samba
```
3.　ホストオンリーアダプターを有効化
```Shell
$ sudo cp /etc/netplan/50-cloud-init.yaml /etc/netplan/50-cloud-init.yaml.bak
$ sudo vim /etc/netplan/50-cloud-init.yaml
```
以下になるように編集
```Shell
$ sudo diff -u /etc/netplan/50-cloud-init.yaml.bak /etc/netplan/50-cloud-init.yaml
--- /etc/netplan/50-cloud-init.yaml.bak 2024-07-25 09:28:47.676109943 +0000
+++ /etc/netplan/50-cloud-init.yaml     2024-07-25 09:41:17.504660115 +0000
@@ -7,4 +7,6 @@
     ethernets:
         enp0s3:
             dhcp4: true
+        enp0s8:
+            dhcp4: true
     version: 2
```
4.　設定の反映
```Shell
$ sudo netplan apply
``` 
5.　設定の確認
```Shell
$ ip addr show
### 省略
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:21:fc:b6 brd ff:ff:ff:ff:ff:ff
    inet 192.168.56.106/24 metric 100 brd 192.168.56.255 scope global dynamic enp0s8
       valid_lft 515sec preferred_lft 515sec
    inet6 fe80::a00:27ff:fe9f:3807/64 scope link
       valid_lft forever preferred_lft forever
```
ホストオンリーアダプターに192.168.56.106が割り振られました。（アドレスは環境によって変わります。）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3844894/b696e63f-b772-8cfc-d242-245a8af06241.png)

コマンドプロンプトなどでログインできました。
6.　sambaも使えるようにします。
```Shell
$ sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
$ sudo vim /etc/samba/smb.conf
```
smb.confの編集
オリジナルとのdiffは以下のような感じ
```Shell

$ diff -u /etc/samba/smb.conf.bak /etc/samba/smb.conf
--- /etc/samba/smb.conf.bak     2024-07-25 09:51:31.361822405 +0000
+++ /etc/samba/smb.conf 2024-07-25 09:54:11.684870810 +0000
@@ -172,28 +172,28 @@
 # Un-comment the following (and tweak the other settings below to suit)
 # to enable the default home directory shares. This will share each
 # user's home directory as \\server\username
-;[homes]
-;   comment = Home Directories
-;   browseable = no
+[homes]
+   comment = Home Directories
+   browseable = yes

 # By default, the home directories are exported read-only. Change the
 # next parameter to 'no' if you want to be able to write to them.
-;   read only = yes
+   read only = no

 # File creation mask is set to 0700 for security reasons. If you want to
 # create files with group=rw permissions, set next parameter to 0775.
-;   create mask = 0700
+   create mask = 0700

 # Directory creation mask is set to 0700 for security reasons. If you want to
 # create dirs. with group=rw permissions, set next parameter to 0775.
-;   directory mask = 0700
+   directory mask = 0700

 # By default, \\server\username shares can be connected to by anyone
 # with access to the samba server.
 # Un-comment the following parameter to make sure that only "username"
 # can connect to \\server\username
 # This might need tweaking when using external authentication schemes
-;   valid users = %S
+   valid users = %S

 # Un-comment the following and create the netlogon directory for Domain Logons
 # (you need to configure Samba to act as a domain controller too.)
```
sambaユーザの登録
``` shell
$ sudo smbpasswd -a takaug
```
sambaユーザーのパスワードを登録します。

smbの再起動
``` Shell
$ sudo systemctl restart smb
```

6.　samba接続
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3844894/868cf370-a2de-997c-0be5-ba45848d3354.png)
ホストオンリーアダプターのIPアドレスでユーザ名とパスワードを入れたらつながりました。
(今回なら\\\192.168.56.106\takaug)

## まとめ

ここまでやってVirtualBoxのvdiファイルが3.5GB位でした。
ですのでクローンを作るのものそんなに時間はかからないので、いろいろ気軽に試せるのではないでしょうか？

調べていないですが、セキュリティ的には全然ちゃんとしていないはずです。
なのであくまでも一時的にちょっとしたテストとかに使用できるのではないかと思います。