Vous consultez les articles de la catégorie Linux
Oct
7

Supprimer les fichiers de plus de x jours

Voici la commande à lancer dans le dossier où il faut faire du nettoyage
Il suffit de remplacer 180 par le nombre de jours à conserver.

find . -type f -mtime +180 -name '*'| xargs rm -f
Mar
29

Ajouter un utilisateur subversion

Author Appo    Category Linux, Subversion     Tags

Les fichiers se trouve dans /var/subversion/conf

– userPermissions (doit être modifié à la main)
Création du fichier

htpasswd -c nomfichier.access username

Mise à jour du fichier htpasswd.access

htpasswd nomfichier.access username

(cette dernière commande va mettre à jour le mot de passe si l’utilisateur existe déjà, sinon l’utilisateur est ajouté)

Mar
2

SSH : authentification RSA (ou DSA)

Il peut être utile de stocker en local une clé (deux, en réalité, une publique et une privée) en local lorsqu’on se connecte régulièrement à un serveur via SSH. Évidemment, le serveur SSH doit être configuré préalablement.

Voici la marche à suivre :

  • Création de la clé en local :
    ssh-keygen -t dsa -b 1024 -C "Commentaire concernant la cle"

    L’option -t indique le type d’encryptage (les valeurs possibles sont rsa1, rsa ou dsa), -b la taille (ici, 1Ko, qui est aussi la valeur par défaut) et -C permet d’ajouter un commentaire, afin de distinguer les clés les unes des autres.
    Dès lors, deux fichiers ont été créés dans ~/.ssh : id_dsa.pub (clé publique, à diffuser) et id_dsa (clé privée, à conserver précieusement et à ne pas diffuser).

  • Il faut ensuite se faire connaître du serveur sur lequel on souhaite s’authentifier. On va donc exporter nos informations ainsi créées :
    ssh-copy-id -i ~/.ssh/id_dsa.pub "-p 22 utilisateur@serveur"

    L’option -i permet de spécifier le fichier d’identité public. ssh-copy-id n’accepte que deux paramètre ; il faut donc mettre entre guillemets tous les paramètres à partir du deuxième.

Maintenant, il est possible de se connecter :

ssh -p 22 utilisateur@serveur

Il suffit de saisir la passphrase saisie lors de la première étape, et celle-ci sera retenue définitivement sur le client.
Une dernière étape permet de créer un alias afin de simplifier la commande permettant de se connecter en SSH au serveur. Il suffit de créer sur le client un fichier ~/.ssh/config dans lequel on spécifie les informations de chaque alias :

Host <em>nom_de_l_alias</em>
    HostName <em>ip_de_l_hote</em>
    User <em>nom_de_l_utilisateur</em>
    Compression no
    Port <em>numéro_de_port</em>

Références :

Mar
1

Linux : Recharchement du fichier de préférences utilisateur

Le fichier ~/.bash sert à définir les préférences d’un utilisateur Linux, notamment concernant la coloration du shell et les alias définis.

Pour recharger le fichier ~/.bashrc après modification, il faut le ré-exécuter grâce à la commande suivante :

. ~/.bashrc

Il est important de rappeler que le fichier ~/.bashrc est propre à chaque utilisateur et que modifier le fichier /root/.bashrc ne changera rien pour les shells ouverts par d’autres utilisateurs que root.

Référence : http://www.linuxquestions.org/questions/linux-newbie-8/reloading-.bashrc-file-232733/

Mar
1

Subversion : commandes usuelles

Author Nico    Category Divers, Linux, Subversion     Tags

Voici un rappel des commandes utiles lors de l’utilisation de Subversion (testée sur un serveur Debian).

Attention : la configuration utilisée jusqu’à maintenant est particulière :
La consultation du site dans le navigateur est effectuée sur une copie locale du dépôt située sur le serveur de développement, les copies locales sur les postes des développeurs ne servent pas à la consultation du site.

Cette configuration sera probablement modifiée afin que chaque développeur puisse consulter le site à partir de sa copie locale, et il est possible que cet article ne concerne pas d’autres configurations.

Fév
24

Client graphique FTP sous Linux

Pour transférer facilement des fichiers sous Ubuntu/Debian en mode graphique, pas besoin d’installer de client graphique particulier : Nautilus (l’explorateur de fichiers par défaut sous Gnome) fait cela très bien.

