Forum général.général Manipulation des permissions Unix

Posté par  . Licence CC By‑SA.
Étiquettes :
2
30
oct.
2016

Ce post fait suite à ma question sur Git.

En effet, Git n’enregistre pas les permissions Unix des fichiers qu’il suit, excepté le droit d’exécution. Je sais qu’il existe des sur-couches à Git pour répondre à ce genre de problématique (Git possède un mécanisme de hooks) mais je suis arrivé à la conclusion que la sauvegarde des droits Unix était un problème plus général qui ne concerne pas seulement Git.

Il y a plusieurs autres cas de figure (…)

Forum Linux.général Script ne se comportant pas pareil selon le mode de lancement

Posté par  . Licence CC By‑SA.
Étiquettes :
2
30
avr.
2017

Alors voilà. J’ai un script Python qui ne fork pas mais qui ne se termine pas (while true { do things; sleep }), lorsque je le lance en tant qu’utilisateur ainsi :

$ /path/to/python /path/to/script.py

le programme s’exécute bien au premier plan. Par contre, lorsque que je le lance ainsi (en étant root) :

# su - c '/path/to/python /path/to/script.py' user

le programme fork… Je ne comprends pas pourquoi et c’est pour ça que je fais appel à vous.

Je (…)

Forum Programmation.shell find, sort & nul char

Posté par  . Licence CC By‑SA.
Étiquettes :
2
30
nov.
2016

Bonjour,

J’ai un script qui stock l’état des permissions d’un répertoire dans un fichier. Pour comparer l’état courant avec l’état sauvegardé je procède ainsi :

function check() {

    diff -aBy <(cat $1) <(store $2) | tr "\000" " " |egrep '\s\||>|<\s'
}

$1 est mon fichier dans lequel sont stockés les permissions
$2 est le répertoire concerné

Le fichier est généré ainsi (c’est la fonction 'store' utilisée ci-dessus) :

function store()
(…)

Forum général.général OpenVPN + iptables

Posté par  . Licence CC By‑SA.
Étiquettes :
2
20
juin
2013

Je lutte comme une merde pour arriver à mes fins, à savoir faire passer seulement une partie du trafic réseau via le VPN selon le protocole. Dans un premier temps je voudrais faire passer http et https via le VPN et le reste « normalement », hors VPN.

Voici les règles d'iptables qui me semblent importantes dans mon cas (je mets le script qui configure iptables en entier à la fin de ce post)

    $IPTABLES -t mangle -A PREROUTING -j CONNMARK --restore-mark
    
(…)

Forum Linux.général Cloner une VM

Posté par  . Licence CC By‑SA.
Étiquettes :
2
22
juil.
2019

Je vais être honnête, j’ai n’ai même pas cherché moi-même comment faire. Je veux connaître vos avis d’experts, même si, in fine, je vais quand même chercher moi-même pour croiser tout ce que vous m’aurez proposé.

Alors voilà, j’ai une VM (KVM, image QCOW) et je voudrais en avoir trois ou quatre semblables à celle-ci. Quand je dis semblable il y aurait forcément quelques différences : le nom d’hôte et son IP.

Il s’agit en l’occurrence de VM en CentOS (…)

Forum Programmation.python Coût de l’introspection

Posté par  . Licence CC By‑SA.
Étiquettes :
2
28
mai
2018

Bonjour à tous,

J’ai une fonction qui se charge d’écrire des messages dans un fichier (les logs de mon application). Cette fonction peut être utilisée par différents objets. Donc pour avoir le maximum d’information dans mes logs, cette fonction fait appel à la fonction currentframe() du module inspect :

from inspect import currentframe
class Logger:
    """Log messages."""
    def __init__(self):
        self.logfile  = sys.stderr
        self.log_time = False

    def __del__(self):
(…)

Forum Linux.général Charge CPU trop importante

Posté par  . Licence CC By‑SA.
Étiquettes :
2
13
déc.
2013

Bonjour,

J'ai un satellite (poller) Nagios, distribution F.A.N (Fully Automated Nagios) en surcharge CPU (une charge moyenne à plus de 12 sur la dernière minute sur un 2x2 cœurs)

J'aimerais bien sûr déterminer la cause de cette surcharge mais je ne sais pas comment m'y prendre.

De manière générale, quelle est la méthode indiquée pour déterminer la cause d'une surcharge CPU sur UNIX ou GNU/Linux ?

Forum Programmation.python Communication inter-processus

Posté par  . Licence CC By‑SA.
Étiquettes :
1
21
jan.
2017

Bonjour,

Je dois disposer d’un moyen de communiquer entre plusieurs processus. Typiquement entre un processus client interactif et un processus serveur en tâche de fond.

