手元のDevuan端末をDebian BullseyeベースのChimaeraにアップグレードしました.
カテゴリー: Devuan
Devuan Ascii から Beowulf にアップグレード
祝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
Devuan jessieをasciiにdist-upgradeしてみた
Devuan asciiもRelease Candidateが出てそろそろ正式版になりそうです.てことで手元のDevuan jessie i386環境をascii環境にdist-upgradeしてみました.
DevuanはDebianからフォークした脱Systemdなディストリビューションです.コードネームはjessieはDebianと同じですがその次のバージョンから独自になっていて,Devuan asciiはDebian stretch相当になります.
アップグレードのドキュメントは以下にありました.
うーんシンプル.念の為Debianの文章も参考にします.
これらの文章と違うところはsources.list編集時にapt edit-sources
コマンドを使ったくらいです.今回はこんな感じに.
diff --git a/apt/sources.list b/apt/sources.list
index 142945f..afaa14d 100644
--- a/apt/sources.list
+++ b/apt/sources.list
@@ -1,16 +1,16 @@
-# deb http://jp.mirror.devuan.org/merged/ jessie main
+# deb http://jp.mirror.devuan.org/merged/ ascii main
-deb http://jp.mirror.devuan.org/merged/ jessie main non-free contrib
-deb-src http://jp.mirror.devuan.org/merged/ jessie main non-free contrib
+deb http://jp.mirror.devuan.org/merged/ ascii main non-free contrib
+deb-src http://jp.mirror.devuan.org/merged/ ascii main non-free contrib
-# jessie-security, previously known as 'volatile'
-deb http://jp.mirror.devuan.org/merged/ jessie-security main contrib non-free
-deb-src http://jp.mirror.devuan.org/merged/ jessie-security main contrib non-free
+# ascii-security, previously known as 'volatile'
+deb http://jp.mirror.devuan.org/merged/ ascii-security main contrib non-free
+deb-src http://jp.mirror.devuan.org/merged/ ascii-security main contrib non-free
-# jessie-updates, previously known as 'volatile'
-deb http://jp.mirror.devuan.org/merged/ jessie-updates main contrib non-free
-deb-src http://jp.mirror.devuan.org/merged/ jessie-updates main contrib non-free
+# ascii-updates, previously known as 'volatile'
+deb http://jp.mirror.devuan.org/merged/ ascii-updates main contrib non-free
+deb-src http://jp.mirror.devuan.org/merged/ ascii-updates main contrib non-free
-# jessie-backports, previously on backports.debian.org
-deb http://jp.mirror.devuan.org/merged/ jessie-backports main contrib non-free
-deb-src http://jp.mirror.devuan.org/merged/ jessie-backports main contrib non-free
+# ascii-backports, previously on backports.debian.org
+deb http://jp.mirror.devuan.org/merged/ ascii-backports main contrib non-free
+deb-src http://jp.mirror.devuan.org/merged/ ascii-backports main contrib non-free
特に問題なく処理は進んでいましたが,apt dist-upgrade
でエラーが発生しました.bluemanで以下のようなエラーとなりました.
Setting up blueman (2.0.4-1) ...
Reloading system message bus config...Error org.freedesktop.DBus.Error.FileNotFound: Failed to open "/etc/dbus-1/system.conf": No such file or directory
invoke-rc.d: initscript dbus, action "reload" failed.
dpkg: error processing package blueman (--configure):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
blueman
E: Sub-process /usr/bin/dpkg returned an error code (1)
一旦削除して再起動後導入し直したら導入に成功しました.
$ sudo apt remove blueman
$ sudo reboot
$ sudo apt install blueman
ということでシンプルなシステムだったせいかさっくりとdist-upgradeに成功しました :)
Devuan ascii armhf(Raspberry Pi)で時計合わせ
Raspberry PiにはRTCが付いていません.なのでシステム停止すると時間情報が飛んでしまいます.fake-hwclock
が設定されていたら前回停止時(に近い)時間がファイルに保存されていてその時間に設定されますが,停止時の時間はカウントされないので時間がずれます.ということでネットワークが有効な場合ntpを参照して時計合わせをしたいです.
最近のDebianやRaspbianはsystemdなのでtimesyncd.conf
でNTP serverを指定してtimedatectl
コマンドで有効にする感じだと思うのですが(既定値でそうなっている),Devuanは脱systemdなディストリビューションなのでこの方法は使えません.
$ sudo vi /etc/systemd/timesyncd.conf $ sudo timedatectl set-ntp true`
詳細は
man timesyncd.conf
,man timedatectl
ということでntpdateを入れてみました.
$ sudo apt install ntpdate $ sudo ntpdate 192.168.1.102 $ grep -A1 -B2 ntp /etc/rc.local if [ "$_IP" ]; then printf "My IP address is %s\n" "$_IP" /usr/sbin/ntpdate 192.168.1.102 fi
長時間動かすならcrontabで定期的に設定したほうがいいかも?(若しくは何らかのntpd)
$ sudo -u root crontab -l|tail -2 @reboot /usr/sbin/ntpdate 192.168.1.102 3 3 * * * /usr/sbin/ntpdate 192.168.1.102
追記)
このシステムはRaspbian stretchをDevuan asciiにdist-upgradeしたシステムなのでntpの設定がないだけかもしれません.Devuan asciiをクリーンインストールすれば必要ない設定かも(未確認)
Raspbian stretch イメージを Devuan ascii にしてみる
DevuanというDebianからのフォークディストリビューションがあります.
これは脱SystemdなLinuxディストリビューションで,Raspberry Pi等のarmhfにも対応しています.そしてDebianからDevuanに移行することが出来ます.(Debian jessie -> Devuan jessie)
DebianベースのRaspbianからも同様に移行できるというmailを見かけたので試してみます.
SD cardでやったほうが手順は少ないのですが,遅いし寿命も縮むだろうしってことでイメージサイズを拡大したRaspbianを元にchroot + QEMU User EmulatorでArm以外のhostででやってみました.
サイズを拡大したRaspbianイメージをマウント
以下の手順で用意したイメージを元にします.
raspbian-stretch-lite_latest.img
が元のイメージで,今回devuan_ascii.img
としてコピーしたものを使います.
$ cp ./raspbian-stretch-lite_latest.img ./devuan_ascii.img $ sudo kpartx -av ./devuan_ascii.img add map loop0p1 (253:4): 0 85045 linear 7:0 8192 add map loop0p2 (253:5): 0 8129 linear 7:0 63 $ sudo mount /dev/mapper/loop0p2 /mnt $ sudo mount /dev/mapper/loop0p1 /mnt/boot
QEMU User Emulatorが使えるようにqemu-user-staticをcp
これでQEMU User Emulatorが透過的に利用できます.
$ sudo cp -p /usr/bin/qemu-arm-static /mnt/usr/bin/
chroot用に/devと/procをbind mountしてchroot
$ sudo mount --bind /dev /mnt/dev $ sudo mount --bind /dev/pts /mnt/dev/pts $ sudo mount --bind /proc /mnt/proc $ sudo chroot /mnt /bin/bash
Raspbian stretchを最新の状態にする
# apt update # apt upgrade -y
Devuanリポジトリの鍵をインポート
Devuanリポジトリの鍵をインポートする.そのために必要なdirmngr
pkgも導入.
# apt install dirmngr # apt-key adv --recv-keys 94532124541922FB Executing: /tmp/apt-key-gpghome.zqL0gcSbes/gpg.1.sh --recv-keys 94532124541922FB gpg: key 94532124541922FB: public key "Devuan Repository (Primary Devuan signing key) <repository@devuan.org>" imported gpg: Total number processed: 1 gpg: imported: 1
source.listをDevuanのものに書き換え
Devuanのstableはjessieですが,元のRaspbianがstretchなのでそれに対応するAsciiを指定しています.
Devuan jessieを使いたい場合は,Raspbian jessieを元にするといいと思います.
Devuan | Debian |
---|---|
Jessie(stable) | Jessie(oldstable) |
Ascii(development) | Stretch(stable) |
Beowulf(-) | Buster(testing) |
Ceres(unstable) | Sid(unstable) |
- Index of /raspbian/images/raspbian-2017-07-05 ※多分Raspbian jessie latest.
# vi /etc/apt/sources.list # cat /etc/apt/sources.list|grep -v ^# deb http://mirrordirector.raspbian.org/raspbian/ stretch rpi deb http://auto.mirror.devuan.org/merged ascii main contrib non-free deb http://auto.mirror.devuan.org/merged ascii-updates main contrib non-free deb http://auto.mirror.devuan.org/merged ascii-security main contrib non-free
Devuanのパッケージにupgrade
# apt update && apt upgrade : 274 upgraded, 7 newly installed, 0 to remove and 3 not upgraded. Need to get 115 MB of archives. After this operation, 25.0 MB disk space will be freed. Do you want to continue? [Y/n] Y : # apt dist-upgrade Reading package lists... Done Building dependency tree Reading state information... Done Calculating upgrade... Done The following packages were automatically installed and are no longer required: bluez bluez-firmware cgmanager libcgmanager0 systemd-shim Use 'sudo apt autoremove' to remove them. The following packages will be REMOVED: libpam-systemd mountall pi-bluetooth plymouth raspberrypi-sys-mods systemd systemd-sysv The following NEW packages will be installed: eudev libeudev1 sysvinit-core The following packages will be upgraded: init libudev1 udev 3 upgraded, 3 newly installed, 7 to remove and 0 not upgraded. Need to get 1162 kB of archives. After this operation, 9431 kB disk space will be freed. Do you want to continue? [Y/n] Y :
chrootから抜けてイメージアンマウント
#念の為kpartx -d
の前にfsckしておくといいかも?
# exit $ sudo umount /mnt/proc $ sudo umount /mnt/dev/pts $ sudo umount /mnt/dev $ sudo umount /mnt/boot $ sudo umount /mnt $ sudo kpartx -d /dev/mapper/loop0p1 $ sudo kpartx -d /dev/mapper/loop0p2 $ sync
SD cardにイメージを書き込んでRaspberry Piで起動
普通にddとかEtcherとかでSD cardに書き込みます.
$ time sudo dcfldd if=./devuan_ascii.img of=/dev/sdd;sync;sync 128000 blocks (4000Mb) written. 128000+0 records in 128000+0 records out real 7m13.207s user 0m0.823s sys 0m9.211s
後はRaspberry Piで起動すればOK.今回はRaspberry Pi 2 Bで試しました.
Systemdとか居ません.
RAMの利用状況はこんな感じ
$ free total used free shared buff/cache available Mem: 949584 21916 879120 188 48548 879976 Swap: 102396 0 102396
しかしneofetchとかではRaspbianのままですね.該当pkgのreinstallとかで更新できそうな気がしますが未検証.
イメージ操作めんどくさいのでdebootstrapの方が楽かもしれない?
- Devuan GNU+Linux Free Operating System
- RaspberryPi – Debian Wiki
- RaspberryPi3 – Debian Wiki
- Raspberry Pi 2 Model B に Debian Jessie /armhf をインストールする
- Raspberry Pi3 / arm64 Debian/Ubuntu ミートアップ in 札幌 #DevuanはArm64は未サポート
いやそれなら公式イメージのほうがいいか
BluemanだけでNetworkManagerを使わずBluetooth tetheringを使う
最近の自転車移動でThinkpad X200を運んでいるのですがちょっと重い. PC使うかわからないようなときも持ち運んでいるのですが重いし壊しそうだしであまり良くない. 最近値崩れしたKINGJIM PORTABOOK(XMC10)や小さくて可愛いGPD-WINとかほしいのですがお金ない.てことで昔買ってあまり使っていないFujitsu FMV-U8250 + 外部キーボードで荷物の軽量化出来ないかなと.
ちなみにGPD-WINを日本で利用する人の技適問題は以下の辺りから買うと大丈夫のよう.(他は多分NG)
ということでとりあえずFujitsu FMV-U8250にUSB-Bluetoothアダプタを接続してBluetooth外部キーボードとBluetooth tetheringな環境を整えようと思ったのですが,OSをDevuan jessieにしてBluemanで繋ごうとすると,
Connection Failed: the name org.freedesktop.NetworkManager was not provided by ant .service files
というエラーで接続できませんでした. NetworkManagerに依存しているようです.
しかしいまのネットワークマネージャーはWicdでNetworkManagerは入っていません.どうにかならないかなーとBluemanの設定を見るとそれらしいものを発見.
- View -> Local Service
- NetworkのPAN SupportとDUN SupportをそれぞれBluemanに
これでNetworkManagerのない環境でもBluetooth tetheringで繋がるようになりました :)
ちなみにX200(9セルバッテリ)の重量は1.7kg近く,FMV-U8250(大容量バッテリ)はで700g近く+キーボード420g…….体積は結構減ってるけど案外軽くなってませんね.キーボードが案外重いです.使い勝手も大分落ちるし微妙?