Il suffit d’entrer dans la barre d’adresse :

sftp://user@host:port

et c’est parti pour un transfert en mode graphique avec possibilité d’utiliser le copier-coller entre le serveur distant et le système de fichiers local.

Déc
29

Comment résoudre « svn: Can’t open file ‘PATH/TO/YOUR/FILES/.svn/lock’: Permission denied »

   # go to the path of your project
cd /PATH/TO/MY/PROJECT
 
# reset ownership
# NOTE: replace user.group with your user and group
sudo find . -exec chown -R user.group {} \;
 
# reset permissions
# NOTE: replace 775 with your file permissions
sudo find . -exec chmod -R 775 {} \;
 
# Now you can run the cleanup command to repair your .svn folders
svn cleanup
Nov
20

Avancement d’un transfert FTP

Lors de l’utilisation de FTP en ligne de commande, il peut être utile d’afficher la progression d’un transfert (en particulier lors de transfert de fichiers volumineux). Pour cela, utiliser les commandes suivantes :

ftp&gt;hash
Hash mark printing on (1024 bytes/hash mark).
 
ftp&gt;tick
Tick counter printing on (10240 bytes/tick increment).

Référence : http://www.traduc.org/docs/HOWTO/vf/FTP.html

Oct
29

Suppression récursive de tous les fichiers portant un nom donné

Une petite ligne de commande utile lorsqu’on souhaite supprimer tous les dossiers .svn après avoir copié le contenu d’une copie locale. En principe, il faudrait utiliser svn export, mais il peut arriver que la copie locale contienne aussi des fichiers non subversionnés que l’on souhaite copier également (ex : AMi2).

1
find . -name .svn -print0 | xargs -0 rm -rf
find . -name .svn -print0 | xargs -0 rm -rf

Quelques explications sur les arguments :
-print0 vrai ; affiche le nom complet du fichier sur la sortie standard, suivi d’un caractère nul. Ceci permet aux fichiers dont le nom contient un saut de ligne, d’être correctement interprétés par les programmes utilisant les données en sortie de find.
-0 Les noms des fichiers d’entrée sont terminés par un caractère nul au lieu d’une espace blanche, et les apostrophes, guillemets et backslashs ne sont pas spéciaux (chaque caractère est utilisé littéralement). Désactive la chaîne de fin de fichier, qui est traitée comme tout autre argument. Utile quand des arguments sont susceptibles de contenir des espaces blanches, des marques de protection ou des backslashs. L’option -print0 de GNU find produit une sortie convenant à ce mode.

Référence : http://hello.kwiti.net/154-suppression-des-fichiers-svn-recursif.html

Sep
4

Rechercher-Remplacer récursif en bash

Voici un petit script que j’ai utilisé pour remplacer un terme par un autre dans une arborescence :

#!/bin/sh
    grep -rl 'require(' ami2.pepere | egrep '.php|.xmls|.html' | grep -v scriptaculous | grep -v php.js | grep -v svn |
        while read filename
            do
            (
                echo $filename
                sed "s/require(/require_once(/g;" $filename> $filename.xx
                mv $filename.xx $filename
            )
        done    

L’idée est de lister les fichiers contenant un terme précis : grep -rl (r pour récursif, l pour n’afficher que le nom des fichiers trouvés).
On remarque qu’on ne veut traiter que les fichiers dont l’extension est .php, .html ou .xmls (egrep suivi d’une expression régulière).
On exclue également certains fichiers ou types de fichiers (grep -v).

Ensuite, pour chacun des fichiers trouvés (while), on affiche le nom du fichier dans la sortie standard (echo) et on effectue le remplacement (sed). Le résultat de ce remplacement est dirigé vers un nouveau fichier (> $filename.xx).

Enfin, on écrase le fichier original par celui qu’on vient de générer (mv). Je pense que l’on procède ainsi car il n’est pas possible de faire le remplacement directement dans le fichier avec sed. On est donc obligé de passer par un fichier intermédiaire.

Edito

Bienvenue sur Mémorandom.

Mémorandom est le blog de 2 développeurs web, Appo et Nico.

Vous y trouverez des informations sur différents domaines touchant de près ou de loin au développement web

Tutoriels Yii Framework

Nos derniers articles

Blogs Dev

Liens

Étiquettes