lindev.fr

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

15 sept. 2014

Réparer son virtualenv aprés un update Systéme/Libs

Après une belle maj de votre système, vous avez, au moment de vous remettre au travail, un sympathique message du genre

ImportError: No module named datetime

detatime !! Cette lib fait pourtant partie du standard de python ! Le fait est que lorsque l'on met à jour python, les liens utilisés à la création du venv sont hs !

Ici c'est la lib datetime qui a été remonté, mais ça peu être n'importe laquelle ..

Solution

Il ne m'a pas fallu longtemps pour résoudre ce problème tout bête, ( beaucoup de cas similaires sur le net ).

Réinitialiser le virtualenv

Par exemple avec mon venv nommé foo

virtualenv /home/cdsl/.virtualenvs/foo
New python executable in /home/foo/.virtualenvs/creasoft3/bin/python
Installing setuptools............done.
Installing pip...............done.

Et voilà ..

07 mar. 2014

Wheezy & fsck

Le saviez-vous

Mon poste de travail, sous débian Wheezy redémarre régulièrement comme tout poste de travail et pourtant ... jamais il ne ma fait de check disque fsck au démarrage !

Et bien figurez-vous que c'est voulu !

En effet d’après ce que j'ai trouvé sur le web à ce sujet, les développeurs de debian estiment que dans le monde professionnel lorsque qu'une machine ( surtout un serveur ) lance son fsck au démarrage, la plupart du temps, c'est au mauvais moment, et provoque plus de frustrations des admin. sys. qu'autre chose .

Il est vrai que le fait de se baser uniquement sur un facteur temps, ou un nombre de montages des volumes pour exécuter cette commande rend sa réelle utilité très aléatoire.
Ils estiment donc que les Admin. Sys. sons assez "grands" pour planifier au moment opportun le fsck des disques .

Le réactiver par défaut à la création de partition

Lors de la création d'une nouvelle partition, pour réactiver par défaut le fsck sur le nombre de montages et l'intervalle de temps, il vous faut changer le paramètre suivant ( en le passant à 1 ):

enable_periodic_fsck = 0

Dans le fichier : /etc/mke2fs.conf

Le réactiver sur un partition existante

Pour réactiver le fsck tout les 50 montages :

sudo tune2fs -c 50 /dev/sdx

Pour réactiver le fsck si le dernier date de plus de 6 mois :

sudo tune2fs -i 6m /dev/sdx

Désactiver le fsck automatique

Si au contraire vous souhaiter tout désactiver,

tune2fs -c -1 -i 0 /dev/sde1

Forcer un fsck

C'est bien beau de tout désactiver, mais il peut être intéressant de lancer un check des disques de temps en temps quand même !
Pour lancer fsck au démarrage, 2 méthodes

Avec la commande shutdown

shutdown -r -F now

-r Redémarrer la machine après l'arrêt du système.
-F Forcer l'utilisation de fsck lors du redémarrage.

Avec le fichier forcefsck

Le simple fait de créer un fichier nommé forcefsck à la racine du système, va l'obliger à lancer un check fsck au démarrage . Ce fichier sera alors supprimé automatiquement .

sudo touch /forcefsck

Ch.

07 nov. 2013

Imprimer en ligne de commande

Nous allons voir dans ce billet comment installer une imprimante sur une machine distante, ne possédant aucune interface graphique, puis comment imprimer un document en ligne de commande .
Sans entrer dans les détails du système d'impression linux, nous allons survoler les principaux outils tels que CUPS, lpr, lpq, lpstat ...

Installation des paquets

COmmençons par installer les paquets nous fournissant les outils necessaires

apt-get install cups cups-bsd

Interface web de CUPS

