Як змінити файлову систему з "/" і не вмирати, намагаючись

Ще один чудовий підручник знайдено в розділі Підручники нашого форуму, з боку Супер мене

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

Як дізнатися, скільки місця займає ваша файлова система за допомогою btrfs

У кого є файлова система btrfs Ви зможете дізнатися, скільки додаткового місця займають ваші дані, набравши в консолі (як я вважаю root):

файлова система btrfs show /

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

У великій перегородці це додаткове заповнення не становить великої проблеми, оскільки це дуже мало місця в порівнянні із загальним обсягом. Але в моєму випадку, де / має 22 Гб (він займає кеш-пам’ять ssd), мій жорсткий диск заповнився 8 ГБ вільно, порушуючи бази даних об / хв і тим самим відключаючи менеджер пакетів. Тож я був змушений форматувати за допомогою іншої файлової системи.

Але я не хотів перевстановлювати. Очевидно, що дані в / 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, відкинути, nobarrier

Це приклад, що показує рядок, який відповідає моєму абсолютно новому кореневому розділу. Код, який відображається праворуч від UUID = це те, що ми замінимо на наше UUID.

Щойно ми це зробимо, звичайно, ми повинні вказати нову файлову систему нашого розділу, xfs у моєму випадку або замініть його на вашу у випадку з іншою файловою системою. Вам також доведеться поставити нові варіанти кріплення: Якщо ви не знаєте, що поставити, поставте "За замовчуванням"; вночі збільшує продуктивність за рахунок зменшення кількості записів, відкидати зменшує кількість записів на ssd-диски, збільшуючи їх довговічність.

6. - Тут починається справді блядь, і тут я застряг. Це насправді не так складно, але документації з цього моменту майже немає.

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

На щастя, інструментом володіє grub2 "Grub2-mkconfig" що автоматично виконує це завдання, беручи за посилання характеристики системи, де вона працює. Проблема полягає в тому, що, подивіться де, система, де вона працює, не є цільовою системою, і остання тимчасово не працює.

Тому нам потрібно це робити chroot і встановіть серію спеціальних розділів для запуску цього інструменту, без яких він не буде працювати. Процедура для цього погано пояснена майже у всіх місцях (що не означає, що вони не знають, як це зробити, але те, що вони думають, що ми є надрукуванням обчислень)

На щастя тут: http://askubuntu.com/questions/28099/ho … ll-kernels Я знайшов веселе пояснення про цю тему, яке узагальнитиму і перекладу:

  1. Кріплення / та / dev:
mount / dev / sda1 / mnt mount --bind / dev / mnt / dev

Де "sda1" замінено на відповідний кореневому розділу, якщо це не "sda1"

  1. Mount / boot та / boot / efi, останнє, якби ми мали розділ EFI.
mount / dev / sda2 / mnt / boot

Де "sda2" замінюється на той, що відповідає завантажувальному розділу, якщо це не "sda2"

Збірка efi не міститься у посиланні вище, це моя річ, але в цьому випадку мені це було потрібно. Якщо у вас немає розділу EFI, проігноруйте це.

mount / 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 / run

7. - grub2-mkconfig

Ну, це майже зірковий момент. Ми повинні шукати файл, який називається "grub.cfg", всередині завантажувального розділу. У моєму випадку його шлях /boot/efi/EFI/fedora/grub.cfg

Знайшовши, ми запускаємо в середовищі chroot:

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

І нарешті, у нас є готове меню.

Цей пункт, на думку його автора, не слід брати до уваги. Перейти прямо до точки 9

8. - Відновіть інітрамфи.

Цей крок я вважаю необхідним, але я не впевнений у цьому. Однак досить перевстановити ядро, яке ми хочемо, або виконати:

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

