Ubuntu 19.10 Eoan Ermine リリース

Ermine lines by Gustavo Brenner

予定通り Ubuntu 19.10 Eoan Ermine がリリースされました.

個人的なトピックはi386 archtectureがサポートされなくなった,インストーラでのZFS root対応,Raspberry Pi 4対応辺り,環境があればWPA3対応,NVIDIA driverのインストーラー同梱も便利そうです.

問題点で気になるところはログイン画面でシャットダウン,再起動が出来ないところや Raspberry Pi 3 A+ が起動できなくなっているあたりでしょうか.どちらもバグ扱いになっているので近いうちに修正されるでしょう.

19.10は通常リリースでサポート期間も9ヶ月しか無いですし大体の人はLTSな18.04か20.04を待ったほうがいいでしょうが,新しい機能を試してみたい人は楽しめるのではないでしょうか.

ubuntu 19.10 neofetch

Ubuntu 19.10 (Eoan Ermine)のインストーラにzfsの選択肢が

Ubuntu 19.10のインストーラでZFSを選択できるようになったと見かけて試してみました.

現在BETAのインストーラ( Ubuntu 19.10 (Eoan Ermine) Beta )には未だ入っていなくて,dailyのみのようです.
今回は daily-live 20191011 を利用しました.

イメージを入手して確認
$ wget -c http://cdimage.ubuntu.com/ubuntu/daily-live/20191011/SHA256SUMS \
          http://cdimage.ubuntu.com/ubuntu/daily-live/20191011/SHA256SUMS.gpg \
          http://cdimage.ubuntu.com/ubuntu/daily-live/20191011/eoan-desktop-amd64.iso
$ sha256sum -c SHA256SUMS
eoan-desktop-amd64.iso: OK
$ gpgv --keyring=/usr/share/keyrings/ubuntu-archive-keyring.gpg ./SHA256SUMS.gpg ./SHA256SUMS
gpgv: Signature made Fri 11 Oct 2019 04:48:37 PM JST
gpgv:                using DSA key 46181433FBB75451
gpgv: Can't check signature: No public key
gpgv: Signature made Fri 11 Oct 2019 04:48:37 PM JST
gpgv:                using RSA key D94AA3F0EFE21092
gpgv: Good signature from "Ubuntu CD Image Automatic Signing Key (2012) <cdimage@ubuntu.com>"

インストーラを起動して画面を進めていくと,「インストールの種類」でZFSの選択がありました.
eaon zfs Screenshot ubuntu19.04 2019 10 13 00:55:43

EXPERIMENTAL: Erase disk and use ZFS
Warning: This will delete all your files on all operating systems, This is experimental and ma cause data loss. Do not use on production systems.

仮想マシンのテスト環境なのでZFSを選んで進めます.

eaon zfs 20191013 01:10:48 17155

確認画面のメッセージが ext4 になっていますがそのまま進めるとZFSになったのでメッセージの書き換えがまだされていないのでしょう.

よく見たら vda1 のことでここは /boot/grub に割り当てられていました.

$ mount |grep vda1
/dev/vda1 on /boot/grub type ext4 (rw,relatime,errors=remount-ro)

インストールが終了してインストーラからの再起動でフリーズしたようで1時間ほど前っても進まなかったので強制再起動しましたが無事起動しました.

eaon zfs 20191013 01:10:30 12924

ファイルシステムもZFSになっています :)
eaon zfs Screenshot ubuntu19.04 2019 10 13 01:35:03

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu Eoan Ermine (development branch)
Release:        19.10
Codename:       eoan
$ sudo fdisk -l /dev/vda
Disk /dev/vda: 15 GiB, 16106127360 bytes, 31457280 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xc32b4703