Cups permet de configurer ( ajouter/modifier/supprimer ) les imprimantes via une interface web ... ( on ne va pas s'en priver ! )

Seulement, avant de pouvoir s'y connecter ( à distance ) nous allons devoir autoriser les connections extérieurs .. ( tout du moins le temps de la configuration )

vim /etc/cups/cupsd.conf

Voici les modifications à apporter

Changer

Listen localhost:631

par

Listen *:631

Ajouter la ligne Allow From All dans les blocs suivant

# Restrict access to the server...
<Location />
  Order allow,deny
  Allow From All
</Location>

# Restrict access to the admin pages...
<Location /admin>
  Order allow,deny
  Allow From All
</Location>

Puis redémarrer cups

service cups restart

Il ne vous reste plus qu'à vous rendre sur l'interface web :

http://ipduserveur:631

Selection_103.png

Ajouter une imprimante

Pour ajouter une imprimante, il suffit de se laisser guider par l'interface web de CUPS, ayant une imprimante réseau compatible postscript, je vais utiliser les pilotes génériques.
Mais vous pouvez trés bien donner le fichier PPD correspondant à votre imprimante .

Allons dans l'onglet Administration > Add Printer

Un mot de passe vous est demandé, utiliser le mot de passe root, ou créez un compte spécifique grâce à la commande lppasswd

root@vm2:~# lppasswd -a cdsl
Entrez le nouveau mot de passe :
Confirmez le nouveau mot de passe :

Cups va alors lister toutes les imprimantes réseau qu'il a trouvé, ou vous proposer d'entrer l'adresse vous même

Selection_104.png

Personnellement, je vais entrer moi même l'ip de mon imprimante ( adresse ldp )

Selection_105.png

Le pilote choisis sera le suivant ( pour mon imprimante laser couleur Konica Bizhub C253 ):

Generic PCL 5c Printer Foomatic/hpijs-pcl5c

Nous en avons fini avec l'interface web ...

En ligne de commande

Vérifions la présence de notre imprimante fraichement installée

root@vm2:~# lpstat -tvH
scheduler is running
no system default destination
device for Konica_Etage: lpd://10.0.0.4/print
Konica_Etage accepting requests since jeu. 07 nov. 2013 16:25:04 CET
printer Konica_Etage is idle.  enabled since jeu. 07 nov. 2013 16:25:04 CET

Le nom Konica_Etage sera le nom à utiliser dans les commandes et scripts pour imprimer via celle-ci.

Par exemple, pour vérifier sa file d'impression

root@vm2:~# lpq -PKonica_Etage
Konica_Etage is ready
no entries

Il ne nous reste plus qu'à imprimer ..
Pour imprimer un document, nous allons utiliser la commande lpr comme ceci

lpr -h -PKonica_Etage -#1 -o media=A4 -o scaling=100 monfichieraimprimer.pdf
  • -h pour désactiver l'impression de la bannière
  • -PKonica_Etage Désigne l'imprimante à utiliser
  • -#1 Permet de spécifier le nombre de copie(s) à sortir ( ici 1 copie )
  • -o media=A4 Spécifie le format de papier à utiliser au niveau de l'imprimante
  • -o scaling=100 Demande l'utilisation de 100% de la zone d'impression en respectant le ratio

Et en fin de ligne, le fichier à imprimer !

Conclusion

Je pense que l'objectif de cet article est rempli, vous avez la possibilité d'imprimer des documents ( pdf, ps, images .. ) depuis votre serveur en ligne de commande .

N'hésitez pas à me faire des retours .

Ch.

17 sept. 2013

Serveur de fichiers AFP sous wheezy

netatalk.gif Je partages de gros volumes sur le réseau, avec majoritairement des Clients Apple .
Jusqu'à maintenant, samba répondait pleinement à mon besoin, mais depuis la version Lion d'OS X, je rencontre des lenteurs plus ou moins prononcées pendant la navigation dans les volumes partagés.
Seuls les anciens postes et autres systèmes d'exploitation se comportent normalement.

N'ayant pas trouvé la cause pour le moment, j'ai décider de tester le protocole AFP, protocole de prédilection Apple ..

Sous linux, AFP == Netatalk, qui est intégré au noyau, afin de nous faciliter la tâche pour interconnecter des réseaux Apple .

Prérequis

Sous linux ( wheezy ) au moment ou j'écris ce tuto

sudo apt-get install netatalk avahi-daemon

Configuration

Afin de diffuser le service Netatalk sur le réseau, il nous faut mettre en place Avahi

netatalk

Pour avoir une idée clair des fichiers de configuration de netatalk, utiliser la commande

afpd -V

Ce qui donne

afpd 2.2.2 - Apple Filing Protocol (AFP) daemon of Netatalk
 
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; either version 2 of the License, or (at your option) any later
version. Please see the file COPYING for further information and details.
 
afpd has been compiled with support for these features:
 
          AFP versions:	1.1 2.0 2.1 2.2 3.0 3.1 3.2 3.3 
DDP(AppleTalk) Support:	Yes
         CNID backends:	dbd last tdb 
           SLP support:	No
      Zeroconf support:	Yes
  TCP wrappers support:	Yes
         Quota support:	Yes
   Admin group support:	Yes
    Valid shell checks:	Yes
      cracklib support:	Yes
        Dropbox kludge:	No
  Force volume uid/gid:	No
            EA support:	ad | sys
           ACL support:	Yes
          LDAP support:	Yes
 
             afpd.conf:	/etc/netatalk/afpd.conf
   AppleVolumes.system:	/etc/netatalk/AppleVolumes.system
  AppleVolumes.default:	/etc/netatalk/AppleVolumes.default
    afp_signature.conf:	/etc/netatalk/afp_signature.conf
      afp_voluuid.conf:	/etc/netatalk/afp_voluuid.conf
         afp_ldap.conf:	/etc/netatalk/afp_ldap.conf
       UAM search path:	/usr/lib/netatalk/
  Server messages path:	/etc/netatalk/msg/
              lockfile:	/var/run/afpd.pid

Dans mon cas, je partage un répertoire commun à tous mes utilisateurs, donc pas de login ni de mot de passe.

vim /etc/netatalk/afpd.conf

pour éviter la demande de mot de passe à la connexion, nous allons dans le fichier afpd.conf modifier la ligne suivante

- -tcp -noddp -uamlist uams_dhx.so,uams_dhx2.so -nosavepassword

par celle-ci

- -tcp -noddp -uamlist uams_guest.so,uams_dhx.so,uams_dhx2.so -nosavepassword

Afin d'activer le compte invité.

Déclarer un partage

Il ne reste plus à déclarer un partage, exemple /var/data/commun . Évidemment ce répertoire doit exister .

Nous allons déclarer ce partage dans le fichier AppleVolumes.default

vim /etc/netatalk/AppleVolumes.default

On y déclare le répertoire à partager, en ajoutant à la fin

/var/data/commun "commun" cnidscheme:dbd options:usedots,upriv,tm

Le fichier contient toutes les explications sur les options disponibles .

Avahi

Nous allons demander à Avahi de déclarer le service afpd de notre serveur sur le réseau . Nous allons donc simplement déclarer un nouveau service à avahi

vim /etc/avahi/services/afpd.service

Voici le contenu ( qui n'est pas à modifier )

<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
  <name replace-wildcards="yes">%h</name>
  <service>
    <type>_afpovertcp._tcp</type>
    <port>548</port>
  </service>
  <service>
    <type>_device-info._tcp</type>
    <port>0</port>
    <txt-record>model=Xserve</txt-record>
  </service>
</service-group>

Lancement des services

Nous reste plus à lancer les services netatalk et avahi fraichement configurés .

sudo /etc/init.d/netatalk restart
sudo /etc/init.d/avahi-daemon restart

Sur les postes clients, dans l'exploration réseau, vous devriez voir apparaître le partage .

Ch.

14 sept. 2013

Lindev recherche des passionnés

moteur-recherche.png Lindev.fr a été créé en 2008, le principe est le suivant: "ce que je découvre et trouve intéressant, je partage".
Aujourd'hui, mes activités professionnelles et perso. ne me permettent plus d'alimenter ce blog à la fréquence souhaitée.

Deux solutions s'offrent à moi ...

Continuer comme ça

Je peux continuer comme ça ... éditer des articles en fonction de mes "découvertes" et surtout mon temps libre, qui se réduit, bref autant fermer le blog qui me coute de l'argent .

En effet, vous pourrez constater qu'il n'y a pas de pub sur ce site, ni aucun sponsor .. les frais d'hébergements sont donc à 100% à ma charge, que j'accepte évidemment, si ce blog peu aider d'autres passionnés sans tomber à l'abandon.

Trouver des rédacteurs

Vous êtes passionné ( du libre ), vous avez envie de partager vos connaissances, trouvailles,ou simplemet proposer un tuto ?
Aujourd'hui Lindev.fr est consulté une centaine de fois par jour, si vous souhaitez vous lancer dans l'édition d'articles ( même micro article ) à votre nom, et profiter du référencement de Lindev.fr et augmenter sa fréquentation, alors contactez-moi !

Participer

Vous souhaitez participer à la vie de lindev.fr, proposer vos articles, news, tutoriels, ... alors contactez-moi via le formulaire de contact du site .
Seuls contraintes, proposer des articles liés au libre, pas de plagiat, et écrire dans un français correct !
Pas de rémunération ( pas de pub ), et je me réserve le droit de retirer un article ne répondant pas aux précédents critères .

N'hésitez pas, participez à votre façon au monde du libre.

Ch.

- page 1 de 9