Aller au contenu | Aller au menu | Aller à la recherche

Krusaf's Blog

samedi, janvier 23 2010

sources.list pour debian

J'invente rien comme d'hab :)

samedi, juin 6 2009

Identifier des fichiers binaires sous Linux

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

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

# 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

lundi, décembre 22 2008

Créer des patchs

# Fichier original
krusaf@ares:/home/krusaf/tmp $ echo "Fichier original" > fichier.ori
# Fichier une fois patche
krusaf@ares:/home/krusaf/tmp $ echo "Fichier patche" > fichier.c
# Creation du patch via la commande diff
krusaf@ares:/home/krusaf/tmp $ diff -u fichier.ori  fichier.c  > fichier.patch
# simulation pour l'application du patch
krusaf@ares:/home/krusaf/tmp $ rm fichier.c
krusaf@ares:/home/krusaf/tmp $ mv fichier.ori fichier.c
krusaf@ares:/home/krusaf/tmp $ patch -p0 < fichier.patch
patching file fichier.c
krusaf@ares:/home/krusaf/tmp $ cat fichier.c
Fichier patche

Et pour une arborescences, il suffit de rajouter l'option -r à la commande diff :

krusaf@ares:/home/krusaf/tmp $ mkdir sources
krusaf@ares:/home/krusaf/tmp $ cd sources/
krusaf@ares:/home/krusaf/tmp/sources $ echo "original" > 1
krusaf@ares:/home/krusaf/tmp/sources $ cp 1 2
krusaf@ares:/home/krusaf/tmp/sources $ ll
total 8
-rw-rw----  1 krusaf sgc 9 déc 22 12:24 1
-rw-rw----  1 krusaf sgc 9 déc 22 12:24 2
krusaf@ares:/home/krusaf/tmp/sources $ cd ..
krusaf@ares:/home/krusaf/tmp $ mv sources/ sources.originales
krusaf@ares:/home/krusaf/tmp $ cp -rfp sources.originales/ sources
krusaf@ares:/home/krusaf/tmp $ cd sources
krusaf@ares:/home/krusaf/tmp/sources $ echo "patche" > 1
krusaf@ares:/home/krusaf/tmp/sources $ cp 1 2
krusaf@ares:/home/krusaf/tmp/sources $ cd ..
# Creation du patch
krusaf@ares:/home/krusaf/tmp $ diff -ru sources.originales/ sources > patch
# Simulation d'application du patch
krusaf@ares:/home/krusaf/tmp $ rm -rf sources
krusaf@ares:/home/krusaf/tmp $ mv sources.originales/ sources
krusaf@ares:/home/krusaf/tmp $ patch -p0 < patch
patching file sources/1
patching file sources/2
krusaf@ares:/home/krusaf/tmp $ cat sources/*
patche
patche

mardi, décembre 2 2008

phpize: command not found

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

Plugins pings de dotclear 2.1.3 : cocher toutes les cases par défaut

L'astuce marche toujours :)

Pack smiley phpbb 3.X

Ci joint le pack smiley que j'utilise sur un des forums que j'administre :)

wget http://krusaf.org/blog/public/divers/pack_smiley/smileys_2rist.tgz
tar zxvf smileys_2rist.tgz
...

Les smileys :

pack smiley 2rist phpbb 3.X

jeudi, novembre 13 2008

Soutenez l'april

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 ;)

Promouvoir et soutenir le logiciel libre

dimanche, novembre 9 2008

Connexion ssh sans mot de passe

Il s'agit juste d'une aide mémoire perso :)

ssh-keygen
eval `ssh-agent -s`
ssh-add
ssh-copy-id login@hostname 

Pour les explications, c'est ici.

- page 1 de 11