Le process client doit pouvoir non seulement envoyer les signaux standards (SIGINT, SIGTERM, etc…) mais aussi n’importe quel "message".

Avant d’essayer d’ajouter du code à mon projet j’ai fait un petit test afin de bien cerner le problème.

Je suis arrivé à la solution suivante, que je soumets à votre sagacité… Est-ce la bonne manière (…)

Forum général.général ZTE F160 (téléphone de merde…)

Posté par  . Licence CC By‑SA.
Étiquettes :
1
20
août
2015

Bonjour,

Alors voilà, j’ai un nouveau téléphone mobile depuis quelques mois, un ZTE modèle F160. Auparavant j’étais fidèle à Nokia et je n’avais pas à m’en plaindre. Oui mais voilà, mon dernier Nokia (modèle 2690) a eu un accident de chien… plusieurs touches du clavier ne s’en sont pas remises… de toutes façons, après toutes ces années de bons et loyaux services, la batterie commençait à être un peu à la ramasse niveau autonomie… il fallait que je renouvelle le (…)

Forum Linux.général Bacula vs BURP

Posté par  .
Étiquettes :
1
27
sept.
2012

Sur un serveur de test sous Debian Squeeze j'ai installé Bacula et BURP afin de comparer ces deux solutions.

Bacula sauvegarde /root, /etc, /home et /var/www. BURP sauvegarde la même chose plus /opt. La sauvegarde se fait sur une partition dédiée sur ce même serveur. Voilà le problème, qui a des chances de se situer entre la chaise et le clavier, mais peut-être pas.

# du -sh /backup/*
120M    /backup/burp
1,3G    /backup/Main

Alors voilà à quoi ressemblent ces deux (…)

Forum général.cherche-logiciel Ordonnancement

Posté par  . Licence CC By‑SA.
Étiquettes :
1
22
avr.
2015

Bonjour,

J'aimerais connaître vos avis éclairés sur l'état de l'art de l'ordonnancement (job scheduling) libre et multi-plateformes.

Le site ordonnancement.org me semble être une bonne source d'information, qu'en pensez-vous ?

Utilisez-vous un ordonnanceur libre dans votre structure ? Si oui, lequel ? Quels sont ses avantages et ses inconvénients ?

Merci.

Forum Programmation.autre Installation d’un RPM sur AIX à l’aide de Puppet

Posté par  . Licence CC By‑SA.
Étiquettes :
1
17
jan.
2018

Bonjour,

Complètement ignorant quant à l’utilisation de cet outil, je suis en train d’écrire mon premier module afin d’apprendre à m’en servir.

Sans surprise je butte sur un truc à priori simple, donc je le soumets à votre sagacité légendaire, histoire que vous bossiez à ma place puissiez montrer toute l’étendue de vos connaissances !

Voici l’extrait de mon fichier Puppet :

On récupère le fichier RPM qui va bien et on le copie dans /tmp :

  case $::kernelversion {
    '6100','7100'
(…)

Forum Programmation.shell Créer deux fichiers avec un seul grep

Posté par  . Licence CC By‑SA.
Étiquettes :
1
20
déc.
2017

J’utilise grep pour filtrer selon un motif et re-diriger le résultat vers un fichier.

Je voudrais qu’un deuxième fichier soit généré, contenant lui les lignes ne correspondant pas au motif, le fichier complémentaire en quelque sorte.

Je peux m’en sortir en appelant deux fois grep, ou en utilisant diff, ou d’autres méthodes j’imagine, mais je voudrais savoir s’il y a une méthode plus élégante/concise/efficiente de faire cela. Je vais être honnête : je cherche LA bonne manière de faire pour (…)

Forum Programmation.shell Problème avec getopts ?

Posté par  . Licence CC By‑SA.
Étiquettes :
1
24
juil.
2016

Bonjour,

Je rencontre un comportement que je n’arrive pas à m’expliquer.

Le script est interprété par /bin/sh et utilise getopts. Lorsque je fais ceci :

$ ./check_files.sh -d /tmp -td -x*a*

Mon argument est bien repris (à la fin) :

+ find /tmp/geany_socket.9912fb56 /tmp/gpg-OBxSqk /tmp/log /tmp/ssh-bfbl8kSNDM8o /tmp/systemd-private-0a769fff0c124fed8a42ec56733ade46-systemd-timesyncd.service-09Wbx1 /tmp/. /tmp/.. /tmp/.ICE-unix /tmp/.Test-unix /tmp/.X0-lock /tmp/.X11-unix /tmp/.XIM-unix /tmp/.font-unix /tmp/.xfsm-ICE-BILXKY -prune -type d ! -name *a*

Seulement si je remplace le 'a' pour un 'i' :

$ ./check_files.sh -d /tmp -td -x*i*

j’obtiens ceci (…)