Как да промените файловата система от "/" и да не умрете при опит

Още един отличен урок, който намерени в раздела за уроци на нашия форум, от ръката на Супер мен

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

Как да разберете колко място заема вашата файлова система с btrfs

Който има файлова система с Btrfs Ще можете да разберете колко допълнително място заемат вашите данни, като въведете в конзолата (като корен според мен):

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

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

В голям дял това допълнително пълнене не е голям проблем, тъй като има много малко пространство в сравнение с общото. Но в моя случай, където / има 22 GB (заема ssd кеш), твърдият ми диск се пълни с 8 GB безплатно, разбивайки 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, изхвърляне, 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.- Регенерирайте 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.- RESET 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, променена файловата ни система и всички наши напълно функционални програми.

Това е краят на ръководството, надявам се да ви помогне голяма усмивка

ACTUALIZACIÓN: Когато направих това за първи път, нямах идея и направих стъпката за регенериране на initramfs и след това преинсталирах ядрото и всичко беше много объркано и в крайна сметка работи почти без да знам защо и дадох и двете опции еднакво като добро, но регенерирането на initramfs не работи и аз го зачеркнах. Единственото, което работи, е да преинсталирам ядрото (подозирам, че пакетите на ядрото и ядрото на ядрото във Fedora) и по този начин модифицирах ръководството.

И аз също искам да добавя, че за промяна на формата на файловата система на / домашния дял са необходими същите стъпки, не знам дали е необходим 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.

    Бяха ми дали нов 120G SSD диск, но не съм склонен да го използвам, това е много нова и не много зряла технология, не искам да се занимавам с преинсталиране на системата всеки път, когато клетка в SSD е повредена.

    Инсталирах от нулата в рейд 1 на два диска с по 1T, още през април 2012 г. ... моят гентоцит е на 3 години ... хе

    # genlop -t gentoo-източници | head -n3
    * sys-kernel / gentoo-sources
    Сряда, 11 април 23:39:02 2012 г. >>> sys-kernel / gentoo-sources-3.3.1

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

    # монтиране / зареждане
    # 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.   Иван Бара каза той

    Какъв приятел Елав, страхотно влизане в блога и благодарности на другаря "SuperYO" от форума. Истината е, че нещо подобно никога не ми се е случвало, изобщо, но никога не пречи да има мега урок като този.

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

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

    Сега не продължавам повече.

    Благодаря за приноса и Поздрави.

  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.

      Относно автора на публикацията Никога не съм виждал jurnal btrfs да запълва / дяла
      Чудя се, че мисля, че е така, защото компютърът зимува, аз вярвам, защото никога не ми се е случвало! с дистрибуциите, които използвам със samsung pro ssd и това никога не ми се е случвало.

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

        Това не е нещо, което се забелязва на средни или големи дялове, но на 20GB BTRFS дял можете всъщност да запълните основния дял с почти половината свободно пространство всъщност.

        И това не беше единственият проблем, който имаше. По отношение на четенето, дискът беше повече или по-малко правилен, но инсталациите и актуализациите бяха много бавни за ssd диск и нормален твърд диск, което беше сериозен досада.

        Обвинявам хибридния блок, който имам в лаптопа, защото на другите места, където имам инсталирана Fedora с btrfs, нямам проблем и работи бързо и добре, освен на основния ми компютър, който има хибриден блок, както казах. Сега и с двата дяла с XFS този компютър се държи много по-добре.

  10.   Дерпи каза той

    От кога са тези 10 минути с DesdeLinux?, едва осъзнавам, че е там o_o

    1.    елав каза той

      Преди малко 😀

  11.   плочка каза той

    Мисля, че ще бъде странно, но изследвах това дълго време, бях толкова мързелив, че не исках да се развеселявам. Благодаря за информацията, искам да предам моя / дом на xfs и / на btfrs

  12.   монах каза той

    Благодаря за статията, много интересно.

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

    Никой не критикува, че излиза момиче или момиче в бикини, дори голо. Ако има смисъл и някой иска да публикува публикация за телата и интернет, или сексуалността и интернет или нещо подобно ... Мисля, че е страхотно.

  13.   Хорджисио каза той

    Изглежда добре, но ... Защо трябва да преинсталирате ядрото? Не разбирам.

  14.   Зжауме каза той

    Истината е, че след като няколко пъти инсталирах Arch, вече имах идея къде ще отидат снимките, 1 месец бях с новия компютър с Arch и ssd, форматиран с ext4, мисля да се преместя към btrfs, но и това не ме убеждава, защото след като видях някои тестове за производителност в Phoronix, не е много ясно, че производителността е по-добра и дори с Arch Wiki вече съм се забъркал с всичко, което мога да оптимизирам