Device     Boot   Start      End  Sectors Size Id Type
/dev/vda1  *       2048   104447   102400  50M 83 Linux
/dev/vda2        104448 31457279 31352832  15G  5 Extended
/dev/vda5        106496  4300799  4194304   2G a5 FreeBSD
/dev/vda6       4302848 31457279 27154432  13G a5 FreeBSD
$ zfs list
NAME                                               USED  AVAIL     REFER  MOUNTPOINT
bpool                                             65.6M  1.69G      176K  /boot
bpool/BOOT                                        64.9M  1.69G      176K  none
bpool/BOOT/ubuntu_qblb6g                          64.7M  1.69G     64.7M  /boot
rpool                                             3.31G  8.80G       96K  /
rpool/ROOT                                        2.57G  8.80G       96K  none
rpool/ROOT/ubuntu_qblb6g                          2.57G  8.80G     2.09G  /
rpool/ROOT/ubuntu_qblb6g/srv                        96K  8.80G       96K  /srv
rpool/ROOT/ubuntu_qblb6g/usr                       200K  8.80G       96K  /usr
rpool/ROOT/ubuntu_qblb6g/usr/local                 104K  8.80G      104K  /usr/local
rpool/ROOT/ubuntu_qblb6g/var                       486M  8.80G       96K  /var
rpool/ROOT/ubuntu_qblb6g/var/games                  96K  8.80G       96K  /var/games
rpool/ROOT/ubuntu_qblb6g/var/lib                   484M  8.80G      378M  /var/lib
rpool/ROOT/ubuntu_qblb6g/var/lib/AccountServices    96K  8.80G       96K  /var/lib/AccountServices
rpool/ROOT/ubuntu_qblb6g/var/lib/NetworkManager    136K  8.80G      136K  /var/lib/NetworkManager
rpool/ROOT/ubuntu_qblb6g/var/lib/apt              75.8M  8.80G     75.8M  /var/lib/apt
rpool/ROOT/ubuntu_qblb6g/var/lib/dpkg             29.9M  8.80G     29.9M  /var/lib/dpkg
rpool/ROOT/ubuntu_qblb6g/var/log                  2.07M  8.80G     2.07M  /var/log
rpool/ROOT/ubuntu_qblb6g/var/mail                   96K  8.80G       96K  /var/mail
rpool/ROOT/ubuntu_qblb6g/var/snap                  112K  8.80G      112K  /var/snap
rpool/ROOT/ubuntu_qblb6g/var/spool                 112K  8.80G      112K  /var/spool
rpool/ROOT/ubuntu_qblb6g/var/www                    96K  8.80G       96K  /var/www
rpool/USERDATA                                    2.93M  8.80G       96K  /
rpool/USERDATA/matoken_vyi27f                     2.72M  8.80G     2.72M  /home/matoken
rpool/USERDATA/root_vyi27f                         112K  8.80G      112K  /root
rpool/swap                                         758M  9.54G       92K  -
$ dpkg -l|grep -i zfs
ii  libzfs2linux                               0.8.1-1ubuntu13                      amd64        OpenZFS filesystem library for Linux
ii  libzpool2linux                             0.8.1-1ubuntu13                      amd64        OpenZFS pool library for Linux
ii  zfs-initramfs                              0.8.1-1ubuntu13                      amd64        OpenZFS root filesystem capabilities for Linux - initramfs
ii  zfs-zed                                    0.8.1-1ubuntu13                      amd64        OpenZFS Event Daemon
ii  zfsutils-linux                             0.8.1-1ubuntu13                      amd64        command-line tools to manage OpenZFS filesystems

実機のeaon環境が1つあるのでこれをインストールし直してZFSを試すのもいいかもしれません.でもその環境はRAMが少ないので辛いかな?

電源管理ソフトウェアTLP のGUI なTLPUI を試す

暑くなってきました.明け方でも室内で30度とかに.メインPCのウェブブラウザを開きっぱなしにしていたりたまにElectronなアプリが暴走してるとCPU温度が酷いことに.

$ acpi -t
Thermal 0: ok, 101.0 degrees C

この状態で放置しているとCritical温度に達して勝手に再起動してしまったりします.(現在の設定は105℃)

