Problemi upgrade Fedora

Ciao,
ho problemi nell’upgrade a fedora 32. Io ho fedora 30. La memoria della root è quasi esaurita sta al 93% e ho 100 gb di spaazio non allocato.
Potreste aiutarmi come risolvere?

Saluti

Matteo

Ciao! Ma sei il mattew sul gruppo Telegram?
Come chiedevo di là, sapresti fornire il risultato di questo comando?
lsblk

Ciao,
ecco il risultato del comando:

Potresti aiutarmi?

Matteo

Ok fratello. Potrebbe essere più semplice del previsto.

Ci dai il risultato anche di questi comandi? (Non serve uno screenshot, va bene un copia e incolla, se usi i tag Codice, o Testo preformattato, viene scritto bene, ma eventualmente non preoccuparti della formattazione).

df -h

sudo vgdisplay

sudo lvdisplay

sudo pvdisplay

L’obiettivo (ci sono anche altre strade) è secondo me quello di includere lo spazio non partizionato nel Volume Group LVM. Ovvero creare una nuova partizione, renderla un Physical Volume, aggiungerlo al Volume Group, estendere il Logical Volume “root” e infine allargare il filesystem /. Di modo che tu abbia sufficiente spazio per effettuare l’upgrade.

MI RACCOMANDO. Prima di tutto fai un backup su un disco esterno della home o almeno dei dati a cui tieni di più.

Ciao,
ecco i risultati, purtroppo con xterm non riesco a coiare e incollare:

Screenshot from 2020-12-30 21-15-44

Screenshot from 2020-12-30 21-16-45

Per info a cosa servivano questi comandi?

Matteo

df mostra lo spazio occupato e libero dei vari mount point

Gli altri forniscono informazioni su LVM.

Allora.
Il fatto che tu abbia questo volume cifrato (luks) rende la cosa più difficile.
Aggiungere una partizione non cifrata al Volume Group sarebbe facile. Quindi provo a chiedere: la cifratura ti interessa?

Ma questo volume LUKS a quale spazio del disco fa riferimento? la root o la parte non allocata?
Non ricordo perche mi avevano cifrato un volume, ma a cosa porta la cifratura? Se non + necessaria posso farne a meno

Be’ la cifratura è utile se per esempio ti rubano il portatile. La password al login è inutile se smonti il disco e lo attacchi a un altro computer, o se fai il boot con una chiavetta USB, puoi montare il disco e leggerne il contenuto.
Il volume LUKS è diciamo la busta che al momento contiene tutto il resto (tranne /boot): la “root”, la /home e la partizione di swap.

ok quindi ho un disco cifrato se comrpende la root home e swap. Cmq non è necessario per me, non ho dati fondamentali

Allora. Fratello. Se non sei molto avvezzo alla linea di comando, fai attenzione.
Poi, il backup ce l’hai?
Inoltre, se qualcosa va storto, non ti rimane che reinstallare da zero, sei pronto? E soprattutto io declino ogni responsabilità :slight_smile:

Il primo passo è usare fdisk per creare una partizione usando lo spazio non allocato. Potresti usare anche gparted, ma fdisk in questo caso non è nulla di eccezionale.

Il comando è questo:
sudo fdisk /dev/sda

Dentro fdisk devi dare questi comandi:

n per dirgli di creare una nuova partizione
p per dirgli che sarà una partizione primaria
Alle domande successive premi sempre invio per accettare il default.
Infine scrivi w per apportare le modifiche.

Quel che vedrai sarà tipo questo:


[user@localhost ~]$ sudo fdisk /dev/vda
[sudo] password for user: 

