それマグで!

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

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

linux

nginx の proxy_redirectでlocationヘッダを書き換える

nginx の proxy_redirectを知りました。 Locationを書き換えることができます。 シンタックス proxy_redirect from to 実例 proxy_redirect http://localhost:800 https://$server_name 効果 nginx のリバプロ先からLocation・Refreshが返されたとき、その転…

ディレクトリがマウントされているか調べる

いまのマウントポイントは、proc ファイルシステムから取得できる。 cat /proc/mounts これをgrep すればマウント済みか判定できる cat /proc/mounts | grep dir また、grep には -qs で結果の true/false だけを取れるので。判定に使える。 ディレクトリ(P…

curl でsocks プロキシを使ってssh先ネットワークから外部接続

curl でsocks プロキシを使って別ネットワークから外に出る。 curl でsocks プロキシを使う。 curl --socks4 127.0.0.1:1080 -v g.co socks オプションを使えば、HTTPプロキシではないにしろ、簡単にプロキシを挟める。 socks プロキシ作成(SSH SOCKSプロ棋…

Grep に'\K' という便利な書式がある。

Grep に'\K' という便利な書式がある。 look behind を使って、必要な場所を取り出すことができる。 (

firefox のプロファイルをunionfs(+tmpfs)にして揮発性にして寿命を延ばし高速化する。

firefoxのプロファイルを揮発性(ramdisk)にする USBメモリにUbuntuをインストールし、LiveUSBのように使っているのですが、Firefoxを起動すると遅い。ファイルのキャッシュを作成するときに時間掛かっている模様。これはUSBの寿命にも良くない。 そこで、f…

overlay を作るときは、work は upper と同じフォルダ(マウント)内部にある必要がある。

overlay fs が作れないで苦労した overlay でファイルシステムを保護しながら書き込みを可能にしようとして戸惑ったのでメモ sudo mount -a sudo dmesg | grep overlay エラーだった [58517.488953] overlayfs: workdir and upperdir must reside under the …

nft のコマンドの使い方の例。NFTテーブル操作ガイドを作ろう

nft 使い方まとめ nft の使い方は、本当にややこしい。覚えることが多くてる辛いので、調べたことをまとめ直す。 ルール閲覧 "コマンド" "役割" nft list ruleset 全部見る nft- a list ruleset 管理番号を含める 全体を見渡すコマンドがコレ。ruleではなくr…

apt-cacher で httpsなレポジトリ をプロキシ・キャッシュする。

apt-cacher 便利で使ってる。 以前導入したapt-cacher が便利である。 膨れ上がった複数台のRaspi4や、膨れ上がったLXCや、Dockerfileからのdocker build時に時短のために大活躍中である。 apt-cacher の問題点/HTTPS apt-cacher は HTTPSに未対応である。TL…

ubuntu の ip コマンドで、v6アドレスをdhcp取得する

ubuntu の ip コマンドで、v6アドレスを取得する v4 と同じ感じに、dhclient を使おうとすると sudo dhclient -6 -d eth1 リンクローカルアドレス( no link local addr )がないと言われる。 Internet Systems Consortium DHCP Client 4.4.1 Copyright 2004-2…

debian multimedia を有効にする

debian multimedia を有効にする mp4tagsをインストールしようとおもったら、見当たらなかったので。multimediaから拾うことにした。 マルチメディア関連だし、https://www.deb-multimedia.org を使えばいいと思ったので。 apt-keyを入れて wget https://www…

sqlite modeで様々に出力した例。

sqlite3 は出力を変えられる。 sqlite mode を使って出力例を変えてみた例。 markdown マークダウンで表を表示できる。マークダウンを書くのがめんどくさいときにはデータ突っ込んで、変換したら楽かもしれない。 mode box 罫線(ボックス)を使って表をきれ…

Apacheとphp-fpm でphpを実行する。

Apache+php-fpm mod_php を php-fpm に切り替える。 nginx でやることも多いけど、fpm 使ってfcgi へ転送するなら、apache2 でも nginx でもあまり変わりない。 同じような仕組みなので、速度も大幅に変わることもないと思う。 apacheが不利だとすれば、.hta…

rsync でディレクトリ構造だけを同期する。

ディレクトリ構造だけを動悸する。 rsync -av -f"+ */" -f"- *" . rclone だとディレクトリ構造をコピー出来ないので、 rclone mount 後に rsync でディレクトリ構造をコピーする。 参考資料 https://www.cyberciti.biz/faq/unix-linux-bsdosx-copying-direc…

df/lsblkを最適化する。

df の結果が見づらいので整理する。 df や lsblk の結果がとても冗長になり、欲しい物が見えなくなった。 lsblk で loopデバイスが表示されるのはまだわかるが、マウント先も大量に表示されるともうカオス。 df では tmpfs や loopにかぎらずシステム運用のs…

htop の色の意味(メモリの黄色は?)

htop の色の意味(メモリの黄色は?) F1を押せばでてくる。 黄色=Cache 青色=buffers 緑色=used 紫色=Shared ってことですね。 メモリでいうと、黄色のキャッシュがストレージのリードキャッシュでしょうね。tmpfs は黄色か紫色に出てくるはず。

dropbear でssh 鍵ファイルを作成する

dropbear でssh 鍵ファイルを作成する ssh localhost -p 2202 ssh: Exited: String too long openssh で作成した鍵をそのまま持ち込むと。String too long。これはカギの保管方式の問題。base64エンコードが掛かってるから言われるんだろうな。デコードして…

tcpdump でPPPoEをマッチングする。

tcpdump でPPPoEをマッチングする。 sudo tcpdump -i eth0 'ether[0x0c:2] == 0x8863 or ether[0x0c:2] == 0x8864' 逆に、PPPoEのパケットを除外したいとき sudo tcpdump -i eth0 'not ( ether[0x0c:2] == 0x8863 or ether[0x0c:2] == 0x8864 )' pppoe のパ…

luks ディスクの追加手順(まとめ)

luks ディスクまとめ LUKSについては、過去に調べながらメモをしているので、いざというときに記事がバラけているので、目的のものにたどり着くのが大変なので、LUKSで暗号化ディスクを取り扱うコマンドで、よく使うものをまとめ記事にし直した。 luks ディ…

joplin サーバーをインストールする。

joplin サーバーのインストール Created: 2023.09.21 02:36 Updated: 2023.11.23 23:52 Combined: 2023.11.23 23:52 joplin サーバーのインストールで高速化するらしい Joplinサーバーを作らなくても、NextCloudで同期できてるし、問題ないと思ってたが、次…

setsuid で実行ユーザが固定できるってのはどこまで?シェルスクリプトはsuidできる?

setsuid で実行ユーザが固定できるってのはどこまで? シェルスクリプトってsuidできなかったよね。ということを確認してみる。 suidを試してみる。 まずは、suid を素直に試してみることにする。 実行可能なバイナリを準備する。 #include <pwd.h> #include <stdint.h> #incl</stdint.h></pwd.h>…

tmpfs をマウントする。(RAMディスク)

RAMディスクを手軽に使いたい。とおもったときにtmpfs がある。 tmpfs をマウントする。 sudo mount -t tmpfs -o size=20G,mode=1777 storage/app/work/ tmpfs を名前付きでマウントする 名前をつけたら,dfなどをしたときに、tmpfs 表記じゃなくなる。 sudo …

debian 11 -> 12 のアップデートした。pt1_drv が死んだgem が死んだ。openssh-server が死んだ、mysqldumpが死んだ

debian 11 -> 12 にアプグレ そろそろアップデートしようかなと思った。 nodesource や gitlab や php など apt でインストールしているパッケージ関連も debian 12 に対応したっぽいので特に問題なくアップグレード出来るはず。 準備。 事前に最新版にする …

nft によるMSQUERADE(iptables MASQUERADEからの移行)

nft によるMSQUERADE(iptables MASQUERADEからの移行) iptablesでマスカレード(またはSNAT)は古くから行われている枯れた手法。これをnft(nftables)に書き換える場合のメモ 次のような、マスカレード(NAT)をiptablesで追記しているとする。 iptables -…

ファイル名の全角半角統一する。(uconv )

ファイル名に全角半角を混ぜないで 混ぜないでと言っても、混ぜないでと何度いっても、全角半角(日本語と英語)を混ぜる人がいる。 大抵は、プログラミングで補えるところなので入力補助でサポートされるよね。でも、ファイル名になると、バリデーションな…

linux でファイル名に連番を付加して整理する。

コマンドで、ファイルに番号をつけたい。 なんか適当にファイルをつくちゃってて、ちょっと整理が大変なとき。 ls -l total 0 -rwxrwxrwx 1 takuya takuya 0 Aug 3 16:34 aeja6 -rwxrwxrwx 1 takuya takuya 0 Aug 3 16:34 aen4b -rwxrwxrwx 1 takuya takuya …

JOINを使って出欠(出勤)の一覧を作る LEFT OUTERJOIN的なことをやって、NULLをゼロで埋めて、表を作る

JOINコマンドの例 JOINを使って出欠(出勤)の一覧を作る LEFT OUTERJOIN的なことをやって、NULLをゼロで埋めて、表を作る 過去にもやったけど、書き直して。覚え直し。 次のようなデータを作りたい。 2023-08-01 1 1 2023-08-02 0 1 2023-08-03 0 0 2023-08…

sed で複数条件の置換を並べて書く。

sed の複数条件を複数列挙する。 cat sample.txt | sed -e 's|^|s/|' -e 's|$|/|' パイプ2個使わなくて良い cat sample.txt | sed -e 's|^|s/|' | sed -e 's|$|/|' 正規表現の|でも工夫できる cat sample.txt | sed -e 's|[apple|pen]|s/|' 複数列挙するほ…

QEMUを終了する(デタッチと終了

QEMUを終了する Ctrl-A-X docker / docker compose や lxc みたいに、デタッチ したり、終了するには、キーボードからエスケープ・シーケンスを送信してから該当のキーを送信する。 参考資料 https://superuser.com/questions/1087859/how-to-quit-the-qemu-…

qemu でネットワークを使う。

起動時に、-net をつけると良い -net user 何も考えずに、何も考えないでつける。 qemu system nic "10.0.2.2" dhcp ブリッジを使いたいときは -nic bridge,br=br0,model=virtio-net-pci sudo qemu-system-aarch64 \ -m 2G \ -nographic \ -enable-kvm \ -ma…

ubuntu (aarch64 ) on raspi-ubuntu +nvram な仮想マシンを作る

apt で libvirt を入れる。 sudo apt -y install qemu-kvm libvirt-daemon-system \ libvirt-daemon virtinst bridge-utils libguestfs-tools virt-top libvirt 経由でNVRAMとUEFIを使って起動する・ NAME=u2204-02 DIR=/var/lib/libvirt/images NVRAM=$DIR/…