Menu principal

Statut de la page

declare: not found, bash, dash et sh !

Utilisant la fonction "declare" en bash pour utiliser des tableaux. Je me suis heurté à un problème en lançant le script.

Le lançant de façon générale avec un "sh monscript.sh", j'ai obtenu un message d'erreur :

test.sh: 3: test.sh: declare: not found
test.sh: 4: test.sh: mon_tableau[2]=test: not found
test.sh: 5: test.sh: Bad substitution

En fait, ce message vient du fait que depuis plusieurs versions de bash, sh (qui est un lien) pointe vers dash et non bash!

Avec la version 4.1.3 de bash, sh pointe vers dash :

# ls -l /bin/sh
lrwxrwxrwx 1 root root 4 Sep 27 08:24 /bin/sh -> dash

Alors qu'avec une version précèdente (3.1dfsg-8), sh pointe vers bash :

# ls -l /bin/sh 
lrwxrwxrwx 1 root root 4 2008-06-04 19:00 /bin/sh -> bash

Donc apparemment, dash ne supporte pas la fonction declare.

Dash semble d'ailleurs reprendre beaucoup de caractéristiques du korn shell (mais n'est pas un clone comme décrit dans le man).

La solution est donc de faire "bash monscript.sh".

Vus : 2401
Publié par Scurz : 48

Manuels en français pour la certification LPI niveau 1

Deux très bons manuels sont disponibles (et mis à jour) pour se préparer à la certification LPI (Linux Professional Institute) niveau 1 (examens 101 et 102).

Même sans avoir l'objectif de passer la certification, les manuels restent tout de même valables. Ils donnent énormément d'informations (pour débuter) sur Linux. Ils sont disponibles sur lpi-francophonie.

Bonne lecture!

Vus : 1902
Publié par Scurz : 48

Virtualbox : The character device /dev/vboxdrv does not exist ou encore NS_ERROR_FAILURE

Erreurs : Pendant l'installation du logiciel Virtualbox, il est possible d'obtenir un message de type : WARNING: The character device /dev/vboxdrv does not exist. Please install the virtualbox-ose-dkms package and the appropriate headers, most likely linux-headers-686. You will not be able to start VMs until this problem is fixed. ** GLib-GIO:ERROR:/build/buildd-glib2.0_2.28.6-1-i386-A3fp41/glib2.0-2.28.6/./gio/gdbusconnection.c:2279:initable_init: assertion failed: (con nection->initialization_error == NULL) Aborted Il faut bien entendu lire (la solution y est) le message (qui dit que le "périphérique" (virtuel) /dec/vboxdrv (qui est en fait un module à charger) n'existe pas, qu'il faut installer le paquet virtualbox-ose-dkms et les "headers du noyau".) Ou bien (et aussi, car si vous reçevez le précèdent, vous reçevrez celui-ci) : Failed to open a session for the virtual machine BLABLA The virtual machine 'BLABLA' has [...]
Lire la suite
Vus : 5467
Publié par Scurz : 48

Surveillance système : alertes par email avec Mon

Mon est un outil permettant de surveiller certains services d'un système Linux distant (ou pas) et il envoie par email une alerte en cas de défaillance d'un service. Voici une configuration possible (/etc/mon/mon.cf) : # On déclare l'ip et le nom de domaine (si existant, ou bien le reverse DNS) de la machine distante : hostgroup monSiteWeb.tld 11.22.33.44 ## Service FTP watch monSiteWeb.tld service ftp interval 35m # service surveillé chaque 35minutes monitor ftp.monitor -p 21 -t 5 monSiteWeb.tld # on indique le type de service (très important), puis le port utilisé pour le FTP period wd {Mon-Sun} # période : monday to sunday (lundi à dimanche), c'est modifiable bien sûr alert mail.alert -S "The FTP server of "monSiteWeb.tld" is down !" EMAIL1@domain.tld, EMAIL2@domain2.tld # titre de l'alerte + email(s) de réception alert hb_takeover upalert [...]
Lire la suite
Vus : 1792
Publié par Scurz : 48

No module named wxaddons.sized_control - Itrade

Si vous reçevez cette erreur après l'installation de itrade (logiciel de trading), pendant le lançement du logiciel :

ImportError: No module named wxaddons.sized_control

L'erreur semble venir d'un conflit de versions, certaines versions trop récentes de modules ne seraient pas gérées par l'actuelle version (0.4.6) stable du logiciel.

Vous devriez installer une version plus récente (instable) du logiciel, le site officiel du projet donne toutes les informations nécessaires sur cette page.

Vus : 1481
Publié par Scurz : 48

Trouver et installer facilement la version recherchée de Iceweasel/Icedove

Il n'est pas toujours très facile de trouver le bon paquet lorsque l'on cherche une version précise pour son navigateur Iceweasel (sous debian seulement) ou son client mail Icedove.

