SSブログ

Twitterまとめ投稿 2021/04/21 [Twitter]


コメント(0) 

Twitterまとめ投稿 2021/04/20 [Twitter]


コメント(0) 

Twitterまとめ投稿 2021/04/19 [Twitter]


コメント(0) 

Twitterまとめ投稿 2021/04/18 [Twitter]


コメント(0) 

Golang版のbusyboxを探していたら、gokrazyの方に行っちゃった。 [プログラミング]

最初はGolangでbusyboxがないかと探していたら、gokrazyの方に目がいってしまった件。

作ろうとしたこと。

・Golang版のbusybox
割と簡単に実装できそうだが、出来上がるバイナリがでかいのでモバイル用のユーザーランドとしてはダメかも。

・Rust版のbusybox
書き方がむずくてやる気にならない。というかすんなりコンパイルが通らなくてストレスが溜まりそう。Golangほどバイナリが大きくならないので、使うには問題なさそうな気はする。


実はGolang版のbusybox的なことは作られていて、gokrazyというものらしい。ファイルサイズもGoにしては小さくて実用に足る感じではある。しかし、先にやられてしまうとはなぁ。人が考えることは大体似たようなものではあるのだな。なんかラズベリーパイに使っているところを見るとなかなか見込みはあるようである。

https://qiita.com/tetsu_koba/items/aa2d245a61db98299a89

ん?よく見たらBusyboxのような部分は含まないらしい。ユーザーランドという名前に騙された。よく考えるとユーザーランドという呼び名は結構あいまいに使われている気もするな。カーネルに対するユーザーランド的な。

ユーザーランドという言葉を調べてみると、カーネル以外のすべてみたいなことが書いてあった。基本的にカーネル以外の実行環境のことを言うらしい。Linuxカーネル以外全部じゃん! 結構いい加減な分け方なんだけど、実際そうなんだから仕方がない。


上のサイトを見ていると「libc や busybox のコマンドを含んでいない」とあるので、ログインして何かできる状態ではないようである。そもそもbusybox自体かなり限られたユーザーランドであるので、gokrazyを入れただけでは何もできないんじゃないかと思われます。

カーネルモジュールを含んでいない、ということなので、カーネルの一部ですらない。結局何やってるんでしょうね…。initとかの作業をしているみたいですが、initはカーネルの中身ではなかったんだ…。

https://www.slideshare.net/tetsu.koba/linuxinitgolang

やはりshさえも入っていなかった。これは本当に特定通信をやり取りするだけのもので、シェルに入って云々というものではなかった。ということは、立ち上げてそれ以上手を入れることができないような状態みたいですね。ラズパイのコンソールがどうなのかは知らんけど。

カーネルモジュールのロードもできないし(スタティックに組み込めという話)、デバイスの抜き差しすらできない(uvev?)。カーネルがやっていそうなところもカーネル自身が結構やっていないことも多いんかなと思ったり。こういうことをしない限りは、カーネルとの境を意識することもないわけだよね。

それと依存性とかもいろいろ関係して単体では動かないことが結構あるんやね。Golangがわりと単体で実行できるという性質を持っているけど、その他のツールが依存性をがっつり持っているので、簡単にミニマム構成にできないってことなのか。

gokrazyはGolang版busyboxではなかったのだが、goで書いたbusyboxライクなものもあるみたい。それはファイルの大きさとかどうなのかなぁ。依存性は少ないのだろうけれども。gokrazyが終わった後ぐらいには、ちょっとみてみたい気もする。というか、初めはそっちが興味があったんだけれども。


gokrazyはラズパイ依存のものみたいなので、ケースワークとしてはminimumgoの方がわかりやすいかも知れない。

https://qiita.com/tetsu_koba/items/059849c0871a7e3bd94f

ソースを見てもしんどくならない程度に短い。バイナリが小さいというのも分かろうもの。というか、Golangのネックはバイナリがデカくなるというところだと思っていたのだが、用途によってはそうでもないのですね。


gokrazyはGolang版busyboxではなかったのだが、goで書いたbusyboxライクなものもあるみたい。それはファイルの大きさとかどうなのかなぁ。依存性は少ないのだろうけれども。Goのいいところの一つはlibcなどに依存しないところなので、こういう環境の方がワンバイナリになっていていいのではないかと思ったり。まぁC言語とかでもスタティックにリンクすればいいんだろうけど、そうする人は少ないよな。

