GNU/Linux
samedi, juin 6 2009
Identifier des fichiers binaires sous Linux
Par krusaf le samedi, juin 6 2009, 01:33
A priori, on pourrait se baser sur la commande file qui analyse le fichier donné en paramètre pour indiquer de quel type de fichier il s'agit. Mais c'est loin d'être exploitable (pour moi en tout cas). file peut retourner énormément de type de fichier et ça finit par ne plus être exploitable.
Bref, grep (sous Linux et non Unix :/) permet de trouver les binaires via la commande : grep -LIR "" dossier Par contre il retourne aussi les fichiers vides donc suffit de les virer et on obtient la liste des binaires.
Exemple :
krusaf@zeus:~/tmp2$ ll total 28 -rwx--x--x 1 krusaf krusaf 6266 jun 6 01:06 exe -rw------- 1 krusaf krusaf 7 jun 6 01:05 fichier_texte -rw------- 1 krusaf krusaf 0 jun 6 01:05 fichier_vide -rw------- 1 krusaf krusaf 6294 jun 6 01:12 popom -rw------- 1 krusaf krusaf 74 jun 6 01:06 source.c -rw------- 1 krusaf krusaf 13 jun 6 01:15 toto.sh
exe est le binaire (compilation de source.c). fichier_texte est un ... fichier texte, bravo ! fichier_vide ... on s'est compris. popom contient du texte auquel j'ai concaténé le binaire exe. toto.sh est un shell.
krusaf@zeus:~/tmp2$ grep -RLI "" . ./exe ./popom ./fichier_vide
Ca me retourne bien mes fichiers binaires + le fichier vide.
Donc pour trouver seulement mes fichiers bnaires, Je vais utiliser le grep que je redirig dans un fichier. Suivi d'un find pour trouver les fichiers vides que je redirige aussi dans un fichier. Et à l'aide de ces 2 liste et d'un grep, le tour sera joué 
krusaf@zeus:~/tmp2$ grep -RLI "" . 2>&1 | tee /tmp/binaire_plus_vide ./exe ./popom ./fichier_vide krusaf@zeus:~/tmp2$ find . -type f -empty 2>&1 | tee /tmp/vide ./fichier_vide krusaf@zeus:~/tmp2$ grep -v -f /tmp/vide /tmp/binaire_plus_vide ./exe ./popom
Voilà 
Pour ce qui veulent une fonction, j'ai codé ça vite fait ...
krusaf@zeus:~$ cat binaire.sh
function find_binary_files ()
{
# $1 = dossier
dossier="$1"
if [ -d "$dossier" ]
then
grep -RLI "" "$dossier" > /tmp/binaire_plus_vide.$$
find "$dossier" -type f -empty > /tmp/vide.$$
grep -v -f /tmp/vide.$$ /tmp/binaire_plus_vide.$$
\rm /tmp/binaire_plus_vide.$$ /tmp/vide.$$
fi
}
krusaf@zeus:~$ . binaire.sh
krusaf@zeus:~$ find_binary_files tmp2
tmp2/exe
tmp2/popom
vendredi, mai 8 2009
Monter un dossier via ssh
Par krusaf le vendredi, mai 8 2009, 01:25
sudo apt-get install sshfs mkdir tmp sshfs login_dune_autre_machine@autre_machine:dossier_a_monter tmp
La même chose sous windows : http://www.jpfox.fr/?post/2008/09/18/233-connecter-un-dossier-a-une-unite-windows-par-ssh Pour aller plus loin (montage auto ...)
PS : toujours dans la catégorie mémento pour ma pomme ^^
vendredi, février 6 2009
Réinitialisation du mot de passe root de Mysql
Par krusaf le vendredi, février 6 2009, 15:10
# Stop mysql
/etc/init.d/mysql stop
# Démarre mysql avec les options suivantes pour qu'il ne prenne pas en compte les droits
mysqld --skip-grant-tables --skip-networking &
# On execute la requete suivante à modifier selon besoin
echo "UPDATE user SET password=PASSWORD('nouveaumotdepasse') WHERE User=root AND Host=localhost;" > rqt
mysql mysql < rqt
# On redemarre mysql
/etc/init.d/mysql restart
mardi, décembre 2 2008
phpize: command not found
Par krusaf le mardi, décembre 2 2008, 20:16
J'ai eu cette erreur alors que je voulais installer un package de pear. Il suffit d'installer le paquet php5-dev.
apt-get install php5-dev
jeudi, novembre 13 2008
Soutenez l'april
Par krusaf le jeudi, novembre 13 2008, 17:34
Je viens d'équiper le blog d'un nouveau widget concernant l'APRIL. Ils ont pour objectif actuel d'atteindre les 5000 membres avant la fin de l'année et à mon avis, ça va être chaud 
Mais concrètement, c'est quoi l'april ?
L'April est une association qui a pour but la promotion et la défense du logiciel libre dans l'espace francophone. À ce titre, elle entretient depuis le début des rapports étroits avec la Free Software Foundation, et traduit depuis longtemps la section philosophie du projet GNU.
Je vous invite à lire l'article sur wikipedia, car ils expliquent bien mieux que moi
et je vous invite vivement à adhérer ! Pour moi, ça fait déjà 2 ans 