C'est pourquoi, il existe une page web mise en place par l'équipe Mozilla de debian, très simple à utiliser qui permet de s'y retrouver assez facilement : http://mozilla.debian.net/

Toutes les explications nécessaires pour utiliser les informations de la page web sont données dessus.

Bien pratique en tout cas !

Vus : 1350
Publié par Scurz : 48

Connecter simplement deux PCs en ligne de commande

Voici une méthode pour connecter deux PCs sous Linux (réalisé sous debian) entre eux, par un simple câble. Le but de cet article n'est que de vous montrer comment connecter deux PCs pour les mettre en réseaux pour y effectuer du partage de données. I- Matériel : Un câble RJ45 croisé ; Branchez votre câble RJ45 aux prises ethernet des deux machines. II - Configuration : Situation : le PC A est maître, et le PC B est "esclave". Dans le fichier /etc/network/interfaces de chaque PC : Sur le PC A : allow-hotplug eth0 iface eth0 inet static address 192.168.3.3 # IP du PC A netmask 255.255.255.0 brodcast 192.168.3.255 Vous noterez que nous ne mettons pas de passerelle (gateway). Sur le PC B : allow-hotplug eth0 iface eth0 inet static address 192.168.3.4 # IP du PC B netmask 255.255.255.0 brodcast 192.168.3.255 gateway 192.168.3.3 [...]
Lire la suite
Vus : 1083
Publié par Scurz : 48

Monitoring efficace avec Mon - Alertes via mail

Voici un petit logiciel bien sympa que je viens de découvrir. Il permet de faire du monitoring ("surveillance" en français) efficace sur différents services sur différents serveurs. Son installation sous debian et sa configuration sont très simples une fois le principe de configuration compris ! Nous allons dans ce qui suit surveiller le serveur B, à partir du serveur A. I - Installation du paquet sur le serveur A Via aptitude : aptitude install mon II - Configuration sur le serveur A Le fichier de configuration est : /etc/mon/mon.cf Alors commençons par le début : alertdir = /usr/lib/mon/alert.d ici se trouvent les templates pour le mail (par exemple) "type" envoyé pour les alertes mondir = /usr/lib/mon/mon.d se trouvent ici les codes sources des alertes (allez y jetter un oeil !) logdir = [...]
Lire la suite
Vus : 1046
Publié par Scurz : 48

Afficher toutes les requêtes lancées sur les bases MySQL

Voici une petite astuce bien utile, il est tout à fait possible d'obtenir via des fichiers de logs toutes les requêtes qui ont été lancées sur les bases MySQL. L'astuce se trouve dans le fichier de configuration principal de MySQL, mais elle est par défaut commentée.

Ouvrez donc votre fichier /etc/mysql/my.cnf, puis, décommentez ceci pour voir toutes les requêtes :

log             = /var/log/mysql/mysql.log

Pour voir les requêtes prenant beaucoup de temps pour être totalement executées (les requêtes lentes) :

log_slow_queries        = /var/log/mysql/mysql-slow.log

Par contre, si vous n'en avez pas besoin, n'activez pas, car si vous avez beaucoup de requêtes, vos logs vont être vite lourds.

Vus : 843
Publié par Scurz : 48

Problèmes de dépendances avec aptitude

Si vous rencontrez des soucis avec aptitude/apt au niveau des dépendances logicielles (parce que vous avez fait un peu n'importe quoi, ou suite à une mise à jour ratée), il existe plusieurs solutions, plus ou moins radicales. Voici le problème rencontré pour ma part en essayant d'installer mplayer (mais ça arrive aussi avec n'importe quel autre paquet) : # aptitude install mplayer The following packages are BROKEN: libavcodec52 mencoder The following NEW packages will be installed: libbs2b0{a} libcelt0-0{a} libdirac-decoder0{a} libdirac-encoder0{a} libdirectfb-1.2-9{a} libfaad2{a} libggi-target-x{a} libggi2{a} libggiwmh0{a} libggiwmh0-target-x{a} libgii1{a} libgii1-target-x{a} libopencore-amrnb0{a} libopencore-amrwb0{a} liborc-0.4-0{a} libvdpau1{a} libx264-92{a} mplayer The following packages will be REMOVED: acl{u} comerr-dev{u} evince{u} evolution{u} evolution-common{u} evolution-webcal{u} gnome-panel-dbg{u} gnome-pilot{u} gnome- pilot-conduits{u} gstreamer0.10-gnomevfs{u} gstreamer0.10-plugins-base-dbg{u} gstreamer0.10-plugins-ugly-dbg{u} kaboom{u} [...]
Lire la suite
Vus : 949
Publié par Scurz : 48
Powered by BilboPlanet