それマグで!

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

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

linux

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 オーナー…

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

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

指定サイズのファイルを作る方法 ( 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…

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…

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コアを完全に使い切る 一時的である…

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…

OpenVPNでeasy-rsaを使ったCA構築でTLS接続をする

ここまで、次のことを試しました。 OpenVPNの起動と接続・コマンドから OpenVPNの固定鍵(共有鍵)の作成と仕様 OpenVPNで設定ファイルを利用して接続する TLSを使う。 TLSを使うことにします。UDP/TLSの場合、http3/HTTPSと同じ通信方式なのでパケットフィ…

OpenVPNの起動オプションをovpnファイルのconfig にまとめる。

前回まで ここでの目標 接続ファイルの作成 サーバー設定ファイルを作成 myserver-tun0.conf 設定ファイルを使ってサーバーを起動します。 クライアント設定ファイルの作成 準備 myserver-tun0.conf 接続します。 実際の接続例です 設定ファイルへの共有鍵を…

OpenVPNのシンプルな接続に共通鍵(鍵ファイル)による認証を加える

OpenVPNを起動するときに、共通鍵ファイルを使用する 前回で、基本的なつなぎ方とコマンドがわかったので、認証方式を変更します。 鍵ファイルを作成して共有することでパスワード認証と同様に共有鍵でクライアントを認証します。 クライアント・サーバーで…

OpenVPNコマンドで直接起動して接続される状態を体験する。

OpenVPNをコマンドからフォアグラウンドで実行します。 いきなり、OpenVPNをインストールして接続してしまうと、内部がブラックボックスでトラブル時に時間を浪費することになりそう なので、まずは最低限のシンプルな状態で接続してみます。 コマンドから、…

LinuxでOpenVPNの暗号化通信をする。

OpenVPNで通信を暗号化したい。 OpenVPNをつかって、通信を暗号化したい。とくに、検閲への不安が一番大きい。最近のLTE回線はどう運用されているのか、ほんとうにわからないよね。インターネットもCDN経由で通信はどこで見られてるのか想像がつかない。CDN…

bash で指定回数ループする方法いろいろ for / while など

bash で指定回数ループする方法のあれこれまとめ bash で使える方法です。sh では使えません。 while で10回ループ bash 算術演算のカッコと組み合わせて強いです。 #!/usr/bin/env bash while (( cnt++ < 10 )); do echo $cnt done break も使えます。 br…

OpenWrt でPPPoEなどWANの接続を再起動する

WAN接続を再起動する。 WAN側の接続を再起動する。WANに指定されているのは、firewall のwan になります。 OpenVPNやdhcp、そしてPPPoEで、IPアドレスを再取得して、切り替えます。 WANに設定されたインターフェスの取得 OpenWRTには、network.sh というネッ…

OpenWrtでホスト名を変える方法

現在の設定を取得 uci get system.@system[0].hostname といってもssh ログインしたら見えますね。 設定の変更 uci set system.@system[0].hostname='OpenWrt2' uci commit system /etc/init.d/system reload 設定変更後に、再度 ssh ログインすると反映され…

Poweroffコマンドが危険すぎるので、sudoersで 自分すら利用制限する

poweroff , powertop の補完が怖い。 powertop を見ようとして、 補完して 間違って poweroff コマンドを実行しちゃったよね。 マジ危険ですよ。危険。 リモートマシンの電源をいれる手段を失いました。 さらにヒストリで暴発。 そして注意してたけど、ヒス…

sed で出現文字をすべて置換する /g オプション

sedで1行の中に複数回出てくる文字を全部置換 sed で置換していると、普段は気にならないけど、複数回登場する場合に置換漏れが出てくる。 グローバルのマッチング・オプション /g がある。 s/cat/dog/g 時々忘れそうになる 設定ファイルを触っているときに…

OpenWrt x86 の リリースのバージョン更新する。

ext4のOpenWrtのバージョン更新。 OpenWrt x86 の ext4 をdist release upgrade してみた。先月にルーターとして稼働させたばかりだけど、マイナーバージョンのアップデートが来ていたので試した。 2020-01-30 に 19.07.1 がリリースされていたので、 インス…