それマグで!

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

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

macOSに Linux の ip ( iproute ) コマンドを入れてしまうという邪教

mac でも ip / iproute2 コマンドを使いたい。 ついつい、癖で ip route show って打ち込んでしまうんですよ。 旧き良きBSDなんだし ifconfig / netstat を使えばいいんだけど、 netstat -nr って覚えにくいじゃないですか。 iproute のフリをするショートカ…

空白を含むパス名を含むコマンド文字列をシェル(bash)で処理する

" program files " のような空白を含むパス名を持ったコマンド全体を、変数に保持しててそれを実行したい時 そのままだと動かない。 ## これが実行できない。 cmd='ls ~/Library/Application\ Support/' $cmd 空白を含むパス名を入れたコマンドを文字列とし…

qemu の仮想マシンのイメージのディスクサイズを変更する。

libvirtのkvmでつかうqemu 用マシンのサイズを変更したい 通常のディスクであれば、ddしたイメージファイルのサイズを変えてあげれば済むのだけれど、qcow2 のイメージファイルはsparse ファイルになっています。 なので、仮想マシンから見えるディスクサイ…

PostgresSQLの基本的な使い方(ユーザ作成・テーブル作成・確認)ー SQL編+psql で結果確認

目次 目次 psql でPostgreSQLの基本的な操作 psql を使う前に。 インストール ( debian ) psql の対話型シェルの起動 ユーザーの管理。 ユーザーの追加削除と確認 実行サンプル ユーザーの追加。 ユーザ追加サンプル ユーザーを削除して、結果を確認。 ユー…

ディレクトリの中のファイルを「時刻」でソートする find と lsをつかって、最新のファイルだけを取り出す。

ls コマンドの場合 ls -t | head -n1 ls コマンドで、時刻順に並べることができるので、これを head と組み合わせれば出来る。 takuya@Gitlab:~$ sudo ls -lt /var/opt/gitlab/backups/ total 92268132 -rw------- 1 git git 43629199360 Apr 25 02:20 15877…

systemd で 3分毎タイマーで、OnCalendarのtimer 設定の記述方法とチェック方法をおさらいする。cronの代替にするには

systemd の timer サービスの書き方で時間の指定が困る。 cron で日付や時間の指定をようやく覚えて自由自在に作ってたのに、systemd timer だと onCalendar です。覚え直しです。 書式が違うんですよね。onCalendarは独自です。 systemd.timer の例 OnCalen…

splatnet2statinkで stat.inkへアップロードをsystemd で自動化する。

splatnet2statink で戦績を保存したい。 かれこれ2ヶ月くらいスプラトゥーン2から離れている takuya ですこんばんは。 2020年のコロナウイルス感染症騒動で、ちょっと暇になってしまったので、スプラトゥーンを復活しようと思っています。リングフィットア…

指定したファイルが存在するフォルダを指定する

画像が入ったフォルダを取り出したい。 Nextcloud を触っていて、画像が散らばってしまった。なので、画像大量に入ったフォルダを調べることにする。 となると、どんな方法が良いか思案したが、一番手っ取り早いのは find コマンドだろう find コマンドでjpg…

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で横幅が広がったパソコン向け表示になってしまったのをスマホサイトに戻す。PC→スマホ、スマホ→PC

アマゾンでスマホ向けサイトに戻したい。 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) 2020年2月29日 見に行ってみた。 うわああ邪悪すぎる。 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 でつけたほ…