Skip to main content

ログ取得ツール (移転先予定地)

Category: GNU/Linux

macのVM環境

VM環境っつーかLinux環境だ。これがないと何かと始まらないよね結局。 普段はdockerで間に合うんだけど、ごく稀にvagrant使いたくなることがあるでしょう。デプロイ先の、dockerとOSのバージョンに関する問題を手元で再現させたい時とかさ。でもApple Siliconでvagrantでうまく使えるVMシステムっていうのはあんまり気軽じゃない。UTMとかCLIはちょっとずつ出てきてるけど、まだvagrantを実現できるだけの機能はなく、プラグインも作られていない。limaもいまだvagrantからは使えないみたい。再現性のあるVM環境として便利なんだけどな、vagrant… もうみんな(自分もだが)vagrantなんて使ってないし、仕方ないのかなーと思って漁っていたら、macOSにも仮想マシンのレイヤのAPIが出ていることもあって、割と良さそうな知らないやつがポロポロ出てきていたんだ

docker有料プラン

かねてから儲け方が分からないままに便利すぎるソフトウェアを世に出していたdocker。もはやこれがなければほとんどの開発者は立ち行かないというレベルに達していると思うが、多くの人が使っているdocker desktopに有料プランの強制という話が出てきた。先週だったかな。朝dockerからメールが来て、ビビりつつ周りの様子を伺っていたが。多くの開発者がいる中〜大企業の開発者からはカネを取る、と。直接取る方向になったんですね。妥当な判断ではあるでしょう。 IntelliJ IDEAとかと比べてもdockerの利用を回避するのは難しそうですね。IntelliJはJavaの開発をしていたときは部署で買ってもらったライセンスを使って便利に使わせてもらいましたが、Javaの開発とオサラバできたので今はvscodeの住民になりました。dockerも個人利用は無料のままみたいですけど、会社では有料で使うとして、個人ではリモ

zshのcompletionの罠

zshのcompletionで不便なのは、_shが変なふうに定義されているところ。PATHから実行ファイルを探してきて補完しようとする。で、実行ファイルがシェルスクリプトじゃなくてバイナリとかだったら実行できないわけだ。 私がわざわざ「sh xxx.sh」とするとき、xxx.shはPATHから探してきてほしいわけではなくて、カレントディレクトリにあるファイルを実行して欲しい。なのだが、TABで補完すると知らんコマンドがたくさん引っかかる。これは不便だ。 というわけで、以下の内容のファイルを/usr/local/share/zsh-completions/_shに配置する。 #compdef sh ksh bash _default これで平穏は保たれた。しかしsh xxxでxxxをPATHから探してくる動作は酷くないか? Unixの歴史の闇…しかも、普通のコマンド実行と違って、カレントディレクトリが優先だ。 sh-3.2$ cd $(mktemp -d) sh-3.2$ ls -a . .. sh-3.2$ sh ls /bin/ls: /bin/ls: cannot execute binary file sh-3.2$ vi ls sh-3.2$

Raspberry Piを使ってAirPrintされたものをPDFにする

えー、 iPadとかからAirPrintで印刷 Raspberry PiがそいつをPDFに変換 PCからそのPDFを読み込んでUSBメモリかなんかにコピー コンビニに持って行って紙に出す というワークフローがあったとして、Raspberry Pi側の設定。私は常識人なので、Raspbian(Lite)を使ってます。そして自宅にプリンタを置くつもりはありません。 やることは、 avahi daemonを上げる cups daemonを上げる cups-pdf関連の設定 sambaの設定 といったメニュー。 まずはcupsとcups-pdfを設定していく。 sudo apt install -y cups cups-pdf python-cups avahi-discover sudo usermod -aG lpadmin pi sudo vi /etc/cups/cupsd.conf 「Listen localhost:631」を「Port 631」に書き換え 全てのLocationに「Allow @Local」を追加 sudo mkdir -p /var/spool/PDF sudo chmod 777 /var/spool/PDF sudo vi /etc/cups/cups-pdf.conf Out /var/spool/PDF AnonDirName /var/spool/PDF Label 2 Grp lpadmin DecodeHexStrings 1 sudo systemctl start cups sudo systemctl enable cups sudo systemctl start avahi-daemon sudo systemctl enable avahi-daemon sudo lpadmin -p CUPS-PDF -v cups-pdf:/ -P /usr/share/ppd/cups-pdf/CUPS-PDF.ppd -E sudo lpadmin -d CUPS-PDF 次に、Sambaの設定。 sudo apt install -y samba sudo vi /etc/samba/smb.conf [PDF] path

docker hubのautomated buildに問題が…

みんな使っているdocker hub(イメージのリポジトリ)。これは非常に便利で、Dockerfileをgithubに置いて連携させると、勝手にビルドが走る。設定したベースイメージの更新やgithubへのpush/mergeでトリガが走り、勝手にイメージをビルドしてくれるわけだ。最新に保てるし、automated buildの印がついてそこはかとない安心感を与えるし、とても良い。 ただ問題があって、ちょっと前(17.05あたり)からdockerにはmulti stage buildという機能が入ったんだけど、docker hubのイメージのビルドに使われているdockerが少し古くて(現在17.03.1-ee-2)、multi stage buildで書いたDockerfileを処理できないのだ。 multi stage buildというのは便利な機能で、例えばubuntuやcentosのイメージでビルドしたソフトウェアをalpineに持って

