Auteur :
• 18 septembre 2010
closeCet article a été publié il y a 6 ans 2 mois 24 jours, il est donc possible qu’il ne soit plus à jour. Les informations proposées sont donc peut-être expirées.

SquidJe travaille depuis quelques jours à remonter mon serveur sous 10.04.1 et voilà que je me bats avec le fichier configuration de Squid. Avec ses 4926 lignes pour un fichier de 164,5 Kio, nous sommes plus près d’un manuel d’utilisation qu’un fichier de configuration. J’ai découvert une astuce afin de se débarrasser des lignes commentées en ligne de commande (puisqu’il n’y a pas d’environnement graphique).

Puisque dans notre exemple les lignes commentées débutent par un dièse:

#    WELCOME TO SQUID 2.7.STABLE3
#    ----------------------------
#

Il suffit donc de balancer tout ce qui suit ce symbole. Dans un terminal, à partir du dossier où se trouve le fichier de configuration (dans mon cas squid.conf), on s’assure d’abord de préserver le fichier d’origine en le renommant.

En mode super-utilisateur:

mv squid.conf squid.conf.bak

Ensuite on épure le fichier.

cat squid.conf.bak | egrep -v -e '^[:blank:]*#|^$' > squid.conf

Voilà, plus que 50 lignes, et un mal de tête en moins.

Note sur Squid 2.7.STABLE3 et Lucid Lynx

Sous Ubuntu 10.04.1, j’ai remarqué que pour arrêter ou démarrer Squid, les commandes suivantes ne semblent plus fonctionner.

sudo /etc/init.d/squid start
sudo /etc/init.d/squid stop

On obtient le message suivant:

Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service squid start
Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the start(8) utility, e.g. start squid

Pour démarrer Squid, je passe en super utilisateur

sudo su

Pour ensuite démarrer la bête.

sudo service squid start

Esct-ce  particulier à la 10.04.1 cette nouvelle façon de faire?

Source

Be Sociable, Share!
Vous pouvez suivre toutes les réponses à à ce billet via le flux RSS 2.0. Les commentaires et la notification par ping sont désactivés.

15 réponses

  1. ce serait plutôt
    sudo service squid start

    Évite sudo su – sinon tu risque de l’oublier et faire un rm -r au mauvais endroit 🙂 Ça arrive plus souvent qu’on pense 😀

    Et non, ce n’est pas nouveau, c’est depuis qqs. versions d’Ubuntu quoique tous les services ne soient encore convertis.

  2. 2
    Hl2612 

    Merci pour cette astuce, qui va m’éviter bien des crises de nerfs 🙂
    Et je confirme également ce que dit Fabian…

  3. 3
    Éric Noël 

    @fabian et @Hl2612 Ok merci pour la syntaxe complète. J’y suis allez au radar, je préfère aussi éviter le sudo su.

  4. #technos ProfNoel : Épurer un fichier configuration. http://ow.ly/19449H

  5. 5
    mangouste06 
    Chromium 7.0.529.0 Ubuntu 10.10

    c’est depuis la conversion a upstart que /etc/init.d/ a ete deprecie

    G.

  6. Hello,

    Ce genre de manipulation peut aussi se faire au sein d’un bon éditeur. Par exemple, avec Vim, en mode ligne de commande, l’équivalent est

    :g/^\s*#\|^$/d

    encore que je me contente souvent de

    :g/^#/d

    qui épargne les lignes vides.

    Quel que soit l’outil, ce qui en ressort, c’est l’utilité de connaître un minimum de la syntaxe des expressions régulières.

    À propos, le magnifique paysage en tête de cette page, où est-ce situé ?

  7. 7
    Xzan 
    Firefox 4.0b7preUbuntu Ubuntu 10.04

    Bien que sur ma Debian les 2 méthodes fonctionnent (« service … start » et « /etc/init.d/… start ») c’est possible qu’avec la nouvelle ubuntu ils aient mis des limitations.

    Cependant, je tenais juste à dire qu’il est assez mauvais de faire « sudo su », parce que ça revient à donner à su les droits de nous changer en root. Il est préférable d’utiliser « sudo -s » pour passer en root. Par ailleurs, une fois en root, le sudo ne te sert plus à rien.

    Pour rappel, sudo sert à donner les droits root à un utilisateur normal pour une commande. Il n’est donc pas nécessaire de faire sudo quand on est déjà en root.

  8. 8
    yoo 
    Safari Android 2.1-update1;

    Contenant des infos très utiles, et à fortiori sur un système ou les configs peuvent etre modifie lors des upgrades, c’est une tres mauvaise idée de faire ce que tu proposes.
    De même l’usage d’un shell root n apporte rien (sinon un peu plus de risque)
    Enfin la simple lecture du message d’ erreur (qui n’est qu’un avertissement) indique que service et init.d font bien là meme chose

  9. 9
    julien 
    Safari Android 2.2;

    C est marrant cette façon de faire on se croirait sous RedHat

  10. 10
    enoel 
    Firefox 3.6.10 Ubuntu 10.04

    @Desidia J’ai tendance par habitude de travailler avec nano, je devrais me pencher sur vim plus souvent, histoire de l’approprier.

    @yoo Encore faut-il comprendre le message d’erreur, mais ça fait parti de l’apprentissage. Comme d’habitude, après avoir écris ce billet, je suis tombé sur plein d’informations à ce sujet alors que je cherchais d’autre chose. Foutu Murphy va!

  11. 11
    nesthib 
    Chromium 7.0.528.0 Ubuntu 9.10

    remarque similaire à celle desidia, non seulement il est possible de supprimer les lignes commentée dans un éditeur de texte mais de plus utiliser cat + un pipe « | » n’est pas le plus économe en ressources si le fichier est très gros
    si tu veux utiliser grep tu peux faire un :

    grep [arguments] fichier_sortie

    ou encore en utilisant sed en mode édition (option -i qui modifie directement le fichier) :

    sed -i ‘/^[:blank:]*#/d’ squid.conf

    🙂

  12. 12
    nesthib 
    Chromium 7.0.528.0 Ubuntu 9.10

    petite erreur de frappe au dessus, il faut lire :

    grep [arguments] fichier_entree > fichier_sortie

    grep prend directement en argument un nom de fichier sans qu’il y ait besoin de lire sur l’entrée standard, sinon il serait aussi possible de passer en entrée standard ainsi :

    grep [arguments] fichier_sortie

  13. 13
    nesthib 
    Chromium 7.0.528.0 Ubuntu 9.10

    décidément je suis maudit… il n’y avait pas d’erreur de frappe ma commande est juste tronquée par le parser de commentaire qui prend le symbole plus petit que « <" comme une balise html

    🙁

  14. Épurer un fichier configuration. http://is.gd/fkfrH

  15. 15
    reboutte 
    Safari Android 1.5;

    Astuce a 2€, lorsque je modifie un fichier de conf, je commence toujours par faire une copie en faisant un:
    # cp /eventuellement/le/chemin/qui/peut/etre/long/fichier-de-conf.cfg{,.old}
    Je crée ainsi un fichier .old dans le meme repertoire que le fichier d’origine et portant le meme nom.
    Pratique non??