Archives de la catégorie : Linux

Un disque accessible en lecture et en écriture depuis Linux et Windows

Le seul système de fichier utilisable simplement et automatiquement à la fois depuis Linux et Windows en lecture et en écriture est FAT32. En utilisant des clusters de 32Ko (ce qui est classique), on peut tout à fait formater des disques jusqu’à 2To ! Toutefois, sous Windows 9x/2000/XP, il n’est pas possible de formater des disque de plus de 32Go en FAT32. Microsoft impose volontairement cette limitation à 32Go afin de favoriser le système de fichier NTFS (réf : http://support.microsoft.com/default.aspx?scid=kb;fr;184006). Pour formater un disque de plus de 32Go en FAT32, il suffit donc de ne pas utiliser Windows. Vous pouvez, par exemple, utiliser mkdosfs sous Linux. Bien entendu, le disque ainsi formaté sera tout-à-fait utilisable sous Windows.

Remarque : des outils/drivers/modules permettent la lecture ou l’écriture sur des systèmes de fichier EXT depuis Windows et NTFS depuis Linux. Mais rien n’est encore très fiable et natif à ce niveau là.

Publié dans Généralitées | Laisser un commentaire

TwonkyMedia

TwonkyMedia est un serveur UPnP payant qui propose de nombreuses options de paramétrage via une interface web. Son utilisation est plutôt intuitive et l’interface est disponible en plusieurs langues. La documentation est, par contre, absente. Personnellement, je l’ai installé sur un NAS et l’utilise avec le client Terratec Noxon 2.
Voici quelques trucs et astuces concernant TwonkyMedia :
  • Le fichier /twonkyvision/twonkyvision-mediaserver.ini contient toutes les informations saisies par l’interface web, et bien plus encore. On peut le modifier avec un simple éditeur de texte.
  • Le fichier /twonkyvision/resources/TwonkyMediaConfig.js contient de nombreuses fonctions que l’on peut invoquer manuellement. On y trouve, par exemple, la fonction /rpc/rebuild. Cette fonction permet de reconstruire la base de données du serveur UPnP. Pour l’invoquer, vous pouvez passer par l’interface web, mais également saisir wget http://192.168.0.23:9000/rpc/rebuild en ligne de commande sous Linux.
  • Ainsi, pour reconstruire la base de données de TwonkyMedia tous les deux jours à 4h du matin, il faut insérer dans la table cron (commande crontab -e) la ligne :
    00 4 */2 * * wget http://192.168.0.23:9000/rpc/rebuild
  • Sur la page TwonkyMedia Configuration: Statut vous pouvez voir l’espace mémoire disponible pour TwonkyMedia, l’espace mémoire occupé et, éventuellement, un message indiquant que l’espace disponible est insuffisant pour la prise en compte de la totalité des titres. Si c’est le cas, vous avez le choix entre deux solutions :
    1) Diminuer l’espace nécessaire en simplifiant l’arbre de recherche ; c’est la solution la plus efficace si vous n’utilisez pas vraiment toutes les possibilités de recherche.
    2) Augmenter l’espace disponible. Pour cela, désactiver TwonkyMedia (killall twonkymedia par exemple) éditer le fichier /twonkyvision/twonkyvision-mediaserver.ini pour spécifier l’espace désiré (maxmem=20000 par exemple) puis relancer TwonkyMedia (comme le fait le fichier /etc/rc.local par exemple).
  • Attention, TwonkyMedia ne sait gérer un répertoire contenant plus de 300 sous-répertoire, il faut scinder le cas échéant.
Publié dans UPNP-DNLA, Applications | Laisser un commentaire

Les screens ou les « schell » immortels

Un screen permet de lancer un programme en mode console, de se déconnecter en laissant tourner le programme, puis de récupérer le programme à l’écran plus tard, en se reconnectant en local ou à distance.
  • Pour lancer un screen :
    screen
  • Pour lancer un screen en lui donnant un nom :
    screen -S nom_du_screen
  • Pour détacher un screen [Ctrl-a puis d] ou :
    screen -d
  • Pour reprendre un screen détaché :
    screen -r nom_du_screen
  • Pour rattacher un screen :
    screen -x nom_du_screen
  • Pour avoir la liste des screens de l’utilisateur en cours :
    screen -ls
  • Pour quitter un screen :
    exit
  • Plusieurs fenêtres dans un screen
    [Ctrl-a puis c] créer fenêtre
    [Ctrl-a puis n] fenêtre suivante
    [Ctrl-a puis p] fenêtre précédente

Remarque – bien que moins puissante, la commande nohup est également utile ; elle permet de lancer un programme qui ne sera pas tué par la mort du shell qui l’a invoqué.

