X



トップページLinux
1002コメント312KB
テスト [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001login:Penguin
垢版 |
2016/01/01(金) 05:48:43.42ID:TKKNngkj
テスト
0651login:Penguin
垢版 |
2021/11/22(月) 12:25:56.07ID:tMXPzEWO
本文が長すぎるからエラーになってる??

>>650
おっしゃる通りでさっき試したら
/sdb2/@/@ , /sdb2/@/@home みたいになってしまった
0652login:Penguin
垢版 |
2021/11/22(月) 12:52:26.19ID:SP6Ccj4w
今回のケースでの btrfs send サブボリューム | btrfs receive ターゲットパーティション のヒント
※ライブ環境ではなく通常環境での作業を想定

・timeshift Btrfsモード環境では @ を / として、@home を /home としてマウントしている
 実は @ をマウントしていてもその上のパーティションルートをマウント可能
 よって $ sudo mount ソースパーティション 任意のディレクトリ と実施可
・btrfs send に使用するサブボリュームは読み込み専用でなくてはならない
 よって @ と @home の「読み込み専用スナップショット」を
 $ sudo btrfs subvolume snapshot -r サブボリューム 任意名 で事前準備する必要がある
・send | receive で転送したスナップショットはそのままではシステム稼働に使えないので
 btrfs subvolume snapshot (-rオプション無し) 転送先スナップショット @(および@home) の実施が必要
・上記を実施後は容量圧迫を防ぐためソース&ターゲットパーティションの読み込み専用スナップショットは
 $ sudo btrfs subvolume delete 読み込み専用スナップショット(複数指定可) の実施を推奨
0653login:Penguin
垢版 |
2021/11/22(月) 13:02:02.30ID:SP6Ccj4w
>>652
これらの情報をもとに実際にはくだ質245さんが教えてあげて下さい
私が直接教えると自演を疑われるので
0654login:Penguin
垢版 |
2021/11/22(月) 13:06:23.46ID:SP6Ccj4w
>>652
なお何故ここまでスラスラ書けるかと言うと、つい最近まで私も同様の環境を使用し
send | receive をたまにバックアップ目的でやっていたからです
最近出来心でシステムパテをZFSにしてしまいましたが
0655login:Penguin
垢版 |
2021/11/22(月) 21:50:31.12ID:E61Ha8wj
こんばんは。遅くなりました。

>>652
の書き込みを拝読したが、頭がこんがらがる、こんがらがる。

まず何をしたらいいのか? 手取り足取りおねがいします!
0656login:Penguin
垢版 |
2021/11/22(月) 22:00:23.80ID:SP6Ccj4w
>>655
652はくだ質245さん用
この程度は把握しておかないと教えるのは不可能なので参考にしてもらう為に書いたもの
0657login:Penguin
垢版 |
2021/11/22(月) 22:36:35.13ID:tMXPzEWO
書けるかな
受け側の @,@home は前もって作成する必要は
なかったようなので、ごめんだけど質問者さんは
# sudo btrfs subvolume delete /mnt/sdb2/@
# sudo btrfs subvolume delete /mnt/sdb2/@home
みたいにして受け側のサブボリュームを一旦削除してもらえます…?
0658login:Penguin
垢版 |
2021/11/22(月) 22:57:39.63ID:SP6Ccj4w
>>652
【おまけ】
btrfsコマンド、補助コマンドは以下の様に短縮可能

subvolume -> sub
create -> cre
delete -> del
snapshot -> snap
send -> se
receive -> rec

入力がダルかったりやり取りの可読性を高めたい時に使って下さい
0659login:Penguin
垢版 |
2021/11/22(月) 23:17:41.82ID:E61Ha8wj
>>657
$ sudo btrfs subvolume delete /mnt/sdb2/@
Delete subvolume (no-commit): '/mnt/sdb2/@'

$ sudo btrfs subvolume delete /mnt/sdb2/@home
Delete subvolume (no-commit): '/mnt/sdb2/@home'

$
0660login:Penguin
垢版 |
2021/11/22(月) 23:20:10.57ID:E61Ha8wj
$ sudo btrfs sub del /mnt/sdb2/@home

練習した。どんな場合も短縮形を好む。すいません、他のようやっていて反応が遅く。
0661login:Penguin
垢版 |
2021/11/22(月) 23:22:09.08ID:tMXPzEWO
書けたり書けなかったり
さすがにテスト用ドライブでbtrfsを作成しながら書いてます
そして652さんの情報でいけました。短縮もできるんですね
ファイルシステムの移行はあとはざっとこんな感じでできると思う
(sendとreceive)
$ sudo btrfs se /mnt/sda2/snap-@ | sudo btrfs rec /mnt/sdb2
$ sudo btrfs se /mnt/sda2/snap-@home | sudo btrfs rec /mnt/sdb2
(スナップショットをサブボリュームとして復元)
$ cd /mnt/sda2/ && sudo btrfs sub snap snap-@ @
0662login:Penguin
垢版 |
2021/11/22(月) 23:23:01.55ID:E61Ha8wj
sudo mount /dev/sda2 /mnt/sda2

マウントしてないので、これをしとく?
0663login:Penguin
垢版 |
2021/11/22(月) 23:26:33.02ID:tMXPzEWO
ごめんなさい、また間違いました、
最後の行の cd /mnt/sda2/ は cd /mnt/sdb2/ ですので
そのまま実行しないように!
0664login:Penguin
垢版 |
2021/11/22(月) 23:28:44.03ID:E61Ha8wj
>>663
ありがとうございます

(sendとreceive)
$ sudo btrfs se /mnt/sda2/snap-@ | sudo btrfs rec /mnt/sdb2
$ sudo btrfs se /mnt/sda2/snap-@home | sudo btrfs rec /mnt/sdb2

これらコマンドの情報の参考源のページを示して下さい
0665login:Penguin
垢版 |
2021/11/22(月) 23:29:37.97ID:tMXPzEWO
>>662
そう、受け側のsdb2もマウントしてください
$ sudo mount /dev/sdb2 /mnt/sdb2
0666login:Penguin
垢版 |
2021/11/22(月) 23:29:56.90ID:E61Ha8wj
ああ、わかりました。未見のコマンドだったので疑いました。
0667login:Penguin
垢版 |
2021/11/22(月) 23:32:28.89ID:E61Ha8wj
開始してます。状態表示されないのですね?

$ sudo btrfs se /mnt/sda2/snap-@ | sudo btrfs rec /mnt/sdb2
At subvol /mnt/sda2/snap-@
At subvol snap-@
0668login:Penguin
垢版 |
2021/11/22(月) 23:35:25.47ID:tMXPzEWO
>>658で示してもらった短縮形ですね

進捗はこっちのテストではファイル10個とかで
一瞬で終わったので表示されるか分からない…!
0669login:Penguin
垢版 |
2021/11/22(月) 23:36:44.28ID:SP6Ccj4w
>>667
se も rec も -v オプションで冗長出力出来るけど
貴方は文字列が大量に流れる様な出力だと気分悪くなる人でしょう?
0670login:Penguin
垢版 |
2021/11/22(月) 23:44:07.94ID:E61Ha8wj
>>669
そうなんですけど、特殊な事情があってさ

自作マシンで15年もののケースで、HDDアクセスランプとかもない。そんで
0671login:Penguin
垢版 |
2021/11/22(月) 23:44:44.08ID:E61Ha8wj
>>668
$ sudo btrfs se /mnt/sda2/snap-@ | sudo btrfs rec /mnt/sdb2
At subvol /mnt/sda2/snap-@
At subvol snap-@

$
終わりました
0672login:Penguin
垢版 |
2021/11/22(月) 23:45:32.56ID:E61Ha8wj
一瞬で終わる...? かってに予測時間55分と判断してマシンから離れてましたWW
0673login:Penguin
垢版 |
2021/11/22(月) 23:45:35.48ID:tMXPzEWO
@homeの復元をわすれてた
$ cd /mnt/sdb2/ && sudo btrfs sub snap snap-@home @home

これで受け側の@と@homeをマウントしてみて
正常に複製できてるようだったら snap-@とsnap-@homeは
消してしまっていいと思う
(送り側のsnapshotはもうしばらく置いといてもいいかも)
0674login:Penguin
垢版 |
2021/11/22(月) 23:48:50.84ID:tMXPzEWO
いや、実環境インストール済みなら絶対に結構かかるはず
こっちはテスト用SVとスナップショットを
ファイル10個だけで作ったのでってことですね
0675login:Penguin
垢版 |
2021/11/22(月) 23:50:26.04ID:SP6Ccj4w
>>670
次の機会には冗長表示オプションを使うと良いでしょう
0676login:Penguin
垢版 |
2021/11/22(月) 23:56:38.11ID:E61Ha8wj
ごめんなさい、かなり注意力低下、というより、記号に弱く、ねんのため確認ですが、
以下の順番でコマンドブチ込み?

(sendとreceive)
1.
$ sudo btrfs se /mnt/sda2/snap-@ | sudo btrfs rec /mnt/sdb2

いま1をおわって、つぎに

2.
$ sudo btrfs se /mnt/sda2/snap-@home | sudo btrfs rec /mnt/sdb2

3.
(スナップショットをサブボリュームとして復元)
$ cd /mnt/sdb2/ && sudo btrfs sub snap snap-@ @

4.
@homeの復元をわすれてた
$ cd /mnt/sdb2/ && sudo btrfs sub snap snap-@home @home
0677login:Penguin
垢版 |
2021/11/22(月) 23:57:39.64ID:SP6Ccj4w
>>652
fstabの書き方、画像はラズパイのものですが
Btrfs部分の書き方は概ねこんな感じになります
https://i.imgur.com/NaCFTP7.png

画像は一定時間が過ぎたら消しますが
キャッシュが残ると思うので問題無いでしょう
0678login:Penguin
垢版 |
2021/11/22(月) 23:58:02.81ID:E61Ha8wj
>>674
> いや、実環境インストール済みなら絶対に結構かかるはず
> こっちはテスト用SVとスナップショットを
> ファイル10個だけで作ったのでってことですね

了解です。予測時間がわかればなあ...
0679login:Penguin
垢版 |
2021/11/22(月) 23:59:07.06ID:E61Ha8wj
$ sudo btrfs se /mnt/sda2/snap-@home | sudo btrfs rec /mnt/sdb2
At subvol /mnt/sda2/snap-@home
At subvol snap-@home

 ..... やっとります
0680login:Penguin
垢版 |
2021/11/23(火) 00:10:22.21ID:GQJ2ZFSp
652さんの画像みたいに、次はfstabの修正かな
あと全体で残ってる作業はその作業と、
chrootしてgrubの再インストールぐらいかな…?
sda1 -> sdb1 の複製ももしかしたら終わってるかもだけど、
debian以外のOSがなさそうだからsdb1は空のままでも良さそう
@homeが終わったら
$ cat /etc/fstab
の内容を貼ってもらってもいいです?
0681login:Penguin
垢版 |
2021/11/23(火) 00:14:10.28ID:ZYoj+OUw
$ sudo btrfs se /mnt/sda2/snap-@home | sudo btrfs rec /mnt/sdb2
At subvol /mnt/sda2/snap-@home
At subvol snap-@home

$
おわり
0682login:Penguin
垢版 |
2021/11/23(火) 00:16:14.08ID:GQJ2ZFSp
>>677
見ました、サブボリュームのマウントって簡単だなあと
noatimeってbtrfsみたいな先進的なファイルシステムでも
効果あるもんでしょうかちょっと気になります…!
0683login:Penguin
垢版 |
2021/11/23(火) 00:18:00.32ID:ZYoj+OUw
$ cd /mnt/sdb2/ && sudo btrfs sub snap snap-@ @
Create a snapshot of 'snap-@' in './@'

$ cd /mnt/sdb2/ && sudo btrfs sub snap snap-@home @home
Create a snapshot of 'snap-@home' in './@home'

$
一瞬でおわた。なぜ、一瞬で終わるのですか?
0684login:Penguin
垢版 |
2021/11/23(火) 00:21:52.50ID:ZYoj+OUw
>>680
$ cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda2 during installation
UUID=cf82c300-5af6-45d6-a682-1e93b9105cae / btrfs defaults,noatime,subvol=@ 0 0
# /home was on /dev/sda2 during installation
UUID=cf82c300-5af6-45d6-a682-1e93b9105cae /home btrfs defaults,noatime,subvol=@home 0 0
# /boot/efi was on /dev/sda1 during installation
UUID=7AF2-9C57 /boot/efi vfat umask=0077 0 1
# swap was on /dev/sda3 during installation
UUID=1297b83d-2c7b-42c4-bc86-9e7d44b87603 none swap sw 0 0

$
0685login:Penguin
垢版 |
2021/11/23(火) 00:24:05.55ID:ZYoj+OUw
$ cat /etc/fstab
# /etc/fstab: 静的なファイルシステム情報です。
#
# デバイスの一意の識別子を表示するには、'blkid'を使います。
UUID=と一緒に使うことで、ディスクを追加・削除しても機能する # より強固なデバイス名をつけることができます。
UUID=と一緒に使うことで、ディスクの追加や削除があっても # 機能するようになります。fstab(5)を参照。
#
# <ファイルシステム> <マウントポイント> <タイプ> <オプション> <ダンプ> <パス>
# インストール時に / が /dev/sda2 にあった場合
UUID=cf82c300-5af6-45d6-a682-1e93b9105cae / btrfs defaults,noatime,subvol=@ 0 0
インストール時には # /home は /dev/sda2 にありました。
UUID=cf82c300-5af6-45d6-a682-1e93b9105cae /home btrfs defaults,noatime,subvol=@home 0 0
インストール時に /dev/sda1 にあった # /boot/efi
UUID=7AF2-9C57 /boot/efi vfat umask=0077 0 1
# スワップはインストール時に /dev/sda3 にありました。
UUID=1297b83d-2c7b-42c4-bc86-9e7d44b87603 none swap sw 0 0

$
0686login:Penguin
垢版 |
2021/11/23(火) 00:24:36.20ID:GQJ2ZFSp
>一瞬で終わる
多分だけど、スナップショットっていうのは
ファイル・ディレクトリへのハードリンクみたいな実装で
データへの参照だけをコピーというか
もうひとつ作ってる感じじゃないですかね…
実データそのものを複製してるわけではないはず
0687login:Penguin
垢版 |
2021/11/23(火) 00:29:53.05ID:ZYoj+OUw
>>680
> 652さんの画像みたいに、次はfstabの修正かな

なぜ、fstabの修正 をしないとダメなのですか?ウインドウズのアクロニスでは、何も必要がないです。商用アプリケーションでは、その工程を自動化しているということ?

> あと全体で残ってる作業はその作業と、
> chrootしてgrubの再インストールぐらいかな…?

数年前に一回だけ使ったことがある台湾製のリナックス用クローンツールのなんたらでも、
そんな作業を必要としていない記憶。

> sda1 -> sdb1 の複製ももしかしたら終わってるかもだけど、
> debian以外のOSがなさそうだからsdb1は空のままでも良さそう

debian以外のOS ないです。
0688login:Penguin
垢版 |
2021/11/23(火) 00:32:05.50ID:ZYoj+OUw
>>686
謝謝! 

>スナップショットっていうのは
ファイル・ディレクトリへのハードリンクみたいな実装で
データへの参照だけをコピーというか
もうひとつ作ってる感じじゃないですかね…
実データそのものを複製してるわけではないはず

その点がすごいですね。btrfs は。使っていて。
0689login:Penguin
垢版 |
2021/11/23(火) 00:33:38.81ID:KysHAlRz
>>682
noatimeは何となく入れてる感じですね
ラズパイではSDカード&USBメモリx2でストライピングとかアホな事やってるので
少しでも労りたいのです

サブボリュームのマウントの理解に及ばれた様なのでchrootの準備も問題無さそうですね
既知の方法でもarch-chrootを使う方法でも教えやすいやり方で構わないと思います

あとchroot先での /etc/initramfs-tools/conf.d/resume の修正もお忘れ無く
そして彼のマシンはよくUEFIエントリが消えるそうなので
grub-install の後はこれを実施してもらった方が良いでしょう
https://mao.5ch.net/test/read.cgi/linux/1624007356/569
0690login:Penguin
垢版 |
2021/11/23(火) 00:39:15.49ID:GQJ2ZFSp
まず、
$ lsblk -f
でUUIDが表示できるので、/dev/sdbNの各UUIDを確認してください

ルート権限のテキストエディタで /mnt/sdb2/@/etc/fstab を例えば
$ sudo nano /mnt/sdb2/@/etc/fstab
とかで開いて、
貼ってもらった表示と同じようになってるはずの
/dev/sdaN のUUID部分を
lsblk -f で表示されたUUIDを修正します
このときにもし読み取り専用って表示が出てたら
マウント状態がなにかおかしそう
0691login:Penguin
垢版 |
2021/11/23(火) 00:42:58.52ID:ZYoj+OUw
Linuxでは  /etc/fstab ファイル内のディスクを識別するために使用されます。

このようにして、マザーボード内のディスクの順序を変更でき、マウントポイントに影響を与えることはありません。

ご覧のとおり、ディスクを識別するために /dev/xdx の方法の代わりにUUIDを使用するfstabを使用することをお勧めします。
0692login:Penguin
垢版 |
2021/11/23(火) 00:46:03.56ID:ZYoj+OUw
>>689
> noatimeは何となく入れてる感じですね
> ラズパイではSDカード&USBメモリx2でストライピングとかアホな事やってるので
> 少しでも労りたいのです

そんなら一回 noatimeなしにしてみたい。体感できるパフォーマンスの差があるか。

一歩でもコマンドを単純化したい
0693login:Penguin
垢版 |
2021/11/23(火) 00:49:04.70ID:ZYoj+OUw
>>690
> /dev/sdbNの各UUIDを確認してください

sdb
├─sdb1
│ vfat EFI 8C89-6ED3
├─sdb2
│ btrfs debian
│ 6f1bbb77-c44c-4e33-9686-de20e121e09c 125.5G 14% /mnt/sdb2
└─sdb3
swap 8c4db4b1-849e-4ba6-ba65-05727e3ece8b

$
0694login:Penguin
垢版 |
2021/11/23(火) 00:53:37.87ID:ZYoj+OUw
>>690
> $ sudo nano /mnt/sdb2/@/etc/fstab
> とかで開いて、

$ sudo pluma /mnt/sdb2/@/etc/fstab

# / was on /dev/sda2 during installation
UUID=cf82c300-5af6-45d6-a682-1e93b9105cae / btrfs defaults,noatime,subvol=@ 0 0
# /home was on /dev/sda2 during installation
UUID=cf82c300-5af6-45d6-a682-1e93b9105cae /home btrfs defaults,noatime,subvol=@home 0 0
# /boot/efi was on /dev/sda1 during installation
UUID=7AF2-9C57 /boot/efi vfat umask=0077 0 1
# swap was on /dev/sda3 during installation
UUID=1297b83d-2c7b-42c4-bc86-9e7d44b87603 none swap sw 0 0
0695login:Penguin
垢版 |
2021/11/23(火) 00:54:55.07ID:GQJ2ZFSp
>>689
USBメモリx2でのストライプは面白い…!
でも下手な爆熱メモリなら全力でアクセスしたら
電源部のレギュレーターが燃えそうw

>chroot先での /etc/initramfs-tools/conf.d/resume の修正
これは知らなかったんですが、具体的に何でしたか…?
0696login:Penguin
垢版 |
2021/11/23(火) 00:55:09.69ID:ZYoj+OUw
ああ、だめだっ 吐き気してきたw

なにと何を比較すんのか わからないっ
0697login:Penguin
垢版 |
2021/11/23(火) 00:59:25.79ID:ZYoj+OUw
>
/dev/sdaN のUUID部分を
lsblk -f で表示されたUUIDを修正します
このときにもし読み取り専用って表示が出てたら

----------------------------
OK!! たった今文意を理解した
0698login:Penguin
垢版 |
2021/11/23(火) 01:00:32.46ID:KysHAlRz
>>695
スワップパーティションのUUIDが記載されているのですが
もし彼のストレージに存在しなかったら省略で構わないと思います

今Debianのマシンは別のUnixライクが稼働してるんで
明日Debianに切り替えて切り替えてお見せしますね
0699login:Penguin
垢版 |
2021/11/23(火) 01:02:51.71ID:KysHAlRz
>>696-697
そろそろ限界かな
ID:GQJ2ZFSpさんにお礼言って今日はもう休ませてもらいなさいな
0700login:Penguin
垢版 |
2021/11/23(火) 01:06:15.02ID:ZYoj+OUw
修正後

# / was on /dev/sda2 during installation
UUID=6f1bbb77-c44c-4e33-9686-de20e121e09c / btrfs defaults,noatime,subvol=@ 0 0
# /home was on /dev/sda2 during installation
UUID=6f1bbb77-c44c-4e33-9686-de20e121e09c /home btrfs defaults,noatime,subvol=@home 0 0
# /boot/efi was on /dev/sda1 during installation
UUID=8C89-6ED3 /boot/efi vfat umask=0077 0 1
# swap was on /dev/sda3 during installation
UUID=8c4db4b1-849e-4ba6-ba65-05727e3ece8b none swap sw 0 0
0701login:Penguin
垢版 |
2021/11/23(火) 01:08:14.72ID:KysHAlRz
>>695
Btrfsの話の方はSDカードもアレイメンバーに入れてますね
なお某用途で限界値OC・一年中フルロードですが全然平気です さすがオールサンディスク
0702login:Penguin
垢版 |
2021/11/23(火) 01:10:42.19ID:ZYoj+OUw
>>690
> このときにもし読み取り専用って表示が出てたら

保存しましたが、そんな表示はでなかったです。

>>699
ありがとうございます! 限界です。ID:GQJ2ZFSpさん、明日また ご指導お願いします。
0703login:Penguin
垢版 |
2021/11/23(火) 01:12:37.10ID:ZYoj+OUw
ホットスワップでsdb を切断します。感謝です
0704login:Penguin
垢版 |
2021/11/23(火) 01:14:31.09ID:GQJ2ZFSp
>>700
いま比較してみましたがOKそう
どのままコピペでもいけそうです

今思ったけども、書き換え前に
$ sudo cp /mnt/sdb2/@/etc/fstab /mnt/sdb2/@/etc/fstab.org
とかしてオリジナルをバックアップしておくと更に良かったかも

これから最後のchroot&grub installがいちばんややこしいと思うので
ここまでにしときましょう…
ではお休みなさい
0705login:Penguin
垢版 |
2021/11/23(火) 01:17:51.30ID:ZYoj+OUw
>>704
> いま比較してみましたがOKそう
> どのままコピペでもいけそうです

おおっ 勝利・友情・愛!www

> 今思ったけども、書き換え前に
$ sudo cp /mnt/sdb2/@/etc/fstab /mnt/sdb2/@/etc/fstab.org
とかしてオリジナルをバックアップしておくと更に良かったかも

おれも思った...かも。一瞬。コマンドはわからんけど

みなさん、おやすみ
0706login:Penguin
垢版 |
2021/11/23(火) 02:31:41.40ID:ZYoj+OUw
これで受け側の@と@homeをマウントしてみて
正常に複製できてるようだったら snap-@とsnap-@homeは
消してしまっていいと思う
(送り側のsnapshotはもうしばらく置いといてもいいかも)

-----------------------
ここを見落としていた。明日
0707login:Penguin
垢版 |
2021/11/23(火) 08:37:58.81ID:KysHAlRz
>>706
マウントもいいがデータ整合性のチェックもしておきましょう
ターゲットパーティションを(サブボリュームでもいいので)マウントした状態で、
$ sudo btrfs scrub start ターゲットパーティション
$ watch sudo btrfs scrub status ターゲットパーティション (終わったらCtrl+C)
0709login:Penguin
垢版 |
2021/11/23(火) 10:38:35.68ID:GQJ2ZFSp
こっちでも調べたところ、ハイバネーションのときに
どこにデータを退避するかの設定みたいですね
こちらの環境でcatしてみたところ
RESUME=
と値が空白でした
ハイバネーションしてなかったから気づかなかった…
完全に環境移行後の書き換えでもいいかもですね
0710login:Penguin
垢版 |
2021/11/23(火) 10:44:09.96ID:KysHAlRz
私もハイバネーションは使ってないので「これが適切でないと変なエラー出されるんだろ」くらいの認識しかありませんでした
実際UUIDが違っていると「おまえスワップパーティションのUUID違うじゃねえかコラ」みたいなエラー出されますからね
0711login:Penguin
垢版 |
2021/11/23(火) 11:26:56.13ID:GQJ2ZFSp
chrootしてgrubインストールの大体の手順はこんな感じかも
652さんのツッコミ待ち

652さんの教えてくれたインストールスクリプトをインストール
$ sudo apt install arch-install-scripts

ブートローダーインストール用のEFI関係?のカーネルモジュールをロード
$ sudo modprobe efivars

chrootマウントポイント用の一時ディレクトリを作成
$ sudo mkdir /mnt/chroot
0712login:Penguin
垢版 |
2021/11/23(火) 11:30:00.39ID:GQJ2ZFSp
ここからは面倒のないように # su - とか # sudo -i とかで
rootになってから作業することにすると
# mount -o subvol=@ /dev/sdb2 /mnt/chroot
# mount -o subvol=@home /dev/sdb2 /mnt/chroot/home
# mount /dev/sdb1 /mnt/chroot/boot/efi
これで準備完了
0713login:Penguin
垢版 |
2021/11/23(火) 11:31:40.20ID:KysHAlRz
>>711
私は似たような事をする時に efivars を明示的にロードしてないんですがいいと思いますよ
その方が確実でしょうし

あと既にご存知かも知れませんが arch-chroot はこう使います
$ sudo arch-chroot ターゲットディレクトリ
0714login:Penguin
垢版 |
2021/11/23(火) 11:35:02.89ID:GQJ2ZFSp
実際にchroot
# arch-chroot /mnt/chroot

grubをインストール
sdbのMBRとsdb1以下に書き込まれると思う
# grub-install /dev/sdb --bootloader-id Debian11(とかお好みの名前)

ほんとにNVRAMにブートエントリーが書き込まれたか確認
# efibootmgr --verbose | grep Debian11(とか上で付けた名前)

grubの設定ファイルに変更がなければ要らなそうだけど一応
# update-grub

エラーが出なければ完了、chroot環境を抜ける
# exit
0715login:Penguin
垢版 |
2021/11/23(火) 11:42:03.31ID:GQJ2ZFSp
arch-chrootは /dev, /sysとかの類のデバイスファイルを
chrootと同時に自動でロードしてくれる…って認識で
合ってるんだろうか…?

手元のメモでは手動で
# mount --bind /dev /mnt/chroot/dev
# mount --bind /dev/pts /mnt/chroot/dev/pts
# mount --bind /proc /mnt/chroot/proc
# mount --bind /sys /mnt/chroot/sys
とか
# for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt/rootfs$i; done
ってするようにメモってありました
0716login:Penguin
垢版 |
2021/11/23(火) 12:36:57.94ID:KysHAlRz
こういうものみたいです
chroot - ArchWiki
https://wiki.archlinux.jp/index.php/Chroot#arch-chroot_.E3.82.92.E4.BD.BF.E3.81.86

これを使ったchrootでのメンテで不都合を感じたことは私はありませんでした
/usr/bin/arch-chroot の実体はただのbashスクリプトなので興味がありましたら何をしてくれるのか読み解くのも面白いかと

もっとも、715に書かれた手法がいちばん確実ですがね
0717login:Penguin
垢版 |
2021/11/23(火) 12:49:01.11ID:ZYoj+OUw
>>707
> マウントもいいがデータ整合性のチェックもしておきましょう
> ターゲットパーティションを(サブボリュームでもいいので)マウントした状態で、

$ sudo mount /dev/sdb2 /mnt/sdb2
$
> $ sudo btrfs scrub start ターゲットパーティション

$ sudo btrfs scrub start /dev/sdb2
scrub started on /dev/sdb2, fsid 6f1bbb77-c44c-4e33-9686-de20e121e09c (pid=8099)

$
おかしい。一瞬にして終わった。

> $ watch sudo btrfs scrub status ターゲットパーティション (終わったらCtrl+C)
Every 2.0s: sudo btrfs scrub status /dev/sdb2 kyo: Tue Nov 23 12:47:40 2021

UUID: 6f1bbb77-c44c-4e33-9686-de20e121e09c
Scrub started: Tue Nov 23 12:45:56 2021
Status: running
Duration: 0:01:40
Time left: 0:04:05
ETA: Tue Nov 23 12:51:45 2021
Total to scrub: 20.27GiB
Bytes scrubbed: 5.86GiB (28.92%)
Rate: 60.02MiB/s
Error summary: no errors found

<<スクラブ中
0718login:Penguin
垢版 |
2021/11/23(火) 12:52:02.09ID:ZYoj+OUw
scrubおわり。おはよー

Every 2.0s: sudo btrfs scrub status /dev/sdb2 kyo: Tue Nov 23 12:51:22 2021

UUID: 6f1bbb77-c44c-4e33-9686-de20e121e09c
Scrub started: Tue Nov 23 12:45:56 2021
Status: finished
Duration: 0:05:13
Total to scrub: 20.27GiB
Rate: 66.31MiB/s

Error summary: no errors found
0719login:Penguin
垢版 |
2021/11/23(火) 12:52:06.86ID:KysHAlRz
>>717
> おかしい。一瞬にして終わった。
Btrfs や ZFS のスクラブ(fsckみたいなもん)は進捗状況を見たかったら専用コマンドを使うしか無いんだよ
それがこういうの↓
> $ watch sudo btrfs scrub status ターゲットパーティション (終わったらCtrl+C)
0720login:Penguin
垢版 |
2021/11/23(火) 12:53:55.61ID:ZYoj+OUw
>>711
> 652さんの教えてくれたインストールスクリプトをインストール
> $ sudo apt install arch-install-scripts
>
> ブートローダーインストール用のEFI関係?のカーネルモジュールをロード
> $ sudo modprobe efivars
>
> chrootマウントポイント用の一時ディレクトリを作成
> $ sudo mkdir /mnt/chroot

$ sudo apt install arch-install-scripts
arch-install-scripts はすでに最新バージョン (21-1) です。

$ sudo modprobe efivars

$ sudo mkdir /mnt/chroot

$
0721login:Penguin
垢版 |
2021/11/23(火) 12:57:16.96ID:ZYoj+OUw
>>719
もしかして
$ sudo btrfs scrub start /dev/sdb2
scrub started on /dev/sdb2, fsid 6f1bbb77-c44c-4e33-9686-de20e121e09c (pid=8920)

$
最後にドルのマークがついてるけど、終わったのではなく、まさにヤっている状態?

かすかにハードディスクがフル回転してる音が聞こえるから
0722login:Penguin
垢版 |
2021/11/23(火) 12:59:38.11ID:KysHAlRz
>>721
$ sudo btrfs scrub status ターゲットパテ | grep Status
0723login:Penguin
垢版 |
2021/11/23(火) 13:09:17.88ID:ZYoj+OUw
$ sudo btrfs scrub status /dev/sdb2 | grep Status
Status: finished

$
0724login:Penguin
垢版 |
2021/11/23(火) 13:11:02.80ID:KysHAlRz
で、ここまでの読み書きで既知のファイルシステムエラーが出ていないか確認

$ sudo btrfs dev stats ターゲットパテ
0725login:Penguin
垢版 |
2021/11/23(火) 13:13:02.99ID:ZYoj+OUw
>>712
> ここからは面倒のないように # su - とか # sudo -i とかで

おはよう御座います。よろしくおねがいします。以前からずっと疑問。
たとえば
# su - と # sudo -i では違いがあるのか?結果は同じに見えるが。

前者は管理者パスワードいる。後者はいらない。
0726login:Penguin
垢版 |
2021/11/23(火) 13:14:50.20ID:ZYoj+OUw
>>724
訓練指導感謝です。よろしくおねがいします。

$ sudo btrfs dev stats /dev/sdb2
[/dev/sdb2].write_io_errs 0
[/dev/sdb2].read_io_errs 0
[/dev/sdb2].flush_io_errs 0
[/dev/sdb2].corruption_errs 0
[/dev/sdb2].generation_errs 0


$
0727login:Penguin
垢版 |
2021/11/23(火) 13:17:51.77ID:KysHAlRz
>>726
既知のエラー無し
以後はID:GQJ2ZFSpさんに指導してもらって下さい
0728login:Penguin
垢版 |
2021/11/23(火) 13:21:00.57ID:ZYoj+OUw
>>712
> # mount -o subvol=@ /dev/sdb2 /mnt/chroot
> # mount -o subvol=@home /dev/sdb2 /mnt/chroot/home
> # mount /dev/sdb1 /mnt/chroot/boot/efi
> これで準備完了

今からココ。参考ページをググりながら進めてるが、機械翻訳丸投げサイトや、ask ubuntu のような質問・回答サイトしかヒットしない。

今ヤっていることを「教科書的にまとめた」ページはないのかな?
0730login:Penguin
垢版 |
2021/11/23(火) 13:24:06.99ID:KysHAlRz
Btrfsシステムパテのシステムクローン、それもBtrfsモードのtimeshiftを使ってるシステム
こんな新しめの構成、検索したって出てこないと思ったほうが良い
0731login:Penguin
垢版 |
2021/11/23(火) 13:28:24.76ID:GQJ2ZFSp
> su -とsudo -i
これは実行結果から言えば変わらないけど、
前者は直接rootでログインするのに対して
後者はsudoを使ってログインするので若干行儀が良いかも?

sudo -i の方は、/etc/sudoers* とかのファイルの設定で
rootのパスワードではなくログイン中ユーザーの
パスワードでroot権限を実行するのと、
あと、sudoだとsudoを実行したログが残るはず
0732login:Penguin
垢版 |
2021/11/23(火) 13:30:37.72ID:ZYoj+OUw
$ sudo -i
# mount -o subvol=@ /dev/sdb2 /mnt/chroot
#

----------------------
なぜ、/mnt/chroot をマウントポイントにして /dev/sdb2 をマウントするんだろう?

なぜ、こんなことしないといけないんだろう?
0733login:Penguin
垢版 |
2021/11/23(火) 13:37:57.91ID:ZYoj+OUw
>>731
> sudo -i の方は、/etc/sudoers* とかのファイルの設定で
rootのパスワードではなくログイン中ユーザーの
パスワードでroot権限を実行する

<< 「/etc/sudoersの設定」 が最悪の結果をまねかないための防御癖になってるのかな?みたいに
イメージしました

https://www.guri2o1667.work/entry/2020/10/25/%E3%80%90RHEL8%E3%80%91sudo%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%A8/etc/sudoers%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6

例えば、一般ユーザにログインしている際に、
rootユーザでしか実行できないコマンドやファイル操作をしたい場合、以下の2つの方法が考えられます。

@ rootユーザにスイッチ
A そのコマンドだけrootユーザとして実行

@についてはrootユーザの権限をそのまま渡すことになるため、実行したいコマンド以外にも好き勝手出来てしまい、好ましくない場合があります。(rootユーザのパスワードを教えることにもなります。)

Aの方法を採用することで、rootパスワードを必要とせず、あらかじめ定義したコマンドのみの操作を許可することができます。
sudoコマンドはAの方法に該当します。
0734login:Penguin
垢版 |
2021/11/23(火) 13:40:30.60ID:ZYoj+OUw
$ sudo -i
# mount -o subvol=@ /dev/sdb2 /mnt/chroot
# mount -o subvol=@home /dev/sdb2 /mnt/chroot/home
# mount /dev/sdb1 /mnt/chroot/boot/efi
#
0735login:Penguin
垢版 |
2021/11/23(火) 13:40:57.73ID:GQJ2ZFSp
chrootは、うまく言えないけどオンメモリのデータを保持して
ハードウェア環境もそのままで、ファイルシステムだけ
一時的に別のファイルシステム上とそっくり
そのまま入れ替える感じとかかな…

ブラックジャック先生の超絶手技で、意識を保ったまま
ブタの頭をヤギの胴体と一時的にすげ替えて手術する感じ…とか
0736login:Penguin
垢版 |
2021/11/23(火) 13:50:19.06ID:KysHAlRz
>>732
実はDebianやUbuntu等のインストーラは裏でchrootを駆使してシステム設定している
よって今やってる事の数々は言ってしまえば「人力インストーラ」みたいなもん
0737login:Penguin
垢版 |
2021/11/23(火) 14:11:04.93ID:ZYoj+OUw
>>735
> ブラックジャック先生の超絶手技で、意識を保ったまま
> ブタの頭をヤギの胴体と一時的にすげ替えて手術する感じ…とか

治療の目的は、いまの場合「grubの再インストール」?
0738login:Penguin
垢版 |
2021/11/23(火) 14:13:31.36ID:ZYoj+OUw
>>736
> 実はDebianやUbuntu等のインストーラは裏でchrootを駆使してシステム設定している
よって今やってる事の数々は言ってしまえば「人力インストーラ」みたいなもん

chroot というのは、特殊なアイテムではなく、使用頻度極高 の必須アイテム?
0739login:Penguin
垢版 |
2021/11/23(火) 14:21:23.48ID:KysHAlRz
>>738
chroot が必要になる場面
・今回の様に別ストレージをシステムとして起こす時
・ブートしなくなった時などのライブメディアからのメンテ
・ビルド依存パッケージ等で既存環境に余計なものを入れたくない時
 (Debian系・Ubuntu系はdebootstrapで簡単にchroot環境を作れる)

など
0740login:Penguin
垢版 |
2021/11/23(火) 14:21:53.94ID:GQJ2ZFSp
自分はブート関係いじるときの他は
あんまり意識して使うことはないですね
chroot地獄とかのテクニックは聞いたことだけはあるけど

Linuxディストリのインストーラーだけじゃなくて、
Windowsのインストーラーも回復コンソールモードとかでは
USBディスク上のファイルシステムからブートして
ブートエントリいじったりとか
でもこれはchrootというよりマルチブートな感じかも
0741login:Penguin
垢版 |
2021/11/23(火) 14:30:10.63ID:KysHAlRz
>>738
> ・ビルド依存パッケージ等で既存環境に余計なものを入れたくない時
JDimのビルド環境を作った時の事を思い出してごらん
0743login:Penguin
垢版 |
2021/11/23(火) 15:00:31.27ID:ZYoj+OUw
>>742
見れません、その前のも見れなかった
0744login:Penguin
垢版 |
2021/11/23(火) 15:04:54.82ID:KysHAlRz
>>743
消したタイミングがタッチの差だった模様 大した意味の無いもの
その前のやつはID:GQJ2ZFSpさん用なので見なくても問題ない
0745login:Penguin
垢版 |
2021/11/23(火) 15:06:49.35ID:ZYoj+OUw
>>740
> 自分はブート関係いじるときの他は
> あんまり意識して使うことはないですね

ID:GQJ2ZFSpさんですら、これくらいの理解でいいのですね!安心した

> chroot地獄とかのテクニックは聞いたことだけはあるけど

chroot jail 、chroot監獄です。chroot地獄のほうがかっこいいけどww 言葉は知ってるけど、じっさいにコマンドでやるときは、まったく使えない...

Windowsといえば、メーカー製ノートのプリインストールウイン10をかんぺきに消し尽くして、
どんな方法でもいいから、マイクロソフト純正まざりっけなし、に入れ替える方法をいつか知りたい。
0746login:Penguin
垢版 |
2021/11/23(火) 15:10:03.19ID:ZYoj+OUw
>>741
> > ・ビルド依存パッケージ等で既存環境に余計なものを入れたくない時
> JDimのビルド環境を作った時の事を思い出してごらん

もちろん憶えてます。じつはアレを消したいが消し方がわからなくて放置。なかにJDimのビルド環境存在してるし、消していいのかもわからんし。

なぜ消したいかというと、1.9GB消費してるからです。
0747login:Penguin
垢版 |
2021/11/23(火) 15:11:34.16ID:ZYoj+OUw
ID:GQJ2ZFSpさん。つぎを教えて下さい
0748login:Penguin
垢版 |
2021/11/23(火) 15:13:08.81ID:KysHAlRz
>>746
今はID:GQJ2ZFSpさんの教えに従い予備環境の構築に集中なさい。
0749login:Penguin
垢版 |
2021/11/23(火) 15:16:52.68ID:ZYoj+OUw
>>739
> chroot が必要になる場面
> ・今回の様に別ストレージをシステムとして起こす時

(起動可能の)システムとして起こす時ですね?ということは、send | rec や btrfs に限らず、
必要なんだね?

> ・ブートしなくなった時などのライブメディアからのメンテ

これ難しい。今年の初めひとりで2ヶ月がんばったけど、できなかったやつだ。

> ・ビルド依存パッケージ等で既存環境に余計なものを入れたくない時

これはhdd領域を2ギガ費消しても、やる価値があったのか?トレードオフ的観点から見て。

>  (Debian系・Ubuntu系はdebootstrapで簡単にchroot環境を作れる)
0750login:Penguin
垢版 |
2021/11/23(火) 15:18:32.18ID:ZYoj+OUw
はい。

$ sudo -i
# mount -o subvol=@ /dev/sdb2 /mnt/chroot
# mount -o subvol=@home /dev/sdb2 /mnt/chroot/home
# mount /dev/sdb1 /mnt/chroot/boot/efi
#
まで終わっています
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況