それマグで!

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

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

linux

ssh の秘密鍵は何ビットやFingerprintのプロパティ情報を見る

SSHの秘密鍵が何ビットだったか忘れた 随分前に作った秘密鍵なので、これが1024 / 2048 なのかすっかり忘れていました。 ssh-keygen で秘密鍵の情報を確認 秘密鍵の情報をみるには、ssh-keygenコマンドでやります。 ssh-keygen -l -f ~/.ssh/id_rsa このコマ…

シェル ( /bin/sh ) での正規表現マッチ。

以前、bash の正規表現について書いた。 今回は、今更だけど、あえて、bash/zsh で使われている [[ を使わずに、正規表現を使おうとしてみた。 expr よりは bash の機能を使ったほうがいい。 以前書いた記事にある。bash/zsh の正規表現を使う方法が個人的に…

qcow2へ raw(qcowのnon-sparse) イメージを変換して sparse にする

non-sparse から sparse なファイルにコピーする qemu で使える raw image なnon sparseな hdd イメージを qcow2 形式の sparse なファイルにする。 生イメージだとどうしてもディスク容量が節約できないので動的にディスク容量を確保するほうが良いよね。 v…

lxc 間の通信で ホスト名を使って直IPを避ける

LXC コンテナ間の通信でホスト名を使いたい。 LXC のコンテナ間の通信で、IPアドレスをいちいち調べるのがめんどくさい。 docker-compose に記載したホスト間なら、ホスト名でアクセスできるので、おなじことをLXCでやりたいなと思ったら。 調べたら→出来る …

qemu - qcow2 のイメージに 変換する。

VirtualBoxのイメージを変換する。 まぁそのままでも動くんだけど、管理を統一したいので qcow2 にする。 パフォーマンス云々はあるだろうけど。そこま気にしないことにする。 qemu コマンド qemu-img convert 実際の例 マイクロソフトが配布する MSEged 用…

shutdown コマンドについて調べました。

なんとなく使っているshutdown Ubuntu デスクトップを使っていと、なんとなく、reboot だとか shutdown コマンドを打ち込んでるんですよね。 今すぐシャットダウン shutdown -h now 強制シャットダウンをわりと気軽に打ち込んでるんだけど、shutdown コマン…

apt で v6 を使わせない。IP v4 に限定して、aptを使う設定。

NTT の壊れた閉域IPv6網 NTTの壊れたv6を使っていると、IPoEを設定しない限り、外向きの通信ができない。 v6の設定をあれこれ触っていたりすると、v6 で apt 出来たり出来なかったりするので、とたんに不便になる。 まじ困る。 apt がv6 フォールバック待ち…

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

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

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

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

ディレクトリの中のファイルを「時刻」でソートする 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 オーナー…

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 …