それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

LXC・LXD のコンテナのポートを外部に公開する docker expose的なやつ

lxc で外部にポートを公開する。 docker だと expose で手軽にできるんだけど、LXCだとiptables使えとか forwarding しろとかめんどくさいので、もっと簡単にポート転送できるものがないか調べた。 プロキシで飛ばせる たとえば、nginx-container があって、…

libvirt + qemue の kvm 仮想マシンで画面を持たないコンソールのVMをぱぱっと作成して コンテナみたいに使う

VMがヘビィだ docker とか LXC 使ってると、VMがヘビィに感じることがある。もっと手軽に仮想マシンを使いたいななどと思う。 UbuntuやDebianを仮想マシンで新規で作って、コンソールでテキストで扱えれば嬉しいわけです。 SSH経由で、VMを作成 SSHのテキス…

lxc でコンテナへファイルを送信(コピー)する。

lxc で ホストからコンテナへファイルを送信する。 LXC は lxc の file コマンドでファイルをコピーすることができる。 takuya@:~$ lxc file push ~/.vimrc ${CONTAINER}/root/ ただし! 末尾の スラッシュを除外すると面倒になるので注意。 takuya@:~$ lxc …

gitlab を lxd/lxc などの仮想マシンに入れようとしてエラー

apt install gitlab-ce したらエラーになった。 * execute[load sysctl conf kernel.sem] action run [execute] * Applying /etc/sysctl.d/90-omnibus-gitlab-kernel.sem.conf ... * Applying /etc/sysctl.d/90-omnibus-gitlab-kernel.shmall.conf ... * App…

IPアドレスから地域判定するgeoipをipinfoで実現する。香川県判定

ipinfo というサービスがありまして。 ここに、リクエストを投げると、JSONで位置情報をくれる。 curl ipinfo.io $ curl https://ipinfo.io/json { "ip": "49.105.999.999", "hostname": "mo49-105-999-99999.fix.mopera.net", "city": "Tokyo", "region": "…

findコマンドでファイルの所有ユーザーを調べ所有者を間違っているファイルを探す。

find コマンドで、自分以外の所有者のファイルを探す。 ユーザーがtakuya 以外のファイルやディレクトリを探す。 find . -not -user takuya 指定した所有者のファイルを探す。 not を外せば、所有者を限定してファイルを探す。 find . -user takuya オーナー…

Amazonで横幅が広がったパソコン向け表示になってしまったのをスマホサイトに戻す

アマゾンでスマホ向けサイトに戻したい。 Amazonを見ていると稀に、iPadなどタブレットがPC表示になってしまったりする。スマホでPC版サイトを開いたらスマホ版に戻れなくなったって割とあるんですよね。 スマホサイトに戻すには モバイルサイトに戻すリンク…

telnet / openssl を用いて pop3/pop3s のサーバーの疎通を確認する。

pop3 サーバーにtelnet でアクセスする telnet pop3.myserver.example.com 110 over tls /ssl の場合は、openssl を使う SSL/TLS を経由した暗号化通信をする場合は、openssl コマンドを使います。次の例は、google のgmail に pop3 over ssl したときのアク…

docker のイメージやコンテナを削除する. まとめて全削除

docker でストレージが圧迫される docker build とか docker hub でイメージ取得してるとありがち。ストレージ圧迫される。 全部のコンテナを削除する docker rm $( docker ps -a -q ) 全部のイメージを削除する docker image rm $( docker images -q ) 依存…

PhpStorm/WebStorm/IntelliJ IDEA など でUndo(やり直し)回数を増やす.

Jetbrains の phpstorm 愛用してますが、アンドゥ回数が不満です。 不満で仕方ないです。コードをリファクタリングしてるときとか、ちょっと戻したり、ちょっと進めたり、undo/redo の Ctrl-Z(⌘-z)をめっちゃ押します。 でも、履歴件数が少なすぎます。いつ…

指定サイズのファイルを作る方法 ( head 編 )

任意の指定サイズのファイルを作る方法 head を使う場合。 takuya@~$ head -c 100k /dev/urandom > out takuya@~$ ll out -rw-r--r-- 1 takuya staff 100K 2020-03-18 13:59 out ランダム( /dev/urandom) から読み出して、指定サイズを作ります。 head は -c…

phpでプロスセス実行するライブラリ書いた。

php でコマンドのプロセス実行したい。 シェルコマンドの呼び出しをどうしてもやる必要があって、ずっと proc_open について調べてたり、pakagist / pear などのライブラリを見てたんだけど、代表的なものをいくつか試した。しかしコレと思えるものや使い方…

php の proc_open の処理を callback で少し見通しよく

proc_open のコードがカオスになってる proc_open でプロセスを起動して実行できる。 でも、あれこれ手順が煩雑でわかりにくい。 コールバックを使って整理する こういうときは、関数の引数に関数を取れば整理されるはず。

libvirtの仮想マシンの仮想マシン用可変イメージを作る

virt-manager で qcow 作ると・・・ スパースファイルなのに、指定した容量が作られてしまう。 割当<=最大容量なので20GBを作成するには、20GBが確保されてしまいます。 sudo ls -lh /var/lib/libvirt/images/test.qcow2 -rw------- 1 root root 21G M…

暗号化ディスクを新しいSSDに移動させてサイズを増大させる enlarge lvm on Luks

ssd を移動させたい。しかし暗号化ディスクだ HDD/ssd はデータ式年遷宮をするのだけど、今回は、暗号化ディスクだった。 手順 手順は次の通り とりあえず、dd ubuntu など live disk で起動させる gdisk などでパーティションを拡大 crypt領域を拡大 lvm pv…

