Как изменить файловую систему с "/" и не умереть, пытаясь

Еще один отличный урок, который найдено в разделе "Учебники" нашего Форума, из рук Супер меня

Вчера я на собственном горьком опыте обнаружил один из "Особенности" файловая система Btrfs. По причинам, о работе которых я не знаю, Btrfs имеет тенденцию заполнять диск больше, чем то, что нравится командам dd или индикаторы заполнения диска обычных файловых менеджеров.

Как узнать, сколько места занимает ваша файловая система с помощью btrfs

У кого есть файловая система с Btrfs Вы сможете узнать, сколько дополнительного места занимают ваши данные, набрав в консоли (я думаю, как root):

файловая система btrfs показывает /

(Замените / другой точкой монтирования, если вы хотите знать, какое пространство занято в другом разделе btrfs)

В большой перегородке такое дополнительное заполнение не представляет большой проблемы, так как это очень мало места по сравнению с общим. Но в моем случае, когда / имеет 22 ГБ (он занимает кеш ssd), мой жесткий диск заполнился 8 ГБ свободными, что нарушило базы данных rpm и, таким образом, отключило диспетчер пакетов. Поэтому я был вынужден выполнить форматирование в другой файловой системе.

Но переустанавливать не хотелось. Ясно, что данные из / home можно легко сохранить, но в нем установлено много программ и много настроек, которые также находятся там, поэтому я решил просто сохранить установку, но изменить файловую систему.

Причина, по которой я пишу это, заключается в том, что я не нашел никакой документации о том, как действовать в этих случаях. Думаю, большинство людей соглашаются на переустановку.

Мне пришлось потратить около 7 часов на поиск и поиск информации в руководствах на английском языке, которые на самом деле имели отношение к другим вещам и интуитивному составлению частей; все время методом проб и ошибок, десятки раз перезагружаясь, чтобы убедиться, что все, что я пробовал, терпит неудачу одна за другой. Когда процесс на самом деле был бы не таким уж большим, если бы ему было посвящено руководство.

Соображения, которые необходимо принять во внимание при изменении файловой системы "/"

Первый: Я выполнил эту процедуру на Fedora. Я думаю, это то же самое для всех дистрибутивов, которые в основном используют в качестве загрузчика GRUB2.

Вторая: Этот процесс трудный для обычного пользователя (те, кто читают это и думают, что это чушь собачья, знают, что вы не обычный пользователь). Обычно у людей есть дела поважнее, чем изменение файловой системы корневого раздела. Если вы не знаете, как следовать этому руководству, вы рискуете потерять свою установку, и если вам удастся выполнить ее, вы обнаружите, что изменение производительности не так впечатляюще (ну, для некоторых это так, но вы не обычные пользователи) Я специально сделал это по необходимости , хотя должен признать, что я один из тех, кто поставил свой компьютер на секунду быстрее.

Третье: Поскольку эта процедура не предназначена для обычных пользователей, я предполагаю, что читатель имеет некоторые знания о GNU / Linux и не поленился поискать дополнительную информацию.

Процедура изменения файловой системы "/"

Если вы хотите изменить файловую систему по необходимости или от скуки, вот процедура:

1.- Очевидно, что для того, чтобы наша новая файловая система работала, нам нужны инструменты, которые помогут нам управлять ею, поэтому это первое, что мы сделаем. Между прочим, я выбрал файловую систему XFS, поэтому мне пришлось установить "Xfsprogs" y "Xfsdump". Вы установите все, что захотите, в зависимости от файловой системы, которую хотите использовать.

2.- Загрузитесь с livecd / usb и скопируйте все содержимое корневого раздела на другой раздел или диск. Выбранный вами метод не имеет значения, но дело в том, чтобы делать это с правами root, чтобы не находить файлы или каталоги со специальными разрешениями.

3.- Шаг, на котором "/" правильно отформатирован в файловой системе, которую мы предпочитаем. Способов много, выбирайте тот, который вам больше всего нравится.

4.- Созданная нами копия корневого раздела восстанавливается на вновь отформатированный раздел.

5.- Это момент, когда пользователь должен начать делать свою часть работы. Форматирование раздела изменяет идентификатор, который операционная система использует, чтобы узнать, какой раздел монтировать. Это \ It \ он UUID, и нам нужно знать этот код.

Есть несколько методов, но, например, в «Gparted» мы узнаем об этом, щелкнув правой кнопкой мыши новый раздел «/» и выбрав «Информация». Мы копируем этот код, и тогда мы собираемся редактировать файл / etc / fstab:

