Avertissement:
Il faut rendre SUID les programmes copiés ou modifier la commande de copie ("cp") pour ne pas oublier le bit SUID.
La liste des fichiers SUID se trouve page 2 du topic.
Correction : §6 cp -Rp (p preserve attribute)
"cp -Rp /usr/* /mnt/floppy"
==============
Cette méthode comporte un risque certain de pertes de vos données.
Faites bien attention, reliser chaque commande avant de la valider!
Le principe retenu est le suivant : détruire /var/log, la recréer moins
grande, utiliser l'espace restant pour /usr (devrait s'appliquer aussi à SME)
Auteur:
=======
Franck78 email pour toutes remarques
ipcop@franck78.afraid.org
ou le topic "agrandir /usr" forum Ixus/Ipcop
Canevas:
========
1)Arreter le maximum de services
2)Sauvegarder une partie de /var/log
3)Obtenir le démontage de /var/log
4)Supprimer et recréer 2 partitions
5)Restaurer la partie sauvegardée point 1
6)Créer la future partition /usr
7)Différences entre Alpha10 et beta 3
1)Arréter le maximum de services
Le but est d'arréter tout les logs générés. Un reboot "single" est plus ou moins efficace. Quand Grub s'affiche tapez "Q" (pour add en qwerty) et ajouter single en fin de ligne de commande.
Donc méthode pour y parvenir:
ps -A
kill pid de squid, snort, cron, httpd, ntpd, pppd, syslogd
ps -A
kill -9 pid pour les récalcitrants !
2)Sauvegarder une partie de /var/log
Le choix essentiel est "faut-il oui ou non conserver la cache de squid ?". Je n'ai pas la réponse dans votre cas. Cela dépend du temps et de la quantité de données accumulées.
Personnellement, je monte un lecteur réseau assez gros sur une machine windows:
"mount -t smbfs -o username=franck,password=toto //ntkilled/squid /mnt/nt"
"cp -R /var/log/cache /mnt/nt"
Le reste de /var/log doit être sauvegardé, au moins pour récupérer rapidement la structure des répertoires et leurs droits/propriétaires.
Pour sauvegarder /var/log sauf le cache squid sur /root:
"tar -cvp --exclude cache -f /root/log.tar /var/log"
Il faut environ 50 mégas libre pour sauvegarder les logs non compressés.
Chez moi tar -zcvp n'as pas marché !
Eviter de sauvegarder cette partie sur le lecteur réseau, pour la récupérer, il faut samba actif, donc des logs...
Vérifier la présence et le contenu de l'archive:
"ls /root"
setup.log log.tar
3)Obtenir le démontage de /var/log
"cd /"
"umount /var/log"
Si il refuse, reprendre paragraphe 1 pour continuer le ménage dans les processus.
4)Supprimer et recréer deux partitions
Attention c'est la partie la plus critique. Décider maintenant de la nouvelle répartition.
"fdisk /dev/hda"
"p"
- Code: Tout sélectionner
The number of cylinders for this disk is set to 4111.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help): p
Disk /dev/hda: 33.8 GB, 33820286976 bytes
255 heads, 63 sectors/track, 4111 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 1 1 8001 83 Linux
/dev/hda2 2 4087 32820795 83 Linux
/dev/hda3 * 4088 4111 192780 83 Linux
Partition table entries are not in disk order
Command (m for help):
"2" la partition de /var/log
- Code: Tout sélectionner
Disk /dev/hda: 33.8 GB, 33820286976 bytes
255 heads, 63 sectors/track, 4111 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 1 1 8001 83 Linux
/dev/hda3 * 4088 4111 192780 83 Linux
"n" nouvelle
"p" partition primaire
"2" en position 2
"" valider la premier cylindre (2)
"+10000M" taille de 10 gigas (ou plus)
- Code: Tout sélectionner
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (2-4111, default 2):
Using default value 2
Last cylinder or +size or +sizeM or +sizeK (2-4087, default 4087): +10000M
Command (m for help): p
Disk /dev/hda: 33.8 GB, 33820286976 bytes
255 heads, 63 sectors/track, 4111 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 1 1 8001 83 Linux
/dev/hda2 2 1218 9775552+ 83 Linux
/dev/hda3 * 4088 4111 192780 83 Linux
"n" nouvelle
"p" partition primaire
"" valider
"" valider
- Code: Tout sélectionner
Command (m for help): n
Command action
e extended
p primary partition (1-4)
"p"
Selected partition 4
First cylinder (1219-4111, default 1219):
Using default value 1219
Last cylinder or +size or +sizeM or +sizeK (1219-4087, default 4087):
Using default value 4087
Command (m for help): p
Disk /dev/hda: 33.8 GB, 33820286976 bytes
255 heads, 63 sectors/track, 4111 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 1 1 8001 83 Linux
/dev/hda2 2 1218 9775552+ 83 Linux
/dev/hda3 * 4088 4111 192780 83 Linux
/dev/hda4 1219 4087 23045242+ 83 Linux
Partition table entries are not in disk order
Vérifier bien les tailles des partitions. Notament en entrant le "+sizeM" !!!!
Enregistrer la nouvelle table
"w"
Rebootez la machine. Ce reboot n'est pas forcément essentiel. Je n'ai pas testé sans. Donc Ipcop rédémarre, il tombe alors sur deux cas:
Il ne reconnait pas /harddisk2 et passe en mode maintenance. Tant mieux, poursuivez (keyboard french pour le mot de passe) !
Il pense reconnaitre le système de fichier et démarre normalement.
Reprendre le paragraphe 3 pour obtenir le démontage de /var/log
5)Restaurer la partie sauvegardée point 1
Tout d'abord il faut crééer les systèmes de fichiers sur les partitions:
"mke2fs /dev/hda2"
"mount /var/log"
"cd /"
"tar -xvf /root/log.tar"
6)Créer la future partition /usr
Pour cela on la monte temporairement n'importe ou.
"mke2fs /dev/hda4"
"mount /dev/hda4 /mnt/floppy"
"cp -Rp /usr/* /mnt/floppy"
"touch /mnt/floppy/big-one"
"echo /dev/harddisk4 /usr ext2 noatime 1 2 >> /etc/fstab"
"cat /etc/fstab"
- Code: Tout sélectionner
#
# $Id: fstab,v 1.3 2003/12/11 10:57:32 riddles Exp $
#
/dev/harddisk1 /boot ext2 ro,nodev,nosuid,noatime 1 2
/dev/harddisk2 /var/log ext2 nodev,nosuid,noatime 1 2
/dev/harddisk3 / ext3 noatime 1 1
none /proc proc defaults 0 0
none /dev/pts devpts gid=5,mode=620 0 0
/dev/cdrom /mnt/cdrom iso9660 noauto,owner,kudzu,ro 0 0
/dev/floppy /mnt/floppy auto noauto,owner,kudzu 0 0
/dev/harddisk4 /usr ext2 noatime 1 2
Redémarrer
Vérifier la présence de "big-one" dans /usr. C'est en indicateur que vous pouvez supprimez. Cependant il est utile pour savoir ou l'on se trouve. En effet, si la partition ne monte pas, le répertoire /usr redeviendra visible.
Arretez Squid.
Supprimrez le /var/log/cache qu'il vient de faire.
Replacer les fichiers sauvegardés sur l'autre machine.
Replacer propriétaire (squid:squid) et permissions (755).
Envoyer un message de succés sur le board Ixus!
7)Différences entre Alpha10 et beta 3
Cette procédure est réalisée sur la version 1.4a10 de IpCop. Sur une 1.4b3, il faut prendre en compte deux changements:
-) il faut des partitions ext3. le commande devient "mke2fs -j /dev/hda..." Le -j indique journaling.
-) sur a10 l'ordre des descripteurs de partitions dans la table est
1:boot
2:var/log
3:root
4:vide
sur b3 l'ordre est
1:boot
2:var/log
3:vide
4:root
Donc attention à bien utiliser (hda2 et hda3) en 1.4b3 ou (hda2 et hda4) en 1.4a10
Choississez bien harddisk3 ou harddisk4 dans fstab!
Note pour Ipcop 1.3
Il faut utiliser une partition étendue et y créer had5 et hda6.
Pensez à adapter dans fstab le point de montage hda3 en hda5 !
Bon add-on....
Franck