ついでに,SlackwareARM 15でも,fcitx-mozcのbuildを試してみました.下準備としてのzinniaは難なくbuild & installできました.
fcitx-mozc本体に関しては,748ステップとかのbuildは完了しますが,そのあとの過程でエラーが出てしまいます.
SlackwareARMでGUIを使うつもりはないのでこれ以上はやめておきます.
横断歩道での一時停止は善意ではなく義務 (Powered by WordPress)
ついでに,SlackwareARM 15でも,fcitx-mozcのbuildを試してみました.下準備としてのzinniaは難なくbuild & installできました.
fcitx-mozc本体に関しては,748ステップとかのbuildは完了しますが,そのあとの過程でエラーが出てしまいます.
SlackwareARMでGUIを使うつもりはないのでこれ以上はやめておきます.
2023/08/22の注: 後にfcitx5-MozcのSlackbuildsスクリプトがJW(Shinichi Abe)さんにより登録され,64bit環境で使用できることが確認できました.
Slackware 14.2用にMozcのビルドスクリプトを作成されたクロさんが,Slackware 15用も作成され,SlackBuildsに登録されていました.
当BLOGにとりとめなく書いてますが,現在Slackwareは,SlackwareARM 15をサーバー用に使用していますが,GUIにいろいろ不具合や不足があるため,CUIで使用しています.
x86用,AMD64用については,つい最近まで15のインストールは試していませんでした.
ふと思って,数日前からSlackware64 15をKVM/QEMUとVMWare Fusionそれぞれの環境にインストールして試しはじめました.
日本語入力は,fcitx-anthyがお仕着せで着いてきますが,やはりMozcをインストールしたいところです.
そこで,SlackBuildsを見ると,Mozcのビルドスクリプトをクロさんが既に用意して下さっていることを知りました.
まず,VMWare Fusionのほうで,
sbopkg -b fcitx-mozc
を実行すると,少々時間はかかりますが,無事ビルドが成功します.そこで,installpkgでできあがったパッケージをインスールしました.
設定については省略しますが,ちゃんと起動して,トレイにMozcのアイコンがでますが,残念ながらキー入力しても,英数キーに対応した半角文字が表示されるのみです.
試しに,32bitのオリジナルであるSlackware 15の仮想マシンをKVM/QEMUのほうに仕立てて,fcitx-mozcを同様にインストールすると,ちゃんと使えます.
念のため,KVM/QEMU環境でインストールしたSlackware64 15の方でも試しましたが,同じようにパッケージはできてインストールできて,トレイにアイコンが出ますが,日本語入力はできませんでした.
ということで,64bitについては,ビルドスクリプトに何か64bit用のhackが必要なのでしょう.Slackwareに対する熱量もずいぶん下がってしまいましたし,多少熱量があっても全然解りそうもないので,あきらめます.
注: 最後にまとめがあります.
Let’s EncryptがPython 2.7.xのサポートをやめてしまったので,管理するいくつかのサーバーでは,2.7がサポートされた最後のころのgitをupdateしないで使っていました.
このほど,そのうち1台はPython 3.xが搭載されたシステムに移行し,今回移行後はじめての証明書の更新時期を迎えたので,git pull して現在のgitレポジトリーに同期してから証明書の更新を試験的に行ってみました.Branchはmasterです.
しかし,tools/venv.pyの実行でエラーが出てしまいます😓
python-augeasがないとのエラー(もしくはそのbuildの過程のエラー)を出しているようなので,pip3でインストールを試みますが,今度はwheelがないというので,先にwheelをインストールして,続いてpython-augeasをインストールしてみました.エラーが出ます.
SlackBuildsに,python-augeasがあるので,
sbopkg -i python-augeas
をしてみたところ,python-augeas-0.5.0-arm-1_SBoがインストールされました.もう一度,tools/venv.pyを試みます.
だめでした.どうも,python-augeas-1.0.0 以上が必要そうなので,
pip3 install -U python-augeas
を試しますが,1.0.0以上のbuildに失敗します.
大量に出るエラーメッセージを見て,なんとなく,python-augeasのもとになる, “augeas” がそもそもインストールされてないんじゃないかと思い,システムを見てみると,たしかにそんなパッケージはインストールされていません.さいわい,SlackBuildsにはあるので,
sbopkg -i augeas
を実行したら,augeas-1.4.0-arm-1_SBo.tgzができて,インストールできました.
python-augeasのインストールは,Let’s Encryptのvenv.pyがやるはずなので,もういちど,tools/venv.pyを実行すると,うまくいったようで,python-augeasのところは無事通過して,rustcを使った超重量級のbuildが繰り広げられます😓
計ったわけではありませんが,40分くらいでvenv.pyの実行が完了しました.
このあと,
source venv/bin/activate
を実行してから,certbotが実行できて,証明書の更新もできました.
SlackwareARM 15.0で,Let’s Encryptの最新git repositoryに同期させて,venv.pyの実行と,certbotによる証明書の更新に成功しました.
事前に必要になるのは, augeas(およびvirtualenvも必要かも) で,sbopkgにてインストールする必要があります.
SlackwareARM 15でも上記記事のままの手順ですが,venv.shはvenv.pyにします.
実マシンから,仮想ディスクにまるまるコピーできたら,あとは若干のまじないが必要です.
一つは,まじないというより即物的な設定で,/etc/fstabの書き換えです.とりあえずは,仮想ディスクを/dev/sdaとして設定しておきます.この作業はコピーが終了したら仮想ディスクのイメージをマウントしたまま作業した方が楽です,というか,他にやりようがないです.
次は一番肝心なgrubのインストールです.grubをインストールするためには,そのターゲットとなるディスクから起動した環境が必要となります.しかし,まだ起動の仕組みがないので自力ではできません.そのためにchrootを利用しますが,色々ややこしいので,後で自分でわかるように,固定ページに書いときました.
ちなみに,Slackwareの場合は,インストールDVDイメージから起動する際に,ルートパーティションを指定できるので,chrootしなくてもgrubのインストールができます.
ターゲットのパーティションをルートにできたら,ルート権限で,
grub-install /dev/sda grub-mkconfig -o /boot/grub/grub.cfg
実行します.これは,Slackware, Manjaro, Debian共通です.
これで,実マシンからコンバートした仮想マシンが起動しますが,Debianでは
sudo update-initramfs -u
を実行するなど,多少のチューニングが必要です.
コピーは終わりましたが, “BIOS boot” というパーティションを作っていないことを思い出して,パーティションを切り直すことにしました.
しかし,これまでupdate不能状態とは言え,その “BIOS boot” パーティションなしで動いていたのに必要なのか,と疑問がわきました.たぶん,今まではDOSパーティションだったので不要だったのでしょう.gptで “BIOS boot” パーティションを含むようにしてパーティションを切り直し,必然的にルートのパーティションをフォーマットし直しました.
もう一度,qcow2型式のルートパーティションをマウントして,念のためにリードオンリーでマウントしたコピー元になる実マシンのManjaroのパーティションからrsyncでコピーしました.
そういえば,以前はnbdで接続したディスクイメージをマウントする場合,mountコマンドにオフセット指定が必要でしたが,最近は改善されて,
mount /mnt/nbd /dev/nbd0p2
と,そのままマウントできるようになりました.人間がますますバカになります😥