Ubuntu 最小インストール個人用メモ(19.10 Eoan)

Ubuntuは半年に一度公式リリースするからパッケージがあまり古びないメリットがある一方、余計なものをやたらと入れるのが気に入らない。余計なパッケージを極力排除して使うために必要なパッケージをメモる。

# インストーラーの操作
1. [Alternative Installer](https://ubuntu.com/download/alternative-downloads) を起動
2. Advanced Options -> Command-line Expert Installにカーソルを重ねて「TAB」または「e」を押し、そこから"tasks=standard"を削除した後に「Enter」を押してインストーラーを起動する
3. インストーラーの言語には日本語を選んでよい
4. あとのほうに出てくる「ソフトウェアの選択」では、何も選択しないでインストールを選ぶ

# インストール後の操作
## 起動後に画面が真っ暗になる
起動するといきなり画面が真っ暗になっているが`ALT + F2`で仮想コンソールを２番目に切り替えると普通にログイン画面が見える。

## APT の設定
普通に`apt`や`apt-get`を用いると「推奨（Recommend）」パッケージもインストールされるが最小構成を目指す上では不要なので

```config:/etc/apt/apt.conf.d/00myconf
APT::Install-Recommends 0;
APT::Get::Purge 1;
```

を書く。

## 不要なパッケージの削除
`ubuntu-standard` と `language-selector-common` あたりは不要なので`apt-get remove` で削除する（しなくても害はない）。また`language-pack-*`は（不要な言語を除いて）絶対削除してはいけない

## どういう用途でも必要そうなパッケージ

```
perl
zip
unzip
dbus-user-session
policykit-1
libnss-systemd
libpam-systemd
fontconfig
```

## Xサーバー関連

```
xserver-xorg
pulseaudio
xfonts-base
```

`xfonts-base` を入れないとXIMを用いて日本語入力するアプリケーション（例えばemacs）で日本語入力できない。`pulseaudio` は音を出すために必須。

## ウェブブラウザ

```
firefox-locale-ja
firefox
browser-plugin-freshplayer-pepperflash
pepperflashplugin-nonfree
```

pepper は[グーグルが開発しているフラッシュを実行するプラグイン](https://wiki.debian.org/PepperFlashPlayer)である

## Mozc 関連

```
mozc-data
mozc-server
mozc-utils-gui
```

上記のパッケージリストは `apt-cache --names-only search ^mozc | awk '{print $1}'` の出力から無駄なものを除いて作った。

## UIM 関連
UIMはibusやfcitxと同じ立場のGUI上での日本語入力を行う枠組みである。

```
uim-mozc
uim
uim-data
uim-gtk2.0
uim-gtk2.0-immodule
uim-gtk3
uim-gtk3-immodule
uim-mozc
uim-plugins
uim-qt5
uim-qt5-immodule
uim-xim
```

上記のパッケージリストは `apt-cache --names-only search ^uim | awk '{print $1}'` の出力から無駄なものを除いて作った。

## emacs 関連

```
emacs
emacs-el
emacs-common-non-dfsg
libcanberra-gtk3-module
appmenu-gtk3-module
```

## フォントのインストール
別のパーティションにウィンドウズが入っている前提で、そのパーティションの`/Windows/Fonts`からフォントを持ってきて `/usr/share/fonts/local/ms` に置いて `fc-cache -rv /usr/share/fonts/local/ms` すると日本語フォントが揃う。

## デスクトップ関連
以下のパッケージリストは `apt-cache --names-only search '^mate-|^ubuntu-mate' | awk '{print $1}'` を参考にした。

```
atril
network-manager-gnome
indicator-power
indicator-sound
indicator-notifications
accountsservice-ubuntu-schemas
lightdm
lightdm-gtk-greeter
mate-accessibility-profiles
mate-applet-appmenu
mate-applet-brisk-menu
mate-applets
mate-applets-common
mate-backgrounds
mate-calc
mate-calc-common
mate-common
mate-control-center
mate-control-center-common
mate-core
mate-desktop
mate-desktop-common
mate-desktop-environment
mate-desktop-environment-core
mate-desktop-environment-extra
mate-desktop-environment-extras
mate-dock-applet
mate-equake-applet
mate-hud
mate-icon-theme
mate-icon-theme-faenza
mate-indicator-applet
mate-indicator-applet-common
mate-media
mate-media-common
mate-menu
mate-menus
mate-netbook
mate-netbook-common
mate-notification-daemon
mate-notification-daemon-common
mate-optimus
mate-panel
mate-panel-common
mate-polkit
mate-polkit-bin
mate-polkit-common
mate-power-manager
mate-power-manager-common
mate-screensaver
mate-screensaver-common
mate-sensors-applet
mate-sensors-applet-common
mate-sensors-applet-nvidia
mate-session-manager
mate-settings-daemon
mate-settings-daemon-common
mate-settings-daemon-dev
mate-sntray-plugin
mate-system-monitor
mate-system-monitor-common
mate-terminal
mate-terminal-common
mate-themes
mate-tweak
mate-user-guide
mate-utils
mate-utils-common
mate-window-applets-common
mate-window-buttons-applet
mate-window-menu-applet
mate-window-title-applet
ubuntu-mate-artwork
ubuntu-mate-default-settings
ubuntu-mate-guide
ubuntu-mate-icon-themes
ubuntu-mate-lightdm-theme
ubuntu-mate-themes
ubuntu-mate-wallpapers-common
ubuntu-mate-wallpapers-eoan
```

## TeX
パッケージは古いから [TeXLive](https://www.tug.org/texlive/acquire-netinstall.html) から最新版をインストールする

## ネットワーク関連をsystemdに任せたい人は…
Network Manager, avahi, netplan, isc-dhcp-client, networkd-dispatcher などのUbuntu パッケージが担う機能を[systemdにすべてやらせてインストールパッケージをさらに絞り込むことも可能](https://qiita.com/kakinaguru_zo/items/a6f2004cbb6d1314f842#network-manager%E3%82%92%E7%94%A8%E3%81%84%E3%81%AA%E3%81%84%E7%84%A1%E7%B7%9A%E8%A8%AD%E5%AE%9A)