Welcome to fdisk (util-linux 2.33.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): n
Partition type
   p   primary (2 primary, 0 extended, 2 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (3,4, default 3): 
First sector (41943040-83886079, default 41943040): 
Last sector, +/-sectors or +/-size{K,M,G,T,P} (41943040-83886079, default 83886079): 

Created a new partition 3 of type 'Linux' and of size 20 GiB.

Command (m for help): w
The partition table has been altered.
Syncing disks.

[user@localhost ~]$ 

Se hai dubbi o incontri difficoltà, fermati.
Altrimenti, se va tutto bene, successivamente posta di nuovo il risultato del comando lsblk, dovresti vedere una nuova partizione non utilizzata, tipo sda4.

Se fin qui tutto bene, il passo successivo è quello di creare un nuovo volume cifrato.

Il comando è questo:
sudo cryptsetup -y --force-password luksFormat /dev/sda4
(Sempre che la nuova partizione sia stata nominata sda4).

Come password, metti la stessa che usi durante il boot (quella usata per il volume cifrato esistente).

Quel che vedrai sarà tipo questo:


[user@localhost ~]$ sudo cryptsetup -y --force-password luksFormat /dev/sda4

WARNING!
========
This will overwrite data on /dev/sda4 irrevocably.

Are you sure? (Type uppercase yes): YES
Enter passphrase for /dev/sda4: 
Verify passphrase: 

Arrivati qui, siamo a buon punto.

Inseriamo il nuovo device cifrato nel file crypttab con questo comando.

echo "luks-$(sudo cryptsetup luksUUID /dev/sda4) UUID=$(sudo cryptsetup luksUUID /dev/sda4) none discard" | sudo tee -a /etc/crypttab`

Prendi nota dell’ID luks-xxxxx-xxxxxxxx-xxxxxxxxxxxx che ti restituisce.

Più o meno vedrai questa roba:

[user@localhost ~]$ echo "luks-$(sudo cryptsetup luksUUID /dev/vda3) UUID=$(sudo cryptsetup luksUUID /dev/vda3) none discard" | sudo tee -a /etc/crypttab
luks-16955be0-4069-473b-aa83-67f631d94579 UUID=16955be0-4069-473b-aa83-67f631d94579 none discard

Inoltre dovresti modificare il file /etc/default/grub e aggiungere alla riga GRUB_CMDLINE_LINUX= la voce rd.luks.uuid= con quell’ID che si diceva prima. Tipo:

GRUB_CMDLINE_LINUX="resume=/dev/mapper/fedora_localhost--live-swap rd.lvm.lv=fedora_localhost-live/root rd.luks.uuid=luks-9bfbef0c-3657-4797-8f0d-48bddfa40ce1 rd.luks.uuid=luks-16955be0-4069-473b-aa83-67f631d94579 rd.lvm.lv=fedora_localhost-live/swap rhgb quiet"

(Nota che ora le voci rd.luks.uuid= sono due: quello già presente e quello che è stato aggiunto ora).

E successivamente, visto che hai UEFI, rigenerare il grub con questo comando
grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg

Ora prova un reboot, prima di andare ad armeggiare con LVM.
Tutto dovrebbe funzionare normalmente.

Prova con lsblk se vedi la nuova partizione cifrata.
Poi prova con

sudo cryptsetup status luks-$(sudo cryptsetup luksUUID /dev/sda4)

E se non ci sono errori o messaggi sospetti, possiamo continuare.

Ora creiamo il Physical Volume (PV) per LVM.

sudo pvcreate /dev/mapper/luks-xxxxxxxxxxx-xxxxxxxxxxx

Dove luks-xxxxxxxxxxx-xxxxxxxxxxx è quel famoso ID.

Controlla con
sudo pvdisplay
se è presente.

E ora aggiungiamo il PV al Volume Group.

sudo vgextend fedora /dev/mapper/luks-xxxxxx-xxxxxxxxxxxxxxxxxxx

Dove fedora a quanto pare è il nome del tuo Volume Group. E al solito luks-xxxxxx-xxxxxxxxxxxxxxxxxxx è quell’ID di prima.

Ora con sudo pvdisplay dovresti vedere che per il nuovo PV ci sono queste voci:

  Free PE               XXXX
  Allocated PE          0

A differenza del PV già in uso, dove la voce Free PE sarà 0.

Se fin qui tutto bene, allora ci siamo quasi.

Diciamo che vogliamo espandere per il momento solo la “root” e assegnargli 20GB in più (dovrebbero bastare per fare l’upgrade). Espandiamo quindi il Logical Volume (LV) “root”.

sudo lvextend -L+20G /dev/fedora/root

Infine, espandiamo il file system.

sudo resize2fs /dev/fedora/root

Verifichiamo con il comando df -h la nuova dimensione.
Di nuovo con lsblk vedremo una cosa del genere:

NAME                                          MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
vda                                           252:0    0   40G  0 disk  
├─vda1                                        252:1    0    1G  0 part  /boot
├─vda2                                        252:2    0   19G  0 part  
│ └─luks-9bfbef0c-3657-4797-8f0d-48bddfa40ce1 253:0    0   19G  0 crypt 
│   ├─fedora_localhost--live-root             253:2    0   22G  0 lvm   /
│   └─fedora_localhost--live-swap             253:3    0    2G  0 lvm   [SWAP]
└─vda3                                        252:3    0   20G  0 part  
  └─luks-16955be0-4069-473b-aa83-67f631d94579 253:1    0   20G  0 crypt 
    └─fedora_localhost--live-root             253:2    0   22G  0 lvm   /

Ovvero il Logical Volume “root” si estende anche sulla nuova partizione cifrata.

Inizio tutto domani mattina, ma possono essere pericolosi tutti questi step? Oppure è sicuro? Nel senso l’hai fatti altre volte? Ma il primo comando da eseguire è:
sudo fdisk /dev/sda o sudo fdisk /dev/vda?
Ma il backup lo devo fare perche si cancelleranno tutti i dati?

Il backup lo devi fare a prescindere. :slight_smile:
Poi sì, il rischio che un comando venga dato male c’è e puoi ritrovarti con un sistema che non parte (e a quel punto fai prima a reinstallare).

sda, il tuo disco è /dev/sda

L’ho fatto ieri cercando di replicare la tua configurazione in una macchina virtuale (ecco perché vedi /dev/vda). Ma è chiaro, il tuo computer non è la mia macchina virtuale. Magari ci sono dettagli che mi sono sfuggiti.

Il fatto è che non hai molte scelte. Hai metà del disco non partizionato. Fedora 30 non puoi tenerla per sempre. Il volume “/” è pieno ed è difficile liberare spazio, ti ritroveresti sempre con l’acqua alla gola.
Ci sarebbero altre strade. Tipo creare una partizione normale, e spostare lì alcune directory di sistema. Ma non cambia nulla, se non hai confidenza col terminale (ma anche se ce l’hai), il rischio di inciampare e fare dei casini c’è sempre.

Ti chiedo se sei sicuro semplicemente perche non ho altri pc di appoggio, quindi se va male non avrei una live di fedora per reinstallare tutto. Cmq con i comandi io seguirei i tuoi, non invento nulla :slight_smile: