slack a écrit 349 commentaires

  • # Si la piste du processus noyau est la bonne ...

    Posté par  . En réponse au message Flush disque qui fait "freezer" la machine. Évalué à 6.

    Avant le 2.6.32 les threads noyaux pdflush étaient chargés d'écrire sur les disques les données modifiées. Le 2.6.32 propose une nouvelle infrastructure : flush. Le noyau crée selon les besoins des threads flush-X:Y où X et Y désignent le majeur et le mineur du périphérique dont le thread est responsable. Avec ce système, un périphérique lent ne pénalise pas les périphériques rapides.

    Trois questions pour progresser :
    * Le processus flush est-il bien un processus du noyau ? Dans l'affirmative, il apparrait entre crochets avec la commande
    ps aux.

    * jdb = java debuger ?

    * Sur ton système, quel périphérique a pour majeur 254 et mineur 0 ?
  • [^] # Re: Detection de la configuration

    Posté par  . En réponse au message Faire un kernel rapide au démarrage.. Évalué à 3.

    Le fichier /proc/config.gz est le fichier (compressé) .config contenant la configuration du noyau au moment de sa compilation et non de la configuration courante.
  • [^] # Re: différentes pistes :

    Posté par  . En réponse au message Quelle distribution pour un vieux pc 128 Mo ram. Évalué à 1.

    Pourquoi recommandez une vieille distribution alors qu'une distribution récente ne consommera pas énormément avec un WM léger ?

    Tout d'abord, par expérience, les serveurs X et les noyaux récents ne supportent plus respectivement les cartes graphiques et les périphériques trop anciens.

    Ensuite, parce que cette machine n'a que 132 Mo de ram et que les logiciels en consomment de plus en plus. Par exemple, sur ma machine mon serveur X en consomme 23 Mo. Il en consommait 55 il y a quelques instant. Même avec du swap, comment veux-tu avoir assez de place pour le noyau, le serveur X, le gestionnaire de fenêtre et un ou deux programmes ?
  • # différentes pistes :

    Posté par  . En réponse au message Quelle distribution pour un vieux pc 128 Mo ram. Évalué à 1.

    Sur une machine aussi ancienne, peux-tu trouver la version d'une distribution sortie peu de temps après ta machine. Contrairement à une version récente, elle ne consommera pas trop de ressources et contiendra tous les pilotes nécessaires.
    Sinon, tu peux te tourner sur une distribution light : http://fr.wikipedia.org/wiki/MiniLinux

    Tu peux toujours transformer cette machine en terminal X.

    Si ta carte wifi est basée sur la puce Atheros 5xxx, il te faut le pilote ath5k apparu avec le noyau 2.6.24. Si ton noyau est trop ancien, tu peux toujours utiliser une carte ethernet et un bout de câble.

    Bon courage.

    slack
  • # Si cela peut t'aider ...

    Posté par  . En réponse au message Création d'une distribution à partir de rien. Évalué à 1.

    * Quelles sources d'informations utilises-tu ?

    * Pour la configuration du noyau, je te conseille de compiler en dur tous les pilotes utiles au boot.

    * Ta distribution se trouve-t-elle entièrement dans l'initrd ou bien sur une partition de ta clé ?

    Dans le second cas, ton initrd doit contenir un fichier linuxrc qui doit rechercher la partition de ta clé.

    Personnellement, j'utilisais pour une clé Voyager contenant trois partitions (la première sous fat et les suivantes sous système fichiers linux contenant la distribution à lancer) le fichier linuxrc ci-dessous.

    Note1 : pour que la clé soit en lecture seule, la racine de la partition est en fait une union réalisé avec unionfs.

    Note2 : l'initrd contenait l'éxecutable blkid qui permet de trouver le système de fichiers utilisé sur une partition.

    Bon courage
    slack


    -------------------------------- linuxrc ------------------------------------------
    #!/bin/ash
    #echo -e "\033[0;32m""* ""\033[39m""$@"

    export PATH=.:/:/usr/sbin:/usr/bin:/sbin:/bin

    # garder une trace du message et l'afficher à l'écran après une étoile verte
    EchoLog()
    { echo "LIVECD:" "$@" >>/var/log/livelog
    echo -e "\033[0;32m""* ""\033[39m""$@"
    }

    AfficheEnGras()
    { echo -e "\033[0;1m""$@""\033[0;0m"
    } # gras texte normal
    # Chaque code d'échappement doit débuter par \033
    # qui donne le code ascii d'escape (Echap)

    #commande lancée en mode débug
    debug()
    { echo "===================== mode débug ======================"
    echo "Lancez les commandes souhaitées "
    echo "puis appuyez surCtrl+D pour poursuivre le boot"
    ash < /dev/console
    echo # Pour que la suite du texte soit sur une nouvelle ligne
    }

    #commande lancée quand quelque chose va très mal
    sos()
    { echo "L'erreur grave suivante est apparue :"
    echo "$1"
    echo "Utiliser le shell pour solutionner ou rebooter avec Ctrl+ALt+Del"
    ash </dev/console >/dev/console
    }

    # Titre
    AfficheEnGras "exécution du script linuxrc"

    EchoLog "montage des systèmes de fichiers /proc et /sys"
    mount -t proc proc /proc
    mount -t sysfs sysfs /sys
    ln -sf /proc/mounts /etc/mtab # cela nous permet d'utiliser umount -a
    #DEBUGCMD="debug"
    #$DEBUGCMD

    EchoLog "prise en compte de la ligne de commande"
    # option debug : lancer un shell après chaque étape pour déboguer
    DEBUGCMD=""
    if cat /proc/cmdline | grep debug 2>/dev/null 1>/dev/null ; then
    DEBUGCMD="debug"
    EchoLog "débogage activé"
    fi
    ## AFAIRE
    ## A enlever pour un système en production
    #DEBUGCMD="debug"
    #$DEBUGCMD

    EchoLog "attendre 5 secondes pour que le noyau prenne en compte les supports
    usb"
    for i in 1 2 3 4 5 6 ; do sleep 1 ; echo -n "." ; done ; echo
    $DEBUGCMD


    EchoLog "création pour les périphériques bloc des entrées dans /dev"
    for BLOCK in `ls -A1d /sys/block/*/dev /sys/block/*/*/dev 2>/dev/null` ; do
    DEVICE="/dev/`basename \`dirname $BLOCK\``"
    if [ ! -b $DEVICE ]; then
    MAJORMINOR="`head -n 1 $BLOCK | tr ':' ' '`"
    mknod $DEVICE b $MAJORMINOR
    fi
    done
    ls /dev
    $DEBUGCMD

    EchoLog "recherche de la partition racine"
    TROUVE="non" ; DEVICE_RACINE=""
    DEVICE_RACINE="`grep VoyagerGT /sys/block/sd*/device/model | cut -d '/' -f 4`
    "
    echo $DEVICE_RACINE
    TROUVE="oui"
    DEVICE_RACINE="/dev/$DEVICE_RACINE"
    echo $DEVICE_RACINE
    $DEBUGCMD

    EchoLog "montage de tmpfs"
    mkdir /mnt/temporaire
    mount -t tmpfs -o size=90% tmpfs /mnt/temporaire
    $DEBUGCMD

    EchoLog "montage de la partition racine"
    mkdir /mnt/rac2 /mnt/rac3
    mount -o ro ${DEVICE_RACINE}2 /mnt/rac2
    mount -o ro ${DEVICE_RACINE}3 /mnt/rac3

    $DEBUGCMD

    EchoLog "création de l'union"
    mount -t unionfs -o dirs=/mnt/temporaire:/mnt/rac3:/mnt/rac2 unionfs /mnt/rac
    ine
    mount -t unionfs -o remount,mode=/mnt/rac3=ro /mnt/racine
    mount -t unionfs -o remount,mode=/mnt/rac2=ro /mnt/racine
    $DEBUGCMD


    # le fichier /proc/partitions contient :
    # une ligne d'entêtes
    # une ligne vide
    # le 4ième champ des lignes suivantes est une partition reconnue par le système
    # Attention, les devices comme sda sont renvoyées
    # On élimine les périphériques loop éventuellement montés
    Liste_des_partitions="`awk '!/loop/&&NR>2 {print $4}' /proc/partitions`"

    echo "Liste des partitions : $Liste_des_partitions"
    $DEBUGCMD


    if [ "$TROUVE" = "non" ]; then
    sos " Partition racine non trouvée."
    fi
    $DEBUGCMD


    # Attention le fichier est /mnt/racine/etc/fstab
    EchoLog "création du fichier /etc/fstab"
    FSTAB="/mnt/racine/etc/fstab"
    mkdir -p /mnt/racine/etc /mnt/racine/mnt # au cas où
    touch $FSTAB

    # ajouter le support pour la racine, les terminaux virtuels, proc, sys
    # et le lecteur de disquette
    #FS="`blkid -s TYPE $DEVICE | cut -d = -f 2 | tr -d ' \"'`"
    #echo "$DEVICE_RACINE / $FS defaults 0 0" >$FSTAB
    echo "/dev/root / unionfs defaults 0 0" >$FSTAB
    echo "devpts /dev/pts devpts gid=5,mode=620 0 0" >>$FSTAB
    echo "proc /proc proc defaults 0 0" >>$FSTAB
    echo "sysfs /sys sysfs defaults 0 0" >>$FSTAB
    echo "/dev/fd0 /mnt/floppy auto noauto,users,sync 0 0" >>$FSTAB
    mkdir -p /mnt/racine/mnt/floppy

    # les cdrom
    for BLOCK in $Liste_des_cdrom ; do
    MOUNTDIR="/mnt/${BLOCK}_cdrom"
    mkdir -p /mnt/racine/$MOUNTDIR
    echo "/dev/$BLOCK $MOUNTDIR iso9660 noauto,users,exec 0 0" >>$FSTAB
    done

    # les partitions de disque
    #for DEVICE in `awk '!/loop/&&NR>2 {print "/dev/"$4}' /proc/partitions`; do
    for DEV in $Liste_des_partitions ; do
    DEVICE="/dev/$DEV"
    unset REMOVABLE; unset OPT
    # DEV="`basename $DEVICE`"
    DEV0="`echo $DEV | cut -b 1-3`"
    if [ "0`cat /sys/block/$DEV0/removable 2>/dev/null`" -ne 0 ]; then
    REMOVABLE="_removable"
    fi
    MOUNTDIR="/mnt/$DEV$REMOVABLE"
    FS="`blkid -s TYPE $DEVICE | cut -d = -f 2 | tr -d ' \"'`"

    # if the partition has filesystem, add it to fstab
    # sans umask, les systèmes de fichiers ntfs sont montés rwr------ !
    if [ "$FS" != "" ]; then
    if [ "$FS" = "swap" ]; then
    echo "$DEVICE swap swap defaults 0 0" >>$FSTAB
    elif [ "$FS" = "ntfs" ]; then
    echo "$DEVICE $MOUNTDIR $FS auto,users,umask=022$OPT 0 0" >>$FSTAB
    mkdir -p "/mnt/racine/$MOUNTDIR"
    else
    echo "$DEVICE $MOUNTDIR $FS auto,users,suid,dev,exec$OPT 0 0" >>$FSTAB
    mkdir -p "/mnt/racine/$MOUNTDIR"
    fi
    fi
    done

    $DEBUGCMD


    # La partition racine est montée sur /mnt/racine
    # On change la racine / à ce répertoire et on déplace la racine du
    # du ramdisk initial vers /mnt/live
    # Finalement, on exécute /sbin/init pour lancer la distribution

    EchoLog "Déplacement de la racine du système de fichiers"
    cd /mnt/racine

    umount /sys # Nous n'en avons plus besoin
    # Une bonne idée mais à mettre en oeuvre : le remontage de /proc
    # dans cleanup bloque le script cleanup. Peut-être enlever le lien /etc/mtab
    #umount /proc # à remonter dans le script d'arrêt
    if [ ! -e dev/console ]; then mknod dev/console c 5 1; fi

    if [ -x /mnt/racine/usr/sbin/chroot ];
    then CHROOT=/usr/sbin/chroot
    else CHROOT=/usr/bin/chroot
    fi

    AfficheEnGras "Lancement de la distribution"
    mkdir -p mnt/live
    mount -o remount,ro /mnt/racine
    pivot_root . mnt/live
    exec $CHROOT . sbin/init <dev/console >dev/console 2>&1

    AfficheEnGras "ERREUR!"
    EchoLog "Le processus init n'a pas été lancé correctement."
    EchoLog "Le noyau a paniqué. Même Ctrl+Alt+Del ne vous aidera pas."
  • # Voici deux pistes.

    Posté par  . En réponse au message Où es passé l'espace libre sur ma partition?. Évalué à 2.

    Première piste.
    En root, place ton système en mode maintenance (init 1), démonte la partition /dev/hda5 puis lance reiserfsck sur cette partition (l'option --check permet de ne rien modifier sur la partition) :
    # init 1
    # umount /dev/hda5
    # reiserfsck --check /dev/hda5

    Seconde piste.
    Que donne la commande suivante qui affiche les fichiers d'une taille de plus d'1 Mo dans /var :
    # find /var -size +1024k | ls -lh

    Bon courage.
  • [^] # Pour plus d'informations, consulte :

    Posté par  . En réponse au message Travail collaboratif et partage de fichiers. Évalué à 2.

  • # Quelques pistes

    Posté par  . En réponse au message Installation d'un Linux léger. Évalué à 1.

    Précise la configuration matérielle de ta machine :
    - processeur
    - quantité de ram installée
    - taille du disque dur
    - périphériques installés (carte video, usb, réseau, etc)

    Avec aussi peu de ram, une distribution généraliste récente va utiliser beaucoup de swap et le système va être lent.

    Comme cette machine est ancienne, tu peux essayer d'installer la version d'une distribution sortie peu de temps après la fabrication de ta machine. J'ai testé sur une machine encore plus vieille que la tienne et cela fonctionne.

    Tu peux aussi de tourner vers slitaz (non testé)
    http://www.slitaz.org/doc/handbook/install.html
    ou une autre distribution ultra légère.

    le serveur X est mal configuré.
    Ton serveur X supporte-il ta carte video ? Il est peut-être possible de le configurer à partir du mode texte. Voir :
    http://casteyde.christian.free.fr/system/linux/guide/online/(...)

    Bon courage
  • [^] # Re: Question :

    Posté par  . En réponse au message Changer les droits dynamiquement sur un disque externe. Évalué à 1.

    Pourquoi "tout changer" ?

    L'uid et le gid utilisés au travail sont-ils libres sur tes machines personnelles ?
    Si c'est la cas, tu ajoutes un groupe avec le gid du travail puis un compte utilisateur faisant partie du groupe précédent avec l'uid du travail. Enfin tu utilises ce compte sur tes machines personnelles. Voir les pages de manuel de groupadd et de useradd.

    Si le gid est déjà utilisé par un groupe, il faudra attribuer à ce dernier une autre valeur numérique et lui ré-attribuer les fichiers dont il est le groupe. De même pour l'uid.

    Bon courage.
  • # Question :

    Posté par  . En réponse au message Changer les droits dynamiquement sur un disque externe. Évalué à 1.

    As-tu accès au compte root sur ces machines ?

    Le plus simple est de configurer les comptes avec les mêmes uid/gid sur toutes les machines.

    Sinon, lance sous le compte root la commande "chown -R moi:moi" à chaque connection du disque dur.

    Il y a peut-être moyen d'utiliser udev mais cela dépasse mes compétences.

    Salut
  • # Pour lister le contenu d'un repertoire, tape :

    Posté par  . En réponse au message ls -d ne marche pas sous ubuntu ?. Évalué à 4.

    ls chemin/absolu/ou/relatif/vers/le/répertoire

    Les commandes
    ls -d et
    ls --directoryte renvoient
    .c'est à dire le répertoire courant, Rien d'anormal.

    Par exemple, cette option (courte ou longue) est utile avec l'option -l. Lance
    ls -l /tmp
    ls -ld /tmp
    ls -l ~/*
    ls -ld ~/*
  • # MIse à jour

    Posté par  . En réponse au message status du projet unionfs. Évalué à 1.

    Merci pour vos indications.

    Le projet unionfs est encore en activité après semble-t-il une période de sommeil. La page
    http://www.filesystems.org/project-unionfs.html
    propose des patchs pour les noyaux 2.6.18.8 à 2.6.29-rc2.

    Cool !
  • # Avant de courrir ...

    Posté par  . En réponse au message pc portable planté !. Évalué à 1.

    Peux-tu accéder au bios ?

    Peux-tu booter avec un cd bootable ?

    La (ou les) partition(s) sur le disque dur sont-elles accessibles ?


    Bon courage.
  • [^] # Re: Union Mount

    Posté par  . En réponse au message status du projet unionfs. Évalué à 1.

    Merci pour les informations, en particulier le dernier lien.
  • [^] # Re: Quelques précisions

    Posté par  . En réponse au message status du projet unionfs. Évalué à 1.

    Par contre, Andrew Morton l'a inclu pendant quelques mois dans son patch mm.

    Désolé pour la faute de frappe
  • [^] # Re: Union Mount

    Posté par  . En réponse au message status du projet unionfs. Évalué à 1.

    J'ai souvenir d'échanges sur la liste du noyau où certains développeurs demandaient des modifications du VFS pour qu'il puisse supporter des "mount union". Mais je ne connais pas les choix des développeurs noyaux et l'état d'avancement de ce projet.

    As-tu des pointeurs vers des pages web ?
  • [^] # Quelques précisions

    Posté par  . En réponse au message status du projet unionfs. Évalué à 1.

    unionfs n'a jamais été inclu dans le noyau officiel. Par contre, Andrew Morton a inclu pendant quelques mois dans son patch mm.

    Unionfs est inclu dans
    http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2(...)

    mais pas dans les patches suivants.

    Le patch unionfs-2.5_for_2.6.27-rc6.diff.gz s'applique au 2.6.28 mais s'appliquera-t-il encore aux prochaines versions ? Le noyau obtenu sera-t-il stable ?
  • # Quelles combinaisons de touches utilises-tu ?

    Posté par  . En réponse au message Pas de Magic sysrq sous X. Évalué à 2.

    La page

    http://www.google.fr/search?hl=fr&q=++Pas+de+Magic+sysrq(...)

    renvoie sur ton post puis sur la page

    http://fr.wikipedia.org/wiki/Magic_SysRq_key

    qui indique de débuter par la combinaison de touches Alt+Sys+R pour récupérer le contrôle du clavier X.

    Bonne lecture.


    Sur ma machine (slackware 10.2 avec un noyau 2.6.27.10 compilé par mes soins), la suite de combinaisons indiquée fonctionne.

    Slack
  • # Quelques questions à 2 centimes

    Posté par  . En réponse au message exec dans un environnement chrooté sans shell. Évalué à 1.

    Pierre Maziere

    Je ne connais pas php ni lighttpd mais sont-ils configurés pour exécuter une commande externe ?

    Faut-il activer ou désactiver une option dans leurs fichiers de configuration ?

    Faut-il leur passer une option en ligne de commande ?

    Peux-tu augmenter le niveau de "verbosité" de lighttpd et de php ?

    Que trouves-tu dans les fichiers de trace de lighttpd et de php ?

    Bon courage.
  • # DNS

    Posté par  . En réponse au message Accéder à une machine par son nom. Évalué à 3.

    Peux-tu préciser les systèmes d'exploitation utilisés sur les serveurs et les clients ?

    A mon avis, il te faut mettre en place un serveur dns local.
  • [^] # Re: vlc SVN

    Posté par  . En réponse au message diffuser sur le réseau local le flux video de ma webcam. Évalué à 1.

    Thibault

    Tu as quelle distribution ?
    slackware 12.1 qui ne dispose pas de package svn à ma connaissance.

    Quel codec est plus performant pour l'encodage ?

    tu pourras même diriger le VLC via une page web si tu actives "--enable-httpd".
    Cela évitera de compiler qt4. A quelle adresse trouve-t-on cette page web ?

    Dès que possible, je teste vlc svn.

    Merci pour tes conseils.

    slack
  • [^] # Mes 2c ...

    Posté par  . En réponse au message Router Linux/Debian ETCH. Évalué à 1.

    EtienneV

    Quel(s) protocole(s) utilises-tu pour accéder aux sites qui posent problèmes : http, ftp ou autre ?

    Sur la passerelle, le suivi des connections réseaux (le contrack) est-il compilé avec le support de ce(s) protocolea(s) ?

    Slack
  • [^] # Re: vlc SVN

    Posté par  . En réponse au message diffuser sur le réseau local le flux video de ma webcam. Évalué à 1.

    Bonjour Thibault

    Qu'appelles-tu "bonne version" ?

    J'ai testé la version svn (future version 0.9.0). Il faut tout d'abord compiler ce logiciel. Vu les dépendances, c'est l'horreur. Faute d'une bonne documentation claire, complète et à jour, j'ai abandonné. As-tu une expérience ou de la documentation à partager ?

    Merci.

    slack
  • # Pour de bonnes bases :

    Posté par  . En réponse au message Recherche livre pour bien débuter avec GNU/Linux. Évalué à 2.

    http://casteyde.christian.free.fr/system/linux/guide/online/(...)

    Pour 2€, tu peux recevoir le document au format pdf et l'imprimer ensuite.

    Bonne continuation.
  • # Si tu veux filter en entrée et en sortie au niveau mac, utilise

    Posté par  . En réponse au message Filtrage d'adresses MAC. Évalué à 2.

    arptables

    Les sources sont disponibles à l'adresse :
    http://sourceforge.net/project/showfiles.php?group_id=39571


    Voir la page de man.