昨日私は難しい方法のXNUMXつを発見しました "特徴" ファイルシステム BTRFS。 それは私がその操作を知らない理由のためです、 BTRFS コマンドのようなものよりもディスクをいっぱいにする傾向があります dd または一般的なファイルマネージャのディスクフィルゲージ。
ファイルシステムがbtrfsで使用しているスペースを知る方法
ファイルシステムを持っている人は誰でも BTRFS コンソールに入力することで、データがどのくらいの追加スペースを占めているかを知ることができます(私が思うルートとして):
btrfsファイルシステムショー/
(別のbtrfsパーティションで占有されているスペースを知りたい場合は、/を別のマウントポイントに置き換えてください)
大きなパーティションでは、全体に比べてスペースが非常に少ないため、この追加の充填は大きな問題ではありません。 しかし、私の場合、/が22GB(ssdキャッシュを占有)である場合、ハードドライブは8 GBの空き容量でいっぱいになり、rpmデータベースが壊れて、パッケージマネージャーが無効になります。 そのため、別のファイルシステムでフォーマットすることを余儀なくされました。
しかし、私は再インストールしたくありませんでした。 明らかに、/ homeのデータは簡単に保存できますが、/に多くのプログラムがインストールされており、そこにも多くの設定が存在するため、インストールをそのままにしてファイルシステムを変更することにしました。
私がこれを書いている理由は、これらの場合の進め方に関するドキュメントが見つからなかったためです。 ほとんどの人は再インストールすることに決めていると思います。
私は約7時間かけて英語のマニュアルで情報を検索し、実際には他のことと関係があり、直感的に断片をまとめる必要がありました。 試行錯誤を繰り返し、何十回も再起動して、試したことが次々と失敗することを確認しました。 実際のプロセスは、それ専用のマニュアルを持っていたほどではなかったでしょう。
「/」のファイルシステムを変更する際に考慮すべき考慮事項
最初に: 私はこの手順を実行しました フェドーラ。 主にブートローダーとしての所有権を共有するすべてのディストリビューションで同じだと思います GRUB2.
第二: このプロセスは 難しい 一般ユーザーの場合(これを読んで、これがでたらめだと思う人は、あなたが一般ユーザーではないことを知っています)通常、ルートパーティションのファイルシステムを変更するよりも、やるべきことがあります。 このマニュアルに従う方法がわからない場合は、インストールを失うリスクがあります。それを実行すると、パフォーマンスの変化がそれほど目立たないことがわかります(まあ、一部の人にとってはそうですが、あなたは一般的なユーザーではありません)私は特に必要に応じてそれを行いましたが、私はあなたのコンピュータをXNUMX秒速く起動する人の一人であることを認めなければなりません。
第3回: この手順は一般ユーザー向けではないため、読者はGNU / Linuxについてある程度の知識があり、詳細情報を探すのに怠惰になることはないと思います。
「/」のファイルシステムを変更する手順
やむを得ず、または退屈でファイルシステムを変更する場合は、次の手順に従います。
1.- 新しいファイルシステムが機能するためには、それを管理するのに役立つツールが必要であることは明らかです。したがって、これが最初に行うことです。 ちなみに私が選んだファイルシステムは xfs、だから私はインストールしなければなりませんでした 「Xfsprogs」 y 「Xfsdump」。 使用したいファイルシステムに応じて、好きなものをインストールします。
2.- livecd / usbから起動し、ルートパーティションの内容全体を別のパーティションまたはディスクにコピーします。 選択する方法は重要ではありませんが、特別な権限を持つファイルやディレクトリが見つからないように、root権限でそれを行うことが重要です。
3.- 「/」が適切なファイルシステムで適切にフォーマットされているステップ。 多くの方法があります、あなたが最も好きなものを選んでください。
4.- ルートパーティションから作成したコピーは、新しくフォーマットされたパーティションに復元されます。
5.- それは、ユーザーが自分の役割を果たし始めなければならない瞬間です。 パーティションをフォーマットすると、オペレーティングシステムが使用する識別子が変更され、マウントするパーティションがわかります。 これは\それ\彼です UUID、そしてそのコードを知る必要があります。
複数の方法がありますが、たとえば「Gparted」では、新しいパーティション「/」を右クリックして「情報」をクリックすることでわかります。 そのコードをコピーし、それが/ etc / fstabファイルを編集するときです。
UUID = 36f3ce91-5138-4293-8571-b5b43f6b4646 / xfs defaults、noatime、discard、nobarrier
これは、私の新しいルートパーティションに対応する行を示す例です。 の右側に表示されるコード UUID = 私たちが私たちに置き換えるものです UUID.
もちろん、それが完了したら、パーティションの新しいファイルシステムを指定する必要があります。 xfs 私の場合、または別のファイルシステムの場合はあなたのものと交換してください。 また、新しい取り付けオプションを配置する必要があります。何を配置するかわからない場合は、 「デフォルト」; ノアタイム 書き込みを減らすことでパフォーマンスを向上させ、 捨てます ssdディスクへの書き込みを減らし、寿命を延ばします。
6.- これは本当にクソが始まるところです、そしてそれは私が立ち往生したところです。 それほど難しいことではありませんが、現時点ではほとんどドキュメントがありません。
オペレーティングシステムを正しく起動するには、Grubメニューを再構築する必要があります。 手作業で行う方法がわかりません。私と同じように試すことができます(UUIDの変更など)が、通常は、OSの起動が快適で希望に満ちた「緊急シェル」で停止します。
幸い、grub2がツールを所有しています 「Grub2-mkconfig」 これは、実行中のシステムの特性を参照して、このタスクを自動的に実行します。 問題は、それが実行されているシステムがターゲットシステムではなく、ターゲットシステムが一時的にサービスを停止している場所を確認することです。
したがって、私たちはする必要があります chroot 一連の特別なパーティションをマウントしてこのツールを実行します。これがないと機能しません。 これを行う手順は、ほとんどすべての場所で十分に説明されていません(これは、彼らがそれを行う方法を知らないという意味ではありませんが、彼らは私たちがコンピューターのスーパークラックだと思っているという意味です)
幸いなことにここに: http://askubuntu.com/questions/28099/ho … ll-kernels 私は主題についての陽気な説明を見つけました、それを要約して翻訳し続けます:
- /および/ devをマウントします。
mount / dev / sda1 / mnt mount --bind / dev / mnt / dev
「sda1」でない場合、「sda1」はルートパーティションに対応するものに置き換えられます。
- マウント/ブートおよび/ブート/efi。EFIパーティションがある場合は後者。
マウント/開発/ sda2 / mnt /ブート
「sda2」が「sda2」でない場合は、ブートパーティションに対応するものに置き換えられます。
efiアセンブリは上記のリンクには含まれていません。これは私のものですが、この場合は必要でした。 EFIパーティションがない場合は、これを無視してください。
マウント/開発/ sda3 / mnt /ブート/ efi
「sda3」が「sda3」でない場合は、ブートパーティションに対応するものに置き換えられます。
- Chrootと他のいくつかのこと、実際に私がそれらのことについて知っている唯一のことは、それらが必要であるということです:
chroot / mnt mount -t proc none / proc mount -t sysfs none / sys mount -t devpts none / dev / pts export HOME = / root export LC_ALL = C
これは私の追加です。後でXNUMXつのことが必要になる場合があります。
マウント-ttmpfs tmpfs / run
7.- grub2-mkconfig
まあ、それはほとんどスターの瞬間です。 ブートパーティション内で「grub.cfg」というファイルを探す必要があります。 私の場合、そのパスは/boot/efi/EFI/fedora/grub.cfgです。
それを見つけたら、chroot環境で実行します。
grub2-mkconfig -o /path/a/grub.cfg
そしてついにグラブメニューの準備が整いました。
8.- initramfsを再生成します。
このステップは必要だと思いますが、厳密にはわかりません。 ただし、必要なカーネルを再インストールするか、実行するだけで十分です。
dracut --force / path / to / file / initramfs / that / we / want / to replace
たとえば、次の
dracut --force /boot/initramfs-3.15.9-200.fc20.x86_64.img
もちろん、これはすべてchroot環境内で行われます。 (そうでない場合は、出口ボックスに戻ります。...«緊急シェル»に戻ります)
PS:カーネルを再インストールしたい場合に備えて、chroot環境でインターネットにアクセスする方法を忘れました。 上記のリンクは非常によく説明しています。新しいターミナルを開いて、これらのファイルをコピーする必要があります。
cp / mnt / etc / hosts /mnt/etc/hosts.old cp / etc / hosts / mnt / etc / hosts cp /etc/resolv.conf /mnt/etc/resolv.conf
9.- インターネットアクセスを取得する:
次のファイルをグラフィカルに、またはコンソール経由でコピーする必要があります。後者の場合、chroot環境の外部にあります。 これは、別の端末から実行するか、chroot環境を終了してから再入力することで実行できます。
cp / mnt / etc / hosts /mnt/etc/hosts.old cp / etc / hosts / mnt / etc / hosts cp /etc/resolv.conf /mnt/etc/resolv.conf
10.- カーネルを再インストールします。
パッケージマネージャーを使用して、chroot環境内にカーネルを再インストールします
11.- AARのリセット:: DD
私の場合のように、SELinuxを使用したディストリビューションの場合、このポイントは「通常の」ディストリビューションの終わりになるはずです。少し時間がかかりました。
開始が終了し、グラフィカルシステムを開始しようとしたにもかかわらず、開始しませんでした。ユーザーまたはrootとしてログインしようとすると、「許可が拒否されました」と表示されます。
私はそれについて何かを読みました、そしてある人によると問題はselinuxである可能性があり、彼は次のようにgrub.cfgのブート行の最後にselinux = 0を置くことを提案しました:
menuentry'Fedora、Linux 3.15.9-200.fc20.x86_64 '--class fedora --class gnu-linux --class gnu --class os --unrestricted $ menuentry_id_option' gnulinux-3.15.9-200..fc20 .x86_64-advanced-36f3ce91-5138-4293-8571-b5b43f6b4646 '{load_video set gfxpayload = keep insmod gzio insmod part_gpt insmod ext2 set root =' hd1、gpt2'if [x $ feature_platform_search_hint = xy]; 次に、検索--no-floppy --fs-uuid --set = root --hint-bios = hd1、gpt2 --hint-efi = hd1、gpt2 --hint-baremetal = ahci1、gpt2 1cd04509-ab7c-4074- 8bab-e170c29fe08e else search --no-floppy --fs-uuid --set = root 1cd04509-ab7c-4074-8bab-e170c29fe08e fi linuxefi /vmlinuz-3.15.9-200.fc20.x86_64 root = UUID = 36f3ce91-5138 -4293-8571-b5b43f6b4646 ro rd.md = 0 rd.lvm = 0 rd.dm = 0 vconsole.keymap = en rd.luks = 0 vconsole.font = latarcyrheb-sun16 rhgb quiet selinux = 0 initrdefi / initramfs-3.15.9。 200-20.fc86.x64_XNUMX.img
右端の最後からXNUMX番目の線を見てください。
直接はしませんでしたが、grubメニュー自体のブートエントリを編集しただけなので、一時的な変更でした。grubメニューで「c」または「e」を押すことで行ったと思います。それ。場所。
それを実行して再起動するか、起動を続行します。
12.- トンネルの終わりの光。
前のステップで直接できなかった場合、通常のデスクトップにアクセスできるのはこの最後からXNUMX番目のステップです。 私たちの偉業への乾杯ですが、そうです SELinuxの 失敗しました、まだ終わっていません
grub.cfgを再編集して「selinux = 0」を削除するか、grubメニューのエントリを編集した場合は通常どおり再起動する必要があります。 実際には、SELinuxをアクティブにして再起動します。
次に、開始の最後に、ポリシーのラベルを変更する必要がある何かが出てきます SELinuxターゲット、そのままにしておくと、終了すると再起動します。
システムが起動し、通常のデスクトップが表示され、SELinuxがアクティブ化され、ファイルシステムが変更され、すべての完全に機能するプログラムが表示されます。
これでマニュアルは終わりです。お役に立てば幸いです。
ACTUALIZACIÓN: 初めてこれを行ったときは、何もわからず、initramfsを再生成する手順を実行してから、カーネルを再インストールしましたが、すべて非常に面倒で、最終的にはほとんど理由がわからずに機能し、両方のオプションを同等に指定しました。良いですが、initramfsの再生成は機能せず、私はそれを取り消しました。 動作する唯一のことは、カーネルを再インストールすることです(Fedoraのカーネルとカーネルコアパッケージが疑われます)。したがって、マニュアルを変更しました。
また、/ homeパーティションのファイルシステムのフォーマットを変更するために同じ手順が必要であるということも追加したいと思います。selinuxが必要かどうかはわかりませんが、selinuxで機能しない場合は、一時的に削除されます。
から撮影した注目の画像 ここで.
btrfsは成熟するまでに数年かかり、失敗した場合でもデータを失うことなく恐怖から回復するためのツールがあるように思われます... ext4はまだ投稿されています。
chrootでの処理に関して、gentooガイドでは次のように説明しています。
https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Base/es
また、dracutを使用してinitramfsを生成します。これは、grub2が/ bootの/ dev / md2パーティションを見つけることができないgrub0用のmdadmモジュールが必要なためです。
彼らは私に新しい120GSSDディスクをくれましたが、私はそれを使うのを嫌がります。それは非常に新しく、あまり成熟した技術ではありません。SSDのセルが破損するたびにシステムを再インストールしたくありません。
1年1月に、RAID2012でそれぞれ3TのXNUMXつのディスクに最初からインストールしました...私の生殖細胞はもうすぐXNUMXになります... hehe
#genlop -t gentoo-sources | head -n3
* sys-kernel / gentoo-ソース
11年23月39日水曜日02:2012:3.3.1 >>> sys-kernel / gentoo-sources-XNUMX
これは、最初のramディスクを作成し、それにブートスプラッシュグラフィックテーマを追加するために使用する手順です。
grub2入力を再生成します。
#マウント/ブート
#dracut –hostonly»3.19.3-gentoo –force
#splash_geninitramfs –verbose –res1920×1080–append /boot/initramfs-3.19.3-gentoo.imgemerge-world
#grub-mkconfig -o /boot/grub/grub.cfg
btrfsでの経験を共有していただきありがとうございます。
なんて友達のElav、素晴らしいブログ投稿、そしてフォーラムの同志「SuperYO」に感謝します。 真実は、このようなことが私にはまったく起こらなかったということですが、このようなメガチュートリアルを持っていても害はありません。
個人的には、BTRFSが未成熟であるとはまったく感じていません。XFSは使用していません。CentOS7がそれをもたらすことは知っていますが、今日まで、新しいサーバーをマウントする必要がなかったため、現時点では表示されません。それを見るのは面白いです。 OpenSUSEではBTRFSを使用していますが、SSDディスクでもまったく問題はありません。 私が世界でできるようになるのにコストがかかったとしたら、UnixのSSDキャッシュディスクは本当に大きな問題でした。Intelのドキュメントは非常に不明瞭で複雑だと思います。 実際、私はフォーラムや他の場所でトピックを開いていますが、どうやら誰もそのトピックに出くわしたことがないようです。ラップトップが他の目的で持ってくるSSDキャッシュディスクをそのままにして、突然、SWAPとして配置します。システム速度を変更します。
おそらく、Unixの既存のファイルシステムタイプに関するエントリは壮観であり、それぞれの利点がありますが、セキュリティについて多くのことが言われているので、SELinuxに関しては別のエントリも良いでしょうが、私は読んだインターネットや「SELinux = Disabled」をどこに置いても、「スコープ」でのみプログラムを許可するためのヒントを提供します。
今、私はもう行きません。
入力とご挨拶をありがとう。
ヒントをありがとう、男、しかしbtrfsのすべての特性は、Linuxでそれを使用するにはモジュールをカーネルで上げる必要があるというzfsを持っていますが、freebsdではデフォルトで提供され、単一の問題は発生しません、私はそれをお勧めします、 btrfsはまだ多くの「小さな問題」を抱えているので、いわば。
今日は私ですか、それとも非常にスペイン語のアクセントのあるelavに気づきますか。
私も気づきました。 誰がその理由を知っているでしょう。
ハハハハ..記事は私のものではないということです..最初の段落ハハハを読んでいないと私に言わないでください。
あなたがそれについて言及した今...いいえ。私も気づいていません。
こんにちは。 フォーラムのエントリを見ると、ポイント8が無効であるために取り消し線が引かれていることがわかります。カーネルを再インストールするだけで、編集時にそのように配置します😛
何が起こったのかというと、初めてこれをしたとき、自分が何をしているのかよくわからず、すべてを試したので混乱しました😛
そして私は続けます、何が起こるかは私の前のコメントがまだ投稿されていないということです😛
そのため、ウェブ上で何も消すことができない場合、彼はポイント8を削除してスタッフを混乱させることになります。 とにかく、initramfsを再生成することによって発生する可能性のある最悪の事態は、私が得たものです。まったく何も起こらず、良いことも悪いこともありません。これもそれほど深刻ではありませんが、役に立たないステップです。
あなたが共有した良い記事、あなたの経験を通して私はいくつかの新しいことを学びました😉
目標を達成するために感じた勝利の感覚が、挫折をはるかに上回っていたことは間違いありません。 😉
オープンソースは非常にフェミニンです。熱心な人向けではありません。
その魅力を深めるために注意、情熱、そして忍耐を捧げれば、それは私たちに最高のものを与えてくれます。
同僚のsuperYOが得点したなんて良い投稿でしょう。 これはいいね。
なぜext4の代わりにXFS ??
🙂
Ext4は、彼らが言うと古くなってきています...そして大きなデータをより良いxfsに書き込むために。
投稿の作者について私は、ジャーナルのbtrfsが/パーティションを埋めるのを見たことがありません
それは私が信じているPCの冬のせいで、私には起こったことがないからだと思います。 私がsamsungpro ssdで使用しているディストリビューションで、それは私には起こりませんでした。
中規模または大規模のパーティションでは目立たないものですが、20GBのBTRFSパーティションでは、実際にはルートパーティションを実際にはほぼ半分の空き領域で埋めることができます。
そして、それは彼が抱えていた唯一の問題ではありませんでした。 読み取りに関しては、ディスクは多かれ少なかれ正しいものでしたが、ssdディスクと通常のハードディスクのインストールと更新は非常に遅く、大きな迷惑でした。
私がラップトップに持っているハイブリッドユニットのせいにします。なぜなら、私がbtrfsをインストールしたFedoraを持っている他の場所では、私が言ったようにハイブリッドユニットを持っている私のメインコンピュータを除いて、問題はなく、高速でうまく動作するからです。 XFSを備えた両方のパーティションを使用すると、このコンピューターの動作が大幅に向上します。
いつからその10分 DesdeLinux?、そこにあることにほとんど気づきませんo_o
少し前😀
変だと思いますが、ずっと研究していたので、元気が出たくなかったので怠け者でした。 情報をありがとう、私は/ホームをxfsに、/をbtfrsに渡したい
記事をありがとう、非常に興味深い。
コンテンツからの批判:
他の投稿でも触れましたが、このようなコラボレーティブなブログでは、あらゆる人が参加しているので、投稿のヘッダーに入れたような画像を入れてはいけないと思います。 ビキニの女の子が出てきたからではなく、(確かに意図せずに)性差別的に使われているからです。
裸でも女の子やビキニの女の子が出てくると誰も批判していません。 それが理にかなっていて、誰かが体とインターネット、またはセクシュアリティとインターネットまたはそのようなものについて投稿したいのであれば...それは素晴らしいことです。
見た目は良さそうですが...なぜカーネルを再インストールする必要があるのですか? わかりません。
真実は、Archを数回インストールした後、ショットがどこに行くのかをすでに考えていたのですが、Archを搭載した新しいPCとext1でフォーマットされたssdを使用していて、移動することを考えていますPhoronixでいくつかのパフォーマンステストを見た後、パフォーマンスが優れているかどうかはあまり明確ではなく、Arch Wikiでも、パフォーマンスを最適化するためにできることすべてをすでにいじっているので、私も確信していません。