サステナブル

サステイナブル、サスティナブル、サステナブル、あるいはSDGs。
NHKさんはサステナブルと言っていますが ・・・> トレンド検索〜!  ネイティブ〜!
発音はNHKさんが正解ですがマイナーなので途中で乗り換えました。

11月に入り注釈無しでポンポン登場しています。私には「社会」について語れるほどの徳は無く、せいぜい自分の体が持続可能かどうかを語れるにすぎませんが、流行りものには触れておきたい性格です。

まず、「サステナブル」という言葉自体の響きがとてもいいと思います。かつてIT業界で流行り、ちょっと何言ってるのかよく分からない「ユビキタス」という言葉がありましたが、それよりも格段に良い響きです。響きが良いので死語にはならず、言葉通り「持続可能な」言葉になると思います。

ちなみに、過去のプレゼン資料で「ユビキタス」と書いたところは、「サステナブル」または「ユビキタスサステナブルな・・・」などと置き換えることにより、そのプレゼン資料は「持続可能」となります(笑)。

働き方改革にもマッチしています。オーナス期の働き方についての理屈や、長時間労働が経営に逆効果とする考え方を初めて職場で紹介されたときは、なるほど!と思った反面、素直には受け入れがたいものを感じました。耳に心地よい理屈や言葉には、得てして毒が盛られていたり、落とし穴だったりします。そこで、慎重に過去を調べてみると、2015年頃には「オーナス期」における「サステナブルな働き方」の議論と言葉が登場していたようです。例えば、2015年の記事内閣府サイトに置いてある資料(2014年)。このあたりを見る限り、既に行政を巻き込んでの成熟した議論がなされており、毒のある内容でもなさそうです。
ただ、5年前と最近とで内容に大差無く、このプレゼンもサステナブルー!(それでいいと思います。)

私たちバブル世代の強みは、なんといっても同期入社が多いことです。会社なめて入ったかもしれませんが、 にっじゅう~よ・じ・かん・た・た・か~えま・す・か! という、エナジードリンクCMでも今ではあり得ない狂ったキャッチフレーズの下、いくつもの修羅場を超えてきた戦友たちです。ドラマ「半沢直樹」では同期が力強い味方でしたが、まさにあの感じです。個々の力は弱くても、横の情報連携で乗り切る集団です。みんながみんな仲が良いわけではありませんが、それでもどこか意識して助け合う気運があります。友達がとても少ない私ですが、そんな私でも、同期を意識して切磋琢磨し、一方で同期に助けられ、励まされ、勇気付けられたこと、はかり知れません。

私は職場で ラスト・オブ・バブル世代 注1 と呼ばれるまで会社に居座るつもりです。定年70まで働ければ/働かせてもらえれば、、、2038年問題 注2 も最後のご奉公として参戦できます。その頃の職場にはもう助けてくれる同期はいないので、あとは体が資本です。健康第一、サステナブルな体 が全てです。


注1:バブル崩壊期に少しヒットした「ラスト・オブ・モヒカン」にちなんだ言い回し。映画は残酷シーンがやや多めでおすすめはできませんが、鬼滅が見れるなら大丈夫。
注2:2036年問題もあります。

 

電源ブチ切り 総括

呼び方はいろいろです。シャットダウンフリー、電源ブチ切り対応、ROM化、リードオンリー化、電源断保護、延命化、・・・

本ブログで整理した電源ブチ切り対応の手段は、あくまでも趣味の範囲で、わかる人には十分というレベルで記載しています。業務に関わるレベル(≒Linuxに不慣れな方々のオペレーションレベルまで対応するという意味)での記載は別のクローズなSNSに記載しています。Linuxコミュニティに恩返しする意味でもオープンにしていきたいとは思っています。

なお、最近のSSDをはじめとするFlashバイスは耐久性が上がっており、そのためのOS側の実装も充実しております(TRIM、ウェアレベリング、・・・)。採用するメディアのTBW(Tera Byte Written)と実運用を見て、まずは電源ブチ切り対応の必要性を確認すべきかと思います。あと、ノートPCやスマホ等、バッテリーを搭載しシャットダウンシーケンスをとれる機器は対象外です(バッテリー切れを想定するなら対象ですが)。

1. 目的

電源ブチ切り対応の目的を下記に再整理します。

  • 電源ブチ切りが発生しても確実に再起動するLinuxサーバを構築したい。
    書込中の電源断からの復旧を100%保証できるファイルシステムは無いので。
  • SSDを延命したい。
    Flashメモリの書込回数には上限があるので。
  • Linux PCやラズパイを貸し出すことになったが、中身はいじられたくない。
  • 運用情報を残したくない。
  • [特殊な例]マルウエアに感染しても、すぐに元に戻せるようにしたい。