UUID = 36f3ce91-5138-4293-8571-b5b43f6b4646 / xfs по умолчанию, noatime, discard, nobarrier

Это пример, показывающий строку, соответствующую моему новому корневому разделу. Код, который появляется справа от UUID = это то, что мы заменим нашим UUID.

Как только мы это сделаем, мы, конечно, должны указать новую файловую систему нашего раздела, XFS в моем случае или замените его своим в случае другой файловой системы. Еще нужно поставить новые варианты крепления: Если не знаете, что ставить, ставьте "По умолчанию"; нет времени увеличивает производительность за счет уменьшения количества операций записи, отбрасывать уменьшает запись на ssd диски, увеличивая их долговечность.

6.- Вот где начинается настоящая ебля, и вот где я застрял. Это не так уж и сложно, но с этого момента документации почти нет.

Нам нужно перестроить меню Grub, чтобы оно правильно запускало операционную систему. Я бы не знал, как это сделать вручную, вы можете попробовать, как я (изменил UUID и т. Д.), Но нормальным будет то, что запуск ОС останавливается в приятной и обнадеживающей «аварийной оболочке».

К счастью, инструмент принадлежит grub2. "Grub2-mkconfig" который автоматически выполняет эту задачу, принимая в качестве эталона характеристики системы, в которой он работает. Проблема в том, посмотрите где, система, в которой она работает, не является целевой системой, и последняя временно не работает.

Итак, нам нужно сделать корневой и смонтировать ряд специальных разделов для запуска этого инструмента, без которых он не будет работать. Процедура, как это сделать, плохо объяснена почти во всех местах (что не означает, что они не знают, как это делать, но что они думают, что мы - супер-компьютерные трещины)

К счастью здесь: http://askubuntu.com/questions/28099/ho … ll-kernels Я нашел забавное объяснение по этому поводу, которое я обобщу и переведу:

  1. Смонтировать / и / dev:
монтировать / dev / sda1 / mnt mount --bind / dev / mnt / dev

Где "sda1" заменяется на тот, который соответствует корневому разделу, если это не "sda1"

  1. Смонтируйте / boot и / boot / efi, последнее, если у нас был раздел EFI.
смонтировать / dev / sda2 / mnt / boot

Где "sda2" заменяется на тот, который соответствует загрузочному разделу, если это не "sda2"

Сборка efi не идет по ссылке выше, это моя вещь, но в данном случае она мне понадобилась. Если у вас нет раздела EFI, игнорируйте это.

смонтировать / dev / sda3 / mnt / boot / efi

Где "sda3" заменяется на тот, который соответствует загрузочному разделу, если это не "sda3"

  1. 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

Это мое дополнение, оно может понадобиться позже для одного:

монтировать -t tmpfs tmpfs / запустить

7.- grub2-mkconfig

Что ж, это почти звездный момент. Мы должны найти файл с именем "grub.cfg" внутри загрузочного раздела. В моем случае его путь /boot/efi/EFI/fedora/grub.cfg

Когда мы его нашли, запускаем в среде chroot:

grub2-mkconfig -o /path/a/grub.cfg

И, наконец, у нас готово меню личинок.

Этот момент, по мнению его автора, не стоит принимать во внимание. Перейти прямо к пункту 9

8.- Восстановите initramfs.

Я считаю, что этот шаг необходим, но не совсем уверен. Однако достаточно переустановить то ядро, которое мы хотим, или выполнить:

dracut --force / путь / к / файлу / initramfs / который / мы / хотим / заменить

Например:

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, и он предложил поместить selinux = 0 в конец строки загрузки в grub.cfg, например:

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

Посмотрите на предпоследнюю строчку справа.

Я не делал этого напрямую, а просто отредактировал загрузочную запись в самом меню grub, так что это была временная модификация, я думаю, это было сделано нажатием «c» или «e», в меню grub вы можете это сделать. места.

Что ж, мы делаем это и перезагружаемся, или продолжаем загрузку.

12.- Свет в конце туннеля.

Если мы не смогли напрямую выполнить предыдущий шаг, то именно на этом предпоследнем шаге мы можем получить доступ к нашему обычному рабочему столу. Тост за наш великий подвиг, но да SELinux облажался, мы еще не закончили.

Мы должны повторно отредактировать grub.cfg, чтобы удалить "selinux = 0" или просто перезагрузиться в обычном режиме, если то, что мы сделали, было отредактированием записи в меню grub. Дело в том, что мы перезагружаемся с активированным SELinux.

Затем, в конце старта, выходит что-то, что должно переименовать политику SELinux нацелен, мы оставляем его в покое, и по завершении он перезапускается.