Remarque du 15/09/2016 – La commande screen peut générer l’erreur :
Cannot find termcap entry for 'xterm-256color'.
Dans ce cas, il suffit de taper TERM=xterm screen au lieu de screen. Une autre solution consiste à faire export TERM=xterm dans le terminal avant d’utiliser screen normalement.

Publié dans Commandes | 1 commentaire

Qui fait quoi : commande top

La commande top permet de visualiser dynamiquement les caractéristiques des processus.
  • Pour afficher l’aide, taper h
  • Pour sélectionner la colonne de tri, taper F ou O
  • Pour filtrer suivant un utilisateur, taper u
  • Pour tuer un processus, taper k
  • Pour redéfinir la priorité d’un processus, taper r
  • Pour quitter cette commande, taper q
Publié dans Commandes, Système | Laisser un commentaire

Recherche de fichiers : commandes find et locate

Pour lister tous les fichiers qui contiennent la chaîne motif dans le répertoire mon_rep, tapez la commande :
find mon_rep -name "*motif*" -print
Mais la meilleur solution pour rechercher un fichier dans l’arborescence système est certainement la commande : locate -i nom_fichier
Remarque : la commande updatedb permet de mettre à jour la base de données utilisée par la commande locate.
Publié dans Commandes | Laisser un commentaire

Droits des fichiers et répertoires : chmod

Il est souvent utile de changer récursivement les droits d’accès aux fichiers et répertoires avec l’option -R de chmod. Le problème de cette méthode est que les droits sont alors indépendamment appliqués aux répertoires et aux fichiers alors qu’on veut bien souvent un masque spécifique de droits pour les répertoires et un autre pour les fichiers.
  • Changement récursif des répertoires en rwx r-x r-x :
    find repertoire -type d -print0 | xargs -0ix chmod 755 x
  • Changement récursif des fichiers (scripts inclus) en rw- r– — :
    find repertoire -type f -print0 | xargs -0ix chmod 640 x
  • Réaffectation du mode exécutable pour les scripts PERL, PHP ou SHELL en rwxr-xr–
    find repertoire -type f -name "*.pl" -print0 | xargs -0ix chmod 754 x
    find repertoire -type f -name "*.php" -print0 | xargs -0ix chmod 754 x
    find repertoire -type f -name "*.sh" -print0 | xargs -0ix chmod 754 x

    Ci-dessous une autre méthode bien plus agréable en utilisant tout de même chmod.
  • Changement récursif des fichiers et des répertoires de sorte que tout soit lisible par tout le monde, que les répertoires soient traversables et que les fichiers exécutables pour un groupe le soient pour tout le monde :
    chmod -R a+rX
Remarque : la commande chown possède également cette option -R bien utile.
Publié dans Commandes | Laisser un commentaire

Cours : Introduction au monde d’Unix

Ce cours est une introduction au monde d’Unix dispensé (2002-2004) au Centre Informatique pour les Lettres et les Sciences Humaines (CILSH). Les objectifs de ce cours sont multiples. Il doit, tout d’abord, permettre aux étudiants d’avoir un premier contact réel avec le monde de Linux. D’autre part, certains étudiants seront amenés à poursuivre leurs études par un DESS informatique double compétence où ils seront certainement confrontés à des machines fonctionnant sous Unix. D’autres encore pourront être confrontés à Unix dans leur vie professionnelle. Ce cours devrait permettre à toutes ces personnes de ne pas se retrouver complètement déroutées et démunies face à cette situation possible à venir. Enfin, les utilitaires d’Unix, disponibles par la ligne de commande, permettent d’effectuer des opérations complexes et très utiles sur des fichiers, opérations qu’il est beaucoup plus fastidieux de réaliser dans le monde Windows. Ce cours devrait donc offrir une boîte à outils très utile pour des linguistes travaillant souvent avec de gros corpus écrits.

Table des matières :
  • Système d’exploitation
  • Introduction au monde d’Unix
  • Système de fichiers d’Unix
  • Opérations sur les fichiers et répertoires
  • Visualiser et éditer des fichiers
  • Installation de Linux et de Cygwin/XFree86
  • Redirections, tubes et filtres : principes
  • Filtres
  • Pratique des filtres, redirections et tubes
Publié dans Enseignement, Généralitées | Laisser un commentaire

Sauvegardes avec rsync

rsync est une commande simple et efficace pour sauver ses données en utilisant un transfert de fichiers incrémental (seul les nouveautés et modifications sont transférées).
Par exemple, supposons deux dossiers (source et destination) :
rsync -a source destination
rsync -a source/ destination

