btrfs send receive のエラー
btrfs send receiveでエラー発生して、外付けのHDDにbackupのsnapshotをコピー出来無くて悩んでいます。 原因を調査中です。もしかしたらバックアップ対象のfsにエラーがあるのかもしれません。
snapshotはsubvolume単位で取得します。 コマンドは
btrfs subvolume -r snapshot [src] [dest]
で取得できます。 なんとなく予想できると思いますが、-rはREAD_ONLYという意味です。 どういう訳かはわかりませんが、READ_ONLYじゃないとbtrfs sendでエラーが発生して実行できません。 今は/のみ取得していますが、リストアには/bootも必要なので、 最終的には両方取得するスクリプトを書くことになると思います。 どうやってリストアするのかはこれから調べます。
dmesgでエラーが確認できます。
BTRFS warning (device sda3): csum failed root 747 ino 91831861 off 9555968 csum 0xedd5c6f1 expected csum 0x5126b9cd mirror 1
いくら btrfs scrub しても uncorrectable errorは消えませんでした。
何度かググってみて、
find / -inum
で壊れたファイルが検索できる事がわかりました。
inode番号が番号に一致したファイルを検索するという意味らしいです。
# find / -inum 91831861
./var/log/messages-20200428
壊れたファイルが見つかったので削除し、 うーん、削除していいんでしょうか? もう一度scrubをかけてみます。
# btrfs scrub start /
やった、これでエラーが出なければsend receiveうまくいくと思ったら、バーってエラーが出ました。
scrubのログは/var/lib/btrfs/にある。 しかし、読みづらいし、エラーが出たファイルのinode番号を記録してくれない様なので、あまり使い道がないかもしれません。
dmesgを見ると、エラーが出たファイルのinode番号が分かります。
[ 5801.359663] BTRFS warning (device sda3): csum failed root 5 ino 91831989 off 1015808 csum 0xbdcc0186 expected csum 0x52118d64 mirror 1
inode番号からエラーになっているファイルを特定します。
# find / -inum 91831989
/var/log/debug.log-20200503
特定したファイルを削除します。
つまり、エラーがなくなるまで以下のループを繰り返します。
1.btrfs scrub start /
2.btrfs scrub status / で たまにチェックし、エラー発生したら3へ。
3.btrfs scrub cancel /
4.inode番号からファイルを特定し、削除します。
# btrfs scrub status /
UUID: ce760fa2-8e25-4e7e-89d8-18329003541e
Scrub resumed: Thu Jul 23 16:48:50 2020
Status: finished
Duration: 0:39:03
Total to scrub: 309.57GiB
Rate: 135.72MiB/s
Error summary: no errors found
この後、btrfs send receiveは無事成功しました。
コマンドの終了ステータスを取得しようとしたんですが、$?を#?と間違えてしまったため、空白が出力されてしまいましたが、 コマンドが何の異常もなく終了しているので、問題なしとしました。
神様からの贈り物
昨日、ツイッターを眺めてたら、プロゲーマーの藤村さんが配信しているってツイートしていたので見に行った。使用キャラは春麗かいぶきで募集していて、藤村さんは春麗を使っていた。もう最近はストVやってないんだけど、藤村さんのいぶきのかっこよさに憧れて、いぶきを使うようになったので、思い切って、いぶき使ってくれませんか?と発言してみた。そしたら、思いが届いたのか、キャラをいぶきに変えてくれた。俺はしばらくストVをやってなかったので、衣装が増えたのか、いぶきはジャージを着ていた。藤村さんのいぶきのプレイを見ながら、嬉しくて状況判断とか反応速度が早いとか発言してしまった。藤村さんはPCのSteam版のストVをプレイしていて、使っているPCの宣伝をやたらとしていた。もしかしたら、そのPCを宣伝するために配信していたのかもしれない。何はともあれ、偶然でもなんでも、俺の声が届いてちょっと会話みたいになったのが嬉しかった。もうこんな経験二度とできないだろうなあ。
コンボ練習
#PS4sharehttps://t.co/Ywfezge43V pic.twitter.com/8m5iXKBwON
— america@SFV&MHW (@ED70826477) August 22, 2019
屈中K>天狐(最速)>大蛇>CA のコンボです。
メインキャラはいぶきなのですが、 なかなか勝てなくてちょっと他のキャラもやってみようかと思い、 かりんにちょっと手を出しています。
かりん上手な人は天狐大蛇なんて簡単なのかもしれませんが、 僕の成功率はだいたい10回に1回ぐらいです。 CAはとどめをさせる時に出す感じですね。
さらに中足>天狐も僕には難しいです。 小K小Pというをずらし押しで出しています。 2中K36小K小Pという感じです。 アケコンを使っているので、小Kを人差し指、小Pを中指でずらし押しします。
大蛇は中K中Pをずらし押しします。 236中K2中Pという感じです。
どなたかうまく出せるコツを知っている方がいたら教えてください。 よろしくお願いします。
emergeのconflictについて
!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:
dev-python/pluggy:0
(dev-python/pluggy-0.5.2:0/0::gentoo, ebuild scheduled for merge) pulled in by
<dev-python/pluggy-0.7s[python_targets_pypy(-)?,python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,python_targets_python3_6(-)?,-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-)] required by (dev-python/sqlalchemy-1.2.7:0/0::gentoo, ebuild scheduled for merge)
^ ^^^^
(dev-python/pluggy-0.7.1:0/0::gentoo, ebuild scheduled for merge) pulled in by
>=dev-python/pluggy-0.7[python_targets_pypy(-)?,python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] required by (dev-python/pytest-3.10.1:0/0::gentoo, ebuild scheduled for merge)
^^ ^^^
https://wiki.gentoo.org/wiki/Troubleshooting/ja
公式のHandbookを読んで、コンフリクトが起きた場合は、
コンフリクトを起こしているパッケージを
でemergeしようとしたところ、
仕方がないので、bashに切り替えて再度実行したら、エラーも出ずに正常終了した。なぜだろうか?