So-net無料ブログ作成
検索選択

WettyでつないでLXCで環境作ってどうしよう。 [プログラミング]

久しぶりにUbuntuでLXCを使っている。結構色々忘れてしまっているのだが、逐一覚えているようなものでもないので、自分のブログの覚書を見ればいいのだけれど、結局ググって最初からやり直しな感じ。

wetty経由で操作しているのだが、マウスオペレーションでコピペできないなと思っていたら、Ctrl+C, Ctrl+Vが使えたりしたので楽ができている。マウスでのコピペを出来るように実装しようかと思っちゃったよ。実際、xterm.jsを使った簡単な実装を見てしまったので、間違ってそっちのほうに行っちゃわなくてよかった。

UbuntuにUbuntuコンテナを使うと言うつまらない使い方なのだが、やはり使い慣れたディストロを使うのが面倒がなくていい。どうせ使い捨てなんだから、LTSとか守りに入っていないで最新バージョンを使えばいいのだけれども、なぜか踏み込めないヘタレ根性なのでした。

そうそう
lxc exec container-name /bin/bash
で入るんだったっけかな。
/bin/bashはbashのみでも可能な模様。

んで、16.04を入れたんだけど.2が入っていて最新でほとんどapt update && apt upgradeしないで済んだ。前は一番最初にガッツリ入れられた気がしたんだけど、リポジトリが最新になっているみたい。CanonicalもLXCに本腰になってきたというわけだ。


Python3を入れようと専用のコンテナを作ろうとしたのだけれど、デフォルトの環境に入っていました。Pythonも出世したものです。前はLLとしてRubyとどっこいどっこいだったけど、Googleが使い出して、機械学習でやたら使われるようになってから一気にメインストリームに上り詰めちゃった感じです。それにしてもPython2系がのさばっていたので、3系統に一本化できそうで良い傾向。

んで特にバージョンを気にするわけでもないので、Pythonはそのままでいいことにしました。Python2.xじゃないからいいやと言うくらいのもので。Pythonで何かをしたいと言うわけでもない気はするのだけれど、一応はディープラーニングで使えればいいなと思ってはいる。pyenvとか入れないで済んじゃったし、後はしこしこ勉強するだけだよね。



これはWettyじゃなくてLXCの問題かもしれないけど、コンテナを作ってユーザーを作ってsudoの設定をして使おうとしたら怒られた。
sudo: no tty present and no askpass program specified

結局、.bashrcに
alias sudo='sudo -S'
として設定して避けたのだが、sshのコマンドで逃げてもいいんだよね。pty.spawnのところのパラメーター設定を直すのが筋なんじゃないかと思ったり。


Pythonで勉強しようとは思っているけれども、Webがwettyで443ポートをふさがれているので、基本使えないんだよね。80番ががっつり空いてるやん、と言われればそうなんだけど、KDDIが配布しているルーターが非常に貧弱で、80番ポートを開けておくと数週間でルーターがハングする。あまりに受付する接続が多いのでフリーズしてしまうらしい。

というか、KDDIもそんな貧弱なルーターよこすなよな。KDDIがIP電話付けたいだけがために、しょっぼいルーターを使う事を強いられてるわけで。まぁ普通の人は意図的に80番ポートなんて開けないけど、営業の人がルーターを変えたい場合は応相談だって言っていたな、口から出まかせかもしれないけど。

80番ポートのアクセスログを見たことがない人は知らないかもしれないが、やたらと色々なところからアクセスが来る。他のポートにも不正なアクセスがあるわけだが、80番ポートはずば抜けて多い。一番開いている可能性が高いのか、脆弱性の高いアプリが待ち受けていることが多いのか、前に見た時は多かった覚えがある。それに比較すると443ポートは元々セキュアな通信をするという意図があるので、そこいらの意識的な高さがクラックを遠ざけているのかもしれない。ともあれ、そのほとんどはボットなどのアクセスだろうから、基本的なところを押さえておけば大丈夫。基本的に特定の脆弱性を狙っているから、穴のある機器やアプリを使っていない限りは大体大丈夫なはずなんだが。大丈夫なことを願うw。少なくともリポジトリからとれるソフトを使っている限りは最新にしておけば問題ないでしょう。


さてPython3で何しよう。Web以外ってことだけでかなり限られてくるよなぁ。今は機械学習とかPythonで流行っているけど、それだけのマシンパワーがなかったりするサーバだし。とりあえずPythonの文法を学びたいけど、何か目的がないと学びにくいのも確か。x16のスロットにGeForce入れてPythonでCUDAとかもいいな。ディープラーニングもやらずじまいだし。

そういやGolangもやってない。結構突っ込んでやろうと思っていたんだけど、いつもと同じフェイドアウトでグダグダである。でも、Go言語だったら別にWeb関係じゃなくてもやることありそうな気がするね。というか、コンパイルして速度を出したい目的とか、いろんなプラットフォームに持っていきたい場合とか使えるんだよなぁ。具体的に何やりたいか思いつかないけど。Go言語でGPGPUとかできるんかな。Pythonでできるんだからできそうな気もするけど、実際はどうなんだろう。CUDA自体が対応していた気もするが忘れた。GPGPUは面倒過ぎて見放したし。

ん~今見てきたらMini-ITXのサーバのマザーボードにはx16のスロットがなかった。x2だかx4のしかなかった。同じMini-ITXのマシンにはx16スロットが一つあるんだけど、それだと今の省電力マシンでのサーバ運用ができなくなってしまう。x16スロット使用となるとそれなりに電力消費も大きくなるし、電源も普通のATX電源を使わないといけなくなる。そうなると安定運用もできなくなる。

デスクトップ電源よりACアダプタでの給電の方が安定しているみたいなんだよね。その代わり、出力は半減以下になるわけだけど。ずっとスリープ状態でデスクトップを運用していてやっとデスクトップ電源の脆弱さが分かった。Pixivのインフラ担当の人が言っていた気がするんだけど、一番電源が壊れやすいというのは連続運用という点では間違っていない。ちょこちょこ立ち上げなおすパソコンだとHDDのクラッシュの方が目立つんだろうけど、電源は休ませないとすぐヘタるっぽい。ACアダプタも電解コンデンサとか使ってるのになぁ。なんでか分からんがそこのところは仕事も勉強もしていないので知識的に闇の部分です。


というわけでGPGPUはできない。既存のプログラムの高速化とかは無理だな。お手軽にできることって結構掘りつくされていて、自分が入り込む余地ってないのかもしれないなって思ったり。何か楽しい事ってないかなぁ。本当にゴリゴリやるなら開発環境自体に参加するとかあるのだが、それは自分には荷が重すぎる。ともあれ、LinuxでCUIのみでできることって個人的に興味を引く分野から遠いんだよね。基本、WindowsのGUIのアプリを作りたいと思って入ったクチだから、正直Linuxのツールが何とかとかあまり得意ではない。ツールを外から使うならさんざんっぱらやったから普通の人程度にはできるけど、C言語で一からスクラッチしたとかautoconfを使うようなことをしたことがあまりないんだよね。仕事でもとりあえずmakeファイルで自分のところで動けばいい的な事しかなかったし。

まぁぼちぼち気になるところをやっていければと思う。まずは久しぶりにC言語回り。Go言語にLLVMあたりかな。あとWindows系の技術を持っていきたい。まぁ大体大規模か必要じゃないもの以外は軒並み移植されてたりするから気にする必要はないのかもしれないけど。

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

Twitterまとめ投稿 2017/04/10 [Twitter]


コメント(0)