コンテキスト
私は最近、Windows 10とGentooを2つの別々の250GB SSDに移行し、既存の既存のSATA HDDドライブを保存用に維持しました。
Users
新規インストール中にWindows用HDDをインストールしました。- GParted LiveCDを使用してルートファイルシステムを縮小し、新しいドライブにコピーして再起動し、残った古いルートと
/home
HDDドライブのスワップパーティションを削除しました。 UUIDで起動するので大丈夫です。
私はGentooを使用しているので、SSDのディレクトリをコピーした元のHDDに戻す必要があります。/usr
そのため、更新中にPortageツリーはSSDスペースを少し占有しません。この質問は必要な正しいコマンドオプションに関連しているため、これまではこの質問にgentooタグを付けていませんでした(更新されたタイトルを参照)。rsync
いくつかの文脈では、PortageツリーはGentooのパッケージリポジトリです。更新する前に、リポジトリ全体がユーザーのローカルコンピュータにダウンロードされます。 SSDにダウンロードするとツリーが毎日更新されるため、不要な摩耗が発生します。
質問
私が達成しようとしている目標に関連する2つの質問を見つけました。
今私は自分自身のいくつかの質問に答える必要があります。
rsync
移動する場所を移動するためにGentooのインストールでコマンドを使用できますか? ServerFaultの問題はこれを示唆しています。/usr
/usr
- #1が不可能でGParted Live USBを使用してコマンドを実行すると、
rsync
LiveUSBはDebianディストリビューションに基づいているため、ファイル/ディレクトリの所有者は変更されますか? rsync
アーカイブに加えて-a
正しいオプションは何ですか? AskUbuntuが選択した回答のコメントは、-H
ハードリンクに従うように追加を提案しましたが、OPは自分の回答でコメントと矛盾します。
視覚資料
/usr
赤い四角いパーティション全体が実行されている間は、赤い四角いパーティションから空の青い四角いパーティションにディレクトリを移動する必要があります。または、現在の権限を破損または変更せずにLiveCDを使用してこれを行う必要があります。
修正する
この問題は征服できる山であることが判明しましたが、私がそれを征服したかどうかはわかりません。
- 私はこれを
/usr
使うことができましたrsync -avAHPX /mnt/gentoo/usr /mnt/new_usr
。私はまだ立ち往生しているので、答えの一部を信じることができません。 - 初期化システムがマウントできないパーティションにあるため、ルートファイルシステムに有効な初期化が含まれていないとsystemdが文句を言うので、役に立ちません。ここで問題が表示されますか? (Systemdが配置されている
/usr/lib/systemd
) - しなければならない初期ユーザースペースのインストールこの問題を解決するには、Plymouthブート画面initramfsと以前の
/usr
インストールに必要なinitramfsが失われます。また、見ることができますカスタムInitramfsそしてInitramfs/ガイド。 - 「Systemd sucks」について文句を言わないサポートおよび/または他のGentooユーザーは見つけるのが難しいです(私がここに貢献し始めた理由の1つです)。だから私が公式のリソースに質問を投稿すると野生を受けます。
誰もがPlymouth bootsplashをinitramfs / intramfdの以前のインストールと組み合わせるために使用する適切なツールが何であるかを教えてくれて/usr
ありがとう。この質問が続く場合は、賞金の提供を検討しています。また、Gentooはソースコードに基づいているため、Gentoo Wikiの記事にリンクしても他のディストリビューションのツールを使用できることに注意してください。
答え1
代替案を提案できますか?
上記のようにツリー
/usr/*
全体を移動しようとしないでください。システムが中断され、密度の高いRWおよび/または多くの無駄なスペースの問題を解決する必要はないようです(ただ移動できます/usr/portage
)。LiveCDでrsyncを実行してリモート
/usr/portage
HDDにコピーする- 起動時にFSTABを介して同様の場所にHDDをマウントします。
/mnt/hdd
- 再帰の削除
/usr/portage
- シンボリックリンク
ln -s /mnt/hdd/gentoo/usr/portage /usr/portage
/usr/portage
私が必要としない場合は、デフォルトのディレクトリ(デフォルトのディレクトリですが変更できると確信しています)を変更するのが好きではなく、他のハードドライブに常駐する場合にのみシンボリックリンクを使用します。別のパーティションを作成して/usr/portage
ここに直接マウントすることもできますが、/usr/portage
私はすべてのデータを1つの大きなリモートパーティションにマウントし、/mnt/data
必要に応じてディレクトリをシンボリックリンクすることを好みます。私もおそらく/home
ここに住んでいると思います。
次のように、2つの別々のパーティションスキームがあります。
/mnt/os_data
/mnt/my_data
私はあなたがポイントを理解していると思います。
答え2
rsync
移動する場所を移動するためにGentooのインストールでコマンドを使用できますか? ServerFaultの問題はこれを示唆しています。/usr
/usr
はい、もちろん可能です(移動ではなくコピー?)。しかし、私はいつもこの目的のためにLive USBを使用しています。使用しているシステムからコピー/usr
中に、一部のプロセスが書き込み操作を実行して転送が不完全になることがあります。
- #1が不可能でGParted Live USBを使用してコマンドを実行すると、
rsync
LiveUSBはDebianディストリビューションに基づいているため、ファイル/ディレクトリの所有者は変更されますか?
いいえ。-a
ローカルコピーを使用している間は、そのコピーに対する権限を維持する必要があります。
rsync
アーカイブに加えて-a
正しいオプションは何ですか? AskUbuntuが選択した回答のコメントは、-H
ハードリンクに従うように追加を提案しましたが、OPは自分の回答でコメントと矛盾します。
-a
コメントで説明されているようにでを見つけると、をman rsync
除外します。これらのフラグは、ハードリンク、ACL、および拡張属性を保持します。これらのどれが含まれているのか疑問です。しかし、もしそうなら、これらのフラグを使用するのは悪いことではありません。ソースコードでそれを使用しないと、保存するものは何もないので、このフラグを使用していないかのように動作します。私はまた、中断された転送を再開し、コピー中に進行状況を表示することを使用する傾向があります。-H
-A
-X
/usr
rsync
-P