Twitter Facebook RSS

Accueil > Index

15
février

MySQL : Compter le nombre de tables d'une base

Récemment, j'ai eu besoin d'afficher le nombre de tables d'une base MySQL 5.X. Je voulais éviter de faire du Bash à outrance et extraire la donnée directement depuis MySQL... Même si le Bash, c'est bon, mangez-en.

Allez, on commence par la requête :

SELECT count(table_name) FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = 'drupal';
mysql> SELECT count(table_name) FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = 'drupal_4';
+-------------------+
| count(table_name) |
+-------------------+
|               143 |
+-------------------+
1 row in set (0.00 sec)

Maintenant, l'idée est d'obtenir l'information directement en Bash :

mysql -B -u Utilisateur -pMotdePasse information_schema -e "SELECT count(table_name) FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = 'drupal';" | grep -E ^1

Résultat :

[email protected] # mysql -B -u Utilisateur -pMotdePasse information_schema -e "SELECT count(table_name) FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = 'drupal';" | grep -E ^1
143

Voilà !

16
janvier

Alias.sh : Partagez vos alias

Levez la main si vous vous reconnaissez : vous avez sur votre laptop une quantité faramineuse d'alias Linux, qui facilitent grandement votre douce vie au sein de votre terminal favori. Seulement voilà, sauvegarder son fichier .bash_aliases, c'est lourd, et peu pratique. Pire, vous vous retrouvez sur votre PC de boulot, et là, plus aucun alias.

Moi moi moi

Voici un service Web que je viens de découvrir, qui se nomme Alias.sh. Ce service, comme son nom l'indique est une plateforme de partage et de synchronisation d'alias de commandes !

Alias.sh

Pour l'instant, il n'y a pas énormément d'alias, mais ça grimpe vite ! Et chose pratique, vous pouvez ajouter les vôtres, les synchroniser, et découvrir ceux des autres utilisateurs. Par exemple, mes alias sont disponibles à cette adresse.

Une fois inscrit sur le site, vous pourrez récupérer vos alias en local via cette commande :

wget -q -O - "$@" https://alias.sh/user/415/alias >> ~/.bash_aliases

415 étant mon ID utilisateur ;).

Voici également un alias permettant de mettre à jour votre fichier d'alias :

alias update-aliases="wget -q -O - \"$@\" https://alias.sh/user/$ALIAS_SH_USER_ID/alias > ~/.bash_aliases && source ~/.bash_aliases"

N'oubliez pas de modifier votre fichier .bashrc en y ajoutant cette ligne :

ALIAS_SH_USER_ID=415

Bref, un petit service bien pratique ! N'hésitez pas à partager vos alias !

23
décembre

Systemd : exécuter une commande au boot

Ayant récemment passé à Systemd, je n'en suis pas pour autant plus convaincu... Systemd semble plus complexe à gérer, mais passons. Je cherchais à le moyen de lancer un script au démarrage. Croyez-moi, c'est un peu plus compliqué avec Systemd qu'avec l'ancien système init !

Nous allons utiliser les scripts "rc", gràce au paquet "initscripts-systemd" :

yaourt initscripts-systemd

Une fois le paquet installé, utilisez le fichier /etc/rc.local et placez-y les commandes à exécuter au boot :).

De même, utilisez /etc/rc.local.shutdown pour exécuter des commandes pendant la séquence d'arrêt ;).

20
décembre

Autoriser le SSH en root depuis une seule IP

Une directive intéressante de SSH est "Match", qui permet de faire des sortes de conditions... Dans mon cas, j'avais besoin d'autoriser la connexion en root uniquement depuis une IP... Allons jouer avec la configuration d'OpenSSH...

Éditez /etc/ssh/sshd_config :

À la fin, ajoutez ce bloc :

Match Address 192.168.2.45
	PermitRootLogin yes

Match Address *
	PermitRootLogin no

Que fait ce bloc : si on notre connexion SSH vient de l'IP 192.168.2.45, on pourra se connecter en root (à condition d'avoir le mot de passe, ou d'y avoir paramétré sa clé SSH). Par contre, si on vient de toute autre adresse, pas de connexion en tant que root...

Hop, restart d'OpenSSH, et on teste :

/etc/init.d/ssh restart
[192.168.0.1] [email protected] ~ $ ssh [email protected]
[email protected]'s password: 
Permission denied, please try again.

[192.168.2.45] [email protected] ~ $ ssh [email protected]
[email protected]'s password: 
Last login: Thu Dec 20 09:46:51 2012 from ubu
[email protected] ~ # logout

22
novembre

SwiftKey 3 : réinstallation sur le Galaxy Nexus 4.2

Hier, j'ai eu droit à la mise à jour vers Android 4.2 pour mon Galaxy Nexus. Install, reboot, vérification des applications, tout fonctionnait. C'est à ce moment que je me suis rendu compte que SwiftKey 3, ce formidable clavier intuitif avait été désinstallé de mon téléphone...

SwiftKey Logo

Rapidement, je me rends sur le Google Play, et je constate qu'il m'est impossible d'installer l'application... Apparemment, c'est un problème connu chez SwiftKey, mais qui ne serait pas spécifique à eux puisque d'autres applications rencontreraient le même problème...

Voici la bonne méthode pour réinstaller votre application :

19
novembre

[Debian] Authentification SSH via LDAP

Voici un rapide article pour vous expliquer comment s'authentifier sur vos machines Linux à travers votre serveurs LDAP...

Pour cet article, j'ai utilisé le paquet "slapd" de Squeeze, à savoir la version 2.4.23-7.2 qui est actuellement dans les dépôts. Pour ma part, j'ai installé cet environnement en local seulement, ne soyez donc pas étonnés de retrouver une adresse en .lan...

Commençons par installer le paquet suivant :

apt-get install libpam-ldapd

Voici ce qu'il faut répondre aux questions (à adapter en fonction de votre serveur bien sûr) :

URI du serveur LDAP : ldap://infra.dom.lan

Base de recherche du serveur LDAP : dc=dom, dc=lan

Services de nom à configurer : Pour ma part, j'ai coché group, hosts, et shadown pour synchroniser les utilisateurs, leurs mots de passe et les groupes. Si vous voulez reconfigurer cette partie plus part, éditez le fichier /etc/nsswitch.conf

Normalement c'est bon, vous devriez pouvoir vous authentifier avec votre utilisateur LDAP ;).

Si vous voulez que le home paramétré dans votre LDAP soit créé lors de la 1ère connexion de votre utilisateur, ajoutez cette ligne au fichier /etc/pam.d/common-session :

session required	pam_mkhomedir.so skel=/etc/skel umask=0022

Pour autoriser la connexion seulement si l'utilisateur appartient à un certain groupe, dans le fichier /etc/pam.d/common-auth, décommentez la ligne suivante :

auth	required			pam_access.so

Et ajoutez cette ligne au fichier /etc/security/access.conf :

-:ALL EXCEPT root usersallowed:ALL EXCEPT LOCAL

usersallowed est le groupe LDAP que vous souhaitez autoriser uniquement ;).

Pour relancer le cache LDAP sur le client, relancez le démon nscd : /etc/init.d/nscd restart.

précédente page 2 sur 23 suivante »

^ Retourner en haut