$ sensors coretemp-*
coretemp-isa-0000
Adapter: ISA adapter
Package id 0:  +78.0°C  (high = +87.0°C, crit = +105.0°C)
Core 0:        +78.0°C  (high = +87.0°C, crit = +105.0°C)
Core 1:        +78.0°C  (high = +87.0°C, crit = +105.0°C)

Operaのバッテリーセーバーを使うと改善されないだろうかと試してみましたがあまり変わらないような感じ?

Linuxの電源管理を行うTLPというものがあります.NotePCなどで便利です.
これ経由でCPU のgovernor をpowersave に変えて発熱量を下げてみます.

TLPは基本的に設定ファイルを編集して設定します.設定ファイルの場所を Debian sid amd64/Ubuntu 19.10 amd64 で確認すると /etc/default/tlp です.

$ man tlp | grep FILES -A3
FILES
       /etc/default/tlp
              System-wide configuration file containing all power saving settings.

先ず,tlp を未導入の場合は導入

$ sudo apt install tlp tlp-rdw

Thinkpad の場合はこの辺りのKernel module も入れておきましょう.これは両方ともバッテリーのものでSandy Bridge 以降では acpi-call-dkms を,それより前では tp-smapi-dkms を導入します.よくわからない場合は両方を入れても大丈夫そうです.

Sandy Bridge 以降向け

$ sudo apt install acpi-call-dkms

Sandy Bridge より前向け

$ sudo apt install tp-smapi-dkms

/etc/default/tlp の以下の辺りでAC電源とバッテリー電源時の療法を powersave に変えます.

CPU_SCALING_GOVERNOR_ON_AC=powersave
CPU_SCALING_GOVERNOR_ON_BAT=powersave

tlp start で反映させます.

$ sudo tlp start
TLP started in AC mode.

とりあえずこれで暫く試すと70℃くらいで安定しています.
cpufreq で温度によってgovernor を変化させるともっとCPUを使うことも可能です.
( /etc/cpufreqd.confCPU Too hot! 辺り )

とりあえずこれでOKなのですが,GUI のツール無いかなと探してみると TLPUI というものを見つけたので試してみました.

TLPUI の関連パッケージを導入します.

$ sudo apt install python3-gi git python3-setuptools python3-stdeb

アドホックにインストールせず実行,

$ git clone https://github.com/d4nj1/TLPUI
$ cd TLPUI
$ python3 -m ./tlpui

若しくはTLPUI のsource を入手してpkg を作成してインストールして実行します.

$ git clone https://github.com/d4nj1/TLPUI
$ cd TLPUI
$ python3 setup.py --command-packages=stdeb.command bdist_deb
$ sudo dpkg -i ./deb_dist/python3-tlpui_0.1-1_all.deb
$ which tlpui
/usr/bin/tlpui
$ tlpui

20190808 17 08 04 20549
20190808 17 08 08 20640

一般ユーザで実行すると裏の端末で設定反映時に認証が走るのですが,認証に成功しても設定ファイルの書き換えがうまく行きませんでした.

20190808 17 08 12 20759

sudo で実行すると問題無さそうです.

$ sudo tlpui

Software still in Beta status ということで未だβですがお手軽で便利そうです.
でもβなので設定ファイルのバックアップは取っておいたほうが良さそうです.