dockerホスト環境メモ

boot2docker docker-machine + virtualboxのデフォルト 基本はdocker-machineで管理するのが楽 アップデートが超簡単 dockerは常に新しい docker本体がリリースされてすぐにdocker-machine upgradeすると新しくなる カーネルは若干古い(4.4) aufs rancheros docker-machine + virtualboxで使える ただしアップデートできない dockerは若干古い カーネルはboot2dockerよりは新しい(4.9) overlay2 boot2dockerより少しでかい coreos カーネル、dockerともに新しい(alpha channelの場合) overlay2 本体にgitとかも入っていて、多少は操作に耐えうる git-lfsは入ってない 割とでかい alpine linux 無理やりdockerを入れることができる overlay2 カーネルはboot2dockerと同じくらい(4.4) apkで色々なソフトを入れられる。dockerもedgeを有効にすればapkで入る dockerは新しい fedora25 atomic at

気づけば僕の手元のVMはdocker-machineだけになっていた…

会社の手元マシンにも自宅の手元マシンにもVirtualBoxを入れているんですが、気づけばVirtualBoxの中にいるVMはいずれも一つだけになっていた。 その正体はdocker-machineのboot2docker。結局dockerだけで済むから他にVMなんて作る必要はなかったんだ。 確かに、時にはdockerではどうにもならないこともあって、vagrant使うこともあるんだけどね。でも大抵はdockerでどうにかなる範囲なんだわ。boot2dockerは割と良くできていると思う。他にもRancherOSとかその他いろいろと競合はあると思いますが、まあ簡単だし、そこはあんまり重要じゃないところ。VirtualBoxである必然性もなくなっている。 dockerイメージはalpine無双の時代が長かったですが、そろそろ過ぎつつあるのかな。自分は今でもdebian:jessieとかubuntuと

Android用のVPN

ついに個人用の最短手順を見つけたぞ。L2TP/PSKのVPNをレンタルサーバに立てて、フリーWiFiを使うときの足しにしようと思っていたんだが、L2TPサーバの設定ってけっこう面倒じゃん。 その手順がこれだ! dockerが使えているLinuxホストであることが前提です。CentOS7のホストでも問題ないみたいです。VMのVPSでもチョチョイと借りとけばサーバはどうにでもなる時代。 docker pull hwdsl2/ipsec-vpn-server mkdir vpn cd vpn vi env VPN_IPSEC_PSK= VPN_USER= VPN_PASSWORD= スペースやクォートに注意。余計なものが入ってるとダメです sudo modprobe af_key docker run –name ipsec-vpn-server –env-file ./env -p 500:500/udp -p 4500:4500/udp -v /lib/modules:/lib/modules:ro -d –privileged –restart=always hwdsl2/ipsec-vpn-server 以上です。なんて簡単な! 誰だか知らないけど、ありがとうhwdsl2(←気に入った人はdocker hubにログインして☆をつけよう)。 あとは手持ちのAndroid機のVPN設定でクライアント側を設定していく。 名前→適当につける L2TP/IPSec PSK サーバーアドレス→立てたサーバについてるグローバルIPアドレス L2TPセキ

迷い

最近迷っているのが、このサイトをdockerベースにするかどうか、というところ。 ansibleにはしてあるんだよね。で、細かいところとかデフォルト設定の違いとかはあるにしても、別のVPSとかクラウドサービスに乗り換えることは可能なようになっている。今借りてるところは安いけどAPIで操作できなかったりするからな。 dockerならdocker-machineでホストを操作できるじゃん。で、registry立てといてバックエンドをS3か何かにする、あるいはDockerfileを手元に持っとけばいいじゃん? リソース足りなくなったらswarm立てて複数台で回していくというやり方も。 実際はansibleでポ〜ン、ってのでも特に問題があるわけじゃないんだけど。

nexus 5X

先代nexus5を駅で落として壊れたから買うハメに…べつにLG Nexusを愛しているわけではないんだけど、計画外で突発的なことだと、あんまり熟慮することもなく後継機を買うことになるんだよな。買い換えるつもりがなかったタイミング。後から考えればiPhoneにするべきだったかも。 それにしても油断が過ぎたな。胸ポケットに入れて靴ひもを結ぼうとするという、暴挙ね。まあ、これまでよく頑張ったと思う。子供に投げられたり(文字通り放り投げてた)して、若干傷だらけになってたんで、駅で落としたのがトドメになったのかな。 実際まだ使えるんだけど、このまま使うと指を切りそうなんで… 5Xのいいところは…指紋認証くらいか。他は不満も多い。サイズが長くなって持ちにくくなった。無駄にSIMがnanoSIMになったりmicroUSBじゃなくてType-Cになったりして不便を強制された感が。Type-Cなんてケーブル持ってな