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)

add)
解りにくからってことでバグとして上がっていました.20.04で修正されそう.

  • Bug #1847719 “zfs “Write to change disks” message prints that an…” : Bugs : ubiquity package : Ubuntu
  • インストールが終了してインストーラからの再起動でフリーズしたようで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が少ないので辛いかな?

    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

    Ubuntu Server インストーラの Github, Launchpad からの ssh公開鍵インポート機能

    github.com/settings/keys からSSH Keyとして突っ込んどくと便利だし、今のUbuntu Serverはセットアップでそれを使う項目すらあるので

    なるほど便利そう
    試してみようと Ubuntu Server 18.04.2 LTS
    (ubuntu-18.04.2-live-server-amd64.iso) のインストーラで試してみました.

    OpenSSH を導入するようにすると,SSH鍵をインポートするオプションで Github / Launchpad が選べます.
    Screenshot ubuntu18 04 2019 03 30 13 02 56

    こんな感じでインポートされました.
    Screenshot ubuntu18 04 2019 03 30 13 05 37

    インストールが終了して ssh login するとインポートされた鍵で login 出来ました.

    インポートされた公開鍵を確認するとコメント部分が少し書き換わっています.

    $ cat ~/.ssh/authorized_keys
    ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPgwY9aZPxN/YoBBzd7TOcCk7EuGO0E9PuUjCHPtTuHP matoken@github/16598604 # ssh-import-id gh:matoken
    ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEoKnbjj7cVafcAJbYHqUEua1x/81uzoK0LnjgqmR6H8 matoken@github/33364582 # ssh-import-id gh:matoken

    sshd_config を見ると編集ではなく末尾に追記してるのでちょっと雑い感.

    $ grep PasswordAuthentication /etc/ssh/sshd_config
    #PasswordAuthentication yes
    # PasswordAuthentication.  Depending on your PAM configuration,
    # PAM authentication, then enable this but set PasswordAuthentication
    PasswordAuthentication no
    $ tail -1 /etc/ssh/sshd_config
    PasswordAuthentication no

    ちなみに,Github から鍵を入手するのはこんな感じで行けるようです.
    (<USERNAME>部分を該当ユーザ名に修正)

    Launchpad はこんな感じ.

    ちなみにLaunchpad は未だED25519形式には未対応なようです.
    20190330 13 03 12 27418

    Bitbucket の鍵も同様に https://api.bitbucket.org/2.0/users/<USERNAME>/ssh-keys で入手できそうと思ったのですが,未認証では駄目みたいです.

    $ curl -s https://api.bitbucket.org/2.0/users/matoken/ssh-keys|jq
    {
      "type": "error",
      "error": {
        "message": "This API is only accessible with the following authentication types: session, password, apppassword"
      }
    }
    環境
    $ lsb_release -d
    Description:	Ubuntu 18.04.2 LTS
    $ uname -m
    x86_64

    Debian, Ubuntu で 上流のパッケージを借りてくる

    以前以下のような記事を書きました.

    今でもこのblogの中ではアクセスが多く,最近もトラックバックをもらいました.

    この当時は arm64 の mozcパッケージがなくて自分でbuild したという話なのですが,現在はDebian では buster(testing), Ubuntu ではartful(17.10) 以降でパッケージが存在します.
    なのでこの野良パッケージを使うよりも公式の上流パッケージを借りるほうが大抵の場合いいと思います.
    ということで手順を書いておきます.

    パッケージファイルだけが必要な場合はパッケージのページからダウンロード可能です.

    野良パッケージは近日中に削除します.

    Debian stretch arm64 に Debian buster arm64 の mozc を借りてくる

    Debian stretch arm64 では mozc-data しかない
    $ apt-cache search mozc
    mozc-data - Mozc input method - data files

    buster(testing) のmozc を借りてくることにする.

    /etc/apt/preferences で buster の優先度を下げる

    /etc/apt/preferences
    Package: *
    Pin: release n=buster
    Pin-Priority: 100
    /etc/apt/sources.list に buster(testing)追加 設定
    deb http://deb.debian.org/debian buster main

    sources.list の編集には apt edit-sources を使うと文法チェックをしてくれるのでおすすめ

    パッケージ情報の更新
    $ sudo apt update
    mozcパッケージの確認
    $ apt-cache search mozc
    mozc-data - Mozc input method - data files
    fcitx-dbus-status - Addon for Fcitx to set/get/monitor IM statuses via D-Bus
    emacs-mozc - Mozc for Emacs
    emacs-mozc-bin - Helper module for emacs-mozc
    fcitx-mozc - Mozc engine for fcitx - Client of the Mozc input method
    ibus-mozc - Mozc engine for IBus - Client of the Mozc input method
    mozc-server - Server of the Mozc input method
    mozc-utils-gui - GUI utilities of the Mozc input method
    uim-mozc - Mozc engine for uim - Client of the Mozc input method
    パッケージの導入
    $ apt install fcitx-mozc -t buster

    後は通常の apt update && apt upgrade で stretch で導入したパッケージは stretch で,buster で導入したパッケージはbuster で更新されるはず.

    Ubuntu 16.04 LTS xenial arm64 に Ubuntu 18.04 LTS bionic arm64 の mozc を借りてくる

    Debianの手順と同じでもokだと思うけど念の為以下の手順を真似してみる.

    mozc は Ubuntu 17.10 artful から対応しているが,もうサポートされないのでUbuntu 18.04 bionic を使う.

    標準のリリースを xenial に設定

    /etc/apt/apt.conf.d/01ubuntu
    APT::Default-Release "xenial";

    mozc をpinningする

    /etc/apt/preferences
    Package: *mozc*
    Pin: release n=xenial
    Pin-Priority: -10
    
    Package: *mozc*
    Pin: release n=bionic
    Pin-Priority: 900

    /etc/apt/sources.list に buster(testing) を 追加 設定

    /etc/apt/sources.list
    deb http://ports.ubuntu.com/ bionic main universe

    ※sources.list の編集には apt edit-sources を使うと文法チェックをしてくれるのでおすすめ
    ※mirrorにより arm64 が置かれていないので注意

    パッケージ情報の更新
    $ sudo apt update
    検索結果にmozcが出てくる
    $ apt-cache search mozc
    mozc-data - Mozc input method - data files
    ibus-mozc - Mozc engine for IBus - Client of the Mozc input method
    mozc-server - Server of the Mozc input method
    mozc-utils-gui - GUI utilities of the Mozc input method
    emacs-mozc - Mozc for Emacs
    emacs-mozc-bin - Helper module for emacs-mozc
    fcitx-mozc - Mozc engine for fcitx - Client of the Mozc input method
    uim-mozc - Mozc engine for uim - Client of the Mozc input method
    パッケージの導入
    $ sudo apt install fcitx-mozc -t bionic

    パスワードジェネレーターコマンド apg のオプションメモ

    新しいマシンの設定するときに調べ直したメモ.

    よく使うオプション

    • -a パスワードアルゴリズムの指定

      • 0 発音可能

      • 1 ランダム

    • -n パスワード生成数

    • -m パスワード最低文字長

    • -x パスワード最大文字長

    • -M 文字の種類を指定

      • S 必ず記号を利用

      • s 記号を利用

      • N 必ず数字を利用

      • n 数字を利用

      • C 必ず英大文字を利用

      • c 英大文字を利用

      • L 必ず英小文字を利用

      • l 英小文字を利用

    • -E 指定した文字を利用しない(複数指定可能)

    記号のみ

    $ apg -Ms -a1
    #/^>,\../
    \^./\{~<
    %(_/_%_]]`
    =..,;[$('
    "$$$"<!]~
    -%\?`_++<<
    $ apg -MS -a1
    ,/.>[@;%@`
    @,$(_/*_.
    ``'"}=*%#
    [#|,'@?"-
    ,?];"]]&?@
    [)'$@>'{/}

    数字のみ

    $ apg -Mn -a1
    14683511
    97138910
    5192942105
    3010244799
    381484337
    493808346
    $ apg -MN -a1
    5426157541
    03163967
    98161665
    369810970
    38523677
    249810992

    英大文字のみ

    $ apg -Mc -a1
    GBUDJODXIH
    RMEUJNHKQM
    OJHCTVJR
    HPWKCOLD
    ZAPCGYWCNA
    WIOKVXDTZW
    $ apg -MC -a1
    KOQOVOSAJB
    IWWQSBTL
    IPUFNTGP
    GMKFKXIJKT
    OWVNYNFL
    QLVOAUEMSU

    英子文字のみ

    $ apg -Ml -a1
    uviqxdrc
    tukfvlona
    mzmwjjhe
    jtssfdla
    qmzjxlet
    rzzxjvnyr
    $ apg -ML -a1
    wivxbkdpe
    xnvdepbhro
    wclwdrofjk
    dorabarzdc
    zedblcjp
    ibwmgwwrv

    記号数字英大文字小文字を必ず含む

    $ apg -MSNCL
    8dromKaix"
    in2OfKain;
    {on1Woan
    Peow9Ot_
    |owpIpVap9
    7OnryubAp`

    パスワード長最低11文字

    $ apg -MSNCL -m11
    DiOfnu1Miv>
    @okshEcWew0
    cosh1olbIm^
    forkow0Oll^
    'Obpiugtut1
    ItEdd`dros0

    パスワード文字長11〜16文字

    apg -MSNCL -m11 -x16
    bywax|biggIp3
    yik7henvecJavUj"
    8lawhasBokPyft^
    yijTysFeg5oj%
    8quactArnyobpec?
    abGaj9etsyic)

    覚え方も併記

    $ apg -MSNCL -m11 -l
    rawd9<FriWa romeo-alfa-whiskey-delta-NINE-LESS_THAN-Foxtrot-romeo-india-Whiskey-alfa
    `shnoandOg1 GRAVE-sierra-hotel-november-oscar-alfa-november-delta-Oscar-golf-ONE
    Rudwem9Gon! Romeo-uniform-delta-whiskey-echo-mike-NINE-Golf-oscar-november-EXCLAMATION_POINT
    8OjsewJerj, EIGHT-Oscar-juliett-sierra-echo-whiskey-Juliett-echo-romeo-juliett-COMMA
    mayng1WiUb^ mike-alfa-yankee-november-golf-ONE-Whiskey-india-Uniform-bravo-CIRCUMFLEX
    Dams9Odcan- Delta-alfa-mike-sierra-NINE-Oscar-delta-charlie-alfa-november-HYPHEN

    パスワードの生成数を20に

    $ apg -MSNCL -m11 -l -n20
    3OcMu7twad` THREE-Oscar-charlie-Mike-uniform-SEVEN-tango-whiskey-alfa-delta-GRAVE
    Fed8Twygub; Foxtrot-echo-delta-EIGHT-Tango-whiskey-yankee-golf-uniform-bravo-SEMICOLON
    Re^SwibTim9 Romeo-echo-CIRCUMFLEX-Sierra-whiskey-india-bravo-Tango-india-mike-NINE
    ~trirv2Dosh TILDE-tango-romeo-india-romeo-victor-TWO-Delta-oscar-sierra-hotel
    Rot%slocOv1 Romeo-oscar-tango-PERCENT_SIGN-sierra-lima-oscar-charlie-Oscar-victor-ONE
    5Knu.BijKue FIVE-Kilo-november-uniform-PERIOD-Bravo-india-juliett-Kilo-uniform-echo
    !olf6Fobviv EXCLAMATION_POINT-oscar-lima-foxtrot-SIX-Foxtrot-oscar-bravo-victor-india-victor
    _HemJefGej4 UNDERSCORE-Hotel-echo-mike-Juliett-echo-foxtrot-Golf-echo-juliett-FOUR
    8drydOdlec| EIGHT-delta-romeo-yankee-delta-Oscar-delta-lima-echo-charlie-VERTICAL_BAR
    mud2FridOn= mike-uniform-delta-TWO-Foxtrot-romeo-india-delta-Oscar-november-EQUAL_SIGN
    ic:GrubFek6 india-charlie-COLON-Golf-romeo-uniform-bravo-Foxtrot-echo-kilo-SIX
    playb(Blos4 papa-lima-alfa-yankee-bravo-LEFT_PARENTHESIS-Bravo-lima-oscar-sierra-FOUR
    KajCedd<od8 Kilo-alfa-juliett-Charlie-echo-delta-delta-LESS_THAN-oscar-delta-EIGHT
    Num>ObAind4 November-uniform-mike-GREATER_THAN-Oscar-bravo-Alfa-india-november-delta-FOUR
    0Quoorc=gro ZERO-Quebec-uniform-oscar-oscar-romeo-charlie-EQUAL_SIGN-golf-romeo-oscar
    Ocweecs_El4 Oscar-charlie-whiskey-echo-echo-charlie-sierra-UNDERSCORE-Echo-lima-FOUR
    Jirk,Kneip7 Juliett-india-romeo-kilo-COMMA-Kilo-november-echo-india-papa-SEVEN
    Marb?Bluch1 Mike-alfa-romeo-bravo-QUESTION_MARK-Bravo-lima-uniform-charlie-hotel-ONE
    gabGon:Jep9 golf-alfa-bravo-Golf-oscar-november-COLON-Juliett-echo-papa-NINE
    #utvabVert2 CROSSHATCH-uniform-tango-victor-alfa-bravo-Victor-echo-romeo-tango-TWO

    指定した文字を含めない

    $ apg -MSNCL -m11 -E1l!
    Mobad3ubUj,
    Ji3vin@Oraj
    rap&OnIarb4
    banip4UvAd(
    Deugh[ixEn8
    mojAw{osev5

    aliasに設定

    aliasに設定しておくと便利.

    以下はbashに設定した例
    $ echo 'alias apg="apg -MSNCL -m11"' | tee -a ~/.bashrc
    alias apg="apg -MSNCL -m11"
    設定反映(もしくはログインし直し)
    $ source ~/.bashrc
    $ alias | grep apg
    alias apg='apg -MSNCL -m11'
    動作確認
    $ apg
    EcsAr)Gruk9
    Toym7Blyft%
    phiet'ijEg4
    wimDu[Neeb4
    niUds/Odav2
    notCeit!oc6
    オプションを追加することも出来る
    $ apg -l
    6Drowm`twup SIX-Delta-romeo-oscar-whiskey-mike-GRAVE-tango-whiskey-uniform-papa
    twar1mu^Mel tango-whiskey-alfa-romeo-ONE-mike-uniform-CIRCUMFLEX-Mike-echo-lima
    Upumwik?Oc4 Uniform-papa-uniform-mike-whiskey-india-kilo-QUESTION_MARK-Oscar-charlie-FOUR
    cyx4Odcaff) charlie-yankee-x_ray-FOUR-Oscar-delta-charlie-alfa-foxtrot-foxtrot-RIGHT_PARENTHESIS
    6drebIt/quo SIX-delta-romeo-echo-bravo-India-tango-SLASH-quebec-uniform-oscar
    5Ofdiatilg' FIVE-Oscar-foxtrot-delta-india-alfa-tango-india-lima-golf-APOSTROPHE
    一時的にaliasを無効に
    $ \apg
    stintun0Oc? (stint-un-ZERO-Oc-QUESTION_MARK)
    FlewUcyibr&Op0 (Flew-Uc-yibr-AMPERSAND-Op-ZERO)
    Ont3okDeadGeg~ (Ont-THREE-ok-Dead-Geg-TILDE)
    reginkAl#twew5 (reg-ink-Al-CROSSHATCH-twew-FIVE)
    "4KnapavAvTil (QUOTATION_MARK-FOUR-Knap-av-Av-Til)
    Frol9Swec\ (Frol-NINE-Swec-BACKSLASH)

    環境

    $ apg -v
    APG (Automated Password Generator)
    version 2.2.3 (PRNG: X9.17/SHA-1)
    Copyright (c) 1999, 2000, 2001, 2002, 2003 Adel I. Mirzazhanov
    $ apt show apg
    Package: apg
    Version: 2.2.3.dfsg.1-4
    Priority: optional
    Section: admin
    Origin: Ubuntu
    Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
    Original-Maintainer: Marc Haber <mh+debian-packages@zugschlus.de>
    Bugs: https://bugs.launchpad.net/ubuntu/+filebug
    Installed-Size: 137 kB
    Depends: libc6 (>= 2.14)
    Homepage: http://www.adel.nursat.kz/apg/
    Task: ubuntu-desktop, ubuntu-usb, edubuntu-desktop, edubuntu-usb, ubuntu-gnome-desktop, ubuntu-touch, ubuntukylin-desktop, ubun
    tu-budgie-desktop
    Supported: 9m
    Download-Size: 50.2 kB
    APT-Manual-Installed: no
    APT-Sources: http://jp.archive.ubuntu.com/ubuntu artful/main amd64 Packages
    Description: 自動パスワード生成器 - スタンドアロン版
     APG (Automated Password Generator) is the tool set for random password generation. It generates some random words of required
    type and prints them to standard output. This binary package contains only the standalone version of apg. Advantages:
      * Built-in ANSI X9.17 RNG (Random Number Generator)(CAST/SHA1)
      * Built-in password quality checking system (now it has support for Bloom
        filter for faster access)
      * Two Password Generation Algorithms:
         1. Pronounceable Password Generation Algorithm (according to NIST
            FIPS 181)
         2. Random Character Password Generation Algorithm with 35
            configurable modes of operation
      * Configurable password length parameters
      * Configurable amount of generated passwords
      * Ability to initialize RNG with user string
      * Support for /dev/random
      * Ability to crypt() generated passwords and print them as additional output.
      * Special parameters to use APG in script
      * Ability to log password generation requests for network version
      * Ability to control APG service access using tcpd
      * Ability to use password generation service from any type of box (Mac,
        WinXX, etc.) that connected to network
      * Ability to enforce remote users to use only allowed type of password
        generation
      The client/server version of apg has been deliberately omitted.
     .
     Please note that there are security flaws in pronounceable password
     generation schemes (see Ganesan / Davis "A New Attack on Random
     Pronounceable Password Generators", in "Proceedings of the 17th National
     Computer Security Conference (NCSC), Oct. 11-14, 1994 (Volume 1)",
     http://csrc.nist.gov/publications/history/nissc/ 1994-17th-NCSC-
     proceedings-vol-1.pdf, pages 203-216)
     .
     apg has not seen upstream attention since 2003, upstream is not answering
     e-mail, and the upstream web page does not look like it is in good working
     order. The Debian maintainer plans to discontinue apg maintenance as soon
     as an actually maintained software with a compariable feature set becomes
     available.
    
    $ neofetch
                .-/+oossssoo+/-.              mk@x200
            `:+ssssssssssssssssss+:`          -------
          -+ssssssssssssssssssyyssss+-        Model: 74574PJ ThinkPad X200
        .ossssssssssssssssssdMMMNysssso.      OS: Ubuntu Artful Aardvark (development branch) x86_64
       /ssssssssssshdmmNNmmyNMMMMhssssss/     Kernel: 4.11.0-10-generic
      +ssssssssshmydMMMMMMMNddddyssssssss+    Uptime: 2 days, 18 hours, 10 minutes
     /sssssssshNMMMyhhyyyyhmNMMMNhssssssss/   Packages: 4274
    .ssssssssdMMMNhsssssssssshNMMMdssssssss.  Shell: bash 4.4.12
    +sssshhhyNMMNyssssssssssssyNMMMysssssss+  Resolution: 1280x800
    ossyNMMMNyMMhsssssssssssssshmmmhssssssso  WM: awesome
    ossyNMMMNyMMhsssssssssssssshmmmhssssssso  Theme: Ambiance [GTK3]
    +sssshhhyNMMNyssssssssssssyNMMMysssssss+  Icons: Ubuntu-mono-dark [GTK3]
    .ssssssssdMMMNhsssssssssshNMMMdssssssss.  Terminal: tilix
     /sssssssshNMMMyhhyyyyhdNMMMNhssssssss/   CPU: Intel 2 Duo P8400 (2) @ 2.267GHz
      +sssssssssdmydMMMMMMMMddddyssssssss+    GPU: Intel® GM45 Express Chipset
       /ssssssssssshdmNNNNmyNMMMMhssssss/     GPU: Intel® GM45 Express Chipset
        .ossssssssssssssssssdMMMNysssso.      Memory: 7083MiB / 7878MiB
          -+sssssssssssssssssyyyssss+-
            `:+ssssssssssssssssss+:`
                .-/+oossssoo+/-.

    PlumaでAsciiDocのsyntax highlightを

    ちょっと探したらこういうものがあった

    $ git clone https://github.com/edusantana/asciidoc-highlight
    $ cd ./asciidoc-highlight/gedit
    $ ./install.sh
    $ ls -lA ~/.local/share/gtksourceview-2.0/language-specs/asciidoc.lang
    lrwxrwxrwx 1 mk mk 26  7月 16 02:40 /home/mk/.local/share/gtksourceview-2.0/language-specs/asciidoc.lang -> /home/mk/src/asciid
    oc.lang
    $ ls -lA ~/.local/share/gtksourceview-3.0/language-specs/asciidoc.lang
    lrwxrwxrwx 1 mk mk 26  7月 16 02:40 /home/mk/.local/share/gtksourceview-3.0/language-specs/asciidoc.lang -> /home/mk/src/asciidoc.lang

    シンボリックリンクが作られていた.scriptもこれだけ.

    $ cat ./asciidoc-highlight/gedit/install.sh
    #!/bin/sh
    SRC=$PWD
    mkdir -p ~/.local/share/gtksourceview-3.0/language-specs/
    cd ~/.local/share/gtksourceview-3.0/language-specs/
    ln -s $SRC/asciidoc.lang
    mkdir -p ~/.local/share/gtksourceview-2.0/language-specs/
    cd ~/.local/share/gtksourceview-2.0/language-specs/
    ln -s $SRC/asciidoc.lang

    一旦消してfileをcpしておいた.

    $ rm ~/.local/share/gtksourceview-2.0/language-specs/asciidoc.lang ~/.local/share/gtksourceview-3.0/language-specs/asciidoc.lang
    $ cp asciidoc-highlight/gedit/asciidoc.lang ~/.local/share/gtksourceview-3.0/language-specs/
    $ ln -s ~/.local/share/gtksourceview-3.0/language-specs/asciidoc.lang ~/.local/share/gtksourceview-2.0/language-specs/
    $ ls -lA ~/.local/share/gtksourceview-2.0/language-specs/asciidoc.lang                                                 lrwxrwxrwx 1 mk mk 68  7月 16 02:43 /home/mk/.local/share/gtksourceview-2.0/language-specs/asciidoc.lang -> /home/mk/.local/share/gtksourceview-3.0/language-specs/asciidoc.lang
    $ ls -lA ~/.local/share/gtksourceview-3.0/language-specs/asciidoc.lang                                                 -rw-rw-r-- 1 mk mk 18731  7月 16 02:43 /home/mk/.local/share/gtksourceview-3.0/language-specs/asciidoc.lang

    この後Plumaを起動すると,[表示]→[強調表示モード]→[マークアップ]→[AsciiDoc]が出てくる.
    *.adocをopenすると自動的にsyntax highlightが有効になる.新規ファイルの場合*.adocとして保存しても効かない.要手動設定.

    環境

    $ dpkg-query -W pluma
    pluma   1.18.2-0ubuntu1
    $ neofetch
                .-/+oossssoo+/-.              mk@x200
            `:+ssssssssssssssssss+:`          -------
          -+ssssssssssssssssssyyssss+-        Model: 74574PJ ThinkPad X200
        .ossssssssssssssssssdMMMNysssso.      OS: Ubuntu Artful Aardvark (development branch) x86_64
       /ssssssssssshdmmNNmmyNMMMMhssssss/     Kernel: 4.11.0-10-generic
      +ssssssssshmydMMMMMMMNddddyssssssss+    Uptime: 3 days, 1 hour, 19 minutes
     /sssssssshNMMMyhhyyyyhmNMMMNhssssssss/   Packages: 4211
    .ssssssssdMMMNhsssssssssshNMMMdssssssss.  Shell: bash 4.4.12
    +sssshhhyNMMNyssssssssssssyNMMMysssssss+  Resolution: 1280x800
    ossyNMMMNyMMhsssssssssssssshmmmhssssssso  WM: awesome
    ossyNMMMNyMMhsssssssssssssshmmmhssssssso  Theme: Ambiance [GTK3]
    +sssshhhyNMMNyssssssssssssyNMMMysssssss+  Icons: Ubuntu-mono-dark [GTK3]
    .ssssssssdMMMNhsssssssssshNMMMdssssssss.  CPU: Intel 2 Duo P8400 (2) @ 2.267GHz
     /sssssssshNMMMyhhyyyyhdNMMMNhssssssss/   GPU: Intel® GM45 Express Chipset
      +sssssssssdmydMMMMMMMMddddyssssssss+    GPU: Intel® GM45 Express Chipset
       /ssssssssssshdmNNNNmyNMMMMhssssss/     Memory: 7239MiB / 7878MiB
        .ossssssssssssssssssdMMMNysssso.
          -+sssssssssssssssssyyyssss+-
            `:+ssssssssssssssssss+:`
                .-/+oossssoo+/-.

    Ubuntu 16.04 aarch64環境でmozc pkgが無いのでsource pkgからbuild

    EDIT: 現在は次の記事の手順のほうが良いと思います -> Debian, Ubuntu で 上流のパッケージを借りてくる – matoken’s meme

     

    最近Ubuntu 16.04 aarch64のi3 wmにモニタとキーボードを繋いでデスクトップ利用を試しています.しかし,日本語入力のためのmozcのバイナリパッケージが見当たりません.確認すると,xenialからartfulではi386/amd64/armhfのみの対応.

    Debianではarmelも対応していますが,arm64はやっぱりありません.

    armhf/armelで動いているならarm64もあまり悩まずソースパッケージからbuildできるのではと試してみました.

    #dpkg –add-archtecture armhfしてMultiarchにしてarmhfのMozcを使うという手でも行けそうな気はする.(未確認)

    環境構築

    必要なパッケージの導入と,ソースパッケージの入手を行います.

    $ sudo apt update
    $ sudo apt upgrade
    $ sudo apt install build-essential devscripts
    $ sudo apt build-dep fcitx-mozc
    $ apt source fcitx-mozc
    
    • apt build-depは指定したパッケージをbuildするのに必要なパッケージを導入できます.
    • apt sourceは指定したパッケージのソースパッケージを導入して展開してくれます.

    ※もしソースパッケージが見つからない場合はsource.listにdeb-srcの行があるか確認してみてください.無ければapt edit-sourcesコマンドで/etc/apt/source.listファイルを編集してdeb-srcを有効にしてください.以下のページが参考になると思います.

    Archtectureにarm64を追加してバイナリパッケージ作成

    次にソースディレクトリに降りて,debian/controlファイルを開き,必要なパッケージのArchtectureにarm64を登録します.mozc-dataはallなのでそのままにしておきます.(はじめarm64をaarch64にしてうまく行かなかったですorz)

    $ cd mozc-2.17.2116.102+gitfd0f5b34+dfsg
    $ cp debian/control debian/control.org
    $ vi debian/control
    $ diff -u debian/control.org debian/control
    --- debian/control.org  2017-05-30 17:06:44.000000000 +0000  
    +++ debian/control      2017-05-30 17:07:19.000000000 +0000  
    @@ -28,7 +28,7 @@                                            
      This open-source project originates from Google Japanese Input.
                                  mozc-data                               
     Package: ibus-mozc                                          
    -Architecture: i386 amd64 armel armhf                        
    +Architecture: i386 amd64 armel armhf arm64                  
     Depends: ${misc:Depends}, ${shlibs:Depends}, mozc-data,     
            ibus (>= 1.2), mozc-server (= ${binary:Version}), tegaki-zinnia-japanese
     Recommends: mozc-utils-gui (= ${binary:Version})            dpkg-buildpackage
    @@ -45,7 +45,7 @@                                            
      This open-source project originates from Google Japanese Input.
                                    mozc-data                             
     Package: fcitx-mozc                                         
    -Architecture: i386 amd64 armel armhf                        
    +Architecture: i386 amd64 armel armhf arm64                  
     Depends: ${misc:Depends}, ${shlibs:Depends}, fcitx-bin, fcitx-data, fcitx-modules,
            mozc-server (= ${binary:Version}), mozc-data, tegaki-zinnia-japanese
     Recommends: fcitx, mozc-utils-gui (= ${binary:Version})     
    @@ -64,7 +64,7 @@                                            
      fcitx-mozc provides client part of the Mozc input method.  
    
     Package: emacs-mozc                                         
    -Architecture: i386 amd64 armel armhf                        
    +Architecture: i386 amd64 armel armhf arm64                  
     Depends: ${misc:Depends}, emacs | emacs23 | emacs24, emacs-mozc-bin (= ${binary:Version})
     Conflicts: emacsen-common (<< 2.0.0)                        
     Description: Mozc for Emacs                                 
    @@ -76,7 +76,7 @@                                            
      This open-source project originates from Google Japanese Input.
    
     Package: emacs-mozc-bin                                     
    -Architecture: i386 amd64 armel armhf                        
    +Architecture: i386 amd64 armel armhf arm64                  
     Depends: ${misc:Depends}, ${shlibs:Depends}, mozc-server (= ${binary:Version})
     Description: Helper module for emacs-mozc                   
      Mozc is a Japanese Input Method Editor (IME) designed for multi-platform
    @@ -87,7 +87,7 @@                                            
      This open-source project originates from Google Japanese Input.
    
     Package: mozc-server                                        
    -Architecture: i386 amd64 armel armhf                        
    +Architecture: i386 amd64 armel armhf arm64                  
     Depends: ${misc:Depends}, ${shlibs:Depends}                 
     Multi-Arch: foreign                                         
     Description: Server of the Mozc input method                
    @@ -99,7 +99,7 @@                                            
      This open-source project originates from Google Japanese Input.
    
     Package: mozc-utils-gui                                     
    -Architecture: i386 amd64 armel armhf                        
    +Architecture: i386 amd64 armel armhf arm64                  
     Depends: ${misc:Depends}, ${shlibs:Depends}, mozc-data      
     Recommends: mozc-server (= ${binary:Version})               
     Suggests: ibus-qt
    

    次にdpkg-buildpackageコマンドでパッケージを作成します.手元のマシンではちょうど1時間ほどで終了しました.(あとで-j4とかすると30分ほどに)

    $ dpkg-buildpackage -us -uc
    $ ls ../*.debmozc-data
    ../emacs-mozc-bin_2.17.211archtecture6.102+gitfd0f5b34+dfsg-1ubuntu1.1_arm64.deb  ../ibus-mozc_2.17.2116.102+gitfd0f5b34+dfsg-1ubuntu1.1_arm64.deb    ../mozc-utils-gui_2.17.2116.102+gitfd0f5b34+dfsg-1ubuntu1.1_arm64.deb
    ../emacs-mozc_2.17.2116.102+gitfd0f5b34+dfsg-1ubuntu1.1_arm64.deb      ../mozc-data_2.17.2116.102+gitfd0f5b34+dfsg-1ubuntu1.1_all.deb
    ../fcitx-mozc_2.17.2116.102+gitfd0f5b34+dfsg-1ubuntu1.1_arm64.deb      ../mozc-server_2.17.2116.102+gitfd0f5b34+dfsg-1ubuntu1.1_arm64.deb
    

    出来上がったパッケージの導入

    今回はfcitxを使っていたので,fcitx-mozcを導入しました.導入した後にログインしなおして,fcitx-config-gtkを起動するとMozcが登録されて利用できるようになりました. :)

    $ sudo apt-get install ../mozc-server_2.17.2116.102+gitfd0f5b34+dfsg-1ubuntu1.1_arm64.deb ../mozc-data_2.17.2116.102+gitfd0f5b34+dfsg-1ubuntu1.1_all.deb ../fcitx-mozc_2.17.2116.102+gitfd0f5b34+dfsg-1ubuntu1.1_arm64.deb ../mozc-utils-gui_2.17.2116.102+gitfd0f5b34+dfsg-1ubuntu1.1_arm64.deb 
    

    重かったり不具合が出るようならskkあたりにしようかと思っていましたが,現在このパッケージを1週間ほど利用して特に問題なく使えています.

    あまり推奨しませんが,私の作ったパッケージをしばらく以下においておきます.必要な方は試してみてください.(上の手順に + dhc -i + dpkg-buildpackage -j4したもの)

    ところでこれはどうすればいいのかな.Debianでも動作確認してバグレポでok?そしてUbuntuはSync mozc from Debian unstableを待つ感じ?