2. 方式

電源ブチ切り対応の実現方式を大きく分けると、下記の2つです。

① tmpfs方式

RWが必要なディレクトリやファイルをあらかじめtmpfs領域にコピーしてからOSを本核起動します。

② overlayroot方式

RWが必要なディレクトリをあらかじめ定義します。そのディレクトリにライトアクセスがあった場合は差分だけがtmpfsに保存されます。Debian系ならパッケージが用意されています。

①②どちらがいいか

手離れして1年以上電源を切らないなら①、手に届く範囲や1ヶ月以内に電源をオフするような運用なら②です。理由はこの記事の本文にありますが、要は、overlayfsの不具合リスクが顕在化する前に電源を確実に切るなら②でOK、たいていは準備の楽な②で良いとは思います。

3. よくある失敗

①のケースでは、とにかく最初が肝心! インストーラ任せでポチポチ進めてパーティション作ったケースにまつわるトラブルが多いです。最低限、諸悪の根源となるLVM(ボリュームマッパー)は外すこと、不必要にパーティションを分けないこと、SWAPの扱いを理解すること(普通は不要だが適用によっては必要な場合もありケースバイケースであること)等が重要です。他にも/etc/rwtabの不整備やメモリ容量不足トラブルはありますが、そちらは事後でも救いやすいものです(後日追記します)。

②のケースでは、設定が手軽な反面、配慮不足/評価不足による不具合が長期運用で顕在化するので、とにかく長期間電源入れっぱなしの運用には不向きです。

4. その他

開発者から手離れするLinuxプラットホームでは、多くのカーネルパラメータをケアしなければなりません。それらは、カーネルバージョン、CPU種別、チップセットディストリビューション、それらの各世代によって、多くのバリエーションがあります。例えば細かい所を言えば、Intel CPUでは、C-Stateの制限や無効化が場合によっては必要です。LANでの高スループットが必要ならネットワークパラメータのマニュアル設定が必須です。複数LANポートを持つケースではトラップがあります。

根気よく調べれば必ず正解にたどり着きますが、調べるきっかけを得られない「知らなかった」が最も恐れるべきところとなります。これを防ぐには、コミュニティ活動に何かしら関わっていくのが良いとは思います。日本人にはなかなか難しいですが、今は、リモートでも匿名でも関わりやすくなっているとは思います。

 

グルテンフリー

3月下旬から取り組んでいる「ゆるめのグルテンフリー」について、ここに整理しておきたいと思います。

グルテンフリーとは、小麦粉を避ける食生活スタイルのことです。テニス王ジョコビッチが取り組んで注目されたようですが、今まさに大活躍中の大谷選手も取り組んでいるようです。サイボーグと呼ばれる方々はグルテンフリーがお好きなようで・・・

3月下旬、膝痛の応急治療で訪問したクリニックの待合室で、たまたま手に取ったのがグルテンフリーの本でした。その時まで私はその言葉を知りませんでしたが、ジョコビッチが取り組んで好成績を継続しているという点が心に残り、帰宅後、検索して調べはじめました。

生まれて以来の私の食生活は、こよなくパンを愛するスタイルでした。いきなり完全グルテンフリーはつらいので、まずは「朝食パン」「週末ごほうびパン」を止めるところから半信半疑で始めてみたところ、2週間で体重1.5kg減。膝への負担が減った他、肌の調子/髪のはり/お通じが良くなった気がしました。そこで、更に調べると、完全グルテンフリーは逆に危険とのことで、「ゆるめ」で取り組むことにしました。ハンバーグや大豆フレークに含まれるレベルの小麦や「麦茶」は許容しますが、トンカツの衣は基本は剥がします。サラダ油/ショートニングは5年前から極力避けてます。要は、和食中心です。

・・・

7月に入り、体重は、膝痛のリハビリ運動の効果もありますが、昨年末から3kg減りました。そして、驚いたことに、月2〜3回襲われていた頭痛が無くなりました。頭痛の原因は加齢による疲れ目のせいだと思い込んでいましたが、ここ数年好んで食べていた様々な「もっちり系のパン」が主な原因だったようです。たまにはピザ、パスタ、ギョーザも食べたい気はしますが、中毒性もあるとされるグルテンから解放されたためか、無駄な食欲は出なくなりました。なお、会社のお弁当に入っているパスタやギョーザは食べてます。

 

右ひざ痛

昨年11月末頃から右膝の内側がモヤモヤ痛むようになりました。体が温まっている間は痛みは無く、そのうち治ると思って筋トレを強化したところ、逆に悪化しました。更に12月下旬、自宅の風呂でスリップして右足で踏み留まったときの膝激痛でまた状態が悪化しました。年末には就寝中の寝返りで目が覚めてしまう痛さになっていました。