タグ:Golang
コメント(0) 
共通テーマ:パソコン・インターネット

Twitterまとめ投稿 2021/04/17 [Twitter]


コメント(0) 

Twitterまとめ投稿 2021/04/16 [Twitter]


コメント(0) 

薬が眠い。 [徒然]

病気を患ってからは、ずっと昼間が眠い。起きていられる時もあるのだが、集中して事を行わないといけない時とか、薬を飲み忘れた時ぐらいしか、眠くならないことはない。大体は座っていても舟をこいでしまうことが多いのだが、本当に眠いとどこかで背中を下にして寝ないとダメだ。耐えられない。

なんで眠いかと言えば、薬が脳の中枢神経系に強く働くからだ。多くは鎮静方向に向かい、それで眠くなってしまう。それを阻止するには基本的に薬を少なくするか、合法的にカフェインを投入するぐらいしかない。病気が出るので薬は少なくできないし、カフェインだってそれほどたくさん入れることができない。

正直、この状態で仕事をするというのは難しい。忙しいときは寝ていられないのでいいのだけれど、仕事がなくて集中できない時とかは眠りたい一心である。何かをしていればあからさまに寝ることはないのだけれど、何もなかったり難しすぎる課題があったりすると厳しい。

今までよく時間を過ごせていたものだが、なかなか面倒で困難なことであった。仕事があればできるけれど、眠さに勝てるものではないとどうしようもない。今までカフェインの錠剤やらエナジードリンクを摂取してどうにかしてきたが、それだって万能ではない。直ぐに効くわけでもないし、あまり安いわけでもない。

今まで良くごまかしてきたと思う。周りもそうだが自分に対してが一番手ごわかった。仕事が与えられないのが一番きつい。何かとりあえずやっていなくてはならないことがないと、薬がなくても多分寝る。昼飯の後だし、基本的にそういうもんである。

あまり仕事を積まれるのも厳しいけど、仕事なさすぎなのは一番悪い。罪悪感があるし、何をしていいかわからない。かと言って自分から仕事を申し出るのも違う気がするし、他の人から返ってくる仕事のことも考えないといけないわけで。

コメント(0) 
共通テーマ:健康

Twitterまとめ投稿 2021/04/15 [Twitter]


コメント(0) 

仕事場でWebが使えないとかなり何もできない。 [web]

ある問題が起こって仕事場でWebが使えなくなった。仕事で調べる情報はおろか、クラウドのWebメールだったのでメールチェックも自分のスマホで行わないといけない始末。いろいろ面倒くさい。

まずプログラマ的には日常的にWebで調べ物をする。エラーでググったり、解決方法を探して参照するなどだ。気になったことはほとんどWebに頼っていたので、開発がかなりおろそかになる。

仕事でメモした情報も外に出せないので、家に帰って調べることもしにくい。USBメモリとか普通に紙に書いていけばいいのだが、そこまでして仕事のことを家には持ち込みたくないので、結局敷居が高くやらなくなる。そこまで社畜ではない。

時間が余って自己学習をするときも、Webがないと手掛かりがない。今時、ローカルにドキュメントを持つ開発環境はあまりないし、あったとしても大体は外に見に行っちゃうしね。正直どうしようもない。本を見て学習できるのはあるが、仕事中、あまり仕事に直結しない勉強をするのはどうかとも思ってしまう。

本を見て勉強していた。特にお咎めもなく時間は過ごせた。ただ非常に眠くて読んでいるだけでは寝てしまう。お昼後のおなかいっぱいタイムには抗いがたい。それに中枢神経系への強い薬がラリホーマばりに効く。合法的にはカフェインぐらいしか対抗薬剤はない。


ググって調べられないのは、ファイル共有ソフトで下手こいた大手ソフトウェアベンダーでの仕事以来だ。あの時は、外部に接続する端末があったが、見られるホワイトリスト方式で、そのサイトも限られていた。本格的に配布ソフトをダウンロードするには、いちいち所定部署へのお願いが必要だった。本当にクソみたいな仕事場だったが、今回もまともにやっていて情報漏洩したようなので仕方ない。もしかしたら自分が加害者になっていたのかもしれないのですから。たぶん幹部クラスがフィッシングとかで下手こいたんじゃないかと思っているんだけれど…。

