それマグで!

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

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

linux

curlが404でif文を判定する。exit code を httpステータスに従わせる。

curlは 接続に成功したら exit code == 0 である。 接続に成功したら、404・500でも 結果は 0 になる。 curl -s http://example.tld ; echo $? httpステータスコードを検証する 接続に成功し、HTTP取得に成功したときだけ何かをしたい。 curl --fail -…

ファイルを空にするlinuxコマンド

ファイルを空っぽにしたい。 dhcp leases とか log とかファイルを空っぽにしたい事があると思います。 rm && touch 単純に考えると、rm して touch ですが。パーミッションが初期化されるので面倒です。 rm fileA && touch fileA 空文字を書き出す。(リダ…

sslhでSNI認識してサーバを振り分ける。(apln 有無)

sslh にはSNI機能があった nginx で捌いても良いんですが、sslhはnginxより設定がシンプルだ。 443ポートを直接リッスンするならsslhでリッスンして各種ポートに透過プロキシしたほうが再利用性が高くて良い。 443 ポートで、SNIで接続先を選定 特定のホスト…

ポリシールーティング GWが複数時に、条件マッチで経路を変える。

特定の条件だけ経路を変えたい。 たとえば、通常のルーティングはすでにあるとして、特定PC(業務用)だけ経路を変えたい。 ルーティングはテーブルで 通常のルーティングは、ルーティングテーブルで行われる。ルーティングを書けばいい 特定のパケットだけG…

openssl でオレオレ証明書(自己署名証明書)を作りCAを作り、他の証明書リクエストに署名する。

ネットを探してても時間が浪費するので、よく使いそうな機能をまとめておく オレオレ証明書を作る。 この記事に書いたこと オレオレ証明書を作る オレオレ証明書でAliceの証明書を発行する オレオレ証明書で認証基盤(認証局機能)を作る オレオレ認証局でAl…

手動でインストールしたと設定されました。を戻す。

debian/ubuntu で、インストールを手動マークされる apt install をすると最初から入っていた。とかよくある 手動マークされた 次のように、「手動でインストールされた」(set to manually installed.)とメッセージが出てくる。 bsd-mailx は手動でインス…

ping のタイムアウトを明示する。(応答なしを明示)

送ったパケに対して、応答があったのかなかったのか。 ping -O 192.168.1.1 -o は次のようになっている。 -O report outstanding replies これは、BSD/macOSのping のタイムアウト表示に近くなるので好きな人はこっちのほうが好きだと思う。 1つずつ表示し…

IPアドレスを数字順にソートする(整数に変換)

ip アドレスを数字順にソートしたい。 IPアドレスソートするにはいろいろな答えが思い浮かぶ。 今回は、整数に変換してソートしてみたいと思う。 ip アドレスを10進数に変換する 256進数だから、桁数分だけ256を掛けてあげれば良い。 IPアドレスを10進…

IPアドレスをソートする (sort コマンド編)

IPアドレスをソートする sort コマンドでip addr をソートすると、文字列順になってしまう。 なのでIP アドレスを文字列でソートすると、めんどくさい 解決策 sort コマンドのオプションつける(この記事) ip addr を int にする。別記事 sort -V を使う。 …

ext4 の予約ブロックのサイズを調整して空き容量を確保する。

WEBでアレコレ調べてるときに目にしたので試してみた。 容量の5%を予約ブロックとして占有している ext4 では容量の5%を、先立って確保している 予約領域は root だけが書き込める領域で、仮にディスクの空きがなくなっても root は予約領域を使って作業…

ext4 / btrfs / xfs のパフォーマンス比較だけでいいの?機能も比較しようよ。

速いか遅いかより、扱いやすいか。 なんかね、ファイル・システムのパフォーマンス比較でイキってるエントリがまた増えてたので書こうと思ったの。 以前ね、パフォーマンスを見てXFSが良さそうと思って勇んで活用したが、XFSは拡大縮小が出来なかった。 xfs …

crypttab に書いた内容を反映してチェックする。

cryttab 書いたけど・・・ この書式であってんのかな。と、自身が無い /etc/crypttab の内容をチェックしたり、テストしたり、また再起動せずに反映したいときにどうするのか。 cryptdisks_start crypt-ssd を使う crypttab の内容を使ってリマッピングする …

raspi でホスト名(マシン名)が変更できない

hostname を変更しても無駄なときがある。 よくある記事の「hostnamectl を使えば良い。」という記事を信じてやってみたが。 sudo hostnamectl set-hostname my-server --static sudo reboot 変わらない。 hostnamectl Static hostname: raspberrypi Icon na…

複製したらmachine-idを変えておく。MACアドレスが重複する。(macvlan)

Raspberry Pi のSDカードを複製して、2台起動したらMACアドレスが衝突した。eth0は衝突しないんだけど、macvlan が衝突した machine-id の変更 rm -f /etc/machine-id dbus-uuidgen --ensure=/etc/machine-id reboot machine-id を変更したら衝突がなくなっ…

You must choose a longer password にとりあえず対処する

パスワードが短くて怒られる。 とりあえずサクッと作業するために一時的にパスワードを変えようとしたら怒られた。 takuya@pi4-ubuntu:~$ passwd Changing password for takuya. Current password: New password: Retype new password: You must choose a lo…

ubuntuの仮想マシンを作って、ecryptfs を実験した。

仮想マシンを作って、encfs・ecryptfs を実験する ecryptfs https://abillyz.com/moco/studies/276 ecryptfs制限 ファイルの名前の長さに制限(割と辛い) スパース・ファイルが作れない(割と辛い) 代替案との比較 dm-crypt ブロック全体を暗号化する。TPM…

linuxでディスクのラベルの確認と変更方法まとめ。

linux のディスクのラベルの確認方法 /dev のマッピングから見える ls -l /dev/disk/by-label/ または、lsblk で lsblk -f ほかにも、df -T や blkid を使って見ることが出来る。 ディスクのラベルの設定 ext4 tune2fs -L YOURNAME /dev/sdb2 他にも、e2labe…

稼働中Linux(raspberry pi)のバックアップを取る。`rsync --one-file-system `

raspberry pi のUbuntu のバックアップを取ろうと思いました。 バックアップとるといえば、dd dump/restore が定番ですが、今回は、ブートの書き換えと、initramfs の再構築のために、Raspberry上でRaspberryPiのバックアップを取る必要がありました。いちい…

LUKSのキーの存在チェック(パスフレーズのテスト)

LUKSのキーがただし正しいかチェックしたい。 LUKSのキー、これだったかかな?と候補があるときに使えます。 また。複数の鍵を登録後に登録チェック、鍵の削除後のチェックなどが必要だと思います。 そのときに、鍵の存在チェックだけをコマンドでおこない自…

ddしたSSD/HDDの容量が認識されない(容量の違うディスクにDDしたとき)

dd / gddrescue を掛けたときに、容量が認識されない サイズの大きなディスクを交換しようと、ssd をまるごとddしました。 ddrescue /dev/sdc /dev/sda 元のディスクは、GPT/EFIでLUKSであり、容量も64GBなので、dump/restore は使っていません。新しいディ…

dhcpのリクエスト・レスポンスの応答を調べる dhcpdump

dhcp のパケットを見たい。 sudo tcpdump -i macvlan0 port 67 or port 68 -e -n ただ、これだと凄く使いにくい。もっとわかりやすく見たい。 dhcpdump が便利。 tcpdump を使わずに dhcpdumpを使うともっと簡単にdhcpのパケットを追いかけることが出来る。…

sedで指定行表示 / head コマンド相当

指定行を表示 / head 相当をする 以前、sed で行挿入をシンプルに行う。 とういう記事を書いたとき、範囲指定について言及した。 今回は、sedの範囲指定を使って 先頭からN行を取得してみる。 範囲指定の練習 行番号を指定して、その行を表示する。 指定行を…

tar を使ってSSH越しに転送する。(パイプ利用

tar を使ってフォルダをそのまま転送したい。 tar を使って表示出入力を使ってファイルを転送したい。 tar cfh - /etc/letsencrypt/live/ | ssh root@srv4 'tar xvf - -C /mnt/hdd ' 転送の前後でディレクトリを移動する tar cfh - -C /etc/letsencrypt/ liv…

tar コマンドでリンクの実体(リンク先の本体)を格納する

tar コマンドを使うときに、シンボリックリンクの実体を格納する。そのままではリンクが格納されてしまう。 どうしても「リンク先」の「実体」がほしいときに使う リンクの代わりにリンク先を格納する tar cvf --dereference out.tar /etc/letsencrypt/live …

tar ファイルをマウントする。展開せずにマウントする

tar ファイルを展開するのがめんどくさい。 TARのアーカイブを展開するのがめんどくさい。めんどくさくないですか? OSのバックアップを取って転送して、転送先でチェックして、展開して。ってやるとめんどくさくないですか? マウントできたらいいのに。 ta…

tar cvzf xxx.tgz が遅いのでpigz で高速化する

tar cvzf xxx.tgz が遅い。 SSDに変えたら、gzip がボトルネックになる。 ボトルネックがgzipであれば、gzip を変えればいい。pigzというちょうどいいコマンドがある。 tar コマンドとパイプを見直して、gzip の箇所をpigzに置き換えていきたい。 よく使われ…

Lvm Snapshotで稼働中OSや起動中VMのバックアップを取る。

Lvm Snapshot スナップショットについて。 スナップショットを使うと、稼働中のVMのディスクイメージファイルをバックアップ取り出すことが出来ます。virsh snapshot だと qcow2 ディスクイメージファイルに書き込みが出来ず、virshだと仮想マシンのバックア…

lvm snapShotだけを一覧する

lvm snapショットだけを一覧する 検索条件でスナップショットに限定する。 sudo lvs -S "lv_attr=~[^s.*]" さらにスナップショットの名前だけに限定する sudo lvs -S "lv_attr=~[^s.*]" -o lv_name これで、LVMスナップショットの名前だけを取り出すことがで…

Linux のマルチブートを作りたい レベル4 EFIブートを書き換える。

マルチブート構成 前回までで、2つのOSを同居させて片方だけはEFIブートローダーから起動している。デュアルブートのもう一方は、EFIから起動したDebianのGrubから起動される。という構成が出来ている。 ここでは、続きをおこなって、マルチブートで両方と…

Linux のマルチブートを作りたい レベル3 EFIブートのGRUBでマルチブートする

レベル3 EFIブートのGRUBでマルチブートする EFIブートパーティションで同じようにすることが出来るのか。検証である。 今回作った構成は、EFIブートをしたあとに、grub が起動する。 UEFI環境の準備 libvirt/qemu/kvm でUEFIを使うために必要なパッケージ…