Newsgroup: it.comp.os.linux.iniziare
Titolo: Ridimensionare partizione root

Ciao a tutti;
ho un problema di partizionamento:
Ho due dischi: uno da 13 GB (hdc) e uno da 800 MB (hdd) che uso come 
backup; il disco da 13 GB e' partizionato come segue:
partizione primaria fat32 con Windows
partizione estesa con:
- fat32 (dati windows)
- ext2 (linux root)
- swap linux
- ext2 (linux home)
Il comando "df" da' questa situazione:
Filesystem            Size   Used   Avail     Use% Mounted on
/dev/hdc6             1.6G    1.4G   105M    93%    /
/dev/hdc8             1.1G    12M    1.0G     1%     /home
/dev/hdc1             4.9G   911M   4.0G    18%    /mnt/win_c
/dev/hdd1             809M   311M  498M   38%    /mnt/win_c2
/dev/hdc5             4.9G    1.0G   3.8G    21%   /mnt/win_d
Vorrei allargare lo spazio della partizione root portandola a 2.6GB 
"rubando" 1 gb di spazio a "win_d" senza disinstallare tutto, in modo da 
avere piu' spazio su root per futuri programmi linux..
Pensavo di usare Partition Magic per il ridimensionamento; vorrei sapere se 
e' "consigliabile" ripartizionare la root o se cosi' facendo rischio di 
distruggere Linux e perdere i dati su "win_d".
Ciao e grazie in anticipo.
Claudio

Claudio wrote:

non perdi nulla in dati su linux ridimensionamendo, soltanto che la cosa 
non e' banale da fare.
1) ridimensionare con pmagic sotto winz (rimpicciolire)
2) ridimensionare con utility linux (parted), tramite 
freshmeat.net
, trovi 
parted da scaricare allo URL 
(
ftp://ftp.gnu.org/gnu/parted/parted-1.4.14.tar.gz
).
la parte difficile e' la 1)...
devi effettuare il ridimensionamento a partizione non montata o montata in 
read-only... dunque non da normale root login...
La soluzione sta nell'avere una distro avviabile da cdrom.
Al solito lilo: della installazione della distro, batti un enter e avvi la 
normale installazione... ma non installi chiaramente!:)
quando la installazione e' partita e ti da la console grafica o testuale 
dove cominciare l'isntallazione, tu passi alla console testo dove trovi un 
prompt dei comandi (CTRL+ALT+F2) genericamente, se non e' F2 e' F1...F8.
Ad ogni modo una volta al prompt, sei su un hard disk virtuale, e l'hard 
disk reale e' non montato.
L'hard disk virtuale e' read-write e puoi montare l'hard disk reale per 
effettuare l'esecuzione di parted.
        mkdir /1
        mount -t ext2 /dev/hdc<?> /1
dove hda<?> e' esattamente la tua partizione di root da ridimensionare, che 
se non sbaglio dovrebbe essere hdc6.
a questo punto puoi verificare che c'e' il tuo hard disk in /1.
con "mount", vedi le partizioni montati e hdc6 montato in read-only (ro).
se hai installato readline dai sorgenti troverai la stessa utility in 
/usr/local/sbin/readline.
Il fatto di poter eseguire questa utility non e' banale, puoi provare in 
due modi:
1) fai divenire /1 come il root filesystem e dunque puoi eseguire readline. 
Se funziona questo, fai meno fatica...:)...
        chroot /1
        parted
2) copy parted dall'hard disk
        cp /1/usr/local/sbin/parted /
copy ora le librerie necessarie a parted che puoi verificare con
        ldd `which parted`
        nel sistema ancora funzionante, prima di intraprendere l'operazione
(parted) (alpha) /usr/src2/parted-1.4.14# ldd `which parted`
        libncurses.so.5 => /lib/libncurses.so.5 (0x40025000)
        libparted-1.4.so.14 => /usr/local/lib/libparted-1.4.so.14 
(0x40067000)
        libuuid.so.1 => /lib/libuuid.so.1 (0x400ae000)
        libc.so.6 => /lib/libc.so.6 (0x400b2000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
nel mio sistema le libreria sono cosi' disposte (quelle necessarie a parted)
        /lib/libncurses.so.5
        /usr/local/lib/libparted-1.4.so.14
        /lib/libuuid.so.1
        /lib/ld-linux.so.2
a questo punto devi impostare un PATH per le LIBRARY di ricerca, a meno che 
parted non parta, ma ti dira' che non trova le librerie... dunque:
        export LD_LIBRARY_PATH=/1/lib:/1/usr/local/lib
grazie a questa variabile d'ambiente ora, parted puo' partire.
Come si presenta parted:
(alpha) /usr/src2/parted-1.4.14# parted
GNU Parted 1.4.14
Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
This program is free software, covered by the GNU General Public License.
 
This program is distributed in the hope that it will be useful, but WITHOUT 
ANY WARRANTY; without even theimplied warranty of MERCHANTABILITY or 
FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
License for more details.
 
Using /dev/hde
Warning: The operating system thinks the geometry on /dev/hde is 
39813/16/63.  Therefore, cylinder 1024
ends at 503.999M.  You should check that this matches the BIOS geometry 
before using this program.
(parted)
(parted) p
Disk geometry for /dev/hde: 0.000-19595.948 megabytes
Disk label type: msdos
Minor    Start       End     Type      Filesystem  Flags
1          0.031   1023.750  primary   linux-swap  boot
2       1023.750  14599.265  primary   ext2
3      14599.266  19595.460  primary   ext2
(parted) resize 3 14599.266 18595.460
In questo caso vado a ridimensionare la mia hde3 da 5GB a 4GB.... spero sia 
chiara la spiegazione.
PS. parted va scaricato e compilato: (da root...)
$ wget 
ftp://ftp.gnu.org/gnu/parted/parted-1.4.14.tar.gz
$ tar xvzf parted-1.4.14.tar.gz   
$ cd parted-1.4.14
$ ./configure && make && make install
se ti riporta questo errore:
ui.c:326: warning: implicit declaration of function `completion_matches'
ui.c:329: warning: return makes pointer from integer without a cast
ui.c:333: warning: return makes pointer from integer without a cast
$ make distclean ; export CFLAGS="-DHAVE_RL_COMPLETION_MATCHES" ; 
./configure && make && make install
bye
Lore


         chroot /1
sostituire readline con parted.
bye
Lore

 non e' banale da fare.
--- cut ---
...mmm... mi sembra un po' complicato...
sto pensando che forse mi conviene seguire la "via facile": fare  bel 
backup di tutti i dati, azzerare le partizioni win (dati) e linux, 
ricrearle con Partition mgic, reinstallare linux e restorare i dati...
Comunque molte grazie dell'informazione (prima di scegliere la "via facile" 
ci studiero' un po' su..).
Ciao
Claudio