z80oolong さんはインスタンス qiitadon.com のユーザーです。アカウントさえ持っていればフォローしたり会話したりできます。 もしお持ちでないなら こちら からサインアップできます。

z80oolong @z80oolong@qiitadon.com

## Termux 版 proot 案件

さて、最新版の Termux の開発コミュニティによる proot では、 proot jail 環境内での chroot システムコールの実装が強化された。

そこで、 Termux において Ubuntu 19.04 を動作させる為の Ubuntu の tarball を Debian noroot 環境内で展開し、 [Ubuntu 19.04 の chroot jail 環境の作成について実験を行い、 tweet にて言及した。][1]

chroot jail 環境の作成自体は成功したものの、 mount システムコールの未実装や proot のオプションを通したディレクトリのバインドが chroot jail 環境から見る事が出来ない等幾つか問題があった。

しかしながら、概ねこの環境は動作しているので、 Debian noroot 環境上に Ubuntu 19.04 の導入を今後検討している所である。

[1]:twitter.com/z80oolong/status/1

# 現在の技術案件の近況

先々週から今週までの技術案件の進捗等について述べる。

## Debian noroot 環境案件

先日頃より、 Debian noroot 環境において、 proot コマンドに --root-id オプションを付与する事により、 proot の fake_id0 機能を有効にして起動している。

これにより、 apt-get コマンドにより、標準的な SSH サーバである OpenSSH を導入して起動させる事に成功した。

即ち、以下の様に OpenSSH を導入し、 /etc/ssh/sshd_config ファイルを "[Debian noroot 環境において OpenSSH に基づく SSH サーバを導入する][1]" で述べた通りに設定した所、正常に SSH サーバが起動した事が判った。

$ apt-get install openssh-server

[1]:z80oolong.qrunch.io/entries/YI

# 現在の技術案件の近況

## その他案件

現在、 git の config ファイルに関する差分ファイル及び mutt の EAW 文字対応に関する差分ファイルにおいて、これまで Gist 岩礁にて公開していたものを、 GitHub 環礁に移行する作業を行っていた。そして、これらの git 及び mutt の差分ファイルのリポジトリを以下の通りに移行した。

- [git 2.17.0 以降において config ファイルの lock に失敗する場合の挙動を変更する差分ファイル][1]
- [mutt 1.9.0 以降において East Asian Ambiguous Character を全角文字の幅で表示する][2]

今後は、他の Gist 岩礁にて公開している差分ファイルについても GitHub に移行し、各種差分ファイルの公開についても GitHub 上にて行うことを検討している。

[1]:github.com/z80oolong/git-confi
[2]:github.com/z80oolong/mutt-eaw-

# 現在の技術案件の近況

ここ最近は技術案件に関しては、天候の急激な変化に伴う身体的な疲労感と全身倦怠感等の汎ゆる身体的な問題に伴い、随分と進捗は停滞気味である。

## Debian noroot 環境案件

現在、 Debian noroot 環境に対応した proot について、最新の Termux の開発コミュニティ版の proot に追随させる作業を行っている。

ここで、最新の Termux の開発コミュニティ版の proot においては、 root 権限をほぼ完全にエミュレートする機能である fake_id0 機能において、 chroot システムコールのエミュレートが実現されたのが大きな変更と言える。

なお proot の追随作業に伴って、 proot に依存するライブラリである talloc のバージョンを 2.2.0 に更新することを企図していたが、 2.1.15 以上のバージョンの talloc において、 PC 端末でのクロスコンパイルに問題が発生し、原因究明及び問題解決に難航している状況である。

本件については様々な可能性について、検討しておきたい。

# 改元の御挨拶

この度は平成から令和への改元に際し、30年間続きました平成の時代におきまして、皆様には誠に御世話になると共に、多大なる御厚情を賜りました事につきまして、心より感謝致します。

当方は今後とも、各種技術案件に関して更なる研鑽を積み重ねていく所存であります。

本日より始まる令和の時代が、皆様にとってより良き時代となりますよう、心より御祈り申し上げます。

令和元年5月1日

## Debian noroot 案件

最新の安定版の公開に伴い、 Debian noroot 環境に対応した [Dropbear の差分ファイル][1]及び [OpenSSH の差分ファイル][2]の更新を行った。

また上記に伴い、 Debian noroot 環境向けの [Linuxbrew 向け Tap リポジトリ][3]の更新についても併せて行った。

