Extension de la partition racine dans SUSE Linux

J'ai un server où la répartition de l'espace entre les partitions est la suivante:

GSSJMB02:~ # df -kh Filesystem Size Used Avail Use% Mounted on /dev/cciss/c0d0p5 25G 5.9G 18G 25% / udev 3.9G 144K 3.9G 1% /dev /dev/cciss/c0d0p9 64G 129M 61G 1% /apps /dev/cciss/c0d0p1 244M 12M 219M 6% /boot /dev/cciss/c0d0p10 16G 129M 15G 1% /home /dev/cciss/c0d0p7 5.0G 618M 4.1G 13% /opt /dev/cciss/c0d0p8 9.9G 228M 9.2G 3% /var GSSJMB02:/gsn/sw 25G 5.9G 18G 25% /mnt/nfs/gsn/sw GSSJMB02:/gsn/nodes 25G 5.9G 18G 25% /mnt/nfs/gsn/nodes 

Ici, le système de files /dev/cciss/c0d0p5 a less d'espace que ce dont j'ai besoin. Et le système de files /dev/cciss/c0d0p9 a beaucoup d'espace inutilisable. Puis-je augmenter l'espace de /dev/cciss/c0d0p5 en en /dev/cciss/c0d0p5 du /dev/cciss/c0d0p9 ?

Non sans sauvegarde, repartition, mkfs et restauration d' au less c0d0p [56789] (en supposant que les partitions sont numérotées séquentiellement selon la disposition sur disque).

Si vous deviez faire tout cela, déployez un peu plus d'efforts pour installer et configurer lvm et utiliser des volumes logiques plutôt que des partitions – cela vous donnera plus de flexibilité la prochaine fois que vous aurez besoin de croître ou de réduire un système de files (ou si vous ajoutez un deuxième disque).

(aussi, il est difficile de voir pourquoi personne ne prendrait la peine de faire beaucoup de petites partitions sur un petit disque ces jours-ci, ce qui était habituel, mais les disques étaient minuscules aussi ces jours-ci, les tracas et les inconvénients causent plus que l'emportent sur les avantages mineurs)

Donc, la réponse courte est non.

Cependant, vous pouvez créer un directory sur / apps (par exemple / apps / stuff) et déplacer les files + liens symboliques de / vers / apps / stuff. Par exemple:

  mkdir /apps/stuff mv /usr/share/doc /apps/stuff ln -s /apps/stuff/doc/ /usr/share/ 

tant que vous ne déplacez pas les files ou les directorys requirejs au démarrage (y compris tous / etc, / bin, / sbin), tout continuera à fonctionner (même si vous devrez redémarrer ou au less tuer et redémarrer process si l'un des files que vous avez déplacé est maintenu ouvert par un process)

BTW au lieu de mv, c'est généralement une meilleure idée de copyr les files, aussi longtime que vous conservez le propriétaire, le groupe et les permissions. par exemple utiliser cp -a ou rsync ou même l'ancien bourreau de travail de cd /path/to/src ; tar cf - . | (cd /path/to/dest ; tar xf -) cd /path/to/src ; tar cf - . | (cd /path/to/dest ; tar xf -) cd /path/to/src ; tar cf - . | (cd /path/to/dest ; tar xf -) Ensuite, lorsque les files ont été copiés, supprimez-les (ou déplacez-les temporairement) et créez le lien symbolique. Lorsque cela est fait, vérifiez que tout fonctionne correctement – si c'est le cas, supprimez l'original de la racine fs. par exemple

 mkdir /apps/stuff rsync -ax /usr/share/doc /apps/stuff mv /usr/share/doc /usr/share/doc.bak ln -s /apps/stuff/doc/ /usr/share # do your testing now rm -rf /usr/share/doc.bak 

Notez qu'il est important de laisser l'argument source / rsync dans rsync ici (par exemple, utilisez /usr/share/doc plutôt que /usr/share/doc/ ) sinon rsync pensera que vous voulez tout copyr dans / usr / share / doc / to / apps / stuff plutôt que vers / apps / stuff / doc