備忘録
Surface GoのSDカードスロットからはブートできない。Type-CのコネクタからSDカードリーダー経由でなら起動可能
Windows10のクリーンインストールの時に引っかかったのでメモ
備忘録
Surface GoのSDカードスロットからはブートできない。Type-CのコネクタからSDカードリーダー経由でなら起動可能
Windows10のクリーンインストールの時に引っかかったのでメモ
今回は技術に関係ない文房具のお話
日常のお仕事では、紙に字を書くことも多いのですが、その際には万年筆のkakunoを利用しています。
万年筆としては安価な割に、 筆圧気にせず、ちゃんと書けてお気に入り。
インクに「ストーリア」の”レッド”を使っているんだけど、すぼらな使い方が災いして、万年筆内でインクが詰まって文字が書けなくなってしまった。
ストーリアは顔料インクなので、水に容易に溶ける染料インクとは違い、インクの詰りが 起きやすい 。万年筆を分解して水やお湯でつけ置きしても詰まりは全然解消されない。
じゃあどうすればいいかといえば、万年筆のインクを洗浄することになる。
ここに紹介された記事がとても参考になる。専用の洗浄液があるので、それで洗い流せば綺麗さっぱりになる。のだけど、これがなかなかに高額で躊躇してしまいう。五回分あるので比較はおかしいけど、購入するとなると1000円超えて、kakuno本体よりも高くなっちゃう。
ここで、ふと思い付いて、台所にある食器洗浄機用粉洗剤を使ってみることに。
この手の洗剤は弱アルカリ性で、以下の記事のように、顔料インクの洗浄に相性いいかもと思ったのが発端
洗剤を濃いめにお湯に溶かして、万年筆を入れてみたら。。。ばっちり、すぐに顔料インクが溶け出した!
一部は残ったけど、効果は抜群、文字を問題なく書けるようになりました。
弱アルカリ性のものをつかったのがポイントと思うので、中性のが多い液体の食器洗浄機用洗剤ではおそらく効果なしです。今回使った洗剤(食器洗い乾燥機専用キュキュット クエン酸効果)はクエン酸配合だったので、もしかしたらそれがよかったのかも。
注意 : 万年筆が痛む可能性がありますので、自己責任でお願いします。
kakunoが手軽な金額なので今回はチャレンジ出来ました。
どなたかの参考になれば
Jun 25 04:40:05 ubuntu systemd[1515]: run-docker-runtime\x2drunc-moby-0fe552edf164ae2853dfc0f7dd6c5ddbf4c9883cf33b672a1d4f5a4c7a0ccd1b-runc.hYki93.mount: Succeeded.
Jun 25 04:40:05 ubuntu systemd[1]: run-docker-runtime\x2drunc-moby-0fe552edf164ae2853dfc0f7dd6c5ddbf4c9883cf33b672a1d4f5a4c7a0ccd1b-runc.hYki93.mount: Succeeded.
Jun 25 04:40:48 ubuntu systemd[1515]: run-docker-runtime\x2drunc-moby-0fe552edf164ae2853dfc0f7dd6c5ddbf4c9883cf33b672a1d4f5a4c7a0ccd1b-runc.PjaEa1.mount: Succeeded.
Jun 25 04:40:48 ubuntu systemd[1]: run-docker-runtime\x2drunc-moby-0fe552edf164ae2853dfc0f7dd6c5ddbf4c9883cf33b672a1d4f5a4c7a0ccd1b-runc.PjaEa1.mount: Succeeded.
dockerのHEALTHCHECKの機能が関係していると判断して、自身の環境を確認すると、2つのコンテナがHEALTHCHECK を行っていることを確認。
HEALTHCHECKの機能は実際には使っていないから、機能を無効化することで対応します。稼働中のコンテナのパラメータをupdateできる方法はすぐには分からなかったので、コンテナの構築時のパラメータ追加で対応します。
sudo docker run --name samba --restart=always ....
を
sudo docker run --name samba --no-healthcheck --restart=always ...
に変更することでHEALTHCHECK機能の無効化。ログが出ないことを確認しました。
2392 Jun 23 00:46:32 ubuntu multipathd[688]: sda: add missing path2393 Jun 23 00:46:32 ubuntu multipathd[688]: sda: failed to get udev uid: Invalid argument2394 Jun 23 00:46:32 ubuntu multipathd[688]: sda: failed to get sysfs uid: Invalid argument2395 Jun 23 00:46:32 ubuntu multipathd[688]: sda: failed to get sgio uid: No such file or directory
検索して調べたところ、ESXiの設定の問題とのこと。
disk.EnableUUID = "TRUE"
を登録すればOK。設定後はsyslogに保存されなくなりました。
WireGuardを使って、Androidスマホを自宅ネットワークにVPN接続します。
Linuxカーネル「Linux 5.6」からカーネルレベルでサポートされたVPN実装(とはいっても今回のlinux側カーネルは5.4)
モダンなつくりで、高速でセキュアがウリとのこと。なにがモダンかはともかく、OpenVPNより高速とのことです。
自宅ネットワーク側のlinuxサーバにAndroidスマホが接続する構成となります。接続している間はAndroidスマホからの通信はすべてWireGuardのVPN経由となります。
alpine linux(VIRTUAL) Version 3.11.6 (Released Apr 23, 2020)
# cat /proc/version
Linux version 5.4.34-0-virt (buildozer@build-3-11-x86_64) (gcc version 9.2.0 (Alpine 9.2.0)) #1-Alpine SMP Wed, 22 Apr 2020 19:26:07 UTC
HUAWEI P20 lite(Android 9.0 Pie)
基本的にはすべてrootで行います。sudo使えるならもちろんそれでも問題ありません。
また、自宅ルータにてポートマッピングの設定はもちろん必要。ISPによって違ったりなので割愛します。
必要なパッケージ(wireguard-tools)が標準設定ではレポジトリに入っていないため、レポジトリリストを修正します。/etc/apk/repositoriesを編集します。
#/media/cdrom/apks
http://dl-cdn.alpinelinux.org/alpine/v3.11/main
#http://dl-cdn.alpinelinux.org/alpine/v3.11/community
#http://dl-cdn.alpinelinux.org/alpine/edge/main
#http://dl-cdn.alpinelinux.org/alpine/edge/community
#http://dl-cdn.alpinelinux.org/alpine/edge/testing
communityレポジトリの情報が記載されている3行目の#を削除して有効化します。
#/media/cdrom/apks
http://dl-cdn.alpinelinux.org/alpine/v3.11/main
http://dl-cdn.alpinelinux.org/alpine/v3.11/community
#http://dl-cdn.alpinelinux.org/alpine/edge/main
#http://dl-cdn.alpinelinux.org/alpine/edge/community
#http://dl-cdn.alpinelinux.org/alpine/edge/testing
apk add wireguard-tools
apk add libqrencode
vpnセグメントからの通信を別のセグメントへ渡してあげる設定を行います。
これがないとAndroidスマホからの通信はlinuxまでしか届きません。
sysctl -w net.ipv4.ip_forward=1
ネットワークを再起動すれば有効化。今回は面倒なので再起動して有効化しました。
wg genkey | tee server_private | wg pubkey > server_public
wg genkey | tee android_private | wg pubkey > android_public
自宅ネットワーク側用、Androidスマホ側の両方の秘密鍵、公開鍵を作成します。
ファイル(/etc/wireguard/wg0.conf)を作成して編集します。
[Interface]
PrivateKey = 【server_privateの内容をコピペ】
Address = 192.168.10.1/24
ListenPort = 51820
PostUp = iptables -A FORWARD -i %i -j ACCEPT;iptables -A FORWARD -o %i -j ACCEPT;iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE;
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE;[Peer]
PublicKey = 【android_publicの内容をコピペ】
AllowedIPs = 192.168.10.0/24
alpine linuxが通常使っているネットワークインタフェースがeth0と想定した設定となります。ListenPortはサンプルで、他の値もOKです。
PeerのAllowedIPsは「接続を許可するネットワーク」だけの意味ではなくて、Peer側にあるネットワーク情報としても利用されます。
vpn接続の待ち受けを開始(wg up)する際に、ここに書かれているセグメントはルーティングテーブルに追加されるので注意が必要。
どこからでも許可したい。とか思って0.0.0.0/0と書くとデフォルトゲートウェイの情報がPeer側に上書きされてどこにも通信できなくなります。
適当なファイル(ここではandroid_wg0.conf)を作成して編集します。EndPointはDDNSなど使えばURLを利用可能です。
[Interface]
PrivateKey = 【android_privateの内容をコピペ】
Address = 192.168.10.2/24
DNS = 【自宅ネットワークのDNSアドレス】[Peer]
PublicKey = 【server_publicの内容をコピペ】
EndPoint = 【自宅ネットワークのグローバルIPアドレス】:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepAlive = 30
qrencodeはテキスト情報をQRコードに変換するツールです。
Androidスマホ側に必要な設定情報がQRコード化されてandroid.pngに保存されます。スマホ側ではこれを読み取れば必要な設定は完了です。
wg-quick up wg0
vpn接続を受け付けるネットワークインタフェースが作成されます。これでAndroidスマホ側からの接続を受け付ける準備は完了です。
直感的に利用できるので割愛。先に作成したandroid.pngをなんとか画面に表示さ、スマホ側で読み取りを行う。
イチから手入力しても鍵情報の入力以外はそこまで大変ではないです(その場合はqrencodeの作業は不要)
openVPNはサーバ側にsoftetherを利用し、udpで接続しています。ダウンロードはあまり変わりませんでしたね。vpn接続の開始はwireguardの方がずいぶん早いように感じました。
基本的には簡便な構成で、設定に必要な項目は少ないです。なにも知らない状態から小一時間で作業は完了しました。
ただ、日本語のドキュメントは少なく、うまくいかないときに抜け出すのに時間がかかるかもしれません。
HUAWEI P20 liteでは、端末と一緒についてくる純正充電器+ケーブルの組み合わせでは急速充電が可能となっているらしい。
p20lite-huawei-wiki.fxtec.info
が、先日購入した手元の端末では何回試しても、端末再起動しても急速表示にならず、充電時間も数時間かかるとても遅い状態。
ネットで検索しても特に設定をいじるような項目もなく、途方に暮れていたが、ケーブルを純正から100円ショップのSeriaの0.5mケーブルに変えたら解決。急速充電表示になって、実際充電時間も大幅短縮できた。
と言う解決メモ。追加で純正充電器+ケーブルを買おうとしている人の参考になれば。
各リンクは元ネタサイト
ストレージが故障したときに安心して捨てられるように、ディスク全体を暗号化、そのためには標準インストーラではダメで代替インストーラを利用する。また、インストール時は途中でループしてインストールが完了しない場合があるので、日本語ではなくて英語を選択してインストールする。途中で出てくるサーバ機能はopenSSHのみ選択(sambaは後で)
以降の説明はユーザ名piを仮定
インストールの際に日本語を選択してない場合に日本語化を実施
$ sudo apt install language-pack-ja-base language-pack-ja ibus-mozc
ESXiで利用しているとコンソールが文字化けするのでコンソールの場合には英語表示のままにするため、.bashrc に行追加
最後にmanも日本語に
$ sudo apt install manpages-ja manpages-ja-dev
後で利用するsambaもnginxもdockerを使って気軽に環境を更新できるように。インストールはスクリプトを利用した簡単コースで
$ wget -O get-docker.sh https://get.docker.com
$ sudo sh ./get-docker.sh
Samba4 の共有フォルダーにあるアプリケーションが起動できない事象の対処
以前のSambaでは特に気にしなくてもWindows用のファイルサーバとして利用できていたけど、Samba4では実行権限がデフォルトでは無くなっている。"acl allow execute always"はあまり推奨されていないようだけど、"force create mode = 0777"で解消するよりはマシと判断。
$ mkdir /home/pi/share
$ chmod 777 /home/pi/share
$ sudo docker run --name samba --restart=always -p 139:139 -p 445:445 -v /home/pi/share:/mnt/pub -d dperson/samba -s "share;/mnt/pub;yes;no;yes" -g "acl allow execute always = Yes" -g "dfree cache time = 60"
$ mkdir /home/pi/share/html
$ chmod 777 /home/pi/share/html
$ sudo docker run --name webserver --restart=always -v /home/pi/share/html:/usr/share/nginx/html -d -p 80:80 nginx
タイミングは適当に。再起動も実施する。
$ sudo apt update
$ sudo apt upgrade
$ sudo reboot