今年1月の緊急事態宣言に合わせて定期的な運動はペースダウン、2月は完全オフにしたものの、良くも悪くもならなず、3月はロキソニンゲルを塗らないと寝られない状態にまで悪化。4月に入り、クリニックで受けた注射と、ダメ元でやってみた水泳の思わぬ効果で、ロキソニンゲルから解放され、ようやく回復に向かいました。

膝に良さそうなことはいろいろ試しています。今後のため、以下に列挙しておきます。【】は効果度合い5段階自己評価です。 

緩めのカーフタイツ
【+4.5】
エコノミー症候群サポータの代わりです。周囲の血行促進と冷え防止のため、真夏を除きほぼ常用しています。
ストレッチローラー
【+4】
筋膜リリース/血行促進です。やりすぎないように注意しています。

足に腹筋EMS
【?】

膝専用のEMSは高評価ですが、高額です。そこで、手持ちの腹筋EMSでやってみました。気持ちいいのですが、悪化の懸念があり、怖くて今は使っていません。
ロキソニン ゲル/テープ
【無評価】
効きますが、劇薬です。私は薬嫌いなので、頭痛がひとくても薬は定量の半分、もしくは葛根湯です。自分では買わない薬ですが、嫁さんが持っていたので、使ってしまいました。一度使うと、止められなくなります。
痛みを我慢しすぎると神経が痛みを覚えるという説があり、経験的にも当てはまる節があります。適量の範囲であれば、我慢しすぎるよりは使った方が良さそうです。
サプリメント
【+2】
口から膝に届く成分はいったいどんなけなのか、甚だ疑問です。効果を期待するなら、せめてファスティングに近いことを何かしないと・・・
7/18追記:ロコモア2ヶ月→ひざサポートコラーゲン2ヶ月、実感できる効果無し。次は「北の恵み」かな。
クリニックのとある注射
【+4】
3月下旬、モヤモヤ痛に耐えられなくなって受診しました。注射は私からお願いし、すぐに効果があり、最悪の状態(主に精神的ダメージ)は解消しました。しかし、根本解決にはなりません。タラレバですが、この時期はまだカーフタイツ効果に気付いておらず、ヒザ下を温めるだけで良かったのではないかと思います。
グルテンフリー
【+5】
膝痛への直接効果はありませんが、間接的効果は絶大でした。こちらで整理しました。
水泳+強力ジェットバス
【+4.5】
リハビリとしては一番効果を実感できる方法となっています。どっちが効いているのかは不明です。
全身粗塩マッサージ
【メンタル+5】
膝が痛いと悲しくなってきます。そこで、マイナス思考にとりつかれないよう、儀式的に行っています。膝には塩多めで念入りに粗揉みしています。なお、とある塩4kgのAmazonレビューを見ると、その多くがマッサージや塩風呂としてのレビューでした( ゚Д゚)!
腹筋〜あしゆびの意識
【+4.5】
非常に効果がありますが、なかなか意識付けできません。
そこで・・・↓

ダイエットスリッパ
【+4.5】

男性サイズは売ってないので自作しました。作り方は簡単で、真っ二つに折り曲げ両面テープで固定、必要に応じてビニールテープで底面滑り止めを補強します。 作り方の解説例
その他 運動/風呂直後のアイシング20分、あしゆび体操、人目につかない所での貧乏揺すりも、効果がありました。

 


2021年6月中旬:
3月下旬の最悪状況は脱していますが、良くも悪くもなりません。そこで、5月下旬にMRIを撮影しました。結果、骨・軟骨・半月板に異常無く、炎症のみでした。更に、右足フロント内側の筋力が極端に弱いと診断されました。フロント筋肉が弱いと、膝に炎症が起きやすいとのこと。

ふくらはぎが発達した足では、逆に前側が弱いケースはよくあるようです。筋トレもバランスを欠いていたと思われます。私の足は左足が1cm長い(骨盤のズレもある)ので、マシンでは荷重が重いほど左足だけが頑張っていたのでしょう。当面は通院リハビリ治療/トレーニングですが、それでも良くならなければ、体外衝撃波治療*1という方法があるようです。運動量は特に制限しなくて良いとのことでしたが、ニー・インになる動きは厳禁、大好きな平泳ぎも禁止されました。

つぶやき:
理学療法士のお兄さんから課せられたメニューは、まさにリングフィットアドベンチャー! 買おうかな・・・いや、あの冒険家が推奨するFoot Fit 2を買うべきだろう。


