Come cambiare il file system da "/" e non morire provandoci

Un altro ottimo tutorial quello si trova nella sezione Tutorial del nostro Forum, dalla mano di Super me

Ieri ho scoperto a mie spese uno dei file "Caratteristiche" file system btrfs. È che per motivi che non conosco del suo funzionamento, btrfs tende a riempire il disco più di quanto piace ai comandi dd o gli indicatori di riempimento del disco dei comuni file manager.

Come sapere quanto spazio occupa il tuo filesystem con btrfs

Chiunque abbia un file system con estensione btrfs Sarai in grado di sapere quanto spazio aggiuntivo stanno occupando i tuoi dati digitando in console (come root credo):

file system btrfs mostra /

(Sostituisci / con un altro punto di montaggio se vuoi conoscere lo spazio occupato in un'altra partizione btrfs)

In una grande partizione questo riempimento aggiuntivo non è un grosso problema, poiché è pochissimo spazio rispetto al totale. Ma nel mio caso, dove / ha 22 GB (occupa una cache ssd), il mio disco rigido si è riempito di 8 GB liberi, rompendo i database rpm e disabilitando così il gestore dei pacchetti. Quindi sono stato costretto a formattare con un altro file system.

Ma non volevo reinstallare. È chiaro che i dati in / home possono essere facilmente conservati, ma uno ha molti programmi installati in / e molte impostazioni che risiedono anche lì, quindi ho deciso di mantenere l'installazione ma cambiare il file system.

Il motivo per cui scrivo questo è perché non ho trovato alcuna documentazione su come procedere in questi casi. Immagino che la maggior parte delle persone si accontenti di reinstallare.

Ho dovuto passare circa 7 ore a cercare e cercare informazioni nei manuali inglesi che avevano effettivamente a che fare con altre cose e mettere insieme i pezzi in modo intuitivo; tentativi ed errori tutto il tempo, riavviando decine di volte per vedere che ogni cosa che ho provato ha fallito una dopo l'altra. Quando il processo in realtà non sarebbe stato tanto quello di aver avuto un manuale ad esso dedicato.

Considerazioni da tenere a mente per cambiare il file system di "/"

prima: Ho eseguito questa procedura su Fedora. Immagino che funzioni allo stesso modo per tutte le distribuzioni che condividono principalmente l'avere come bootloader GRUB2.

Secondo: Questo processo è difficile per l'utente comune (quelli che leggono questo e pensano che sia una cazzata sanno che non siete utenti comuni) Le persone di solito hanno cose migliori da fare che cambiare il file system della partizione di root. Se non sai come seguire questo manuale, corri il rischio di perdere la tua installazione, e se riesci a portarla a termine, scoprirai che il cambio di prestazione non è così spettacolare (beh, per alcuni lo è, ma non siete utenti comuni) L'ho fatto appositamente per necessità, anche se devo ammettere che sono uno di quelli che mettono il computer per avviarsi un secondo più velocemente.

terzo: Poiché questa procedura non è per utenti ordinari, presumo che il lettore abbia una certa conoscenza di GNU / Linux e che non sarà pigro nel cercare ulteriori informazioni.

Procedura per cambiare il filesystem di "/"

Sia che tu voglia cambiare il file system per necessità o per noia, questa è la procedura:

1. - È ovvio che per far funzionare il nostro nuovo filesystem dobbiamo avere gli strumenti per aiutarci a gestirlo, quindi questa è la prima cosa che faremo. Il filesystem che ho scelto tra l'altro, era XFS, quindi ho dovuto installare "Xfsprogs" y "Xfsdump". Installerai quello che vuoi a seconda del file system che vuoi usare.

2. - Avvia da un livecd / usb e copia l'intero contenuto della partizione root su un'altra partizione o disco. Il metodo che scegli non ha importanza, ma l'importante è farlo con i privilegi di root, in modo da non trovare file o directory con permessi speciali.

3. - Il passaggio in cui "/" è formattato correttamente con il file system che preferiamo. Ci sono molti metodi, scegli quello che ti piace di più.

4. - La copia che abbiamo fatto della partizione di root viene ripristinata nella partizione appena formattata.

5. - È il momento in cui l'utente deve iniziare a fare la propria parte. La formattazione della partizione modifica un identificatore che il sistema operativo utilizza per sapere quale partizione montare. Questo è il \ It \ him UUIDe dobbiamo conoscere quel codice.

Ci sono più metodi, ma ad esempio, in "Gparted", lo sapremo facendo clic destro sulla nuova partizione "/" e facendo clic su "Informazioni". Copiamo quel codice ed è allora che modificheremo il file / etc / fstab:

UUID = 36f3ce91-5138-4293-8571-b5b43f6b4646 / xfs predefiniti, noatime, scarta, nobarrier

Questo è un esempio che mostra la riga che corrisponde alla mia nuova partizione di root. Il codice che appare a destra di UUID = è ciò che sostituiremo con il nostro UUID.

Una volta fatto, ovviamente dobbiamo indicare il nuovo file system della nostra partizione, XFS nel mio caso o sostituirlo con il tuo nel caso si tratti di un altro file system. Devi anche mettere le nuove opzioni di montaggio: se non sai cosa mettere, metti "Impostazioni predefinite"; noatime aumenta le prestazioni diminuendo le scritture, scartare diminuisce le scritture sui dischi SSD, aumentandone la longevità.

6. - È qui che inizia il vero cazzo ed è lì che sono rimasto bloccato. Non è davvero così difficile, ma da questo punto in poi non c'è quasi documentazione.

Dobbiamo ricostruire il menu di Grub affinché possa avviare correttamente il sistema operativo. Non saprei come farlo a mano, puoi provare come ho fatto io (UUID cambiati e simili) ma la cosa normale sarà che l'avvio del SO si arresti in una piacevole e speranzosa "shell di emergenza"

Fortunatamente, grub2 possiede lo strumento "Grub2-mkconfig" che esegue automaticamente tale compito prendendo come riferimento le caratteristiche del sistema in cui è in esecuzione. Il problema è che, guarda dove, il sistema su cui è in esecuzione non è il sistema di destinazione e quest'ultimo è temporaneamente fuori servizio.

Quindi dobbiamo fare chroot e montare una serie di partizioni speciali per eseguire questo strumento, senza le quali non funzionerà. La procedura per farlo è spiegata male in quasi tutti i posti (il che non significa che non sappiano come farlo, ma che pensano che stiamo calcolando dei supercrack)

Per fortuna qui: http://askubuntu.com/questions/28099/ho … ll-kernels Ho trovato una spiegazione esilarante sull'argomento, che proseguo a riassumere e tradurre:

  1. Monta / e / dev:
mount / dev / sda1 / mnt mount --bind / dev / mnt / dev

Dove "sda1" è sostituito da quello corrispondente alla partizione di root, se non è "sda1"

  1. Montare / boot e / boot / efi, quest'ultimo se avessimo una partizione EFI.
montare / dev / sda2 / mnt / boot

Dove "sda2" è sostituito da quello corrispondente alla partizione di avvio, se non è "sda2"

L'assemblaggio efi non arriva nel link sopra, è il mio genere ma in questo caso ne avevo bisogno. Se non hai una partizione EFI, ignorala.

montare / dev / sda3 / mnt / boot / efi

Dove "sda3" è sostituito da quello corrispondente alla partizione di avvio, se non è "sda3"

  1. Chroot e alcune altre cose, che in realtà l'unica cosa che so di queste cose è che sono necessarie:
chroot / mnt mount -t proc nessuno / proc mount -t sysfs nessuno / sys mount -t devpts nessuno / dev / pts export HOME = / root export LC_ALL = C

Questa è la mia aggiunta, potrebbe essere necessaria per una cosa in seguito:

mount -t tmpfs tmpfs / run

7. - grub2-mkconfig

Bene, è quasi il momento da star. Dobbiamo cercare un file chiamato "grub.cfg" all'interno della partizione di avvio. Nel mio caso il suo percorso è /boot/efi/EFI/fedora/grub.cfg

Quando lo abbiamo trovato, eseguiamo nell'ambiente chroot:

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

E finalmente abbiamo il menu di grub pronto.

Questo punto secondo il suo autore non dovrebbe essere preso in considerazione. Vai direttamente al punto 9

8. - Rigenera gli initramfs.

Questo passaggio credo sia necessario, ma non ne sono del tutto sicuro. Tuttavia, è sufficiente reinstallare il kernel che vogliamo o eseguire:

dracut --force / path / to / file / initramfs / che / vogliamo / sostituire

per esempio:

dracut --force /boot/initramfs-3.15.9-200.fc20.x86_64.img

Ovviamente tutto questo all'interno dell'ambiente chroot. (e se no, torna alla casella di partenza, ehm ... al «guscio di emergenza»)

PS: ho dimenticato cosa fare per accedere a Internet nell'ambiente chroot, nel caso in cui si desideri reinstallare il kernel. Il collegamento sopra spiega molto bene: devi aprire un nuovo terminale e copiare questi file:

cp / mnt / etc / hosts /mnt/etc/hosts.old cp / etc / hosts / mnt / etc / hosts cp /etc/resolv.conf /mnt/etc/resolv.conf

9. - Ottieni l'accesso a Internet:

Devi semplicemente copiare i seguenti file, graficamente o tramite console, in quest'ultimo caso fuori dall'ambiente chroot. Può essere fatto da un altro terminale o uscendo dall'ambiente chroot e poi rientrando.

cp / mnt / etc / hosts /mnt/etc/hosts.old cp / etc / hosts / mnt / etc / hosts cp /etc/resolv.conf /mnt/etc/resolv.conf

10. - Reinstallare il kernel:

Reinstalliamo il kernel nell'ambiente chroot con il nostro gestore di pacchetti

11. - RESET AAR :: DD

Questo punto dovrebbe essere la fine per le distribuzioni "normali", per le distribuzioni con SELinux, come nel mio caso, la cosa ha richiesto un po 'più di tempo.

Anche se l'avvio è andato alla fine e ho provato ad avviare il sistema grafico, non è stato così e quando ho provato ad accedere come utente o come root mi diceva "permesso negato".

Ho letto qualcosa al riguardo e secondo una persona il problema potrebbe essere selinux, e ha suggerito di mettere selinux = 0 alla fine di una riga di avvio in grub.cfg, in questo modo:

menuentry 'Fedora, with 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]; quindi cerca --no-floppy --fs-uuid --set = root --hint-bios = hd1, gpt2 --hint-efi = hd1, gpt2 --hint-baremetal = ahci1, gpt2 1cd04509-ab7c-4074- 8bab-e170c29fe08e altro cerca --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

Guarda la penultima riga all'estrema destra.

Non l'ho fatto direttamente, ma ho semplicemente modificato la voce di avvio nel menu di grub stesso, in modo che fosse una modifica temporanea, penso che sia stata fatta premendo "c" o "e", nel menu di grub puoi farlo luoghi.

Bene, lo facciamo e riavviamo, o continuiamo con l'avvio.

12. - La luce alla fine del tunnel.

Se non potessimo direttamente nel passaggio precedente, è in questo penultimo passaggio che possiamo accedere al nostro solito desktop. Un brindisi alla nostra grande impresa, ma sì SELinux ha sbagliato, non abbiamo ancora finito.

Dobbiamo modificare nuovamente grub.cfg per rimuovere "selinux = 0" o semplicemente riavviare normalmente se quello che abbiamo fatto è stato modificare la voce nel menu di grub. Il fatto è che riavviamo con SELinux attivato.

Poi alla fine dell'inizio viene fuori qualcosa di cui devi rietichettare la politica SELinux mirato, lo lasciamo da solo e al termine si riavvierà.

Vedremo che il nostro sistema si avvierà, mostrando il nostro solito desktop, con SELinux attivato, il nostro file system modificato e tutti i nostri programmi perfettamente funzionanti.

Questa è la fine del manuale, spero che ti aiuti grande sorriso

UPDATE: Quando l'ho fatto per la prima volta non avevo idea e ho fatto il passaggio di rigenerare gli initramfs e poi ho reinstallato il kernel ed era tutto molto disordinato e alla fine ha funzionato quasi senza sapere perché, e ho dato entrambe le opzioni allo stesso modo bravo, comunque rigenerare l'initramfs non funziona e l'ho cancellato. L'unica cosa che funziona è reinstallare il kernel (sospetto che il kernel ei pacchetti kernel-core in Fedora) e quindi ho modificato il manuale.

E voglio anche aggiungere che per cambiare il formato del file system della partizione / home sono necessari gli stessi passaggi, non so se selinux è necessario, ma se non funziona con selinux viene temporaneamente rimosso e questo è tutto.

Immagine in primo piano tratta da qui.


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.

  1.   anonimo suddetto

    Mi sembra che btrfs abbia un paio di anni per maturare e che quando fallisce, ci sono strumenti per riprendersi dallo spavento senza perdere dati ... ext4 è ancora il post.
    Per quanto riguarda la gestione con chroot, nelle guide di gentoo hai spiegato molto bene:
    https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Base/es

    Uso anche dracut per generare initramfs poiché ho bisogno del modulo mdadm per grub2 senza il quale grub2 non può trovare la partizione / dev / md0 di / boot.

    Mi era stato dato un nuovo disco SSD da 120G, ma ero riluttante a usarlo, è una tecnologia nuovissima e non molto matura, non voglio reinstallare il sistema ogni volta che una cella nell'SSD è danneggiata.

    L'ho installato da zero nel raid 1 su due dischi da 1T ciascuno, nell'aprile 2012 ... il mio gentoocyte sta per avere 3 anni ... hehe

    # genlop -t gentoo-sources | head -n3
    * sys-kernel / gentoo-sources
    Mercoledì 11 aprile 23:39:02 2012 >>> sys-kernel / gentoo-sources-3.3.1

    Questa è la procedura che utilizzo per creare il ram disk iniziale, aggiungervi il tema grafico bootsplash
    e rigenerare gli input di 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

    Grazie per aver condiviso la tua esperienza su btrfs.

  2.   Ivan Barra suddetto

    Che amico Elav, ottimo post sul blog e grazie al compagno "SuperYO" del forum. La verità è che una cosa del genere non mi è mai successa, per niente, ma non fa mai male avere un mega tutorial come questo.

    Personalmente non trovo affatto BTRFS immaturo, XFS non l'ho usato, so che CentOS 7 lo porta, ma fino ad oggi non ho dovuto montare un nuovo server con esso, quindi al momento non vedo è divertente guardarlo. In OpenSUSE uso BTRFS, ma non mi ha dato alcun problema, nemmeno sui dischi SSD. E se mi è costato un mondo essere in grado di fare è un disco SSD-Cache in Unix, è stato davvero un problema tremendo, la documentazione Intel la trovo molto poco chiara e complessa. infatti ho un topic aperto nel forum e in altri posti, ma a quanto pare nessuno si è imbattuto nell'argomento oppure lasciano semplicemente i dischi SSD-cache che i laptop portano per qualcos'altro, all'improvviso li mettono come SWAP per non alterare la velocità del sistema, chi ne conosce uno

    Forse una voce riguardante i tipi di File System esistenti in Unix sarebbe spettacolare, mettendo i vantaggi di ciascuno, non lo so, un'altra andrebbe bene anche rispetto a SELinux, dato che tanto si parla di sicurezza, ma ho letto un tutorial in Internet e ovunque abbiano messo "SELinux = Disabled", solo in "scope" danno suggerimenti su come consentire ai programmi di attraversarlo.

    Adesso non vado più avanti.

    Grazie per il contributo e saluti.

  3.   peccatore suddetto

    Grazie per il suggerimento, amico, ma zfs ha tutte le caratteristiche di btrfs che per usarlo in linux il modulo deve essere alzato nel kernel, ma in freebsd viene fornito di default e non dà un solo problema, lo consiglio, poiché btrfs ha ancora molti "piccoli problemi", per così dire.

  4.   Azazel suddetto

    Sono io o noti elav con un accento molto spagnolo oggi.

    1.    Giskard suddetto

      L'ho notato anch'io. Chi ne saprà il motivo.

    2.    vivace suddetto

      Hahahaha .. è che l'articolo non è mio .. non dirmi che non hai letto il primo paragrafo ahahah.

      1.    Azazel suddetto

        Ora che me lo dici ... No. Non me ne accorgo nemmeno.

  5.   Super yo suddetto

    Ciao. Se vedi la voce del forum vedrai che il punto 8 è barrato perché non è valido, quello che devi fare è reinstallare il kernel e l'ho messo così quando l'ho modificato 😛

    Quello che succede è che quando l'ho fatto per la prima volta non sapevo molto bene cosa stavo facendo e ho provato di tutto quindi mi sono confuso 😛

  6.   Super yo suddetto

    E continuo, quello che succede è che il mio commento precedente non è stato ancora pubblicato 😛

    Per questo motivo, se nulla può essere cancellato sul web, sarebbe cancellare il punto 8 per confondere il personale. Comunque la cosa peggiore che può capitare rigenerando gli initramfs è quello che ho ottenuto: non succede assolutamente niente, né buono né cattivo, il che non è neanche così grave, ma è un passaggio inutile.

    1.    Hugo suddetto

      Buon articolo che hai condiviso, attraverso la tua esperienza ho imparato alcune cose nuove 😉
      Scommetto che il senso di vittoria che hai provato nel raggiungere il tuo obiettivo ha superato di gran lunga le battute d'arresto. 😉

  7.   Mario dannan suddetto

    L'open source è molto femminile: non è per gli avidi.
    Se si dedica attenzione, passione e pazienza ad approfondirne il fascino, ci dà il meglio di sé.

  8.   Yutani della Weyland suddetto

    Che bel post ha segnato il collega superYO. Questo è carino.

  9.   jamin samuele suddetto

    Perché XFS invece di ext4 ??

    🙂

    1.    brutale suddetto

      Ext4 sta invecchiando quando si dice ... e per scrivere dati di grandi dimensioni meglio xfs.

      Circa l'autore del post non ho mai visto i btrfs jurnal riempire la partizione /
      Mi chiedo è che penso sia perché inverni il pc penso, perché a me non è mai successo! con le distribuzioni che uso con un ssd pro samsung e che non mi è mai successo.

      1.    Super yo suddetto

        Non è qualcosa che si nota su partizioni medie o grandi, ma su una partizione BTRFS da 20 GB puoi effettivamente riempire la partizione root con quasi la metà dello spazio libero.

        E non era l'unico problema che aveva. In termini di lettura, il disco era più o meno corretto, ma le installazioni e gli aggiornamenti erano molto lenti per un disco ssd e un normale disco rigido, il che era un grosso fastidio.

        Do la colpa all'unità ibrida che ho nel laptop, perché negli altri posti in cui ho installato Fedora con btrfs non ho problemi e funziona velocemente e bene, tranne sul mio computer principale che ha un'unità ibrida come ho detto. Ora con entrambe le partizioni con XFS questo computer si comporta molto meglio.

  10.   svegliati suddetto

    Da quando sono quei 10 minuti con DesdeLinux?, mi accorgo a malapena che è lì o_o

    1.    vivace suddetto

      Qualche tempo fa 😀

  11.   Piastrella suddetto

    Penso che sarà strano, ma ho fatto ricerche su questo per molto tempo, ero così pigro che non volevo tirarmi su di morale. Grazie per le informazioni, voglio passare la mia / home a xfs e la / a btfrs

  12.   monaco suddetto

    Grazie per l'articolo, molto interessante.

    Critica fuori contenuto:
    L'ho menzionato in altri post e penso che in un blog come questo, collaborativo, dove partecipano tutti i tipi di persone, non dovrebbe essere permesso di mettere immagini come quella che hai messo nell'intestazione del post. Non perché esca una ragazza in bikini, ma perché è usata (probabilmente involontariamente) in modo sessista.

    Nessuno critica il fatto che una ragazza o una ragazza in bikini venga fuori, anche nuda. Se ha senso e qualcuno vuole fare un post sui corpi e Internet, o sulla sessualità e su Internet o qualcosa del genere ... è fantastico.

  13.   Jorgico suddetto

    Sembra buono, ma ... Perché devi reinstallare il kernel? Non capisco.

  14.   zjaume suddetto

    La verità è che dopo aver installato Arch un paio di volte avevo già un'idea di dove sarebbero finiti gli scatti, sono stato con il nuovo pc con Arch da 1 mese e un ssd formattato con ext4, sto pensando di muovermi a btrfs ma non mi convince nemmeno perché dopo aver visto alcuni test delle prestazioni in Phoronix non è molto chiaro che le prestazioni siano migliori e anche così con l'arch Wiki ho già armeggiato con tutto ciò che potevo per ottimizzare le prestazioni