試した環境1(Debian sid amd64)
$ git show|head -1
commit 372463ba033df12dfa5c6c918f0b65c148f1ffac
$ dpkg-query -W acpi lm-sensors tlp tlp-rdw acpi-call-dkms python3-gi git python3-setuptools python3-stdeb python3-all
acpi    1.7-1.1
acpi-call-dkms
git     1:2.23.0~rc1-1
lm-sensors      1:3.5.0-3
python3-all     3.7.3-1
python3-gi      3.32.2-1
python3-setuptools      41.0.1-1
python3-stdeb   0.8.5-3
tlp     1.2.2-1
tlp-rdw 1.2.2-1
$ lsb_release -dr
Description:    Debian GNU/Linux bullseye/sid
Release:        unstable
$ uname -m
x86_64
試した環境2(Ubuntu 19.10 development amd64)
$ git show|head -1
commit 372463ba033df12dfa5c6c918f0b65c148f1ffac
$ dpkg-query -W acpi lm-sensors tlp tlp-rdw tp-smapi-dkms python3-gi git python3-setuptools python3-stdeb python3-all
acpi    1.7-1.1
git     1:2.20.1-2ubuntu1
lm-sensors      1:3.5.0-3ubuntu1
python3-all     3.7.3-1
python3-gi      3.32.0-1
python3-setuptools      41.0.1-1
python3-stdeb   0.8.5-3
tlp     1.2.2-1
tlp-rdw 1.2.2-1
tp-smapi-dkms   0.43-1
$ lsb_release -dr
Description:    Ubuntu Eoan Ermine (development branch)
Release:        19.10
$ uname -m
x86_64

Ubuntu 19.10 の initramfs-tools から dm-crypt 領域が見つからずエラーとなる

Ubuntu 19.10 amd64 環境でapt upgrade でエラーになります.
新しいKernel が降りてきてinitramfs のところでdm-crypy 領域が見つからない感じのようです.

initramfs-tools (0.133ubuntu9) のトリガを処理しています ...
update-initramfs: Generating /boot/initrd.img-5.2.0-8-generic
cryptsetup: ERROR: Couldn't resolve device
  /dev/disk/by-uuid/805938be-2c29-4a53-9ed2-36fb233d76ea
cryptsetup: ERROR: Couldn't resolve device
  UUID=31145c5b-93fc-4fe0-9e46-3a68bfcadeae
W: initramfs-tools configuration sets RESUME=UUID=31145c5b-93fc-4fe0-9e46-3a68bfcadeae
W: but no matching swap device is available.
処理中にエラーが発生しました:

エラーメッセージで検索すると以下のページを発見.

The problem is that cryptsetup is not supported in the /etc/initramfs-tools/initramfs.conf configuration anymore.

The new location for loading dm-crypt during boot is /etc/cryptsetup-initramfs/conf-hook

CRYPTSETUP=y

you’ll see it in the conf-hook file commented out, just set it as above and it will work again.

If you build a system with encryption, I believe this gets changed at some point, but the live builds are systems that are not built like this, and there isn’t a lot to go on to direct you to make this change.

When you set that and re-make your iso image, you’ll be able to do encrypted persistence again. Worked for me on latest Kali January 2019. :-)

なるほど,この環境はいつも development branch にしているのでこの問題に当たったようですね.

/etc/cryptsetup-initramfs/conf-hookCRYPTSETUP=y と編集して,

$ sudo vi /etc/cryptsetup-initramfs/conf-hook
$ sudo git diff HEAD /etc/cryptsetup-initramfs/conf-hook
diff --git a/cryptsetup-initramfs/conf-hook b/cryptsetup-initramfs/conf-hook
index 8a6a474..fdd7920 100644
--- a/cryptsetup-initramfs/conf-hook
+++ b/cryptsetup-initramfs/conf-hook
@@ -15,7 +15,7 @@
 # cryptsetup initramfs integration.
 #

-#CRYPTSETUP=
+CRYPTSETUP=y

 #
 # KEYFILE_PATTERN: ...

apt でfix-broken を掛けると正常にinitramfs が通り,再起動して新しいkernal で起動しました :)

$ sudo apt install -f
環境
$ dpkg-query -W cryptsetup* initramfs-tools*
cryptsetup      2:2.1.0-5ubuntu2
cryptsetup-bin  2:2.1.0-5ubuntu2
cryptsetup-initramfs    2:2.1.0-5ubuntu2
cryptsetup-run  2:2.1.0-5ubuntu2
initramfs-tools 0.133ubuntu9
initramfs-tools-bin     0.133ubuntu9
initramfs-tools-core    0.133ubuntu9
$ lsb_release -dr
Description:    Ubuntu Eoan Ermine (development branch)
Release:        19.10
$ uname -m
x86_64