前にいたところの情報漏洩はそこに常駐する前に起こったことなので、その後の人のことを考えろよと非常に腹立たしかった。当時流行っていたファイル共有ソフトでは、それまでも暴露ウイルスが頻発していて、結構ひどいことになっていたから他人事とは思えなかったが、ファイル共有ソフトを入れたPCで作業することはなかったから、なんで仕事場のマシンに入れるんだよというか、何で仕事場のファイルを外に持って行って、よりにもよってファイル共有ソフトが入っているところに入れるのかわけがわからなかった。その仕事場にはリテラシーの低いバカが結構いたので仕方のないことだったのかも知れない。

最近のファイル共有ソフトのトレンドはわからないけど、軒並み警察に監視されて規模が縮小してしまった感がある。でも、LinuxのOSイメージを落とすときに使ったBittorrentなんかは普通にいろいろ使われているみたいだった。P2Pとはいえサーバが必要なのもあるし、それまでほどダークなイメージは無いようだった。でも、やり取りされているファイルは今までと同じくらいダークなものも多いみたいだけど、もう時効になったであろう昔ほど欲しいものもないしな。探すのも面倒だし、わりとOSSやフリーソフトで行けることも多いので、無理して法を犯してまでやるメリットは少なくなってしまった。

とにかくWebが見られない仕事場は、技術的な仕事ではキツい。まだ定型的な事務をしているなら問題ないけれど、新しく知らないことがたくさん出てくる現場では調べられないことは仕事が進まないことに直結する。自分のスマホでググって調べるのもしんどい。早く今までの日常に戻って欲しいものである。そうすればまた平穏なテレワークの日常も戻ってくるのだが、その前にワクチンが広まってコロナ禍は終わってしまう気もしている。まぁ今年中には終わらんだろうけどね。


漏洩事件が起こった後が嫌なのは、やたらとセキュリティのハードルが高くなることだ。まぁWebが使えるようにはなるだろうが、前の開発環境のように制限されたらたまらない。ほぼインターネットが使えない状況になったら、ほぼ開発無理だからね。ほぼ無理な状況でも、その時はMFCとかASPべったりな開発だったから、ローカルにMSDNさえあれば結構大丈夫であった。というか、あそこで外向けのWebの開発も行っていたっていうんだから驚きだ。まぁ結構ひどい状況ではあったみたいだけどな。

別のところではパソコンからスマホの電源を取るなとか結構気にしていた。でも、仕事でもスマホを使わないわけにはいかないので、USB電源をコンセントに刺して使っていた。まぁパソコンで携帯の情報が漏れるといけないから、電源は別に取ればいいってだけの話だったんだけど、そういう意味でUSBメモリはほぼ禁止のところだった。まぁネットワークとNASがあるから困ることは基本的になかったわけだが、作ったデータを家に持って帰りたい場合はちょっと面倒だった。USBメモリだってソフトウェア的に使えなくしていたりはしていなかったので、別に気にしなくてもよかったんだろうが。グレーならやるけど、やるなと言われていることをやるのは避けたい。

あとブログをブラックリストにしてアクセス不能にしているところもあった。仕事中にブログを見る必要はないという事なのだろうが、開発をするときにブログを見られないのは情報が半減することになる。さらに匿名掲示板系統にもアクセスできないのも厳しかった。にちゃんねるとかじゃなかったんだけど、StackOverFlowとか見られなかった気がする。そんな有用性の高いサイト遮断とか意味わからないが、主に開発現場で使われている回線ではなかったので当然なのかなと思ったり。たぶんYahoo知恵袋とか遮断したかったんだろうな。

技術者のいない所で、技術的なことをしていると割とハードルがあって、すぐにシステム部に対応してもらえないことも多いので、自分で対応していたこともあった。SMTPサーバがなくて困っていたので無理やり仮想化でLinuxにPostfixを立ち上げたり、見れないサイトを家にサーバ立てて、プロキシ的に使っていたこともあった。それでもネットワークの使えるポートは限られていたので、イントラネット上でやらない限りは、HTTPかHTTPSで出入りするしかなかった。


常駐している会社が大きいと、それに比して重要な情報も多くなる。だから気をつける他ないのだが、普通の場合は、それを意図的に持ち出したりしない限りは、漏れる事はそれほどないだろう。情報を搾取する仕組みができていない限りは大きなことにはならないだろうけど、今は色々とあるからなぁ。


コメント(0) 
共通テーマ:仕事