php のコマンド実行のproc_open でexitcode を取得する

proc_open でexitcode を取得すると -1 になる proc_open の関数で、exitcode を参照すると、常に -1 が固定で返ってくる件 proc_get_status($process)['exitcode']; // -1 proc_get_status($process)['exitcode']; // -1 array:8 [ "command" => "ssh" "pid…

phpのproc_open関数でコマンドのstdin/stdout/パイプを使う例を確認しました。

php でプロセス(プログラム実行) proc_openでプログラム実行 exec同等 コマンドからの出力 標準出力・エラーを捨てる 省略可能 標準出力を指定のファイルに 出力結果を一時ファイルに出す。 php://temp を使う場合の注意点 標準エラー出力を別のファイルに …

自動入力は悪と決めつけて邪悪な対応をするイオンカード。フィッシング・サイト対策にはむしろ自動入力を使いましょう。

イオンカードがまたやばい。 イオンカードのサイト、こいつのせいで自動入力が効かねえ… 邪悪だ。 pic.twitter.com/YdS37sobqi— yasu⋈(HIRATA Yasuyuki)@アスカネット (@hirayasu) February 29, 2020 見に行ってみた。 うわああ邪悪すぎる。 input[type=url]…

OPNSense に ports を入れて htopを入れてみた。

OPNSense に ports を導入 portsを使ってOPNSenseにパッケージを導入してみる ports をダウンロード opnsense-code ports tools ビルド用ツールを用意 pkg install autoconf automake libtool 念の為にソースコードも用意 opnsense-code tools ports src カ…

OPNSenseゲストのdisk容量をリサイズした

OPNSense めっちゃディスク食う OpenWRTなら、3GBもあれば十分だったけど。OPNSenseはメモリもディスクも大食らいでした。 こんなことなら libvirt じゃなくて vbox 使えばよかった。後悔はするけど、勇気を持って前に進む。 BSDのコマンドでディスク容量を…

GLOBIGNORE で一時的に*(ワイルドカード)のglob 展開を止める。

bash / sh を使ってると glob が邪魔な時がある。 シェルスクリプトを書いていると、 * のワイルドカードの展開がじゃまになるときが多々あります。 その都度エスケープ刷ることが多いと思います。 たとえばワイルドカードを受け取ってあとで展開するような…

間違って /tmp を消してしまったので対処。

/tmp にクソでかいキャッシュを作ってしまった 間違って /tmp に大量のファイルと巨大なファイルを作ってしまったので、消そうとして -mindepth つけ忘れた。 find /tmp -exec rm {} ; 悲劇。 /tmp が消えました。あああ・・・ mindepth は alias でつけたほ…

OPNSenseをKVMのvirtio で動かしたほうが速かった

OPNSenseをKVM+qemu 上に作成した。 構成としては、OpenWRTを載せた同じマシンに載せた。 virtio 参考資料として、さくらインターネットの記事を見ていたら、virtio について次のような記述があった。 たとえばKVMではストレージドライバとしてvirtioを利用…

rcloneのバックアップがシンボリックリンクのリンク取得していないことが判明

rclone でgsuite / google drive にバックアップに注意が必要 google ドライブなどいくつかのストレージは、シンボリックリンクをサポートしていないので、シンボリックリンクは取得されない。リンクされたファイルが無視される。 取得されない例 rclone syn…

netatalk をアップデートしてmacのタイムマシンを作る

netatalk を更新した mac のタイムマシンに samba が使えるのは知ってるんだけど、ずっとnetatalk なので引き続き使ってます。いまのところ特に問題ないし、現代のsambaは設定が煩雑すぎて目的を見失って沼に嵌りそうですし。 過去記事 netatalkでLinuxサー…

systemd のaccounts-daemon がCPU使用率を100%で上がってくるので止めた

ubuntu server の cpu 使用率 ubuntu server を入れてしばらくしていたときに、cpu 使用率をモニタリングしていたら、使用率が定期的にSPIKE してることに気づいた。 cpu 使用率が定期的に上がる cpu 使用率 4コアのうち1コアを完全に使い切る 一時的である…

macOSからlinuxのvirt-managerのkvm+qemu の仮想マシンを管理する

macOSから 仮想マシンを管理したい。 macから仮想マシンを管理したいと思っても、フロントのアプリケーションがこれというものがありません。 virt-managerを 無理やり起動する brew もあるのですがイマイチです。 git にある tap を読み込んだ場合 brew tap…

apt searchは正規表現で絞り込む

apt search で grep すると警告が出るんですね。 takuya@:~$ apt search docker | grep cockpit WARNING: apt does not have a stable CLI interface. Use with caution in scripts. 9:cockpit-docker/stable,now 188-1 all [インストール済み] 10: Cockpit …

aptコマンドでインストール済みを検索する

apt の結果をgrep するといつも警告が出る。 takuya@:~$ apt list --installed | grep docker WARNING: apt does not have a stable CLI interface. Use with caution in scripts. いつもこれどうしたものかとかと悩んでたんですが。ある日偶然タイプミスし…

find コマンドで シンボリックリンク以外を表示してduする

シンボリックリンクを隠して一覧を取得したい。 実ファイルの du を取ろうとしたときに、シンボリックリンクがじゃまになる。 find -not -type l du を組み合わせて戦う。 du したいときなら ディレクトリと階層を指定する find -type d -not -type l -maxde…