menuentry 'Fedora, з Linux 3.15.9-200.fc20.x86_64' --class fedora --class gnu-linux --class gnu --class os --необмежений $ menuentry_id_option 'gnulinux-3.15.9-200..fc20 .x86_64-advanced-36f3ce91-5138-4293-8571-b5b43f6b4646 '{load_video set gfxpayload = тримати 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 пошук ще --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 тихий 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.   Anonimo - сказав він

    Мені здається, що btrfs знаходиться за пару років до дозрівання, і коли він не вдається, є інструменти для відновлення від страху, не втрачаючи даних ... ext4 все ще є повідомленням.
    Що стосується роботи з chroot, у керівництві gentoo ви дуже добре пояснили:
    https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Base/es

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

    Мені дали новий диск SSD 120G, але я не хотів ним користуватися, це дуже нова і не дуже зріла технологія, я не хочу займатися переінсталяцією системи щоразу, коли комірка в SSD пошкоджена.

    Я встановив з нуля в рейді 1 два диски по 1 т, ще у квітні 2012 року ... моєму гентоциту ось-ось буде 3 роки ... хе-хе

    # genlop -t gentoo-джерела | head -n3
    * sys-ядро / gentoo-джерела
    Ср 11 квітня 23:39:02 2012 >>> sys-kernel / gentoo-sources-3.3.1

    Це процедура, яку я використовую для створення початкового оперативного диска, додаю до нього графічну тему bootsplash
    та регенерувати входи grub2.

    # кріплення / завантаження
    # dracut - чудово »3.19.3-gentoo - сила
    # 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.   Іван Барра - сказав він

    Який друг Елав, чудова публікація в блозі та подяка товаришу "SuperYO" з форуму. Правда в тому, що щось подібне зі мною ніколи не траплялося, зовсім не, але ніколи не заважає мати такий мега-підручник, як цей.

    Особисто я взагалі не вважаю BTRFS незрілим, XFS я ним не користувався, я знаю, що CentOS 7 приносить його, але до сьогоднішнього дня мені не доводилося монтувати на ньому новий сервер, тому на даний момент я не бачу настільки смішним на нього дивитися. У OpenSUSE я використовую BTRFS, але це взагалі не створювало мені проблем, навіть на SSD-дисках. Що, якби мені це коштувало світу - це SSD-кеш-диск в Unix, це справді було величезною проблемою, документація Intel вважає мене дуже незрозумілою та складною. насправді у мене тема відкрита на форумі та в інших місцях, але, мабуть, ніхто не стикався з цією темою, інакше, вони просто залишають SSD-кеш-диски, які ноутбуки приносять для чогось іншого, раптом вони ставлять їх як SWAP, щоб не змінити швидкість системи, хто її знає.

    Можливо, запис щодо існуючих типів файлової системи в Unix був би вражаючим, і виклав би переваги кожного з них, я не знаю, інший також був би непоганим щодо SELinux, оскільки стільки говориться про безпеку, але я прочитав підручник в Інтернеті і скрізь вони ставлять "SELinux = Disabled", лише в "scope" вони дають поради, як дозволити програми через нього.

    Зараз я більше не продовжую.

    Дякуємо за вступ та привітання.

  3.   грішник - сказав він

    Дякую за підказку, але, zfs має всі характеристики btrfs, що для використання його в linux модуль повинен бути піднятий в ядрі, але у freebsd він поставляється за замовчуванням і не дає жодної проблеми, я рекомендую це, оскільки btrfs все ще має багато "маленьких проблем", так би мовити.

  4.   Азазель - сказав він

    Це я чи помічаю сьогодні elav з дуже іспанським акцентом.

    1.    Гіскард - сказав він

      Я це теж помітив. Хто знатиме причину цього.

    2.    елав - сказав він

      Ха-ха-ха-ха .. це те, що стаття не моя .. не кажи мені, що ти не читав перший абзац ха-ха-ха.

      1.    Азазель - сказав він

        Тепер, коли ви це згадали ... Ні. Я навіть не помічаю.

  5.   Супер йо - сказав він

    Привіт. Якщо ви побачите запис на форумі, ви побачите, що пункт 8 закреслено, оскільки він не є дійсним, то що вам потрібно зробити, це перевстановити ядро, і я так сказав, коли редагував його 😛

    Що трапляється, коли я робив це вперше, я не дуже добре знав, що роблю, і все пробував, тому заплутався 😛

  6.   Супер йо - сказав він

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

    Ось чому, якщо нічого не можна викреслити в Інтернеті, було б видалити пункт 8, щоб заплутати персонал. У будь-якому випадку, найгірше, що може статися при регенерації initramfs - це те, що я отримав: абсолютно нічого не відбувається, ні доброго, ні поганого, що теж не так серйозно, але це марний крок.

    1.    Хьюго - сказав він

      Гарна стаття, якою ви поділилися, завдяки своєму досвіду я дізнався кілька нових речей 😉
      Б'юся об заклад, все, що відчуття перемоги, яке ви відчували у досягненні своєї мети, значно переважало невдачі. 😉

  7.   Маріо Даннан - сказав він

    Відкритий код дуже жіночний: він не для бажаючих.
    Якщо хтось приділяє увагу, пристрасть і терпіння, щоб поглибити його принади, це дає нам найкраще від себе.

  8.   Вейланд-Ютані - сказав він

    Який хороший пост забив колега superYO. Це добре.

  9.   Джамін-Самуїл - сказав він

    Чому XFS замість ext4 ??

    🙂

    1.    брутальний - сказав він

      Ext4 старіє, коли кажуть ... і для написання великих даних краще xfs.

      Про автора допису я ніколи не бачив, щоб журнальний btrfs заповнював / розділ
      Цікаво, що я думаю, що це тому, що ти зимуєш на комп’ютері, я думаю, бо цього у мене ніколи не було! з дистрибутивами, які я використовую з samsung pro ssd, і які ніколи не траплялися зі мною.

      1.    Супер йо - сказав він

        Це не те, що помітно на середніх або великих розділах, але на розділі BTRFS розміром 20 ГБ ви можете фактично заповнити кореневий розділ фактично майже половиною вільного місця.

        І це була не єдина проблема, яку він мав. Що стосується читання, диск був більш-менш коректним, але інсталяція та оновлення були дуже повільними для ssd-диска та звичайного жорсткого диска, що було основною неприємністю.

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

  10.   Дерпі - сказав він

    З якого часу це 10 хвилин с DesdeLinux?, я ледве усвідомлюю, що це там o_o

    1.    елав - сказав він

      Деякий час тому 😀

  11.   Плитка - сказав він

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

  12.   монах - сказав він

    Дякую за статтю, дуже цікаво.

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

    Ніхто не критикує, що дівчина чи дівчина в бікіні виходять, навіть голі. Якщо це має сенс, і хтось хоче написати допис про тіла та Інтернет, сексуальність та Інтернет чи щось подібне ... це чудово.

  13.   Жоржиціо - сказав він

    Це виглядає добре, але ... Чому доводиться перевстановлювати ядро? Я не розумію.

  14.   Зжауме - сказав він

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