Мы увидим, что наша система запустится, показывая наш обычный рабочий стол, с активированным SELinux, нашей файловой системой и всеми нашими полностью функциональными программами.

Это конец руководства, надеюсь, он вам поможет широкая улыбка

UPDATE: Когда я сделал это в первый раз, я понятия не имел, и я сделал шаг по регенерации initramfs, а затем я переустановил ядро, и все это было очень беспорядочно, и в конце концов оно сработало почти не зная почему, и я дал оба варианта одинаково хорошо, но регенерировать initramfs не работает и я вычеркнул его. Единственное, что работает, - это переустановить ядро ​​(я подозреваю, что это пакеты ядра и ядра ядра в Fedora), и поэтому я изменил руководство.

И я также хочу добавить, что для изменения формата файловой системы раздела / home необходимы те же шаги, я не знаю, нужен ли selinux, но если он не работает с selinux, он временно удаляется и все.

Рекомендуемое изображение взято из здесь.


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

  1.   анонимный сказал

    Мне кажется, что до зрелости btrfs еще пара лет, и что когда он выходит из строя, есть инструменты для восстановления после паники без потери данных ... ext4 по-прежнему на высоте.
    Что касается работы с chroot, в руководствах по gentoo вы очень хорошо объяснили:
    https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Base/es

    Я также использую dracut для генерации файлов initramfs, поскольку мне нужен модуль mdadm для grub2, без которого grub2 не может найти раздел / dev / md0 в / boot.

    Мне дали новый SSD-диск 120 ГБ, но я не хочу его использовать, это очень новая и не очень зрелая технология, я не хочу переустанавливать систему каждый раз, когда ячейка в SSD повреждена.

    Я установил с нуля в raid 1 на два диска по 1Т каждый, еще в апреле 2012 года ... моему геноциту скоро исполнится 3 года ... хе-хе

    # genlop -t gentoo-sources | голова -n3
    * sys-kernel / gentoo-sources
    Ср 11 апр, 23:39:02 2012 >>> sys-kernel / gentoo-sources-3.3.1

    Это процедура, которую я использую для создания начального RAM-диска, добавления к нему графической темы bootplash.
    и регенерировать входы grub2.

    # mount / boot
    # dracut –hostonly »3.19.3-gentoo –force
    # splash_geninitramfs –verbose –res 1920 × 1080 –append /boot/initramfs-3.19.3-gentoo.img emerge-world
    # grub-mkconfig -o /boot/grub/grub.cfg

    Спасибо, что поделились своим опытом о btrfs.

  2.   Иван Барра сказал

    Что за друг Elav, отличная запись в блоге и спасибо товарищу "SuperYO" с форума. Правда в том, что ничего подобного со мной никогда не случалось, совсем нет, но никогда не помешает иметь такой мега-учебник.

    Лично я вообще не считаю BTRFS незрелым, XFS я не использовал, я знаю, что CentOS 7 приносит его, но до сегодняшнего дня мне не приходилось монтировать с ним новый сервер, поэтому на данный момент я не вижу смешного взгляда на него. В OpenSUSE я использую BTRFS, но это не дало мне никаких проблем, даже на SSD дисках. Что, если бы мне пришлось потратить целую вечность на создание SSD-кеш-диска в Unix, это действительно была огромная проблема, документацию Intel я считаю очень неясной и сложной. на самом деле у меня есть открытая тема на форуме и в других местах, но видимо никто не сталкивался с этой темой иначе они просто оставляют диски SSD-кеша, которые приносят ноутбуки для чего-то другого, вдруг ставят их как SWAP, чтобы не изменить скорость системы, кто знает.

    Возможно, запись о существующих типах файловых систем в Unix была бы впечатляющей, описывая преимущества каждого из них, я не знаю, другой также был бы хорош в отношении SELinux, поскольку так много говорится о безопасности, но я прочитал учебник в Интернет и везде ставят «SELinux = Disabled», только в «свободном объеме» дают советы, как разрешить программы через него.

    Теперь я больше не продолжаю.

    Спасибо за вклад и приветствия.

  3.   Sinnerman сказал

    Спасибо за подсказку, дружище, но zfs имеет все характеристики btrfs, поэтому для использования в linux модуль должен быть поднят в ядре, но во freebsd он идет по умолчанию и не вызывает ни одной проблемы, я рекомендую его, так как btrfs все еще у него, так сказать, много «мелких проблем».

  4.   Азазель сказал

    Это я или обратите внимание на elav с очень испанским акцентом сегодня.

    1.    Жискар сказал

      Я тоже это заметил. Кто будет знать причину этого.

    2.    Elav сказал

      Хахахаха .. это то, что статья не моя .. не говори мне, что ты не читал первый абзац хахаха.

      1.    Азазель сказал

        Теперь, когда вы упомянули об этом ... Нет. Я даже не замечаю.

  5.   Супер йо сказал

    Привет. Если вы увидите запись на форуме, вы увидите, что пункт 8 перечеркнут, потому что он недействителен, вам нужно переустановить ядро, и я так выразился, когда редактировал его 😛

    Что происходит, так это то, что когда я делал это впервые, я действительно не знал, что делаю, и я пробовал все, поэтому я запутался 😛

  6.   Супер йо сказал

    И я продолжаю, что случилось так, что мой предыдущий комментарий еще не был опубликован 😛

    Поэтому, если в сети ничего нельзя вычеркнуть, то пункт 8 следует удалить, чтобы сбить с толку персонал. В любом случае, худшее, что может случиться при регенерации initramfs, - это то, что я получил: абсолютно ничего не происходит, ни хорошего, ни плохого, что тоже не так серьезно, но это бесполезный шаг.

    1.    Хьюго сказал

      Хорошая статья, которой вы поделились, благодаря своему опыту я узнал кое-что новое 😉
      Готов поспорить на все, что чувство победы, которое вы испытали в достижении своей цели, намного перевесило неудачи. 😉

  7.   Марио Даннан сказал

    Открытый исходный код очень женственный: он не для нетерпеливых.
    Если посвятить внимание, страсть и терпение, чтобы углубить его очарование, он даст нам лучшее из себя.

  8.   Weyland-Yutani сказал

    Какой хороший пост набрал коллега superYO. Это мило.

  9.   Джамин-Самуил сказал

    Почему XFS вместо ext4 ??

    ????

    1.    Брутико сказал

      Ext4 стареет когда говорят ... а для записи больших данных лучше xfs.

      Об авторе поста ни разу не видел, чтобы jurnal btrfs заполняли раздел /
      Интересно, я думаю, это потому, что компьютер зимой, в которую я верю, потому что со мной этого никогда не случалось! с дистрибутивами, которые я использую с ssd samsung pro, и со мной этого никогда не случалось.

      1.    Супер йо сказал

        Это не то, что заметно на средних или больших разделах, но на 20-гигабайтном разделе BTRFS вы можете фактически заполнить корневой раздел почти половиной свободного места.

        И это была не единственная его проблема. С точки зрения чтения, диск был более или менее правильным, но установка и обновления были очень медленными для ssd-диска и обычного жесткого диска, что сильно раздражало.

        Я виню гибридный диск, который у меня есть в ноутбуке, потому что в других местах, где у меня установлена ​​Fedora с btrfs, у меня нет проблем, и он работает быстро и хорошо, за исключением моего основного компьютера, на котором, как я уже сказал, есть гибридный блок. Теперь с обоими разделами с XFS этот компьютер ведет себя намного лучше.

  10.   Дерпи сказал

    С каких это пор это 10 минут с DesdeLinux?, я едва осознаю, что оно там о_о

    1.    Elav сказал

      Некоторое время назад 😀

  11.   Плитка сказал

    Думаю, это будет странно, но я долго это исследовал, так ленился, что не хотелось поднять настроение. Спасибо за информацию, я хочу передать свой / home в xfs и / в btfrs

  12.   монах сказал

    Спасибо за статью, очень интересно.

    Критика содержания:
    Я упоминал об этом в других сообщениях, и я думаю, что в блоге, подобном этому, совместном, в котором участвуют самые разные люди, они не должны позволять себе размещать изображения, подобные тому, который вы поместили в заголовок сообщения. Не потому, что выходит девушка в бикини, а потому, что это используется (вероятно, непреднамеренно) в сексистских целях.

    Никто не критикует, что девушка или девушка в бикини выходит даже голой. Если это имеет смысл, и кто-то хочет написать о телах и Интернете, или сексуальности и Интернете, или что-то в этом роде ... Я думаю, это здорово.

  13.   Джорджио сказал

    Вроде неплохо, но ... Зачем переустанавливать ядро? Я не понимаю.

  14.   Жауме сказал

    Правда в том, что после установки Arch пару раз я уже имел представление о том, куда будут делаться снимки, я был с новым компьютером с Arch в течение 1 месяца и ssd, отформатированным с ext4, я подумываю перейти на btrfs, но Меня это тоже не убеждает, потому что после просмотра некоторых тестов производительности в Phoronix не очень ясно, что производительность лучше, и даже в этом случае с Arch Wiki я уже поиграл со всем, что мог, чтобы оптимизировать производительность