## その他案件

ARM 等向けの Go 言語処理系の導入の為の [Linuxbrew 向けの Tap リポジトリ][4]の更新を行った。

[1]:gist.github.com/z80oolong/3e35
[2]:gist.github.com/z80oolong/20d3
[3]:github.com/z80oolong/homebrew-
[4]:github.com/z80oolong/homebrew-

# 現在の技術案件の近況

現在うだうだ中。大型連休中京圏無計画リハビリ徘徊紀行。ここ最近の技術案件は、各差分ファイルの最新版への対応作業に追われた。

## tmux 案件

先日、 tmux の最新の安定版である tmux 2.9 がリリースされた。本件に伴い、 tmux 2.9 を East Asian Ambiguous 文字に対応させる為の差分ファイルの公開を行った。

また、 tmux の HEAD 版についても、 East Asian Ambiguous 文字に対応させる為の差分ファイルの更新を行った。

以上の差分ファイルについては、[以下の GitHub のリポジトリ][1]にて公開を行った。

また、これに伴い、 East Asian Ambiguous 文字に対応した tmux を導入する為の [Linuxbrew 向け Tap リポジトリ][2]も併せて更新を行った。

[1]:github.com/z80oolong/tmux-eaw-
[2]:github.com/z80oolong/homebrew-

しかし、詳細についてはソースコードを精査する必要があるものの、 OpenSSH における SFTP サーバにおいては、 readdir 関数を独自に実装してシステムコール getdents(2) を経由せずにディレクトリの読み出している為に、内部ファイル及びシンボリックリンク .l2s.* が可視化される問題が発生するものと考えられた。

この事より、 OpenSSH の SFTP サーバを実装しているコードである sftp-server.c のうち、ディレクトリの読み出しを行っている関数について、内部ファイル及びシンボリックリンク .l2s.* を不可視化する修正を行うことにより、上記の問題を回避することが可能となった。

これに伴い、以下の Gist に投稿した、 [Debian noroot 環境において OpenSSH を動作させるための差分ファイル][1]を更新した。

[1]:gist.github.com/z80oolong/20d3

# 現在の技術案件の近況

## Debian noroot 環境案件

この度、 Debian noroot 環境において OpenSSH を導入し、 SFTP サーバ経由でディレクトリの読み出しを行った場合に、 proot の link2symlink 機能で使用する内部ファイル及びシンボリックリンク .l2s.* が可視化されることにより、内部ファイルファイル及びシンボリックリンク .l2s.* が読み書き可能となる問題が発生していた。

通常のアプリケーションの場合、ディレクトリの読み出しは標準ライブラリ readdir(3) を用いて行い、この時 Debian noroot 環境下では、 proot がシステムコール getdents(2) をフックして内部ファイル及びシンボリックリンク .l2s.* を不可視化していた。

# 現在の技術案件の近況

## ポエム案件

当方はこれまでに、 Qiita 半島及び Qrunch 諸島に、 Debian noroot 環境に関する投稿を中心に幾つかの技術案件の寄稿及び投稿を行って来た。

Qiita 及び Qrunch の投稿については、 Twitter の他、各種 SNS より読者の方々より様々な感想及び意見等を頂いた。当方の投稿に各種反応を頂いた各位の皆様には心より感謝してもし切れない気持ちで一杯である。

また、 Qiita 及び Qrunch 等各種技術系 SNS の開発コミュニティの関係各氏にも心より感謝したい気持ちで一杯である。

しかし当方の投稿に関して、 Twitter にて各種反応を頂いた際に、 Twitter において回答するには文字数に関する制限に起因する回答の限界を感じる事が多く有り、非常に申し訳無い気持ちで一杯になる事が多くある。

今後は、当方の投稿について各種問い合わせ等の反応があった場合には、出来る限り体系的な回答等が行う事が出来る様に、 GitHub の issue 等の体系的なシステムの利用等を検討して行く所存である。

# 現在の技術案件の近況

## Debian noroot 環境案件

先日、 Debian noroot 環境について、 Termux の開発コミュニティによる proot のソースコードのコミットが更新された事に伴い、 [proot-termux-build の安定版の更新と proot の再コンパイル][1]を行った。

なお、変更点については、オリジナルのソースコードへの追随に伴う変更のみとなっている。

## Qrunch 諸島案件

この度、 Qrunch 諸島及びはてな諸島への全ての投稿を取り出し、 git リポジトリを用いて管理した。

