Devuan Ascii から Beowulf にアップグレード

Devuan3

祝Devuan Beowulf 3.0.0 released.

ということで,Debian BusterベースのDevuan Beowulf がリリースされました.
Devuan はDebian ベースの脱Systemd なディストリビューションです.Debianでも今の所Systemd を避けることは出来ると思いますが既定値はSystemd です.

手元のi686マシンにDevuan 1 JessieからDevuan 2 Ascii にしたマシンがあるのでこれをBeowulf にアップグレードしてみました.
アップグレードにはDebianの以下の文章を参考にしました.以下はi386版の文章なので自分のArchtecture の文章を見るといいと思います.

先ずはパッケージを最新にします.
こんな感じで apt update で最新になったのを確認します. 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

$ sudo apt update
$ sudo apt upgrade

あとで何をしたのか何が起こったのか確認出来るようログを撮っておきます.もし,sshなどのリモート経由で実行するのであればGNU screen やtmux などのターミナルマルチプレクサも起動してそこで作業を行うと回線が切断されてしまっても復帰できるのでおすすめです.

$ script -t 2>~/upgrade-beowulfstep.time -a ~/upgrade-beowulfstep.script

/etc/apt/sources.list を書き換えます.
/etc/apt/sources.list.d/* もある場合はそちらも書き換えます.

$ sudo apt edit-sources

パッケージ情報を更新します.

$ sudo apt update

アップグレードに必要な容量があるか確認します.2GB程容量が増えるようです.

$ sudo apt -o APT::Get::Trivial-Only=true full-upgrade
  :
1636 upgraded, 556 newly installed, 34 to remove and 3 not upgraded.
Need to get 1,613 MB of archives.
After this operation, 2,071 MB of additional disk space will be used.
E: Trivial Only specified but this is not a trivial operation.

最小アップグレードを行います.……しばらく掛かるので何か他のことでもして待ちます.
apt-listchanges をざっくり流し見してパッケージの展開に移ります.1.8インチHDDなのでこれも時間がかかります.

$ sudo apt-get upgrade

システムのアップグレードを行います.しばらく待ちます…….しばらく待ちます…….apt-listchanges が表示されて確認後展開.いくつかの確認メッセージが出たります.
Directory not empty な警告もいくつか.設定ファイルの修正も出てきますがダウンタイムが発生してよければ後回しにしても大丈夫.例えば既存の設定を残すよう指示すると, 設定ファイル名.ucf-dist というファイルが作成されるのであとでゆっくり比較しながら設定できます.本番環境だったら前もって新環境の設定を用意しておくといいですね.

$ sudo apt full-upgrade

どうにか終わったのですが,使われていないパッケージが大量に残っているのでこれを削除します.沢山あるのでこれも時間がかかりました.

$ sudo apt autoremove

ここで再起動.アイコンや壁紙が名前変わったらしくブランクになったりしています.それを置き換えたりしてとりあえずOKそうになりました.

標準壁紙は /usr/share/images/desktop-base/ にありました.赤い.

起動時のメモリ利用量が100MB程増えているようです.100MBだとそう大きく感じませんが1.5倍と考えるとかなりの増加量.プロセスをメモリ利用順に並べてみるとデスクトップに使っているLxQt 関連が消費しているようです.しばらく使って問題なようなら別のものに変えるかもしれません.

$ lsb_release -dr
Description:    Devuan GNU/Linux 3 (beowulf)
Release:        3
$ uname -m
i686

LibreOffice Hackfest Online #2 に参加して LibreOffice をbuildした

最近毎週水曜日に開催されている「LibreOffice Hackfest Online #2」に参加してみました.
今回は#2で#0から始まったので3回目.

Jitsi Meet で集まってYoutubeLive での配信も行っていました.配信された動画はアーカイブされていて以下で公開されています.

今回はLibreOffice のビルドをする回でした.自分は確か以前LOOLを試すためにbuildして以来で2,3年ぶりかな?デスクトップ版は初めてです.
いつも使っている環境はLinuxのDebian sid amd64 環境なのでここでbuildすることに.

当日だけだとsourceをとってくるだけで終わってしまうだろうと前日までに source の clone と build-dep でbuild に必要なパッケージを導入しておきました.

$ git clone git://anongit.freedesktop.org/libreoffice/core
$ sudo apt build-dep libreoffice

そして当日は autogen.sh を実行して依存関係に失敗,以下のあたりを追加で導入しました.

$ sudo apt install git ccache junit4 gstreamer1.0-libav libkrb5-dev nasm graphviz libpython3-dev

その後,再度 autogen.sh を実行.

$ ./autogen.sh

makeを掛けるとHackfest に利用しているJitsi Meets に影響が出そうです.てことで影響が出たら中断するつもりでこんな感じで優先度を下げて実行しました.問題なさそうなのでそのまま放置しておきました.

$ time nice -n 19 make -j1

Hackfest が終わってもまだ終わる気配はなかったのでそのままおいときます.
そして翌朝やっと終了していました.

make は20:06:23〜翌日の06:29:35 まで掛かっていました.優先度を下げていたとはいえかなり時間がかかりました.
時間がかかったのはCPUの温度が上がってCPUスロットリングが効いて0.8GHzとかにクロックが落ちていたのが大きそうです.

早速実行すると起動して利用できそうです.

$ instdir/program/soffice

LibOBuild1 20200507 12:05:26 2204368

しかしUI言語がUSAしか選べません.

LibOBuild2 20200507 19:05:56 2517755

恐らく autogen.sh の実行時にオプションがなかったせいだと思います.

$ ./autogen.sh --help|grep -i with-lang -A 13
  --with-lang="es sw tu cs sk"
                          Use this option to build LibreOffice with additional
                          UI language support. English (US) is always included
                          by default. Separate multiple languages with space.
                          For all languages, use --with-lang=ALL.
  --with-locales="en es pt fr zh kr ja"
                          Use this option to limit the locale information
                          built in. Separate multiple locales with space. Very
                          experimental and might well break stuff. Just a
                          desperate measure to shrink code and data size. By
                          default all the locales available is included. This
                          option is completely unrelated to --with-lang.

                          Affects also our character encoding conversion
                          tables for encodings mainly targeted for a
                          particular locale, like EUC-CN and EUC-TW for
                          zh, ISO-2022-JP for ja.

                          Affects also our add-on break iterator data for
                          some languages.

                          For the default, all locales, don't use this switch at all.
                          Specifying just the language part of a locale means all matching
                          locales will be included.

ということで --with-lang=ALL--with-locales="en es pt fr zh kr ja" で多国言語対応と,--with-package-format='deb' でDebian package 書き出し,それに依存して --enable-epm を付けてみました.

$ ./autogen.sh --with-package-format='deb' --enable-epm --with-lang=ALL --with-locales="en es pt fr zh kr ja"

そして make

今回は結果をTwitterに投稿するようにしてみました.

$ /bin/time -o /tmp/time -f "%E 位掛かりました" nice -n 19 make -j1 && echo "SAYAKAによる自動投稿: LibreOfficeのbuildが正常に 終わった みたいです.$(echo ;cat /tmp/time)" || echo "SAYAKAによる自動投稿: LibreOfficeのbuildが失敗したみたいです($?)$(echo ;cat /tmp/time)" | sayaka --post

しかし6時間46分程してから失敗><

SAYAKAによる自動投稿: LibreOfficeのbuildが失敗したみたいです(2)
Command exited with non-zero status 2
6:46:38 位掛かりました

logを見るとtranslationsのcloneをずっとやっていて回線が不安定になったかタイムアウトかそんな感じで途中でcloneに失敗して転けていました.

Cloning into '/home/matoken/src/core/translations'...
error: RPC failed; curl 56 GnuTLS recv error (-9): Error decoding the received TLS packet.

再度実行してみると正常終了しました.

SAYAKAによる自動投稿: LibreOfficeのbuildが正常に 終わったみたいです.
6:36:46 位掛かりました

起動してみると日本語も選べます :)

$ /instdir/program/soffice

libodevalpha0

せっかくbuildできたのでこのLibreOfficeDev 7.0.0.0.alpha0+ の Impress でスライドを作ってみました.60ページほどのスライドをざっと書いてみましたが特に問題なく普通にかけてしまい拍子抜けしてしまいました.

VPSサーバでもbuild

ローカルのDebian sid amd64環境ではうまく行ったけど回線やPCの問題で時間がかかります.VPSサーバでbuildしてからバイナリパッケージをダウンロードしたほうが早いのではと試してみました.
このサーバはドイツのニュルンベルクでホストされているContabo社のVPS300です.スペック(CPU 2Core/RAM 4GB/HDD 300GB)の割のとても安い(€3.99/月)けど回線が細い感じのサーバです.

OSはDebian 10(buster) amd64を導入してあります.依存関係が少し手間取りましたが後はスムーズに&手元のPCよりずっと速く終わりました.

必要なパッケージの導入
$ sudo apt build-dep libreoffice
$ sudo apt install libperl-dev libarchive-zip-perl javacc gperf python-dev bison flex ant doxygen ccache gstreamer1.0-libav libkrb5-dev nasm
sourceの入手
$ time git clone git://anongit.freedesktop.org/libreoffice/core
   :
real    35m26.954s
user    8m5.441s
sys     1m1.694s
autogen(--with-locales も`ALL` にしてみた)
$ time ./autogen.sh --with-package-format='deb' --enable-epm --with-lang=ALL --with-locales=ALL
make
$ time make -j$(nproc)
  :
real    137m3.246s
user    59m6.001s
sys     25m13.390s

その後も git pull && make とかして 7.0.0.0.alpha1+ にすることも出来ました.

buildしたDebianパッケージはいつまでかわからないけどここで公開しています.

てことでどうにかビルドできました.build後のsource ディレクトリ以下は20GB近く.build-depでも1GB以上消費しました.ディスクも結構食いますね.

相談しながら引っかかったら聞くという場があるのは助かりますね.今回の機会がなかったら自分でbuildしなかったと思います.

次回の「LibreOffice Hackfest Online #3」は05/13(Wed)に開催で以下のページから申し込みが出来ます.jitsi Meetでの開催で,YoutubeLiveでの配信も行われる予定です.

Youtube-dlコマンドで字幕をダウンロードする

add 2020-06-12

以下の例では動画ファイルと字幕ファイルが別々に作成されます.動画に字幕ファイルを埋め込めないかなとオプションを確認したら --embed-subs というオプションがありました.これを利用したら1つの動画ファイルの中に字幕も埋め込めました :)

$ youtube-dl --help|grep -- --embed
    --embed-subs                     Embed subtitles in the video (only for mp4, webm and mkv videos)
    --embed-thumbnail                Embed thumbnail in the audio as cover art

ただし,Debian sid amd64環境では別途 atomicparsley パッケージも必要でした.

atomicparsley パッケージを入れる前のエラー
ERROR: AtomicParsley was not found. Please install.
atomicparsley パッケージの導入
$ sudo apt install atomicparsley
480pでダウンロードして日本語機械翻訳字幕を埋め込み
$ youtube-dl --write-auto-sub --sub-lang=ja --embed-subs -c -f 133 -o './%(title)s.%(ext)s' 'https://www.youtube.com/playlist?list=PLYUtdmpYPTTKgmkaIUFDiNvYPxQUzuY8y'
以下のあたりでも書いたのですが,回線が不安定で途中で止まったり解像度が低かったりするのでVODをローカルにダウンロードしてから視聴することが多いです.

日本語の動画の場合はこれで問題ないのですが, id:naruoga/@naru0gaさんがLibreOffice Asia Conference 2019 Tokyo 基調講演の動画に日本語字幕を付けてくれました.OSSが興味ある人なら気になる感じの内容のようなので視聴したいけど字幕ダウンロードしたこと無いなと試してみました.

導入していない人はインストールしましょう.バイナリを1つダウンロードして実行権を付けるだけです.以下は ~/bin に導入する例.

$ curl -L https://yt-dl.org/downloads/latest/youtube-dl -o ~/bin/youtube-dl
$ chmod +rx ~/bin/youtube-dl

先ずはhelpを確認します.

$ youtube-dl --help|grep 'Subtitle Options:' -A7
  Subtitle Options:
    --write-sub                      Write subtitle file
    --write-auto-sub                 Write automatically generated subtitle file (YouTube only)
    --all-subs                       Download all the available subtitles of the video
    --list-subs                      List all available subtitles for the video
    --sub-format FORMAT              Subtitle format, accepts formats preference, for example: "srt" or "ass/srt/best"
    --sub-lang LANGS                 Languages of the subtitles to download (optional) separated by commas, use --list-subs for available
                                     language tags

結構シンプルな感じですね.早速試してみます.

先ずは --list-subs で字幕の一覧を取得してみます.

$ youtube-dl --ignore-config --list-subs QS-Zz-2ovo0
[youtube] QS-Zz-2ovo0: Downloading webpage
[youtube] QS-Zz-2ovo0: Looking for automatic captions
[youtube] QS-Zz-2ovo0: Downloading MPD manifest
Available automatic captions for QS-Zz-2ovo0:
Language formats
gu       vtt, ttml, srv3, srv2, srv1
zh-Hans  vtt, ttml, srv3, srv2, srv1
zh-Hant  vtt, ttml, srv3, srv2, srv1
gd       vtt, ttml, srv3, srv2, srv1
ga       vtt, ttml, srv3, srv2, srv1
gl       vtt, ttml, srv3, srv2, srv1
lb       vtt, ttml, srv3, srv2, srv1
la       vtt, ttml, srv3, srv2, srv1
lo       vtt, ttml, srv3, srv2, srv1
tt       vtt, ttml, srv3, srv2, srv1
tr       vtt, ttml, srv3, srv2, srv1
lv       vtt, ttml, srv3, srv2, srv1
lt       vtt, ttml, srv3, srv2, srv1
tk       vtt, ttml, srv3, srv2, srv1
th       vtt, ttml, srv3, srv2, srv1
tg       vtt, ttml, srv3, srv2, srv1
te       vtt, ttml, srv3, srv2, srv1
fil      vtt, ttml, srv3, srv2, srv1
haw      vtt, ttml, srv3, srv2, srv1
yi       vtt, ttml, srv3, srv2, srv1
ceb      vtt, ttml, srv3, srv2, srv1
yo       vtt, ttml, srv3, srv2, srv1
de       vtt, ttml, srv3, srv2, srv1
da       vtt, ttml, srv3, srv2, srv1
el       vtt, ttml, srv3, srv2, srv1
eo       vtt, ttml, srv3, srv2, srv1
en       vtt, ttml, srv3, srv2, srv1
eu       vtt, ttml, srv3, srv2, srv1
et       vtt, ttml, srv3, srv2, srv1
es       vtt, ttml, srv3, srv2, srv1
ru       vtt, ttml, srv3, srv2, srv1
rw       vtt, ttml, srv3, srv2, srv1
ro       vtt, ttml, srv3, srv2, srv1
bn       vtt, ttml, srv3, srv2, srv1
be       vtt, ttml, srv3, srv2, srv1
bg       vtt, ttml, srv3, srv2, srv1
uk       vtt, ttml, srv3, srv2, srv1
jv       vtt, ttml, srv3, srv2, srv1
bs       vtt, ttml, srv3, srv2, srv1
ja       vtt, ttml, srv3, srv2, srv1
or       vtt, ttml, srv3, srv2, srv1
xh       vtt, ttml, srv3, srv2, srv1
co       vtt, ttml, srv3, srv2, srv1
ca       vtt, ttml, srv3, srv2, srv1
cy       vtt, ttml, srv3, srv2, srv1
cs       vtt, ttml, srv3, srv2, srv1
ps       vtt, ttml, srv3, srv2, srv1
pt       vtt, ttml, srv3, srv2, srv1
pa       vtt, ttml, srv3, srv2, srv1
vi       vtt, ttml, srv3, srv2, srv1
pl       vtt, ttml, srv3, srv2, srv1
hy       vtt, ttml, srv3, srv2, srv1
hr       vtt, ttml, srv3, srv2, srv1
ht       vtt, ttml, srv3, srv2, srv1
hu       vtt, ttml, srv3, srv2, srv1
hmn      vtt, ttml, srv3, srv2, srv1
hi       vtt, ttml, srv3, srv2, srv1
ha       vtt, ttml, srv3, srv2, srv1
mg       vtt, ttml, srv3, srv2, srv1
uz       vtt, ttml, srv3, srv2, srv1
ml       vtt, ttml, srv3, srv2, srv1
mn       vtt, ttml, srv3, srv2, srv1
mi       vtt, ttml, srv3, srv2, srv1
mk       vtt, ttml, srv3, srv2, srv1
ur       vtt, ttml, srv3, srv2, srv1
mt       vtt, ttml, srv3, srv2, srv1
ms       vtt, ttml, srv3, srv2, srv1
mr       vtt, ttml, srv3, srv2, srv1
ug       vtt, ttml, srv3, srv2, srv1
ta       vtt, ttml, srv3, srv2, srv1
my       vtt, ttml, srv3, srv2, srv1
af       vtt, ttml, srv3, srv2, srv1
sw       vtt, ttml, srv3, srv2, srv1
is       vtt, ttml, srv3, srv2, srv1
am       vtt, ttml, srv3, srv2, srv1
it       vtt, ttml, srv3, srv2, srv1
iw       vtt, ttml, srv3, srv2, srv1
sv       vtt, ttml, srv3, srv2, srv1
ar       vtt, ttml, srv3, srv2, srv1
su       vtt, ttml, srv3, srv2, srv1
zu       vtt, ttml, srv3, srv2, srv1
az       vtt, ttml, srv3, srv2, srv1
id       vtt, ttml, srv3, srv2, srv1
ig       vtt, ttml, srv3, srv2, srv1
nl       vtt, ttml, srv3, srv2, srv1
no       vtt, ttml, srv3, srv2, srv1
ne       vtt, ttml, srv3, srv2, srv1
ny       vtt, ttml, srv3, srv2, srv1
fr       vtt, ttml, srv3, srv2, srv1
ku       vtt, ttml, srv3, srv2, srv1
fy       vtt, ttml, srv3, srv2, srv1
fa       vtt, ttml, srv3, srv2, srv1
fi       vtt, ttml, srv3, srv2, srv1
ka       vtt, ttml, srv3, srv2, srv1
kk       vtt, ttml, srv3, srv2, srv1
sr       vtt, ttml, srv3, srv2, srv1
sq       vtt, ttml, srv3, srv2, srv1
ko       vtt, ttml, srv3, srv2, srv1
kn       vtt, ttml, srv3, srv2, srv1
km       vtt, ttml, srv3, srv2, srv1
st       vtt, ttml, srv3, srv2, srv1
sk       vtt, ttml, srv3, srv2, srv1
si       vtt, ttml, srv3, srv2, srv1
so       vtt, ttml, srv3, srv2, srv1
sn       vtt, ttml, srv3, srv2, srv1
sm       vtt, ttml, srv3, srv2, srv1
sl       vtt, ttml, srv3, srv2, srv1
ky       vtt, ttml, srv3, srv2, srv1
sd       vtt, ttml, srv3, srv2, srv1
Available subtitles for QS-Zz-2ovo0:
Language formats
en       vtt, ttml, srv3, srv2, srv1
ja       vtt, ttml, srv3, srv2, srv1

大量に出てきましたが,上の方の Available automatic captions の物はYoutubeの自動生成&自動翻訳されたもののようです.
Available subtitles 以下のものが人の手で翻訳されたものだと思います.今回の動画では en, ja があるようです.

--write-sub --sub-lang=ja で日本語の字幕を書き出すよう指定してみます.

$ youtube-dl --ignore-config --write-sub --sub-lang=ja QS-Zz-2ovo0

動画名.mp4動画名.ja.vtt というファイルが入手できました.動画名.言語.vtt というファイルが字幕ファイルのようです.この2ファイルが同じディレクトリにある状態で動画プレイヤーで .mp4 を再生すると字幕が表示されました :)

Totemでは表示されませんでしたが,メニューから字幕ファイルを指定すると表示されました.

$ ls LibreOffice\ Asia\ Conference\ 2019\ -\ LibreOffice\,\ the\ many\ different\ faces\ of\ a\ global\ community.*
'LibreOffice Asia Conference 2019 - LibreOffice, the many different faces of a global community.ja.vtt'
'LibreOffice Asia Conference 2019 - LibreOffice, the many different faces of a global community.mp4'
$ mpv ./LibreOffice\ Asia\ Conference\ 2019\ -\ LibreOffice\,\ the\ many\ different\ faces\ of\ a\ global\ community.mp4
$ cvlc ./LibreOffice\ Asia\ Conference\ 2019\ -\ LibreOffice\,\ the\ many\ different\ faces\ of\ a\ global\ community.mp4

youtu dl subtitle

これでとりあえず目的は果たせました.
でもYoutubeでのみですが,自動生成翻訳字幕のダウンロードが気になるのでこれも試してみます.
今度は日本語字幕の存在しないDebconf19のもので日本語の自動生成字幕 --sub-lang=ja --write-auto-sub オプション&解像度を240pにしておきます.

$ youtube-dl --sub-lang=ja --write-auto-sub -f 'bestvideo[height<=240]+bestaudio/best[height<=360]' U17DID4vdpc

自動生成&機械翻訳なのでおかしなところはありますがいけたようです.

youtube dl subtitle auto

後はライブ動画やライブ音声のリアルタイム翻訳ができるといいなーと思ったりも.DeepSpeechで文字起こししてみんなの翻訳とかDeeplに都賀具感じでリアルタイムで出来ないかなとか.

環境
$ youtube-dl --version
2020.05.03
$ dpkg-query -W mpv vlc totem firejail
firejail        0.9.62-3
mpv     0.32.0-1
totem   3.34.1-2+b1
vlc     3.0.10-1

9

Bluetooth ヘッドセットが A2DP に切り替えられなくて困る

最近Bluetooth ヘッドセットで A2DP に切り替えが出来なくなっていました.オーディオプロファイルを A2DP にしようとすると変更に失敗します.

20200410 03:04:39 1847144

20200410 03:04:39 1847144 2

有線のヘッドホン(セリア製100円!)で使っていたのですが頭に合わなかったり不自由なので調べることに.
以下のページを見つけました.

どうも PulseAudio の自動切り替えがうまく行っていないようでこれを無効にすることで直りました.

具体的な設定は, /etc/pulse/default.pa ファイルの load-module module-bluetooth-policyauto_switch=false というオプションを付けでデーモンの再起動です.

/etc/pulse/default.pa を修正.
$ sudo git -C /etc diff /etc/pulse/default.pa
diff --git a/pulse/default.pa b/pulse/default.pa
index f670be0..494c1ce 100644
--- a/pulse/default.pa
+++ b/pulse/default.pa
@@ -64,7 +64,7 @@ load-module module-jackdbus-detect channels=2

 ### Automatically load driver modules for Bluetooth hardware
 .ifexists module-bluetooth-policy.so
-load-module module-bluetooth-policy
+load-module module-bluetooth-policy auto_switch=false
 .endif

 .ifexists module-bluetooth-discover.so
daemonを再起動(Pulseaudioは自動復帰した)
$ pulseaudio -k
$ sudo service bluetooth restart

この後ヘッドセットを接続し直すことでA2DPが使えるようになりました.

今使っているヘッドセットは Aukey EP-B26 で長時間使えていたのが良かったのですが,バッテリーがへたってしまっています.今はUSBケーブルで給電しながら使っています.有線なんだけど細いケーブル(100円ショップの巻取りUSB microBの中の線だけにしたもの)で小さなモバイルバッテリーをポケットに入れて使うと結構自由度高い感じです.

でも出来れば新調したいところ.同じものはもう売ってないようなのでこのへんとかかな?

AfterShokz も気になってるけどちょっとお高いですね.

環境
$ dpkg-query -W pulseaudio* bluez* blueman
blueman 2.1.2-1
bluez   5.53-0ubuntu2
bluez-alsa
bluez-audio
bluez-cups      5.53-0ubuntu2
bluez-gnome
bluez-input
bluez-network
bluez-obexd     5.53-0ubuntu2
bluez-serial
bluez-utils
pulseaudio      1:13.99.1-1ubuntu1
pulseaudio-module-bluetooth     1:13.99.1-1ubuntu1
pulseaudio-utils        1:13.99.1-1ubuntu1
$ lsb_release -dr
Description:    Ubuntu Focal Fossa (development branch)
Release:        20.04
$ uname -m
x86_64
$ lsusb -d 0a5c:217f
Bus 001 Device 016: ID 0a5c:217f Broadcom Corp. BCM2045B (BDC-2.1)
$ lspci | grep -i audio
00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 06)

ADSLモデムが壊れたのでACアダプタを交換した

スマホにアラートが飛んできました.
自宅サーバが落ちてるとのこと.回線細いので落ちてなくてもたまに来るのですが確認すると実際繋がらない.
ルータを見ると接続中となっているけど外に出られない.再接続しようとすると接続できなくなりました.
機器を見るとADSLモデム-SVIIIの電源が入っていません.電源アダプタを繋ぎ直したりAC側の口を変えても駄目.

WebでADSLモデムの中古を少し探しましたが中古も案外高い.オークションやフリマサイトを見ても4k〜という感じで以前購入したことより値上がりしているようです.
鹿屋に届け物をする用事もあったのでダメ元でハードオフに行ってみました.

IMG 20200305 155518
IMG 20200305 165952

このお店では一度もADSLモデムを見たことがなかったのですがやはり無い.仕方ないので電源ジャンク箱から電気的に合いそうなACアダプタを探してみます.

ADSLモデム-SVIIIの電源アダプタ(WBC 3000MV)の電源は9V 1.5A でプラグはセンターポジティブのもの.

IMG 20200305 024604
IMG 20200305 024633

ぴったりなものは見つかりませんでしたが A が少し大きい 9V 1.6A の物を買ってみました.プラグの形は明らかに違いますが元のものを使うことにします.

IMG 20200305 172117

帰って電源が生きているのを確認しようとしたらテスターの電源が入りません.電池は CR2032 だけど手持ちがない.自転車のフラッシャーに使っているものを入れてみても動かないので壊れているかもしれない…….仕方ないのでジャンク袋LEDから1個出してそれで確認しました.
ケーブルは極性わからないものだったので極性もこれで確認.

IMGP6247

はんだ付けした後熱収縮性チューブも無いのでとりあえず自己融着テープを巻いておきました.見た目はゴツくなったけど絶縁と保護は大丈夫そう.
これで電源を入れてみると復活しました.

IMG 20200306 170152

しばらく使っていますが問題なく使えているようです.
ADSLモデムでPPPoEしようとすると20分以上掛かるし本体も含めそろそろ寿命かもですね…….

環境
  • NTT西日本 フレッツ・ADSL モア40
  • DIX
  • ADSLモデム-SVIII
  • YAMAHA RT57i

FUJITSU LIFEBOOK A574/MWの分解メモ💻

NotePCを人に譲るので初期化してほしいと頼まれました。機種はFUJITSU LIFEBOOK A574/MWでした。

購入時のリカバリディスクなどもあるとのことでながら別作業しながらみてればいいかと思ったのですが、光学ドライブにメディアを入れるとスピンアップするけど認識しません。既存のOSでも富士通製の診断ツールでも認識しません。

聞くところによると以前鹿屋のお店でHDDの交換をしてもらったことがあるとのこと。念の為開けてみると光学ドライブのケーブルが抜けたままでした。(おまけにPC CARDの方も半刺し)このケーブルを指し直したところ動くようになりました。

分解組み立てはちょっと面倒で1時間ほど掛かってしまったので簡単にメモしておきます。HDD交換やWi-Fiモジュール交換などもできます。

先ずは裏面。バッテリー、メモリ、カバー類を取り外しネジは全部外します。

LIFEBOOK A574/MW ura

ネジは外したのと同じあたりに配置しておくと戻すときに楽。
LIFEBOOK A574/MW bis

PCの液晶を180°開いてキーボード上部のボタン部分のカバーを外します。爪で止まっているのでおらないように注意。
キーボードを留めている2本のネジを取り外してキーボードのフラットケーブルがあるので注意しながらゆっくり手前に持ち上げる。持ち上がったらケーブルごと取り外す。
LIFEBOOK A574/MW kbd

電源ボタン基盤のケーブルとネジ2本を外して基盤ごと取り外す。ここではボタン基板側を外したけどメインボード側を外したほうが良かったかも。左右のスピーカーを取り外して基盤コネクタも抜く。ディスプレイとWi-Fiアンテナを取り外す。LCDのヒンジ部のネジを左右3本ずつ外してLCDを取り外す。タッチパッドのフラットケーブルを外すた後手前のタッチパッド部分を取り外す。
LIFEBOOK A574/MW lcd

光学ドライブのケーブルを取り外す。HDD手前の黒い部品を外し、HDDを手前にスライドして取り外す。
LIFEBOOK A574/MW mainboard

Btrfsのbtrfs-transactionでioが100%になって困る

デスクトップ検索のRecollを試してみようと recollindex コマンドでindexを作ってみました.すると様々なアプリケーションがフリーズ.indexが出来るまでの辛抱だろうと1日ほど放置してみましたが解消しません.
1つのコマンドを発行して実行されるまで何分も掛かってしまいます.

cpuやmemoryはガラガラです.
iotop を叩いてみると btrfs-transaction がほぼ100%で張り付いています.

マウントオプションはこんな感じ.

$ mount | grep \ /\
/dev/mapper/t430s--vg-root on / type btrfs (rw,noatime,nodiratime,ssd,discard,space_cache,subvolid=5,subvol=/)

discard を `btrfs(5) ` で確認するとちょっと怪しいような?

       discard, nodiscard
           (default: off)

           Enable discarding of freed file blocks. This is useful for SSD devices, thinly provisioned LUNs, or virtual machine images; however, every storage layer must
           support discard for it to work. if the backing device does not support asynchronous queued TRIM, then this operation can severely degrade performance, because a
           synchronous TRIM operation will be attempted instead. Queued TRIM requires newer than SATA revision 3.1 chipsets and devices.

       If it is not necessary to immediately discard freed blocks, then the fstrim tool can be used to discard all free blocks in a batch. Scheduling a TRIM during a period
       of low system activity will prevent latent interference with the performance of other operations. Also, a device may ignore the TRIM command if the range is too
       small, so running a batch discard has a greater probability of actually discarding the blocks.

       If discarding is not necessary to be done at the block freeing time, there’s fstrim(8) tool that lets the filesystem discard all free blocks in a batch, possibly not
       much interfering with other operations. Also, the device may ignore the TRIM command if the range is too small, so running the batch discard can actually discard the
       blocks.

SATAのバージョンを確認すると 3.2 なので問題無さそう?

$ sudo smartctl --info /dev/sda | grep ^SATA
SATA Version is:  SATA 3.2, 6.0 Gb/s (current: 6.0 Gb/s)

でも一旦無効にしてみます.
#ついでに付けた compress=lzo は別でやるべきだった…….

$ time sudo mount -o remount,rw,noatime,nodiratime,ssd,nodiscard,compress=lzo,space_cache /
real    42m32.840s
user    0m0.014s
sys     0m15.209s
$ mount | grep \ /\
/dev/mapper/t430s--vg-root on / type btrfs (rw,noatime,nodiratime,compress=lzo,ssd,space_cache,subvolid=5,subvol=/)

これが当たりだったようでioは一気に空きました!
SATA 3.2 だけど何か別の条件が良くないのでしょうか?

忘れないうちに fstab も修正しておきます.(nodiscard は既定値なので書いていない)

 sudo git -C /etc diff HEAD^ -- /etc/fstab
diff --git a/fstab b/fstab
index b029749..386278f 100644
--- a/fstab
+++ b/fstab
@@ -5,7 +5,7 @@
 # that works even if disks are added and removed. See fstab(5).
 #
 # <file system> <mount point>   <type>  <options>       <dump>  <pass>
-/dev/mapper/t430s--vg-root /               btrfs   noatime,nodiratime,ssd,discard,space_cache 0       0
+/dev/mapper/t430s--vg-root /               btrfs   noatime,nodiratime,ssd,compress=lzo,space_cache 0       0
 # /boot was on /dev/sda2 during installation
 UUID=cba2591a-12da-481e-b239-c002faca22e1 /boot           ext2    defaults        0       2
 # /boot/efi was on /dev/sda1 during installation

これで暫く様子を見てみます.
問題なければ別途TRIMを設定したほうがいいかな?

環境

$ dpkg-query -W btrfs-progs iotop smartmontools
btrfs-progs     5.2.1-1
iotop   0.6-24-g733f3f8-1
smartmontools   7.0-2
$ sudo smartctl -i /dev/sda | grep -E '^Device Model:|Firmware Version:|SATA Version is:'
Device Model:     Seagate BarraCuda SSD ZA1000CM10002
Firmware Version: STAS1024
SATA Version is:  SATA 3.2, 6.0 Gb/s (current: 6.0 Gb/s)
$ lsb_release -dr
Description:    Debian GNU/Linux bullseye/sid
Release:        unstable
$ uname -m
x86_64

「鹿児島Linux勉強会 2019.09」に向かう

2019-09-21(sat) に「鹿児島Linux勉強会 2019.09」に参加するために鹿児島市に行ってきました.

例によって集まりが悪くオンライン開催かなと思っていたのですが,参加者が三人に :)
前日までに
「クラウド系自由ソフトウェアがお手軽に利用できるFreedomBoxの最近とFreedomBone」,「VPSサーバのOSアップグレードといくつかのサーバからの引っ越し」
というネタを用意しました.

興味のある方は以下からどうぞ.

台風が少し心配でしたが16:00時解散なら市内の人には影響は殆ど無いだろうと思い開催としました.

当日は07:00頃家を出て鴨池・垂水フェリーを使い鹿児島市へ.

IMG 20190921 070740
IMG 20190921 090510
IMG 20190921 092236
DP1M0776

すき家で朝食を摂ってプラージュで散髪をして100円ショップを覗いたらもう時間が迫っていたので会場へ.
IMG 20190921 105644
IMG 20190921 120542

会場は湯楽館 多目的ルーム3.
電源,Wi-Fiに会場据え付けPCがあって3時間1500円で人数制限無く誰でも借りれます.
今回は参加者3人なので一人あたり500円になるはず.

DP1M0778

しかし,参加者が来ないので深セン方面のSFD代理登録したり,Androidで配信テストしたり,先日立てたOracle Cloudをいじったりしていました…….

meets.で買ったスマホ三脚スタンドは良さそうです.
DP1M0779
IMG 20190921 140731
IMG 20190921 143148
IMG 20190921 143154

16:00になって撤収しました.与次郎のダイソーとニシムタに寄ってフェリーで食べる夕食を入手,フェリーの時間を確認すると次は5分後……その次のフェリーですね.

鹿児島市ではあまり台風の影響を感じなかったのですがフェリーで大隅に渡ると雨風が強いです.荷物を濡らしたくないので雨具にポンチョを選んだのですが風と相性が悪いです.向かい風でなかなか進まないし腕が疲れる.海岸線はずっと向かい風だったので遠回りになるけど古江から内陸側に登って海岸から離れます.
IMG 20190921 182139
IMG 20190921 191931
IMG 20190921 201726

このルートだとスーパーにも寄れます.見切り品のおにぎりを入手.
しかし,残り5kmほどのところで木の枝を拾ってリヤホイールに巻き込んだようでリヤディレイヤーを折ってしまいますorz
ポークも1本折れています.

この状態では押すことも出来ないのでそのへんの蔓でディレイラーとチェーンをフレームに結んで折れたスポークを巻き付けてフロントのチェーンも落として押せるようにして家まで押して帰りました.木に囲まれていて風はなかったのだけどそれが活かせませんでしたね.

IMG 20190921 223823

この辺は木が道路に張り出していて雨風で枝葉が落ちてきて車通りも少ないので路面状態よくなくて辛いです.

IMG 20190923 023201

何気に同じ原因でリヤディレイラーを折ったのは2度目.1度目から1年も経っていません.
グラベルロードとかだともう少しこういう道に強いでしょうか?あまり変わらないかな…….
内装ギヤのほうが良いかもですね.
シングルやFixedだとさらに壊れにくいだろうけど10%超の上りがあるので辛いかな.

ちなみに自走でなく公共交通機関を使うと日帰りの範囲で天文館を目的地にすると滞在できるのは最大10:47〜13:15とちょっと現実的でないのですよね…….

さて,自転車の修理にはリヤディレイヤー,チェーン,スポークが必要.
この辺?(RDはもう少し上のグレードにしたいけど……)

リヤホイールは既にスポークを4本折って交換しているしリムも摩耗しているのでこれも出来れば交換したいところ…….


Have I Been Pwned からパスワード流出のお知らせが届く

Have I Been Pwned からメールが届きました

You’re one of 23,205,290 people pwned in the CafePress data breach

CafePress からパスワードが流出したようです.

早速パスワードを変更します.

20190805 12 08 45 18660
20190805 12 08 13 20506

とりあえずはこれでいいかな?

Have I Been Pwned は流出したパスワードのデータベースを持っていて,自分のメールアドレスを入力するとそのアドレスで流出したサービスを教えてくれます.
登録しておくと今回のようにお知らせしてくれるので助かります.

現在はMozilla のFirefox Monitor も同じデータベースで煮たサービスをしています.日本語がいいって人はこちらのほうがおすすめ.メールアドレスも複数登録できるようになりました.

ちなみに私は両方に登録していて今回の件のメールが届いたのは

Have I Been Pwned が 2019-08-05 10:58
Firefox Monitor が 2019-08-05 14:16

と Have I Been Pwned のほうが少し早かったです.