それマグで!

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

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

linux

luksRemoveKey で最後のカギを消去する。

最後の一個を消すとどうなるんだろう。 cryptsetup luksRemoveKey /dev/sdg luksRemoveKey でHDDを安全に消去するに等しいですね。luksの暗号化ストレージは、鍵がないとアクセスできません。鍵を消せば全てアクセス不能になり、アクセス不能とは消したに等…

このHDD・SSDはUSBで接続しているのか

このHDD・SSDはUSBで接続しているのか USB/SSD がUSB接続なのかeSATAなのか、どっちかわからなくなった。 同じ型番(モデル)のディスクで区別がつなかいのでまいったので、区別して、違いを見つける方法を探した。 sdXが USB 接続か調べる。 find /dev/disk…

luksによるboot パーティションの暗号化

boot パーティションの暗号化 luks2 で ルートパーティションの暗号化ができる。 LUKSを使っても /boot が暗号化できずに残ってしまう。これを解決したい。 ただし、これをやってしまうと、grubでluks1を使うためにリモートアンロックはできない。そして問題…

Linux で eth0 を使わせる.( ethXなNIC名に戻す)

Linux で eth0 を使わせる enp3s0 のような名前が不便だった。 SSDを載せ替えたり、ネットワークインタフェースを切り替えたりするとどうしても思ったようにならない。マイグレーション・サーバ移転で面倒が起きる。 もう、ネットワーク・インタフェースが1…

rootFSにluks + LVM を用いたときのfstrim

fstrim / discard できない luks + lvm で構成された root ファイルシステムは、fstrim ができない $ sudo fstrim -v / Operation not permitted. 対策。 discardオプションを使って dmsetup する。 設定 /etc/crypttab ubuntu_dm_crypt-0 UUID=4aa.... none…

さくっとメールを送るコマンド mailx(s-nail/bsd-mailx)

コマンドからサクッとメールを送信する。 コマンドからサクッとメールを送信して、送信テストをしたい。 コマンドには幾つか候補がある。 mailx がある。 s-nail がある。 mailutilsがある。 curl がある。 swaks がある。 これらを自由に選んで、メール送信…

exim4 でsmart relay ホスト利用中にユーザーへのローカル配送メールを外部メールアドレスへ

Exim4 でユーザ宛のメールを外部サーバへ root 宛のメールを、指定のメールアドレスへ送信する 仕組み ローカル配送をしないので、ローカル配送宛のメールを指定のメールアドレスへ送信する。 root@mail --> sendmail --> exim4 --> smartrelay --> gmail 設…

ディスク(hdd/ssd)のブロックデバイスのUUIDを知る

いつも忘れるので再度纏め直し。 UUID は他とかぶることのないユニークIDである。 指定したブロックデバイスのUUIDを知る。 blkid =ブロックデバイスのID sudo blkid /dev/sda すべてのUUIDを表示する sudo blkid lsblk で一緒に表示する lsblk -f /dev フ…

dm-crypt のリモートアンロック(SSHでLUKSアンロック)

dm-crypt したシステムルートをリモートSSHから解除 luks の鍵をtpmに入れたいけど、TPMデバイスがないPCの場合、鍵をUSBで差し込むか、SSHでリモートからアンロックをするといい 仕組み luks のルートパーティションがinitramfs に読み出されるときに、dorp…

dm-crypt でマッピングされてるブロックデバイスの名前の変更

dm-crypt で luks のデバイス名を変更 デバイス名を変更したい。 cryptsetup luksでopen されてるデバイス名のデフォルト設定を変えたい。 dm-crypt でマッピングされてるブロックデバイスの名前の変更ができればいいなと。 調べたら変更できるとわかった。 …

システムが uEFIで起動しているか見る

EFIで起動しているかチェックする EFI起動して無いと、update-initramfs や update-grub で EFIが使えない、使われないので、ブートを修正するとき、最初にEFIで鬼道しているか、ちゃんと確認する。 マウント見てみ良いんじゃない? takuya@:~$ mount | grep…

bashで入力しやすく見やすいパスワードをサクッと作る(シェルコマンドでハイフン区切りのパスワード生成)

シェルコマンドだけで、覚えやすいパスワードを作りたい iOS のパスワードジェネレーションみたいな、ハイフン区切りのパスワードをサクッと作りたい。 pwgen を入れるとはやい。 sudo apt install pwgen pwgenのパスワードをハイフン区切りにする takuya@$ …

samba のインストールと初期設定と接続テスト

今回やること、Sambaをインストールして初期設定。HOMEフォルダの共有macOSのタイムマシン作る。 samba のインストール apt install avahi-daemon samba samba-vfs-modules samba-vfs-modulesは入れてないと、VFS 関連のオプションが使えない、後で困る。最…

udhcp でDHCPの割当とルーティングを入れる。

udhcp というDHCPクライアント udhcp はDHCPのプロトコルに基づいて、クライアントリクエストをブロードキャストする。DHCPサーバーを結果を受け取る。 その結果はシェル変数に入った状態で、スクリプトに渡される。 udhcp -i eth0 -s /path/to/script.sh ス…

nginx → apache のhttp2 プロキシ設定

nginx →Apacheでhttps のプロキシ設定をしていて、動かないので、ちょっと頭を抱えた。 次のようにプロ棋士していたが ブラウザ--<ssl/http>--nginx(ssl/h2)--<http>-- apache ある日の更新で次のように変わった。 ブラウザ--<ssl/h2>--nginx(ssl/h2)--<http>--apache すると、curl などブ</http></ssl/h2></http></ssl/http>…