なお、 Qrunch には現在の所、投稿を操作する為の API が存在しない為に、 Qrunch からの投稿の取り出しは完全に手動によって行った。

手動による投稿の取り出し作業は非常に手間がかかったが、 git による投稿の管理で投稿の履歴管理等の手間が随分と低減されそうである。

[1]:github.com/z80oolong/proot-ter

# 現在の技術案件の近況

## tmux 案件

tmux 2.5 以降について、 tmux の安定版のプレリリース版 2.9-rc がリリースされた事に伴い、 tmux を East Asian Ambiguous Character に対応させるための[差分ファイルの tmux 2.9-rc 対応版を公開した。][1]

更に、 差分ファイルの HEAD 対応版も併せて更新した。

これに伴い、 East Asian Ambiguous Character に対応した tmux を導入する為の [Linuxbrew 向け Tap リポジトリの更新も併せて行った。][2]

なお、安定版のリリースに伴い、現在 HEAD 版のバージョン番号を表す文字列は、 "next-3.0" となっている。

## その他案件

Qrunch 諸島への投稿等、その他技術案件の進捗は若干滞っている状況である。

[1]:github.com/z80oolong/tmux-eaw-
[2]:github.com/z80oolong/homebrew-

### Firefox ESR 関連

Firefox ESR について、バージョン 60 以降を導入した場合、 Firefox ESR 上で動画を閲覧できない問題が発生している。問題の回避について現在調査中である。

### デスクトップ環境関連

現時点で Debian noroot 環境において、動作確認が取れたもの及び動作に問題のあるについて述べる。

- 動作が確認できたデスクトップ環境
- xfce4 (デフォルトのデスクトップ環境)
- LXDE
- MATE
- ratpoison
- 動作に問題のあるデスクトップ環境
- gnome3 (動作せず。原因不明)
- enlightenment17 (SEGV Fault エラーを出力)

# その他技術案件

現在において、今後作業を行うべき案件について挙げる。

- tmux の EAW 文字対応差分ファイルの更新 (Github への以降作業も)。
- termux の開発コミュニティによる proot の Debian noroot 環境対応版の更新。

# 現在の技術案件の近況

## Debian noroot 案件

現在うだうだ中。現在奈良市内某所にて食事兼休憩中。

この度、Qrunch に投稿していた Debian noroot 環境にデスクトップ環境 MATE を導入する手法についての投稿を加筆修正して、 [Qiita に投稿した。][1]

本稿では、現時点で判明している Debian noroot 環境に関する問題点について述べる。

### plank 関連

軽量な Dock ランチャーソフトウェアである plank のプロセスを異常終了させた場合に再度の起動に失敗する不具合について、 Qrunch にて述べた対処法によっても問題が回避できない場合が稀に発生する模様である。

原因については現在調査中である。

なお、各種デスクトップ環境から自動的に起動させる設定が正常に動作する場合は、この問題は発生しない。

[1]:qiita.com/z80oolong/items/a070

# 現在の技術案件の近況

## Debian noroot 環境案件

Debian noroot 案件については、 MATE デスクトップ環境の導入と、軽量なドックランチャーである plank の導入について動作確認に一つの目処が立った。

なお後程、 plank をソースコードからビルドする為のシェルスクリプトを作成する予定である。

デフォルトの Debian noroot 環境のデスクトップ環境である fxce4 環境若しくは MATE 環境を導入して適切に設定し、 plank を左端に配置する設定を施す事により、 Debian noroot 環境の外観を Unity に近づける事が可能となった。

## tmux 案件

本日は、久し振りに GitHub 上の HEAD 版の tmux について、 tmux を East Asian Ambiguous 文字に対応させる為の差分ファイルを更新した。

これと同時に、 tmux に差分ファイルを適用する対応させる為の Linuxbrew の Tap リポジトリ z80oolong/tmux の更新も併せて行った。

# 現在の技術案件の近況

## Debian noroot 案件

本日は、通常使用の機材に続き、予備機の Debian noroot 環境にも plank を導入する事を試みた。

導入の手法は、前回と同様に plank を[以下の手法でソースコードからビルドする][1]事によって plank のビルドに成功し、仮のパスでの動作を確認した。

しかし、 MATE 環境において、 Debian noroot 環境の起動時に自動的に plank を設定する段階で若干の問題が生じた。

