テスト [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
本文が長すぎるからエラーになってる?? >>650 おっしゃる通りでさっき試したら /sdb2/@/@ , /sdb2/@/@home みたいになってしまった 今回のケースでの 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 読み込み専用スナップショット(複数指定可) の実施を推奨 >>652 これらの情報をもとに実際にはくだ質245さんが教えてあげて下さい 私が直接教えると自演を疑われるので >>652 なお何故ここまでスラスラ書けるかと言うと、つい最近まで私も同様の環境を使用し send | receive をたまにバックアップ目的でやっていたからです 最近出来心でシステムパテをZFSにしてしまいましたが こんばんは。遅くなりました。 >>652 の書き込みを拝読したが、頭がこんがらがる、こんがらがる。 まず何をしたらいいのか? 手取り足取りおねがいします! >>655 652はくだ質245さん用 この程度は把握しておかないと教えるのは不可能なので参考にしてもらう為に書いたもの 書けるかな 受け側の @,@home は前もって作成する必要は なかったようなので、ごめんだけど質問者さんは # sudo btrfs subvolume delete /mnt/sdb2/@ # sudo btrfs subvolume delete /mnt/sdb2/@home みたいにして受け側のサブボリュームを一旦削除してもらえます…? >>652 【おまけ】 btrfsコマンド、補助コマンドは以下の様に短縮可能 subvolume -> sub create -> cre delete -> del snapshot -> snap send -> se receive -> rec 入力がダルかったりやり取りの可読性を高めたい時に使って下さい >>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' $ $ sudo btrfs sub del /mnt/sdb2/@home 練習した。どんな場合も短縮形を好む。すいません、他のようやっていて反応が遅く。 書けたり書けなかったり さすがにテスト用ドライブで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-@ @ sudo mount /dev/sda2 /mnt/sda2 マウントしてないので、これをしとく? ごめんなさい、また間違いました、 最後の行の cd /mnt/sda2/ は cd /mnt/sdb2/ ですので そのまま実行しないように! >>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 これらコマンドの情報の参考源のページを示して下さい >>662 そう、受け側のsdb2もマウントしてください $ sudo mount /dev/sdb2 /mnt/sdb2 ああ、わかりました。未見のコマンドだったので疑いました。 開始してます。状態表示されないのですね? $ sudo btrfs se /mnt/sda2/snap-@ | sudo btrfs rec /mnt/sdb2 At subvol /mnt/sda2/snap-@ At subvol snap-@ >>658 で示してもらった短縮形ですね 進捗はこっちのテストではファイル10個とかで 一瞬で終わったので表示されるか分からない…! >>667 se も rec も -v オプションで冗長出力出来るけど 貴方は文字列が大量に流れる様な出力だと気分悪くなる人でしょう? >>669 そうなんですけど、特殊な事情があってさ 自作マシンで15年もののケースで、HDDアクセスランプとかもない。そんで >>668 $ sudo btrfs se /mnt/sda2/snap-@ | sudo btrfs rec /mnt/sdb2 At subvol /mnt/sda2/snap-@ At subvol snap-@ $ 終わりました 一瞬で終わる...? かってに予測時間55分と判断してマシンから離れてましたWW @homeの復元をわすれてた $ cd /mnt/sdb2/ && sudo btrfs sub snap snap-@home @home これで受け側の@と@homeをマウントしてみて 正常に複製できてるようだったら snap-@とsnap-@homeは 消してしまっていいと思う (送り側のsnapshotはもうしばらく置いといてもいいかも) いや、実環境インストール済みなら絶対に結構かかるはず こっちはテスト用SVとスナップショットを ファイル10個だけで作ったのでってことですね >>670 次の機会には冗長表示オプションを使うと良いでしょう ごめんなさい、かなり注意力低下、というより、記号に弱く、ねんのため確認ですが、 以下の順番でコマンドブチ込み? (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 >>652 fstabの書き方、画像はラズパイのものですが Btrfs部分の書き方は概ねこんな感じになります https://i.imgur.com/NaCFTP7.png 画像は一定時間が過ぎたら消しますが キャッシュが残ると思うので問題無いでしょう >>674 > いや、実環境インストール済みなら絶対に結構かかるはず > こっちはテスト用SVとスナップショットを > ファイル10個だけで作ったのでってことですね 了解です。予測時間がわかればなあ... $ sudo btrfs se /mnt/sda2/snap-@home | sudo btrfs rec /mnt/sdb2 At subvol /mnt/sda2/snap-@home At subvol snap-@home ..... やっとります 652さんの画像みたいに、次はfstabの修正かな あと全体で残ってる作業はその作業と、 chrootしてgrubの再インストールぐらいかな…? sda1 -> sdb1 の複製ももしかしたら終わってるかもだけど、 debian以外のOSがなさそうだからsdb1は空のままでも良さそう @homeが終わったら $ cat /etc/fstab の内容を貼ってもらってもいいです? $ sudo btrfs se /mnt/sda2/snap-@home | sudo btrfs rec /mnt/sdb2 At subvol /mnt/sda2/snap-@home At subvol snap-@home $ おわり >>677 見ました、サブボリュームのマウントって簡単だなあと noatimeってbtrfsみたいな先進的なファイルシステムでも 効果あるもんでしょうかちょっと気になります…! $ 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' $ 一瞬でおわた。なぜ、一瞬で終わるのですか? >>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 $ $ 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 $ >一瞬で終わる 多分だけど、スナップショットっていうのは ファイル・ディレクトリへのハードリンクみたいな実装で データへの参照だけをコピーというか もうひとつ作ってる感じじゃないですかね… 実データそのものを複製してるわけではないはず >>680 > 652さんの画像みたいに、次はfstabの修正かな なぜ、fstabの修正 をしないとダメなのですか?ウインドウズのアクロニスでは、何も必要がないです。商用アプリケーションでは、その工程を自動化しているということ? > あと全体で残ってる作業はその作業と、 > chrootしてgrubの再インストールぐらいかな…? 数年前に一回だけ使ったことがある台湾製のリナックス用クローンツールのなんたらでも、 そんな作業を必要としていない記憶。 > sda1 -> sdb1 の複製ももしかしたら終わってるかもだけど、 > debian以外のOSがなさそうだからsdb1は空のままでも良さそう debian以外のOS ないです。 >>686 謝謝! >スナップショットっていうのは ファイル・ディレクトリへのハードリンクみたいな実装で データへの参照だけをコピーというか もうひとつ作ってる感じじゃないですかね… 実データそのものを複製してるわけではないはず その点がすごいですね。btrfs は。使っていて。 >>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 まず、 $ lsblk -f でUUIDが表示できるので、/dev/sdbNの各UUIDを確認してください ルート権限のテキストエディタで /mnt/sdb2/@/etc/fstab を例えば $ sudo nano /mnt/sdb2/@/etc/fstab とかで開いて、 貼ってもらった表示と同じようになってるはずの /dev/sdaN のUUID部分を lsblk -f で表示されたUUIDを修正します このときにもし読み取り専用って表示が出てたら マウント状態がなにかおかしそう Linuxでは /etc/fstab ファイル内のディスクを識別するために使用されます。 このようにして、マザーボード内のディスクの順序を変更でき、マウントポイントに影響を与えることはありません。 ご覧のとおり、ディスクを識別するために /dev/xdx の方法の代わりにUUIDを使用するfstabを使用することをお勧めします。 >>689 > noatimeは何となく入れてる感じですね > ラズパイではSDカード&USBメモリx2でストライピングとかアホな事やってるので > 少しでも労りたいのです そんなら一回 noatimeなしにしてみたい。体感できるパフォーマンスの差があるか。 一歩でもコマンドを単純化したい >>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 $ >>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 >>689 USBメモリx2でのストライプは面白い…! でも下手な爆熱メモリなら全力でアクセスしたら 電源部のレギュレーターが燃えそうw >chroot先での /etc/initramfs-tools/conf.d/resume の修正 これは知らなかったんですが、具体的に何でしたか…? ああ、だめだっ 吐き気してきたw なにと何を比較すんのか わからないっ > /dev/sdaN のUUID部分を lsblk -f で表示されたUUIDを修正します このときにもし読み取り専用って表示が出てたら ---------------------------- OK!! たった今文意を理解した >>695 スワップパーティションのUUIDが記載されているのですが もし彼のストレージに存在しなかったら省略で構わないと思います 今Debianのマシンは別のUnixライクが稼働してるんで 明日Debianに切り替えて切り替えてお見せしますね >>696-697 そろそろ限界かな ID:GQJ2ZFSpさんにお礼言って今日はもう休ませてもらいなさいな 修正後 # / 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 >>695 Btrfsの話の方はSDカードもアレイメンバーに入れてますね なお某用途で限界値OC・一年中フルロードですが全然平気です さすがオールサンディスク >>690 > このときにもし読み取り専用って表示が出てたら 保存しましたが、そんな表示はでなかったです。 >>699 ありがとうございます! 限界です。ID:GQJ2ZFSpさん、明日また ご指導お願いします。 >>700 いま比較してみましたがOKそう どのままコピペでもいけそうです 今思ったけども、書き換え前に $ sudo cp /mnt/sdb2/@/etc/fstab /mnt/sdb2/@/etc/fstab.org とかしてオリジナルをバックアップしておくと更に良かったかも これから最後のchroot&grub installがいちばんややこしいと思うので ここまでにしときましょう… ではお休みなさい >>704 > いま比較してみましたがOKそう > どのままコピペでもいけそうです おおっ 勝利・友情・愛!www > 今思ったけども、書き換え前に $ sudo cp /mnt/sdb2/@/etc/fstab /mnt/sdb2/@/etc/fstab.org とかしてオリジナルをバックアップしておくと更に良かったかも おれも思った...かも。一瞬。コマンドはわからんけど みなさん、おやすみ これで受け側の@と@homeをマウントしてみて 正常に複製できてるようだったら snap-@とsnap-@homeは 消してしまっていいと思う (送り側のsnapshotはもうしばらく置いといてもいいかも) ----------------------- ここを見落としていた。明日 >>706 マウントもいいがデータ整合性のチェックもしておきましょう ターゲットパーティションを(サブボリュームでもいいので)マウントした状態で、 $ sudo btrfs scrub start ターゲットパーティション $ watch sudo btrfs scrub status ターゲットパーティション (終わったらCtrl+C) こっちでも調べたところ、ハイバネーションのときに どこにデータを退避するかの設定みたいですね こちらの環境でcatしてみたところ RESUME= と値が空白でした ハイバネーションしてなかったから気づかなかった… 完全に環境移行後の書き換えでもいいかもですね 私もハイバネーションは使ってないので「これが適切でないと変なエラー出されるんだろ」くらいの認識しかありませんでした 実際UUIDが違っていると「おまえスワップパーティションのUUID違うじゃねえかコラ」みたいなエラー出されますからね chrootしてgrubインストールの大体の手順はこんな感じかも 652さんのツッコミ待ち 652さんの教えてくれたインストールスクリプトをインストール $ sudo apt install arch-install-scripts ブートローダーインストール用のEFI関係?のカーネルモジュールをロード $ sudo modprobe efivars chrootマウントポイント用の一時ディレクトリを作成 $ sudo mkdir /mnt/chroot ここからは面倒のないように # 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 これで準備完了 >>711 私は似たような事をする時に efivars を明示的にロードしてないんですがいいと思いますよ その方が確実でしょうし あと既にご存知かも知れませんが arch-chroot はこう使います $ sudo arch-chroot ターゲットディレクトリ 実際に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 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 ってするようにメモってありました こういうものみたいです 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に書かれた手法がいちばん確実ですがね >>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 <<スクラブ中 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 >>717 > おかしい。一瞬にして終わった。 Btrfs や ZFS のスクラブ(fsckみたいなもん)は進捗状況を見たかったら専用コマンドを使うしか無いんだよ それがこういうの↓ > $ watch sudo btrfs scrub status ターゲットパーティション (終わったらCtrl+C) >>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 $ >>719 もしかして $ sudo btrfs scrub start /dev/sdb2 scrub started on /dev/sdb2, fsid 6f1bbb77-c44c-4e33-9686-de20e121e09c (pid=8920) $ 最後にドルのマークがついてるけど、終わったのではなく、まさにヤっている状態? かすかにハードディスクがフル回転してる音が聞こえるから >>721 $ sudo btrfs scrub status ターゲットパテ | grep Status $ sudo btrfs scrub status /dev/sdb2 | grep Status Status: finished $ で、ここまでの読み書きで既知のファイルシステムエラーが出ていないか確認 $ sudo btrfs dev stats ターゲットパテ >>712 > ここからは面倒のないように # su - とか # sudo -i とかで おはよう御座います。よろしくおねがいします。以前からずっと疑問。 たとえば # su - と # sudo -i では違いがあるのか?結果は同じに見えるが。 前者は管理者パスワードいる。後者はいらない。 >>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 $ >>726 既知のエラー無し 以後はID:GQJ2ZFSpさんに指導してもらって下さい >>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 のような質問・回答サイトしかヒットしない。 今ヤっていることを「教科書的にまとめた」ページはないのかな? そもそも、リナックスというのは、教科書的にまとまった参考ページはめったにない、と考えたほうがいいのか? たとえば https://kledgeb.blogspot.com/2015/11/efibootmgr-1-uefiuefi.html このサイトは「素晴らしくわかりやすく」まとまっていますが。 >>727 はい Btrfsシステムパテのシステムクローン、それもBtrfsモードのtimeshiftを使ってるシステム こんな新しめの構成、検索したって出てこないと思ったほうが良い > su -とsudo -i これは実行結果から言えば変わらないけど、 前者は直接rootでログインするのに対して 後者はsudoを使ってログインするので若干行儀が良いかも? sudo -i の方は、/etc/sudoers* とかのファイルの設定で rootのパスワードではなくログイン中ユーザーの パスワードでroot権限を実行するのと、 あと、sudoだとsudoを実行したログが残るはず $ sudo -i # mount -o subvol=@ /dev/sdb2 /mnt/chroot # ---------------------- なぜ、/mnt/chroot をマウントポイントにして /dev/sdb2 をマウントするんだろう? なぜ、こんなことしないといけないんだろう? >>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の方法に該当します。 $ 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 # chrootは、うまく言えないけどオンメモリのデータを保持して ハードウェア環境もそのままで、ファイルシステムだけ 一時的に別のファイルシステム上とそっくり そのまま入れ替える感じとかかな… ブラックジャック先生の超絶手技で、意識を保ったまま ブタの頭をヤギの胴体と一時的にすげ替えて手術する感じ…とか >>732 実はDebianやUbuntu等のインストーラは裏でchrootを駆使してシステム設定している よって今やってる事の数々は言ってしまえば「人力インストーラ」みたいなもん >>735 > ブラックジャック先生の超絶手技で、意識を保ったまま > ブタの頭をヤギの胴体と一時的にすげ替えて手術する感じ…とか 治療の目的は、いまの場合「grubの再インストール」? >>736 > 実はDebianやUbuntu等のインストーラは裏でchrootを駆使してシステム設定している よって今やってる事の数々は言ってしまえば「人力インストーラ」みたいなもん chroot というのは、特殊なアイテムではなく、使用頻度極高 の必須アイテム? >>738 chroot が必要になる場面 ・今回の様に別ストレージをシステムとして起こす時 ・ブートしなくなった時などのライブメディアからのメンテ ・ビルド依存パッケージ等で既存環境に余計なものを入れたくない時 (Debian系・Ubuntu系はdebootstrapで簡単にchroot環境を作れる) など 自分はブート関係いじるときの他は あんまり意識して使うことはないですね chroot地獄とかのテクニックは聞いたことだけはあるけど Linuxディストリのインストーラーだけじゃなくて、 Windowsのインストーラーも回復コンソールモードとかでは USBディスク上のファイルシステムからブートして ブートエントリいじったりとか でもこれはchrootというよりマルチブートな感じかも >>738 > ・ビルド依存パッケージ等で既存環境に余計なものを入れたくない時 JDimのビルド環境を作った時の事を思い出してごらん >>743 消したタイミングがタッチの差だった模様 大した意味の無いもの その前のやつはID:GQJ2ZFSpさん用なので見なくても問題ない >>740 > 自分はブート関係いじるときの他は > あんまり意識して使うことはないですね ID:GQJ2ZFSpさんですら、これくらいの理解でいいのですね!安心した > chroot地獄とかのテクニックは聞いたことだけはあるけど chroot jail 、chroot監獄です。chroot地獄のほうがかっこいいけどww 言葉は知ってるけど、じっさいにコマンドでやるときは、まったく使えない... Windowsといえば、メーカー製ノートのプリインストールウイン10をかんぺきに消し尽くして、 どんな方法でもいいから、マイクロソフト純正まざりっけなし、に入れ替える方法をいつか知りたい。 >>741 > > ・ビルド依存パッケージ等で既存環境に余計なものを入れたくない時 > JDimのビルド環境を作った時の事を思い出してごらん もちろん憶えてます。じつはアレを消したいが消し方がわからなくて放置。なかにJDimのビルド環境存在してるし、消していいのかもわからんし。 なぜ消したいかというと、1.9GB消費してるからです。 >>746 今はID:GQJ2ZFSpさんの教えに従い予備環境の構築に集中なさい。 >>739 > chroot が必要になる場面 > ・今回の様に別ストレージをシステムとして起こす時 (起動可能の)システムとして起こす時ですね?ということは、send | rec や btrfs に限らず、 必要なんだね? > ・ブートしなくなった時などのライブメディアからのメンテ これ難しい。今年の初めひとりで2ヶ月がんばったけど、できなかったやつだ。 > ・ビルド依存パッケージ等で既存環境に余計なものを入れたくない時 これはhdd領域を2ギガ費消しても、やる価値があったのか?トレードオフ的観点から見て。 > (Debian系・Ubuntu系はdebootstrapで簡単にchroot環境を作れる) はい。 $ 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 # まで終わっています ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.1 2024/04/28 Walang Kapalit ★ | Donguri System Team 5ちゃんねる