totoAussi

  • 16 août 2014
  • Inscrit 18 mars 2011
  • 0 meilleure réponse
  • Petit nouveau Adepte du forum Rédacteur potentiel
  • Bonjour,

    je suis en train de préparer la certification lpic-1 101 et 102 en français. Si vous avez des examens blancs à me donner, ce serait sympa.

    Merci d'avance, cordialement
  • Merci WilQu pour ta réponse, je vais me contenter de :
    wget -S -N --ignore-length "http://www.example.com/fichier-distant"
    
  • Bonjour,

    je télécharge régulièrement (1 fois par jour) un même fichier (dont le nom ne change jamais) sur un serveur distant par le protocole http, en ligne de commande avec wget.
    Maintenant, ça m'ennuie de re-télécharger ce fichier distant s'il n'a pas été modifié.

    Donc je voudrais savoir s'il y a un moyen en ligne de commande de savoir si ce fichier distant a été modifié (en déterminant par exemple sa date de dernière modification, sa taille, ou son md5) pour décider oui ou non de son téléchargement ?

    J'ai essayé wget avec l'option -S et -N, mais ça n'a pas l'air fiable.

    Merci d'avance pour vos réponses, cordialement.
  • ines2012 wrote:
    totoAussi wrote:Bonjour madko,

    merci beaucoup pour ton aide.

    J'ai résolu le problème. Mon redémarrage mysql n'était as propre, car j'avais un message failed. Du coup, j'ai supprimer et réinstallé mysql, et tout a fonctionné.

    Merci encore.

    Bonjour TotoAussi,

    Prière m'informer quel page web vous avez utilisé pour mettre en place un serveur mail.

    En fait, je travaille sur ubuntu, et j'ai eu beaucoup de problèmes en configurant le fichier main.cf de Postfix, En fait, je ne dispose de nom de domaine et je voulais utiliser ceux figurant dans la base de données mysql.


    Merci d'avance,
    => Si tu n'utilise pas de nom de domaine, tu peux créer un nom de domaine local appelé localdomain. Pour cela, quand tu installe postfix, tu choisis "Pour site internet", puis à l'étape où tu dois mettre un nom de serveur, tu met localhost.localdomain. Ainsi, dans main.cf, myhostname sera égal à localhost.localdomain, et par conséquent mydomain sera égal à localdomain. Et tu pourra donc utiliser localdomain comme domaine virtuel, et l'insérer dans ta base mysql.

    Je me suis basé sur tous les tutos trouvables sur le net qui m'on permis de comprendre petit à petit le fonctionnement de postfix.

    N'hésite pas à donner un copié-coller de ta configuration postfix sur ce thread si tu as besoin d'aide.

    Et puis, si tu habite à coté de la cité des sciences de Paris, il y a ubuntu party et compagnie aujourd'hui, tu peux y passer avec ton pc pour développer et échanger tes connaissances.
  • Bonjour,

    fedora a beaucoup de différence avec les dérivées de debian.

    Même si sur ubuntu t'as l'habitude de faire /etc/init.d/apache2 reload

    sur fedora, c'est autre chose :

    # service httpd reload
  • Bonjour madko,

    merci beaucoup pour ton aide.

    J'ai résolu le problème. Mon redémarrage mysql n'était as propre, car j'avais un message failed. Du coup, j'ai supprimer et réinstallé mysql, et tout a fonctionné.

    Merci encore.
  • ReBonjour,

    je n'ai pas encore résolu le problème, mais je sais pourquoi postfix ne peut pas envoyer des messages vers un domaine vituel, example.com :
    c'est parce que postfix utilise le transport smtp au lieu du transport virtual, càd
    que je devrais avoir ça :
    Sep 10 15:39:34 ns postfix/virtual[23727]: 7D387833C1: to=<toto@example.com>, relay=none,
    
    au lieu de ça :
    Sep 10 15:39:34 ns postfix/smtp[23727]: 7D387833C1: to=<toto@example.com>, relay=none,
    
    En effet, d'après http://postfix.traduc.org/index.php/pos ... _transport, postfix utilise le transport smtp lorsqu'il doit livrer des messages vers des domaines ne faisant pas partie de $mydestination, $virtual_alias_domains, et de $virtual_mailbox_domains.
    Or dans le main.cf, mon domaine virtuel example.com fait partie de $virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual_mailbox_domains.cf, et donc devrait utiliser le transport virtual et non smtp, et en plus virtual_transport (transport utilisé pour livrée vers les domaines virtuels) est bien égal à virtual.
    Mais alors pourquoi mon postfix a fait l'erreur d'utiliser smtp pour ce domaine virtuel ?
    Est-ce que c'est un bug de postfix ? J'apprécierais votre retour si vous pouvez faire un test
    Pourtant dans mon main.cf, vitual_transport (qui permet à postfix d'utiliser le transport virtual pour les domaines virtuels listés dans $virtual_mailbox_domains) est bien virtual.

    Par ailleurs, j'ai l'impression que je suis maudit avec la méthode mysql parce que avec la méthode des fichiers hash (voir ci-dessous) à la place de la méthode mysql, postfix utilise bien le transport virtual
    pour livrer les messages vers les domaines virtual.
    /*Méthode des fichiers hash*/
    virtual_mailbox_domains = example.com (au lieu de mysql:/etc/postfix/mysql-virtual_mailbox_domains.cf)
    virtual_mailbox_base = /var/mail/vhosts
    virtual_mailbox_maps = hash:/etc/postfix/vmailbox (au lieu de mysql:/etc/postfix/mysql-virtual_mailbox_maps.cf)
    virtual_minimum_uid = 100
    virtual_uid_maps = static:5000
    virtual_gid_maps = static:5000
    virtual_alias_maps = hash:/etc/postfix/virtual (au lieu de mysql:/etc/postfix/mysql-virtual_alias_maps.cf)
    
    Donc pourquoi avec la méthode mysql, postfix fait l'erreur d'utiliser le transport smtp au lieu du transport virtual lorsqu'il envoie des messages vers les domaines virtuels ?

    Merci d'avance 😐
  • Bonjour,

    j'ai un serveur postfix/mysql dont la configuration de main.cf est la suivante (j'ai remplacé le vrai nom de domaine par example.com) :
    smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
    biff = no
    append_dot_mydomain = no
    smtpd_use_tls=no
    
    myhostname = ns.example.com (valeur par défaut)
    alias_maps = hash:/etc/aliases
    alias_database = hash:/etc/aliases
    myorigin = /etc/mailname
    mydestination = ns.example.com, localhost.example.com, , localhost (valeur par défaut)
    relayhost =
    mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
    mailbox_size_limit = 0
    recipient_delimiter = +
    inet_interfaces = all
    html_directory = /usr/share/doc/postfix/html
    
    virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual_mailbox_domains.cf
    virtual_mailbox_base = /var/mail/vhosts
    virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual_mailbox_maps.cf
    virtual_minimum_uid = 100
    virtual_uid_maps = static:5000
    virtual_gid_maps = static:5000
    virtual_alias_maps = mysql:/etc/postfix/mysql-virtual_alias_maps.cf
    Je vérifie le pointage mx, qui est bon :
    [guest@localhost~]$ dig mx example.com +short
    [guest@localhost~]$ 10 mail.example.com
    [guest@localhost~]
    
    Je crée une adresse email toto@example.com dans la base de donnée postfix, et je vérifie si postfix arrive à retrouver les informations avec mysql, et je constate que tout est bon :
    [guest@localhost~]$ postmap -q "toto@example.com" mysql:/etc/postfix/mysql-virtual_mailbox_domains.cf
    [guest@localhost~]$ example.com
    [guest@localhost~]
    
    [guest@localhost~]$ postmap -q "tata@example.com" mysql:/etc/postfix/mysql-virtual_mailbox_maps.cf
    [guest@localhost~]$ toto@example.com
    [guest@localhost~]
    
    Puis quand j'envoie un mail vers toto@example.com, les logs m'affichent des erreurs (voir surtout la ligne où j'ai mis une fléche):
    Sep 10 15:39:34 ns postfix/pickup[23571]: 7D387833C1: uid=0 from=<root>
    Sep 10 15:39:34 ns postfix/cleanup[23725]: 7D387833C1: message-id=<20120910133934.7D387833C1@ns.example.com>
    Sep 10 15:39:34 ns postfix/qmgr[23572]: 7D387833C1: from=<root@ns.example.com>, size=440, nrcpt=1 (queue active)
    =>Sep 10 15:39:34 ns postfix/smtp[23727]: 7D387833C1: to=<toto@example.com>, relay=none, delay=0.11, delays=0.1/0.01/0/0, dsn=5.4.6, status=bounced (mail for example.com loops back to myself)
    Sep 10 15:39:34 ns postfix/cleanup[23725]: 949FC833C5: message-id=<20120910133934.949FC833C5@ns.example.com>
    Sep 10 15:39:34 ns postfix/bounce[23728]: 7D387833C1: sender non-delivery notification: 949FC833C5
    Sep 10 15:39:34 ns postfix/qmgr[23572]: 949FC833C5: from=<>, size=2196, nrcpt=1 (queue active)
    Sep 10 15:39:34 ns postfix/qmgr[23572]: 7D387833C1: removed
    Sep 10 15:39:34 ns postfix/local[23729]: 949FC833C5: to=<root@ns.example.com>, relay=local, delay=0.08, delays=0.03/0.01/0/0.03, dsn=2.0.0, status=sent (delivered to mailbox)
    Sep 10 15:39:34 ns postfix/qmgr[23572]: 949FC833C5: removed
    root@ns:/var/log# 
    

    Donc je voudrais savoir pourquoi je ne peux pas envoyer des mails vers un domaine virtuel :-? ?

    Merci d'avance, cordialement.
  • Bonjour,

    j'ai un serveur mail à la postfix/dovecot, et je dois maintenant mettre en place des quotas pour les boites emails des utilisateurs.
    Par exemple mettre une limite de 2G pour kate@example.com, 5G pour joe@example.com, etc..

    Je ne sais pas quelle est la méthode à utiliser.

    Quelle méthode me recommandez-vous ?

    Merci d'avance pour vos réponse, cordialement.
  • Bonjour Pikachu_2014,

    FANTASTIQUE !

    Merci Pikachu, c'est exactement ce qu'il me fallait.

    Merci encore, résolu.
  • Bonjour,

    j'ai un fichier simple nommé fichier.txt dont le contenu est basique comme ceci :
    aaa
    bbb
    ccc
    ddd
    eee

    Ensuite je tape la commande grep pour affichier ligne par ligne le contenu du fichier :
    grep -i "[a-z]" ./fichier.txt
    Ensuite, je voudrais ajouter en plus un traitement basique comme afficher un "Hello World !", à chaque ligne retournée par grep.

    Le code serait du style :
    grep -i "[a-z]" ./fichier.txt -exec echo "Hello World !" {} /;
    Ce code ne marche pas car le -exec {} /; ne marche que pour find.

    Donc ma question est la suivante :
    comment appliquer un traitement supplémentaire à chaque ligne retournée par grep ?

    Merci d'avance pour vos réponses, cordialement.

    PS : je sais qu'il y a une méthode alternative, qui est de mettre les données du fichier dans une variable de type array et de boucler la variable array, mais j'évite cette méthode car j'en ai des milliers des données (donc qui consommeront beaucoup de mémoire si je les met toutes dans une variable array).
  • C'est bon j'ai réussi grace à votre aide,

    en faite, quand je tapais la commande quotaon -a, j'avais un message d'erreur me disait qu'il ne pouvait pas remounter la /home en lecture seule.

    Du coup, je suis passé en mode rescue, et j'ai tapé :
    #Démonter la /home
    umount /home
    
    #Remonter en lecture seule :
    mount -r /home
    
    #Initialisation :
    quotacheck -a 
    
    #Miracle, 1 fichier aquota.user apparait dans /home suite à quotacheck :
    ls /home
    aquota.user
    
    #Activer les quotas :
    quotaon -a
    #Miracle, pas de message d'erreur
    
    #Rebootage :
    reboot
    
    

    Ensuite, dans ma session fedora, la commande edquota marche enfin :
    edquota -u guest
    Quotas disque pour user guest (uid 500) :
     Système de fichiers           blocs       souple     stricte   inodes    souple   stricte
      /dev/mapper/VolGroup-lv_home   21990340          0          0      91565        0        0
    ~                                                                                                                                                                       
    ~                                                          
    
    Le problème est résolu, mais ce qui est bizarre, c'est que :
    - d'après les tutos, on peut mettre en place et gérer les quotas à chaud en pleine session, càd sans passer en mode rescue.
    Moi j'étais obligé de passer en mode rescue.
    - par défaut, au démarrage ma partition /home n'est pas monté en lecture seule => je me demande si c'est normal ?

    Merci à vous.
  • C'est bon,

    par précaution j'ai fait un fdisk sur /systeme + /home en mode rescue (à l'affichage de grub, mettre quiet à 1 sur le noyau puis booter dessus).

    J'ai fait un umount /system pour fdisker le system, puis un umount /home pour fdisker la home.

    Mais je n'avais pas besoin d'un live CD, ni d'une autre distro déjà installé.

    Merci à vous

    si j'ai mal fait la manip, n'hésitez pas à poster vos remarques.

    A+
  • Bonjour pingou et nouvo09
    pingou wrote: Démonter la partition, comme indiqué ?
    => justement, si je démonte à chaud la partition /dev/mapper/VolGroup-lv_root (qui contient fedora que j'utilise), est-ce que je ne pourrais plus utiliser le terminal pour lancer fsck vu que le programme du terminal vient de la partition /dev/mapper/VolGroup-lv_root ? .

    A+
  • Bonjour,

    en tapant fsck (pour réparer mes disques) dans le terminal, j'ai un message d'avertissement que voici :
    [guest@localhost ~]$ fsck
    fsck de util-linux 2.19.1
    e2fsck 1.41.14 (22-Dec-2010)
    /dev/mapper/VolGroup-lv_root est monté. 
    
    AVERTISSEMENT !!! Le système de fichiers est monté.   Si vous continuez
    vous ***ALLEZ*** causer des dommages ***SÉVÈRES*** au système de fichiers.
    
    Souhaitez-vous réellement continuer (o/n)? 
    
    
    Bien sûr j'ai tapé n (non), parce que je n'ai pas envie de détruire mes partitions. Par sagesse, je vous demande comment utiliser fsck ? (j'ai déjà lu le man page pour tester).

    Merci d'avance pour vos réponses, cordialement.
  • Merci beaucoup nouvo09, je vais lire ça
  • Bonjour
    nouvo09 wrote:Tu as regardé les pages man de setquota, edquota ?
    =>oui, mais je ne peux ni utiliser setquota, ni edquota tant que je n'aurai pas réussi à activer les quota 🙁
  • Bonjour,

    je suis en train de mettre en place des quotas d'espaces pour les utilisateurs de ma partition /home, en suivant les tutos à droite à gauche sur internet.
    Mais malheureusement, je n'ai pas réussi car j'ai un message d'erreur.

    Voici l'ordre des étapes que j'ai faites pour mettre en place des quotas utilisateurs de la /home :

    1) Edition du fichier /etc/fstab comme ceci :
    [root@localhost etc]# vi fstab
    
    #
    # /etc/fstab
    # Created by anaconda on Fri Sep  9 10:53:28 2011
    #
    # Accessible filesystems, by reference, are maintained under '/dev/disk'
    # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
    #
    /dev/mapper/VolGroup-lv_root /                       ext4    defaults        1 1
    UUID=1ad4a0f4-cb6b-4cb1-a5ea-2f35409b7d89 /boot                   ext4    defaults        1 2
    /dev/mapper/VolGroup-lv_home /home                   ext4    defaults,usrquota        1 2
    /dev/mapper/VolGroup-lv_swap swap                    swap    defaults        0 0
    tmpfs                   /dev/shm                tmpfs   defaults        0 0
    devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
    sysfs                   /sys                    sysfs   defaults        0 0
    proc          
    ~                                                                                                                                                                       
    ~                                                                                                                                                                       
    "/etc/fstab" 16L, 869C
    
    
    Comme je veux mettre en place les quotas uniquement pour les utilisateurs, et non pour les groupes, alors à la ligne qui correspond à la partition /home (/dev/mapper/VolGroup-lv_home /home) j'ai ajouté ,usrquota juste après defaults.

    2) Remonter la partition home :
    [root@localhost etc]# mount -o remount /home
    [root@localhost etc]# 
    

    3) Création du fichier aquota.user vide à la racine de /home, et donner les droits de ce fichier à root :
    [root@localhost home]#touch aquota.user;chmod 600 aquota.user
    
    D'autres tutos sur le net disent que c'est le fichier quota.user qu'il faut créer, et non pas aquota.user, donc j'ai crée également le fichier quota.user :
    [root@localhost home]#touch quota.user;chmod 600 quota.user
    
    4) Ensuite, activer les quotas (et là j'ai unmessage d'erreur) :
    [root@localhost home]# quotaon -a
    quotaon: Impossible de trouver le fichier de quotas sur /home [/dev/mapper/VolGroup-lv_home] pour activer/désactiver les quotas.
    [root@localhost home]# 
    
    De plus j'ai aussi un message d'erreur quand je fais un quotacheck -a :
    [root@localhost home]# quotacheck -a
    quotacheck: Impossible de deviner le format d'après le nom de fichier sur /dev/mapper/VolGroup-lv_home. Veuillez préciser le format sur la ligne de commande.
    [root@localhost home]# 
    
    Par ailleurs, certains tutos disent qu'il faut rebooter pour que les quotas se mettent en place. Malheureusement, après le reboot, j'ai un message d'erreur :
    [root@localhost home]# cat /var/log/boot.log | grep -i quota                                                                                                             
    Starting File System Quota Check...
    Started File System Quota Check.
    Starting Enable File System Quotas...
    Starting Enable File System Quotas failed, see 'systemctl status quotaon.service' for details.
    [root@localhost home]# 
    
    Puis pour voir en détails les erreurs, j'ai tapé :
    [root@localhost home]# chkconfig quotaon on
    Note : transfert de la requête par « systemctl enable quotaon.service ».
    Unit files contain no applicable installation information. Ignoring.
    [root@localhost home]# 
    
    [root@localhost home]# service quotaon restart
    Redirecting to /bin/systemctl  restart quotaon.service
    Job failed. See system logs and 'systemctl status' for details.
    [root@localhost home]# 
    
    [root@localhost home]# service quotaon status                                                                                                                            
    Redirecting to /bin/systemctl  status quotaon.service                                                                                                                   
    quotaon.service - Enable File System Quotas                                                                                                                             
              Loaded: loaded (/lib/systemd/system/quotaon.service)                                                                                                          
              Active: failed since Wed, 11 Apr 2012 07:36:28 +0200; 5h 13min ago                                                                                            
             Process: 790 ExecStart=/sbin/quotaon -aug (code=exited, status=1/FAILURE)                                                                                      
              CGroup: name=systemd:/system/quotaon.service        
    [root@localhost home]# 
    
    
    [root@localhost home]# cat /var/log/messages | grep -i quota
    Apr 10 12:53:29 localhost kernel: [    0.883320] VFS: Disk quotas dquot_6.5.2
    Apr 10 20:28:33 localhost kernel: [    0.886630] VFS: Disk quotas dquot_6.5.2
    Apr 10 23:36:08 localhost kernel: [ 4113.905566] EXT4-fs (dm-2): re-mounted. Opts: usrquota
    Apr 10 23:36:20 localhost kernel: [ 4125.852962] EXT4-fs (dm-2): re-mounted. Opts: usrquota
    Apr 10 23:41:04 localhost kernel: [ 4409.287193] EXT4-fs (dm-2): re-mounted. Opts: usrquota
    Apr 10 23:41:13 localhost kernel: [ 4418.819779] EXT4-fs (dm-2): re-mounted. Opts: usrquota
    Apr 10 23:46:44 localhost kernel: [ 4748.992919] EXT4-fs (dm-2): re-mounted. Opts: usrquota
    Apr 10 23:47:22 localhost kernel: [ 4786.968794] EXT4-fs (dm-2): re-mounted. Opts: usrquota
    Apr 10 21:52:41 localhost kernel: [    0.880287] VFS: Disk quotas dquot_6.5.2
    Apr 10 21:52:41 localhost kernel: [   34.609602] EXT4-fs (dm-2): mounted filesystem with ordered data mode. Opts: usrquota
    Apr 10 21:59:57 localhost systemd[1]: quotaon.service: main process exited, code=exited, status=1
    Apr 10 21:59:57 localhost systemd[1]: Unit quotaon.service entered failed state.
    Apr 10 22:00:06 localhost systemd[1]: quotaon.service: main process exited, code=exited, status=1
    Apr 10 22:00:06 localhost systemd[1]: Unit quotaon.service entered failed state.
    Apr 10 22:04:15 localhost systemd[1]: quotaon.service: main process exited, code=exited, status=1
    Apr 10 22:04:15 localhost systemd[1]: Unit quotaon.service entered failed state.
    Apr 10 20:06:49 localhost kernel: [    0.878992] VFS: Disk quotas dquot_6.5.2
    Apr 10 20:06:49 localhost kernel: [   36.353157] EXT4-fs (dm-2): mounted filesystem with ordered data mode. Opts: usrquota
    Apr 10 20:08:43 localhost systemd[1]: quotaon.service: main process exited, code=exited, status=1
    Apr 10 20:08:43 localhost systemd[1]: Unit quotaon.service entered failed state.
    Apr 11 07:36:30 localhost kernel: [    0.873951] VFS: Disk quotas dquot_6.5.2
    Apr 11 07:36:30 localhost kernel: [   37.806396] EXT4-fs (dm-2): mounted filesystem with ordered data mode. Opts: usrquota
    Apr 11 12:41:34 localhost kernel: [ 3898.470482] EXT4-fs (dm-2): re-mounted. Opts: usrquota
    Apr 11 12:41:42 localhost kernel: [ 3906.398609] EXT4-fs (dm-2): re-mounted. Opts: usrquota
    Apr 11 12:51:20 localhost systemd[1]: quotaon.service: main process exited, code=exited, status=1
    Apr 11 12:51:20 localhost systemd[1]: Unit quotaon.service entered failed state.
    Apr 11 12:52:18 localhost systemd[1]: quotaon.service: main process exited, code=exited, status=1
    Apr 11 12:52:18 localhost systemd[1]: Unit quotaon.service entered failed state.
    [root@localhost home]# 
    
    

    Je vois les erreurs, mais je n'ai aucune idée de la solution au problème.
    Une idée ?

    Merci d'avance pour vos réponses. Cordialement.
  • Rebonjour à tous,
    remi wrote:En gros, c'est connu que la résolution ne fonctionne pas comme attendu lorsque httpd est démarré "avant" le lancement du réseau et la configuration du resolver.
    Pour vérifier, faire le test après une relance d'apache.
    => après un service httpd restart, ça marche maintenant, merci !!!!

    Merci à vous tous de m'avoir aidé 🙂

    Résolu
  • bonjour Heldwin
    Heldwin wrote:gethostbyname() affiche le nom s'il n'arrive pas à résoudre l'ip.
    => je le sais,

    mais je voudrais savoir si ça marche chez toi ?

    Chez moi ça ne marche pas quand j'exécute le code sur un navigateur.

    Par contre ça marche en ligne de commande.

    Bizarre.

    Une idée ?