/tmp plein sur un / vide

Bonjour,

Mon répertoire /tmp ne peut pas dépasser les 200 Mégas alors qu’il se trouve normalement sur la même partition que ma racine (je n’avais pas fait une partition dédiée à /tmp). Celle-ci ayant la chance d’avoir encore de la place (cf ci-dessous, 11 Gg de libres).

root@Debian:/home/ben# df -h
Sys. fich.                                             Taille Util. Dispo Uti% Monté sur
rootfs                                                    23G   12G   11G  53% /
udev                                                     496M     0  496M   0% /dev
tmpfs                                                    101M  660K  100M   1% /run
/dev/disk/by-uuid/9f44f888-f5b3-44bc-a1c1-c07c2d1f0888    23G   12G   11G  53% /
tmpfs                                                    5,0M     0  5,0M   0% /run/lock
tmpfs                                                    201M   12K  201M   1% /tmp
tmpfs                                                    201M     0  201M   0% /run/shm
/dev/sda6                                                122G   88G   28G  76% /home

Bref, pas possible de télécharger via firefox un fichier d’une taille supérieure à 200 Mg… Si je m’y risque, j’ai droit à :

[quote]
Il n’y a pas assez d’espace sur le disque pour enregistrer /tmp/***.mp4.
Effacez les fichiers inutiles du disque et essayez à nouveau, ou essayez d’enregistrer ailleurs.[/quote]

Je suis sur un netbook Asus eeepc 1005P, en Debian Testing essentiellement. Mon kernel est actuellement 2.6.32-5-686.

Mon installation sur cette machine a au moins deux ans et je n’ai pas toujours eu ce problème. Je pense avoir téléchargé des .iso d’une taille supérieure à 200 Mg sans problèmes.

Bref, je ne comprends pas trop pourquoi mon répertoire est limité à cette taille alors qu’il reste de la place sur la même partition.

salut,

combien as tu de mémoire vive ?
un truc qui marche très bien chez moi:

dans le fichier /etc/fstab rajouter ces 2 lignes

[code]tmpfs /var/tmp tmpfs noatime 0 0
tmpfs /tmp tmpfs noatime 0 0

[/code]

/tmp n’aura plus besoin du disque, écriture directement en mémoire vive

-économie du disque
-gain en vitesse
-aucune info sur le disque

édit: en fait ils sont déjà en mémoire vive, il faut que tu fasses le contraire ce qui explique pourquoi l’espace disponible restant n’est pas le même.

ben@Debian:~$ free -m
             total       used       free     shared    buffers     cached
Mem:          1000        774        226          0         50        487
-/+ buffers/cache:        236        763
Swap:         1905          0       1905

Bref, si je ne me trompe, 1 Gg en ram et j’avais mis le double en swap.

Tu veux dire que je dois virer le tmpfs? Si oui, comment faire?

[quote=“Muad’Dib”]

Tu veux dire que je dois virer le tmpfs? Si oui, comment faire?[/quote]

commentes leurs lignes dans le fichier /etc/fstab tu verras bien, si cela plante il faudra spécifier leur nouveau point de montage.

Voici le résultat de mon /etc/fstab

[code]# /etc/fstab: static file system information.

Use ‘blkid’ to print the universally unique identifier for a

device; this may be used with UUID= as a more robust way to name devices

that works even if disks are added and removed. See fstab(5).

proc /proc proc defaults 0 0

/ was on /dev/sdb1 during installation

UUID=9f44f888-f5b3-44bc-a1c1-c07c2d1f0888 / ext3 errors=remoun$

/home was on /dev/sdb6 during installation

UUID=f1b6b694-7f10-45a5-a2ad-588f23720ab1 /home ext3 defaults $

swap was on /dev/sdb5 during installation

UUID=5bfb4e48-c947-4ed7-b167-9c05cb5c3a24 none swap sw $

/dev/sda1 /media/usb0 auto rw,user,noauto 0 0

UUID=9f44f888-f5b3-44bc-a1c1-c07c2d1f0888 /media/usb0 auto rw,user$
tmpfs /var/tmp tmpfs noatime 0 0
tmpfs /tmp tmpfs noatime 0 0
[/code]

Avant, je n’avais pas les deux dernières lignes. Mais que ce soit avec ou sans, pas de différences, cela ne marche pas. Je bloque toujours quand je télécharge plus de 200 MG.

excuses pour ce retard, je regarde la tv 'il faut sauver le soldat Ryan’
et pourtant le montage de /tmp en ram s’est bien fait quelque part…
essaie ceci:
tu renlèves ces 2 lignes du fstab

et tu fais en root:
update-initramfs -k all -d
update-initramfs -k all -c

root@Debian:/home/ben# uname -r
2.6.32-5-686
root@Debian:/home/ben# update-initramfs -k all -d
update-initramfs: Deleting /boot/initrd.img-3.2.0-2-686-pae
update-initramfs: Deleting /boot/initrd.img-3.2.0-1-686-pae
update-initramfs: Deleting /boot/initrd.img-3.1.0-1-686-pae
update-initramfs: Deleting /boot/initrd.img-2.6.32-5-686
root@Debian:/home/ben# update-initramfs -k all -c
root@Debian:/home/ben# df -h
Sys. fich.                                             Taille Util. Dispo Uti% Monté sur
rootfs                                                    23G   12G   11G  53% /
udev                                                     496M     0  496M   0% /dev
tmpfs                                                    101M  664K  100M   1% /run
/dev/disk/by-uuid/9f44f888-f5b3-44bc-a1c1-c07c2d1f0888    23G   12G   11G  53% /
tmpfs                                                    5,0M     0  5,0M   0% /run/lock
tmpfs                                                    201M   12K  201M   1% /tmp
tmpfs                                                    201M     0  201M   0% /run/shm
/dev/sda6                                                122G   89G   28G  77% /home

Malheureusement, pas de différences. :think:

tu es sur qu’ il s’ agit bien du fstab de ton système, là je vois pas pourquoi aucune différence…

En fait, il y a une différence. Plus aucun kernel ne marche au lancement. Ils apparaissent dans grub mais ils plantent après. Bref, faut que jeme refasse une clé de boot pour régler cela avant de rattaquer mon problème de /tmp. Les joies du bidouillage :slightly_smiling:

surtout ne réinstalles pas, je fais la manip sur ma machine pour voir ce qui ne vas pas et je te fais un tuto pour réparer cela, du coup on va résoudre ton problème de montage /tmp

@+

bon idem que toi mon système ne démarre plus après la sélection du grub, j’ ai compris pourquoi et j’ ai réparé: (ce n’est pas du bidouillage mais très instructif)

la commande update-initramfs -k all -d supprimes l’ initramfs dans le répertoire boot
la commande update-initramfs -k all -c en regénére un nouveau mais ici ne fonctionne pas…bizarre

ce que j’ ai fais:
je regarde le nom des noyaux dans /lib/modules et je refais la commande en saisissant le nom:

updates-initramfs -k ‘son_nom’ -c (et là cela marche)

exemple chez moi:
update-initramfs -k initrd.img-2.6.32-5-amd64 -c (cette fois le nouveau initramfs dans boot est bien crée)

pour refaire cette commande, j’ étais obligé de chrooter depuis un autre système

je fais un tuto pour faire la manip chroot depuis le cd ou usb d’installation

@+

ci-dessous pour réparer depuis un cd ou usb d’installation Debian: (test concluant)

Advanced options
Expert Install
choose langage
choisir disposition clavier
détecter et monter cd
charger tous les composants du cd
détecter le matériel réseau
configurer le réseau avec DHCP (choisir eth avec cable rj45 branché)
choisir un miroir http France    ftp.fr.debian.org
détecter les disques
Partitionner les disques  (NE RIEN CHANGER le fait d'avoir sélectionné cette rubrique va configurer le commande mount ..pour la suite)
Revenir en arrière  (echap)

  NE PAS INSTALLER LE SYSTEM DE BASE (JAMAIS)

Exécuter un shell  (ligne de commande)

fdisk -l           (repérer l' emplacement de son système du disque)
mount /dev/sda6 /mnt           (adapter sda6 par le votre)

  RECUPERATION DE LA COMMANDE CHROOT 
cp /mnt/usr/sbin/chroot /usr/sbin

mount --bind /dev /mnt/dev
mount --bind /dev /mnt/proc
mount --bind /sys /mnt/sys
chroot /mnt

MAINTENANT   toutes les commandes utiles comme si tu étais logué sur ton système   (apt-get......adduser......regénérer l' initramfs, réinstaller le grub.....etc...)

ls /lib/modules   (repérage du nom des noyaux)

et enfin   :

update-initramfs -k 'nom_du_noyau' - c

vérifier sa création et sa présences dans le répertoire boot  :              initrd.img..........................

exit
reboot                   (ne pas oublier d' enlever le cd .....et le système redémarre normalement)

après cette manip on revient sur le montage /tmp

Ca n’a pas marché. Il bloque sur le nom du kernel pour l’update-initramfs (j’ai également essayé avec un all à la place du nom du kernel mais ça coince aussi). Je suis occupé à sauvegarder mes docs et tout le toutim au cas où puis je retente la procédure. Je recopierai le message d’erreur. En tout cas, merci d’avoir balisé le terrain comme cela! Un fameux gain de temps.

Cela avait aussi bloqué sur la commande cp /mnt/usr/sbin/chroot /usr/sbin mais au final, j’ai tout de même pu utiliser la commande chroot /mnt donc je suppose que cela n’a pas porté à conséquences.

salut

ok sauvegarde tes docs au cas ou une réinstallation serait nécessaire, de toute façon tu n’ as pas assez de ram pour laisser /tmp en mémoire vive et comme son montage n’ est pas fait par fstab, j’ ai pensé toute suite que c’était initrd.img… du boot (petit système minimal qui lance linux avant de passer le relais au kernel) et il est capable lui aussi de procéder à des montages comme par exemple sur des systèmes entièrement chiffrés. voilà le pourquoi de cette manip.
Ce qu’ on aurait du faire juste-avant, (pris pour être appris) c’est sauvegarder l’ initrd.img du boot, mais je suis persuadé qu’il y a possibilité de le régénérer, donc on peut refaire la manip, tu peux lister /lib/modules et les messages d’ erreurs.

OK, j’ai réessayé et cela a fonctionné. Je mets tout de même le résultat de mes commandes dans le tutoriel, cela pourra aider si quelqu’un est confronté à la même chose.

RECUPERATION DE LA COMMANDE CHROOT
cp /mnt/usr/sbin/chroot /usr/sbin

–> Ici, j’ai la remarque suivante: cp: can’t create ‘/usr/sbin/chroot’ : text file busy
Je continue quand même, soyons fous…

mount --bind /dev /mnt/dev
mount --bind /dev /mnt/proc
mount --bind /sys /mnt/sys
chroot /mnt

[color=#000080]–> Tout passe visiblement, pas de remarques.

[/color]MAINTENANT toutes les commandes utiles comme si tu étais logué sur ton système (apt-get…adduser…regénérer l’ initramfs, réinstaller le grub…etc…)

ls /lib/modules (repérage du nom des noyaux)
–> réponses : 2.6.32-5-686 3.1.0-1-686-pae 3.2.0-1-686-pae 3.2.0-2-686-pae

et enfin :

update-initramfs -k ‘nom_du_noyau’ - c

–> réponse:
update-initramfs: Generating /boot/initrd.img-2.6.32-5-686
df:Avertissement : ne peut lire la table des systèmes de fichiers montés: Aucun fichier ou dossier de ce type
warning : failed to read mtab
WARNING : could not open /var/tmp/mkinitramfs_e9xIhK/lib/modules/2.6.32-5-686/modules.builtin: no such file or directory

vérifier sa création et sa présences dans le répertoire boot : initrd.img…
–> J’ai bien un initrd.img[2.6.32-5-686]

exit
reboot (ne pas oublier d’ enlever le cd …et le système redémarre normalement)
–> Ca marche. Je ne sais pas ce qui a changé avec hier mais bon… Je suppose qu’il y a une explication.

Voila, retour à la case départ. :slightly_smiling:

ok voilà une bonne chose.

le truc c’ est qu’ il fait le montage par défaut de /tmp en mémoire vive, donc on va essayer la chose suivante:
dans le fichier fstab tu vas rajouter cette ligne:

UUID=9f44f888-f5b3-44bc-a1c1-c07c2d1f0888 /tmp ext3 defaults 0 2

vérifie avec la commande blkid (en root) (attention aux erreurs de frappes :wink:

ensuite tu fais:
update-initramfs -u ( ne crains rien celle ci ne supprime rien, c’ est juste un update)

edit: j ’ ai modifié je viens de revoir ton fstab

Voici le résultat des commandes après avoir ajouté la ligne dans fstab:

root@Debian:/home/ben# update-initramfs -u
dpkg : avertissement : mauvaise syntaxe de la version « [2.6.32-5-686] » : le numéro de version ne commence pas par un chiffre
dpkg : avertissement : mauvaise syntaxe de la version « [3.1.0-1-686-pae] » : le numéro de version ne commence pas par un chiffre
dpkg : avertissement : mauvaise syntaxe de la version « [2.6.32-5-686] » : le numéro de version ne commence pas par un chiffre
update-initramfs: Generating /boot/initrd.img-[3.1.0-1-686-pae]
dpkg : avertissement : mauvaise syntaxe de la version « [3.1.0-1-686-pae] » : le numéro de version ne commence pas par un chiffre
WARNING: missing /lib/modules/[3.1.0-1-686-pae]
Device driver support needs thus be built-in linux image!
FATAL: [3.1.0-1-686-pae]: not absolute path.
ERROR: could not open directory /var/tmp/mkinitramfs_GGdERv/lib/modules/2.6.32-5-686: No such file or directory
FATAL: could not search modules: No such file or directory
root@Debian:/home/ben# 

Dans les faits, au reboot, il a bloqué sur la commande fsck. J’ai fait control D pour continuer mais à l’ouverture de la session, il plante. Pas moyen d’arriver sous XFCE. Il me dit qu’il y a peut-être un problème de place (??).

Je suis passé par la session de secours pour enlever les lignes ajoutée à fstab. Le problème a disparu.

je viens de voir une info linux-archive.org/debian-use … small.html

éditer le fichier /etc/default/rcS

et modifier ou rajouter la ligne:

RAMTMP=no

Donc, mon fichier:

# /etc/default/rcS
#
# Default settings for the scripts in /etc/rcS.d/
#
# For information about these variables see the rcS(5) manual page.
#
# This file belongs to the "initscripts" package.

# delete files in /tmp during boot older than x days.
# '0' means always, -1 or 'infinite' disables the feature
TMPTIME=0

# spawn sulogin during boot, continue normal boot if not used in 30 seconds
SULOGIN=no

# do not allow users to log in until the boot has completed
DELAYLOGIN=no

# assume that the BIOS clock is set to UTC time (recommended)
#UTC=yes # OBSOLETE; see /etc/adjtime and hwclock(8).

# be more verbose during the boot process
VERBOSE=no

# automatically repair filesystems with inconsistencies during boot
FSCKFIX=no

# mount /run/lock as a tmpfs (separately from /run)
RAMLOCK=yes

# mount /run/shm as a tmpfs (separately from /run)
RAMSHM=yes

# mount /tmp as a tmpfs
RAMTMP=yes

Modification faite comme recommandé. Le résultat est là. J’ai pu télécharger plus de 200 Mg. Parfait quoi. Grand merci ! :023

he ben, toutes ces manip pour finalement un no a la place d’un yes. :wink:
bon à savoir si un jour je dois configurer une vielle machine avec peu de mémoire