OpenWrt で softether のVPNをルーティングする

openWrt で softether のVPNをルーティングする openwrt に vpn 拠点間接続をやらせてみる リモート側のネットワークの設定やマスカレードなどは済んでいる状態。OpenWRTからリモートへ接続する Host-->openwrt--<SoftEtherVPN>--VPN Server--(office network)--10.193.3.4</softethervpn>…

うるさいHDDを黙らせる/ hdparm でHDD電源オフでスピン停止にする

HDD が睡眠を妨げる。 いまどきHDDなんかやめてSSDにしろと言われそうなのですが。SSD・HDDを1TBあたりの単価を考えると8倍近い。 そこそこ安価にデータをアーカイブするとしたらHDDの効率がいいわけです。 アーカイブなのでそんなに頻繁にアクセスしない…

tarに纏めながら、rclone の転送を同時にやる

tar しながら転送も同時にやる。 tar zcvf - <dir> | rclone rcat remote:path/to/file rclone "rcat" rcat を使えば、パイプで処理するみたいに投げられる。 https://rclone.org/commands/rclone_rcat/ echo "hello world" | rclone rcat remote:path/to/file ff</dir>…

MacOSの濁点・半濁点を解決する。

macOS で作られたファイルの濁点半濁点問題。 ファイル名がUTF-8といえども、mac は濁点を合成文字として扱うので、Linuxで読むと面倒が起きる。 sudo convmv -f utf-8 -t utf-8 -r --notest --nfc * ディレクトリ内部を再帰的やってくれる。 find などと組…

apt でバージョン指定でアップグレード・インストール

apt install でバージョン指定でインストール やりかた sudo apt install パッケージ名=バージョン名 例 sudo apt install gitlab-ce=13.12.12-ce.0 apt install は指定バージョンまでアップグレードできます。 apt コマンドは アップグレードもインストール…

grep の後方参照の代替案 4つ

grep では 後方参照ができないので、代替案を考えることになる。 方法1基本的な方法 -o マッチした箇所だけを取り出す -o を使って、マッチした箇所だけを取り出す。 cat out.txt | \grep -Po 'Abc.*Xyz' 方法2 先読み+あとよみ 先読み・後ろ読みにマッチ…

cronをWEB管理するソフトを作りました。

cron の代替を作りました。 github.com 経緯 cron(自動実行プログラム)の管理が煩雑でした。 増え続けるcrontab。ここ数年管理が崩壊していました。systemd.timer や google app scripts なども増えるし、ラムダ系で実行してたりいろいろな所で、タイマー(…

multipass のubuntu で dockerd を動かして外部から接続できるようにする。

multipass に docker を入れる。 multipass を windowsでインストールすると、HyperVの仮想マシンで起動します。 choco install multipass windows の hyper-V で起動したubuntu に docker を入れる。 sudo snap install docker mutipass な ubuntu の docke…

別ホストのdockerをTCP経由で操作する

docker は自PCに入れなくても動作します。 docker コマンドの接続は次のようになっています。 docker-cli ---- fd(sock) --- docker-host docker は api 経由で動作しているので、TCP経由でも接続できます。 docker-cli ---- tcp(sock) --- docker-host tcp …

bashスクリプトで標準入力か引数のどちらかを取得する

STDINか引数を処理するコマンドを作りたい。 たとえば、次のようなコマンドを作りたい。 標準入力があるときは、標準入力を使い、それ以外は引数を使う。 echo AAA | to_lower to_lower AAA to_lower の例。 ヒアストリングに展開すれば楽ちんです。 <<< ${@…

ファイル名の最大長の限界を、ストレージのフォーマットタイプごとに調べる

ファイル名の限界を調べる。 windows の人からもらった zip ファイルが 展開できなくて、ファイル名の長さの問題だったので、限界値(最大のファイル名の長さ)をぱぱぱっと調べた。 日本語だと文字数ほとんど使えないLinux Linuxはファイルの文字数が255バ…

awk がちゃんと動かない→gnu awk を入れる。

WEBのawk サンプルが動かないときの対応 一般的に使われているawk には色々あります。ネットに書かれている「テクニック」は gnu awk が多いです。 あれれ動かんぞ、とおもったら gawk を入れましょう。 sudo apt install gawk awk のサンプルが動かない例 …

7-zipコマンドの一覧オプション ba を使って再利用しやすくる

7z にはドキュメント化されてないオプションがあるんだ・・ 罠でしょ。 7z でアーカイブファイルをパイプで渡しやすい形式にする。 takuya$ 7z l -ba sample.zip 2021-08-23 15:59:54 ..... 2 2 a.txt 7z でアーカイブファイルの中身を見る 通常であれば、 7…

sudo時の$HOME/$USER の環境変数の継承について

はじめに -E で環境変数を引き継げるのだけれど、WSLでsudo したときに、Windowsアプリにroot を使ってほしくなく、単にファイルを書き換えたいだけという欲求が出てきたので調べた。結論としてはむやみにやるんじゃない。ってことですけどね。 Home環境変数…

改行を維持して 変数をechoする。

改行を維持して echoする。 改行を保持したまま、変数を出力したい ダブルクォーテーションすることで改行が出る 変数定義 STR=" aaa " 出力例 echo $STR ## 改行が出ない echo "$STR" # 改行がでる 変数をダブルクォーテーションでクォートすると、変数内に…