La première commande copie source dans destination, alors que la seconde copie tout le contenu de source dans destination.
L’option -a (--archive) est une abréviation de -rlptgoD. C’est un moyen rapide de dire que vous voulez la récursion et préserver pratiquement tout.
  • -r (--recursive) : indique à rsync de copier les répertoires récursivement.
  • -l (--links) : lorsque des liens symboliques sont rencontrés, ils sont recréés à la destination.
  • -o (--owner) : indique à rsync de mettre le propriétaire du fichier de destination identique à celui du fichier source.
  • -g (--group) : indique à rsync de mettre le groupe du fichier de destination identique à celui du fichier source.
  • -D (--devices) : entraîne le transfert d’informations sur les périphériques caractères et blocs vers le système distant pour recréer ces périphériques.
  • -t (--times) : indique à rsync de transférer les dates de modifications avec les fichiers et de les mettre à jour sur le système distant. Si cette option n’est pas utilisée, l’optimisation qui consiste à exclure les fichiers qui n’ont pas été modifiés ne fonctionne pas et au prochain transfert tous les fichiers seront mis à jour.
Il est souvent utile de pouvoir préciser que certains répertoires ne doivent pas être sauvés. Par exemple, supposons deux dossiers, /home/toto/source et /media/destination, et supposons que /home/toto/source/tmp ne doive pas être sauvé. Dans ce cas, il faut utiliser l’option –exclude= :
rsync -a --exclude=/source/tmp/ /home/toto/source /media/destination
rsync -a --exclude=/tmp/ /home/toto/source/ /media/destination

La racine du chemin précisé dans --exclude=chemin est celle du répertoire source et non la racine du système (observez la différences entre les deux lignes de commande). Le « / » à la fin est indispensable et précise qu’il s’agit du répertoire tmp/ et non du fichier tmp.
Publié dans Commandes | Laisser un commentaire

Synology : installation et utilisation de ipkg

  1. Installer telnet puis se loguer en tant que root. Le mot de passe de root est celui du compte admin.
  2. Télécharger dans le dossier public du Synology : ds101-bootstrap_1.0-4_powerpc.xsh
    puis l’installer :
    cd /volume1/public
    sh ds101-bootstrap_1.0-4_powerpc.xsh
  3. Mise à jour :
    ipkg update
    ipkg upgrade
  4. Utilisation d’ipkg :
    • ipkg update pour mettre à jour la base de donnée d’ipkg (liste des paquets disponibles) ;
    • ipkg upgrade pour obtenir la dernière version de tous les paquets ;
    • ipkg list pour avoir la liste des paquets disponibles ;
    • ipkg install pkg pour installer le paquet pkg ;
    • ipkg status pour avoir la liste des paquets que vous avez installés ;
    • ipkg remove pkg pour enlever le paquet pkg ;
    • ipkg files pkgpour lister tous les fichiers installés par pkg ;
    • ipkg search filepour trouver un paquet fournissant file.

Mes indispensables d’ipkg :

  • ipkg install bash
  • ipkg install screen
  • ipkg install cron
  • ipkg install rssh (pour scp)
  • ipkg install textutils

DSM 3 ou 4 – Après une mis-à-jour du DSM vers la version 3 ou 4, il est probable qu’ipkg ne fonctionne plus et que vous obteniez le message suivant : -ash: ipkg: not found. La solution tient dans les deux modifications suivantes.

  1. Editer le fichier /etc/rc.local et ajouter la ligne en gras :
    #!/bin/sh
    mount -o bind /volume1/@optware /opt
    # Optware setup
    [ -x /etc/rc.optware ] && /etc/rc.optware start
    exit 0
  2. Editer le fichier du profil root /root/.profile et ajuster le chemin (ajouter la partie en gras) :
    PATH=/opt/bin:/opt/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/sbin:…
  3. Rebooter le Synology.

Remarque – Après un reboot du Synology, ipkg ne fonctionnait plus. J’ai découvert à cette occasion que l’installation de TwonkyMedia écrase le fichier /etc/rc.local que l’installation d’ipkg met à jour pour son fonctionnement. En tout cas, une réinstallation d’ipkg a résolu le problème.

Remarque du 01/03/2014 – Suite à une réinstallation du DSM (le système du NAS) et après avoir tout reconfiguré (ipkg compris), je me suis retrouvé avec le problème suivant dans une session ssh :

DS209xII> top
top: error while loading shared libraries: libproc-3.2.8.so: cannot open shared object file: 
No such file or directory
DS209xII> ps
ps: error while loading shared libraries: libproc-3.2.8.so: cannot open shared object file: 
No such file or directory
En fait le problème provient d’ipkg et pas du DSM car ce sont les commandes /opt/bin/ps et /opt/bin/top qui génèrent ce problème, tandis que /usr/bin/top fonctionne correctement. L’installation de procps a résolu le problème : ipkg install procps

Publié dans Indispensable, Synology, Système | 4 commentaires