dimanche, novembre 9 2008
Connexion ssh sans mot de passe
Par krusaf le dimanche, novembre 9 2008, 14:35
Il s'agit juste d'une aide mémoire perso 
ssh-keygen eval `ssh-agent -s` ssh-add ssh-copy-id login@hostname
dimanche, septembre 28 2008
La variable PS1 (prompt)
Par krusaf le dimanche, septembre 28 2008, 12:12
La variable d'environnement PS1 est affichée à chaque ligne de commande tapée, il s'agit du prompt de base :
krusaf@zeus:~$
Dans l'exemple ci-dessus, on distingue qu'elle affiche le_login@la_machine:le_chemin_courrant. Cette variable est personnalisable. Pour afficher l'exemple cité, la variable PS1 est égale à "\u@\h:\w\$ ". Sur certains systèmes, le \u \h ... ne sont pas interprétés. On pourrait également mettre : export PS1="\$USER@\$HOSTNAME:\$PWD \$ " pour obtenir le même prompt.
Il est important de précéder les caractères $ de \ pour ne pas qu'ils soient interprétés car sinon le prompt deviendrait statique (exemple) :
krusaf@zeus:~$ export PS1="$USER@$HOSTNAME:$PWD $ " krusaf@zeus:/home/krusaf $ cd .. krusaf@zeus:/home/krusaf $ pwd /home krusaf@zeus:/home/krusaf $ export PS1="\$USER@\$HOSTNAME:\$PWD \$ " krusaf@zeus:/home $ cd krusaf@zeus:/home/krusaf $ pwd /home/krusaf
Mais il est possible d'intégrer de la couleur. Il suffit de rajouter des séquences d'échappement.
Couleur : Texte-Arrière-plan
- Noir : 30- 40
- Rouge : 31-41
- Vert : 32-42
- Jaune : 33-43
- Bleu : 34-44
- Magenta : 35-45
- Cyan : 36-46
- Blanc : 37-47
Voici la variable PS1 que j'utilise : export PS1="[\033[0;32;40m\$USER\033[0m@\$HOSTNAME:\$PWD \$ "
On distingue la séquence d'échappement avec le code couleur vert en premier, suivi du login puis encore d'une séquence d'échappement pour enlever la couleur. Cela écrirait donc login en vert suivi de @la_machine:chemin_courant. une chose qui peut être pratique est de mettre le login utilisateur en vert mais pour l'admin, le mettre en rouge.
A vos claviers 
mercredi, août 27 2008
Installer Flash 10 rapidement sous ubuntu
Par krusaf le mercredi, août 27 2008, 19:36
Encore un petit shell pour aider les débutants
J'ai suivi les explications du site de Korben, rien de plus, rien de moins. Je teste évidemment tous mes shells avant d'en faire profiter.
install_flash10.shCe shell n'a par contre été testé que sur ubuntu Hardy.
samedi, août 9 2008
Obtenir une progress bar avec les commandes cp et mv
Par krusaf le samedi, août 9 2008, 20:51
Les commandes cp et mv permettent respectivement de copier et déplacer un fichier. Lorsqu'on déplace ou copie un gros fichier, ces commandes n'affichent pourtant pas de progress bar. Il existe néanmoins des patch pour cela. Il suffit donc de compiler les sources une fois patchées. Les commandes font partie du package nommé coreutils.
Druuna explique tout ça très bien et indique aussi que ces opérations ne sont pas noob friendly
Et c'est là que je vais rendre la manipulation automatique et bien plus noob friendly. J'ai simplement écris un shell qui se chargera de tout à votre place. Ce shell ne fait que suivre les indications de Druuna en appliquant une modification en plus pour permettre la compilation sous ubntu/debian.
La seule chose que ce script ne fait pas est la vérification des dépendances permettant de compiler coreutils. J'espère quevous me ferez des retours pour que je corrige le script.
06/12/2009 : Le shell a été mis à jour pour la dernière version d'ubuntu. Merci à Bosam de m'avoir indiqué qu'il était plus fonctionnel pour cette version.
« billets précédents - page 1 de 5




clics