2021年9月中旬:
モヤモヤ痛は80~90%解消しました。右足の筋力とバランスは120%、以前よりも良い状態です。体のキレとスタミナはまだ50%です。


2021年12月下旬:
モヤモヤ痛はほぼ解消。モヤっと感はまだ残っていますが問題無く、バランス感覚は以前よりも良いです。結局、理学療法士が施してくれた指導とは、私が40代前半までは確かに持っていて、その後しばらくさぼっていた筋肉の復活でした。主に、膝上の内側広筋と、太もも裏です。9月以降はプロテイン飲料の力も少々借りてとにかく筋力アップを優先した結果、体重は昨年同時期よりも微増でグルテンフリー効果帳消しでヤバく、何年かぶりに股ずれが気になる状態に!。体が重くてキレ味が戻らない、、、まぁ、キレすぎるとケガをするので、こんなもんでいいかとは思います。今後は自分の体の衰えを認めながら、サステナブルなところを探っていきます。

 

*1:中途半端な痛みにはあまり効果が無いそうです。私もこの施術は受けていません。

屋根裏の小悪魔ちゃん

屋根裏で毎晩軽快なステップを踏み、私を不眠症に陥れた犯人は、ねずみちゃんではなく、、、

f:id:t0a9n9a4k:20210425091338j:plain

かわいい小悪魔ちゃんでした (゚д゚)!。5年前、私を左肩関節脱臼に追い込んだ犯人のご家族でしょう。

ねずみちゃんなら定めにより水没であの世に行っていただくところでしたが、この子は行き先が違います。丁重に、、、というよりは強烈な屁をくらわないよう慎重に、人里離れたKやまへお運びし、リリースしました。どうかお元気で。。。

bashrcでechoしてはいけない

知らなかった... _| ̄|◯ 

         ↑ 久々の左右反転orz

https://www.google.com/search?q=bashrc+echo+scp

Linuxは、触れていればいつも何かしら新しい発見があるのでワクワクしますが、この件は、ちょっと足元がおろそかだったかもしれません。

本Blog内での該当部は、「bashrc」で検索してヒットするページはメンテしておきました。

 

なお、TeraTerm D&D操作やWinSCPのscp(sftpはNG)などでは、標準出力があってもファイル転送できるケースはあるようです。とはいえ、普通は処置すべきでしょう。

 

・・・ なお、Debian系のLinuxではもともと処置が入っているようです。但し、/home/userと/rootとで異なる処置になっています。

git diffを美しく

新幹線でぼーっとしている時間を有効活用すべく、新幹線Wifiを駆使して調べました。

目的
  • 的確に差分を表示できるようにgit commitしたい。
  • 文字コード、改行コード、行末スペースの差分でリポジトリをよごしたくない。
処置案1

コミット前にスクリプトで処置します。コミットする人が私一人ならこれでいいです。

# 1. テキストファイルをリストアップし、UTF-8/LF改行に変換して上書き
find . -type f -not -path "*/.git/*" | perl -nle 'print if -f && -T' | xargs nkf -w -Lu --overwrite

# 2a. 行末に空白のあるテキストファイルをリストアップし、処置して上書き
find . -type f -not -path "*/.git/*" | perl -nle 'print if -f && -T' | xargs grep -lzP "\ \n" | xargs sed -i 's/\ *$//'

# 2b. 末尾Tabもあわせて削除(sedで、SpaceとTabは'\s'で表現できる)
find . -type f -not -path "*/.git/*" | perl -nle 'print if -f && -T' | xargs grep -lzP "\t\n|\ \n" | xargs sed -i 's/\s*$//'

# 2c. README.mdなどのMarkdownは末尾空白2個で改行なので除外する場合
find . -type f -not -path "*/.git/*" -not -name '*.md' | perl -nle 'print if -f && -T' | xargs grep -lzP "\t\n|\ \n" | xargs sed -i 's/\s*$//'

[3/25] grep -lzP "\t\n|\ \n"に修正しました。

処置案2

pre-commit hookを使うと、コミット前に処置できるようです。複数の人がコミットするなら、ここで処置すべきです。余力があれば帰りの新幹線で。。。寝てました (-_-;)

処置案3

既に行末スペース等でよごれてしまったリポジトリは、表示の際のオプション設定できれいにdiff表示できます。

git diff -w

GitHubWebブラウザでdiff表示している時も、URL末尾に「?w=1」を付ければ機能します。
備考:GitHubの秘密


次の新幹線テーマ
  • 1行スクリプト・・・つまり「ワンライナー」を目指したいのですが、意外と難しいのです。
  • Subversionの#Date, #Revisionのように、gitでもテキストファイルに日付とリビジョンを埋め込みたいです。post-checkoutとpre-commitで対応でしょうか?