最終的に、 xstow を使用して plank を /usr/local 以下に導入し、 MATE 環境にて自動起動の設定を行う事で MATE 環境への正常な導入を確認した。

色々な設定の修正により、以下の画像の様な Unity like の UI が得られた。

[1]:techbear.co/installing-plank-d qiitadon.com/@z80oolong/101590

# 現在の技術案件の近況

## Debian noroot 環境案件

Debian noroot 環境に関して、予備機の環境において、 MATE デスクトップ環境の動作が確認された。

なお、動作確認自体は以前に若干の確認を行っていたが、一時動作に問題が発生していた。

この度、インストール直後に近い状態の端末に MATE を導入し、改めて動作を確認した。

また、通常使用の機材において、軽量なドックランチャーツールである plank を Debian noroot 環境に導入する事を試みた。

Debian jessie をベースとする Debian noroot 環境では、 plank の deb パッケージは存在しないが、[以下の手法でソースコードからビルドする][1]事によって plank のビルドに成功した。

仮の環境にインストールを行い、動作を確認したが、現状では動作に問題は無い様に思われる。

詳細については、追って述べる所存である。

[1]:techbear.co/installing-plank-d

# 技術案件に関する告知

## 主力の携帯端末の障害復旧について

2019/01/28 頃より、当方の手元の端末である Zenfone 3 Ultra について、電源ボタンを押しても通電せず、充電を行っても同様に電源ボタンによる通電が行われない症状が発生しておりましたが、 2019/02/05 に業者による修理が完了しました。

その後、翌日当方より業者宛てに修理代金の入金を行い、 2019/02/07 に主力携帯端末が到着し、当方の手元において携帯端末の全てのデータの保全及び障害の復旧が確認されました。

兎に角、一時は携帯端末内のデータ及びアプリの全部喪失を懸念していただけに、バッテリーの交換によって携帯端末の障害が完全に復旧して非常に安堵しています。

特に、これまで中断していた Debian noroot 環境に関する案件の作業を本格的に再開出来る状況となったので、若干胸を撫で下ろしています。

今後は、主力携帯端末を含め自宅の全ての端末のバックアップ体制を見直すと共に、携帯端末の予備機と主力の携帯端末をホットスタンバイによって運用する環境を構築する事を検討しています。

# 技術案件に関する告知

## 当方の携帯端末の障害に関する現状

2019/01/28 頃より、当方の手元の端末である Zenfone 3 Ultra について、電源ボタンを押しても通電せず、充電を行っても同様に電源ボタンによる通電が行われない症状が発生しています。

現在の所、当該機の障害機を修理業者に修理を依頼する一方で、後継となる端末を調達して、最初から携帯端末の環境を整備し直す作業を同時に行う作業を行っている現状です。

それにしても、 zenfone 3 Ultra の修理依頼に関して、何箇所か修理依頼を行うも、修理用の部品が見付からず、殆どの業者で修理を断られる状況となり、非常に難渋しました。

今後は、障害機の修理の推移の問題となることが考えられますが、無事障害機が完全に復旧するようであれば、今後は、後継機の端末と復旧機の端末をホットスタンバイによる運用の両面を視野に入れる事を考えられます。

しかし、手元の Wifi ルータのホワイトリストの上限が最大の懸念事項となりそうです。

兎に角、障害機が内部ストレージを含めて完全に復旧することを祈っている状況です。

# 技術案件に関する告知

## 当方の携帯端末の障害に関する告知

昨日 2019/01/28 21:00 頃、当方の手元の端末である Zenfone 3 Ultra について、電源ボタンを押しても通電せず、充電を行っても同様に電源ボタンによる通電が行われない症状が発生しています。

本件の現状の症状より、手元の端末にバッテリーの不具合が発生しており、バッテリー交換の修理を必要としている状況であると考えられます。

また最悪の場合、手元の端末の各種データの一部及び全部の喪失とその復旧作業も必要となる虞が考えられます。

この為、誠に恐れ入りますが、 Debian noroot 環境等の  Android OS 関連の件について、当面の間、各種検証等が困難若しくは休止状態になりますので、どうか御了承下さい。

また、本件の影響により、その他の技術案件に付きましても各種検証等が困難となる場合がありますので、どうか御了承下さいますようお願い致します。

## 補遺

本件に関して各方面で深刻な影響が出ております為、一刻も早く復旧に務める所存です。
どうか宜しくお願い致します。