PROJET AUTOBLOG


Le Blog de Cyrille BORNE

Site original : Le Blog de Cyrille BORNE

⇐ retour index

Réaliser un mur de photos sur Linux

mercredi 22 février 2017 à 09:28
Deux logiciels sont possibles, Fotowall disponible dans les paquets d'une grande majorité de distribution, Shape Collage. Le second a l'avantage d'être particulièrement simple et pas forcément très configurable, il a le désavantage de ne pas être libre et d'être codé en java. Par le fait il faudra le télécharger et faire la commande
 
java -jar nomduprogramme.jar

On charge les photos, on choisit la "forme" et on lance, voici l'interface et deux exemples de rendu.



[Image: attachment.php?aid=367]
[Image: attachment.php?aid=368]
[Image: attachment.php?aid=369]
 

Fotowall quant à lui est bien plus riche, permet de déplacer individuellement des photos, de rajouter des nuages de mots, des effets, etc ... Le principe reste le même, un drag and drop des photos sur le logiciel et on peut travailler. Il est à noter quelques fonctionnalités intéressantes comme la possibilité d'imprimer des posters géants.



[Image: attachment.php?aid=370]

[Image: attachment.php?aid=371]

Speed dial extension indispensable pour les débutants dans le navigateur

mercredi 22 février 2017 à 09:21

Speed dial est une extension pour firefox ou pour chrome qui "casse" la page d'accueil en vignettes, chaque vignette correspondant à un raccourci internet. Il apparaît que chez les grands débutants en informatique, la gestion des favoris n'est pas simple. Speed dial a l'avantage d'être présent au démarrage du navigateur, de présenter à l'aide d'une vignette générée automatiquement le lien ce qui permet facilement de savoir à quel site il correspond. 

Speed dial permet de choisir le nombre de vignettes par onglet, il est possible de créer plusieurs onglets avec un nombre de vignettes différent, l'idée étant de trier les catégories différentes de liens dans chaque onglet.

Comment éviter un crash de convert qui consomme trop de mémoire ?

mercredi 22 février 2017 à 09:19
La commande convert pour imagemagick permet de réaliser en ligne de commande des conversions puissantes, on peut par exemple convertir une série d'images simplement en un seul fichier pdf par 
 
convert *.jpg fichier.pdf

Or, cette commande consomme de nombreuses ressources et il arrive qu'on se retrouve avec un "processus arrêté". Il est possible de limiter la consommation en ajoutant à la commande
 -limit memory 1mb -limit map 1mb

Régler le problème de détection des imprimantes samba

mercredi 22 février 2017 à 09:12
Lorsque sous debian vous lancez system-config-printer, la possibilité de parcourir le réseau Samba à la recherche de l'imprimante désirée n'est pas accessible, c'est grisé. Il est nécessaire d'ajouter le paquet python-smbc. On notera l'utilisation de la commande apt-cache show qui permet d'afficher les éventuelles dépendances dont pourrait avoir besoin l'application mais qui ne sont pas installées. Un coup de apt-cache show system-config-printer nous retourne dans les suggérés : Suggests: python-smbc, python-gnomekeyring, sessioninstaller, ceci explique bien cela.

Conversion d'une table de partitions de type Mdos en table Gpt

mercredi 22 février 2017 à 09:06

Il s'agit là de convertir une table classique MsDos en table Gpt et sans perte de données ni obligation de réinstaller son système, en notant tout de même que faire des sauvegardes est vivement conseillé.
Il est avant tout informatif, pour montrer que cela est possible et comment, même si rares seront les cas on l'on devra être obligé de convertir sa table. Il peut s'adapter à toutes les distributions sauf en ce qui concerne la reconfiguration du noyau car j'ai utilisé la commande dpkg-reconfigure propre à Debian et dérivées.
Principe - Dans l'ordre on va :
- faire des sauvegardes
- vérifier le système de fichiers
- réduire la première partition en libérant 10 Mo en tout début de disque afin d'y créer une partition de type « BIOS boot partition » indispensable sur les tables Gpt avec une machine de bios non Efi.
- faire un chroot de l'ancienne partition système pour reconfigurer le noyau et réinstaller Grub dans sa nouvelle configuration
- renommer les partitions en fonction de leur emplacement et non de leur ordre de création

Procédure :
Avant tout faire des sauvegardes de ses données et de l'emplacement des tables de partitions, par exemple avec sfdisk. Voir le man à ce sujet.  
Voici ce que donne la commande sfdisk -d /dev/sdb > backup_sdb.txt chez moi :

# partition table of /dev/sdb

unit: sectors

 

/dev/sdb1 : start=     2048, size= 40960000, Id=83, bootable
/dev/sdb2 : start= 40962048, size=  8192000, Id=82
/dev/sdb3 : start= 49154048, size=107147264, Id= 5
/dev/sdb4 : start=        0, size=        0, Id= 0
/dev/sdb5 : start= 49156096, size= 61440000, Id=83
/dev/sdb6 : start=110598144, size= 45703168, Id=83


Et si nécessaire on les restaurera par la commande :
 

sfdisk -f /dev/sdb < backup_sdb.tx


Bien entendu ces sauvegardes ne devront pas être conservées sur le disque à modifier. Maintenant on peut commencer la procédure proprement dite.
On vérifie qu'aucun système de fichiers de ce disque n'est monté :

:~# grep -c sdb /proc/mounts
0

Je fais une vérification et réparation si nécessaire du système de fichiers avant de le modifier :

:~# e2fsck -f -y /dev/sdb1

J'aurais pu le laisser faire par le programme de partitionnement qui d'ailleurs fera une vérification avant de procéder aux modifications mais je préfère lancer d'abord la commande. Concernant le programme de partitionnement, il doit savoir gérer sur un système ext4 les «features» has_journal, dir_index, filetype, sparse_super, large_file. Plutôt que de faire une partie avec tune2fs puis le reste avec un autre programme, puisque je dispose d'une interface graphique je vais le faire avec Gparted. Alors situation de départ :

Partition Table: msdos
Number  Start   End     Size    Type      File system     Flags
 1      1049kB  21,0GB  21,0GB  primary   ext4            boot
 2      21,0GB  25,2GB  4194MB  primary   linux-swap(v1)
 3      25,2GB  80,0GB  54,9GB  extended
 5      25,2GB  56,6GB  31,5GB  logical   btrfs
 6      56,6GB  80,0GB  23,4GB  logical   ext4


Et, après passage de Gparted :

 
Partition Table: msdos
Number  Start   End     Size    Type      File system     Flags
 1      11,5MB  21,0GB  21,0GB  primary   ext4            boot
 2      21,0GB  25,2GB  4194MB  primary   linux-swap(v1)
 3      25,2GB  80,0GB  54,9GB  extended
 5      25,2GB  56,6GB  31,5GB  logical   btrfs
 6      56,6GB  80,0GB  23,4GB  logical   ext4


On note donc que la première partition ne débute plus sur le disque à 1049KB mais à 11,5MB tout en conservant sa position de fin. Je vais donc maintenant avec Gdisk, qui est capable de faire la conversion, créer en tout début de disque une petite partition qui sera pour le moment numérotée N° 3 car c'est le premier «descripteur» de partitions primaires libre dans l'actuelle table msdos (il n'y a plus de notions primaires, étendues et logiques dans les tables Gpt). Je marque en caractères gras les commandes passées dans Gdisk.

:~# gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.5
 
Partition table scan:
  MBR: MBR only
  BSD: not present
  APM: not present
  GPT: not present

 

***************************************************************

Found invalid GPT and valid MBR; converting MBR to GPT format.
THIS OPERATION IS POTENTIALLY DESTRUCTIVE! Exit by typing 'q' if
you don't want to convert your MBR partitions to GPT format!
***************************************************************
Command (? for help): p (affichage de la situation de départ)
Disk /dev/sdb: 156301488 sectors, 74.5 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): B538B008-8EAC-4ADA-842D-B5BCCBA14A4B
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 156301454
Partitions will be aligned on 2048-sector boundaries
Total free space is 30829 sectors (15.1 MiB)

 

Number  Start (sector)    End (sector)  Size       Code  Name

   1           22528        40962047   19.5 GiB    8300  Linux filesystem
   2        40962048        49154047   3.9 GiB     8200  Linux swap
   5        49156096       110596095   29.3 GiB    8300  Linux filesystem
   6       110598144       156297215   21.8 GiB    8300  Linux filesystem
 
Command (? for help): n  (création nouvelle partition)
Partition number (3-128, default 3): 3
First sector (34-156301454, default = 2048) or {+-}size{KMGTP}: 2048
Last sector (2048-22527, default = 22527) or {+-}size{KMGTP}: 22527
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): ef02
Changed type of partition to 'BIOS boot partition'

 

Command (? for help): p
Disk /dev/sdb: 156301488 sectors, 74.5 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): B538B008-8EAC-4ADA-842D-B5BCCBA14A4B
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 156301454
Partitions will be aligned on 2048-sector boundaries
Total free space is 10349 sectors (5.1 MiB)

 

Number  Start (sector)    End (sector)  Size       Code  Name
   1           22528        40962047   19.5 GiB    8300  Linux filesystem
   2        40962048        49154047   3.9 GiB     8200  Linux swap
   3            2048           22527   10.0 MiB    EF02  BIOS boot partition
   5        49156096       110596095   29.3 GiB    8300  Linux filesystem
   6       110598144       156297215   21.8 GiB    8300  Linux filesystem

 

Command (? for help): w (pour écrire la nouvelle table en Gpt)
 
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
 
Do you want to proceed? (Y/N): Y (confirmation de la commande)
OK; writing new GUID partition table (GPT) to /dev/sdb.
The operation has completed successfully.


On vérifie maintenant avec Parted le travail effectué par Gdisk :

:~# parted /dev/sdb print
Partition Table: gpt
 
Number  Start   End     Size    File system     Name                 Flags
 3      1049kB  11,5MB  10,5MB  ext4            BIOS boot partition  bios_grub
 1      11,5MB  21,0GB  21,0GB  ext4            Linux filesystem
 2      21,0GB  25,2GB  4194MB  linux-swap(v1)  Linux swap
 5      25,2GB  56,6GB  31,5GB  btrfs           Linux filesystem
 6      56,6GB  80,0GB  23,4GB  ext4            Linux filesystem


On va créer un système de fichiers sur cette nouvelle partition. À priori cela ne devrait pas être nécessaire puisque ce fs ne sera pas utilisé mais j'ai eu des problèmes avec grub qui se mélangeait les pinceaux en l'absence d'un fs sur la partition portant le drapeau  BIOS boot partition.

:~# mkfs.ext2 -v /dev/sdb3
. . .
Écriture des superblocs et de l'information de comptabilité du système de
fichiers : complété


On remet la «mémoire» de blkid à zéro et on vérifie à toutes fins utiles que le système et udev voit bien cette nouvelle partition.

:/#  blkid  -g
:/#  blkid -po udev /dev/sdb3
ID_FS_UUID=cddaedf8-e091-483d-adad-77f1f814110d
ID_FS_UUID_ENC=cddaedf8-e091-483d-adad-77f1f814110d
ID_FS_SEC_TYPE=ext2
ID_FS_VERSION=1.0
ID_FS_TYPE=ext4
ID_FS_USAGE=filesystem
ID_PART_ENTRY_SCHEME=gpt
ID_PART_ENTRY_NAME=BIOS\x20boot\x20partition
ID_PART_ENTRY_UUID=72bb9f7e-1836-430e-93ec-886cccc6be67
ID_PART_ENTRY_TYPE=21686148-6449-6e6f-744e-656564454649
ID_PART_ENTRY_NUMBER=3
ID_PART_ENTRY_OFFSET=2048
ID_PART_ENTRY_SIZE=20480
ID_PART_ENTRY_DISK=8:16


Comme on peut le voir sur les sorties précédentes de parted et gdisk les partitions sont numérotées dans l'ordre de création et non suivant leur emplacement sur le disque. Avec l'option -s de sgdisk (noter le s devant gdisk car il s'agit d'un autre utilitaire apporté par le paquet gdisk), on va réorganiser cela :

:~# sgdisk -s /dev/sdb
The operation has completed successfully.


Résultat :

:~# gdisk -l /dev/sdb
. . .
Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048           22527   10.0 MiB    EF02  BIOS boot partition
   2           22528        40962047   19.5 GiB    8300  Linux filesystem
   3        40962048        49154047   3.9 GiB     8200  Linux swap
   4        49156096       110596095   29.3 GiB    8300  Linux filesystem
   5       110598144       156297215   21.8 GiB    8300  Linux filesystem


Voilà, maintenant on peut faire le chroot du système de fichier qui est devenu /dev/sdb2 pour les dernières modifications :

:~# mkdir /mnt/system
:~# mount /dev/sdb2 /mnt/system/
:~# mount -o bind /dev /mnt/system/dev
:~# mount -o bind /sys /mnt/system/sys
:~# mount -o bind /proc /mnt/system/proc
:~# chroot /mnt/system


On vérifie quel est le dernier noyau installé :

:/# aptitude search "linux-image ~i"
i   linux-image-3.2.0-4-686-pae


On le reconfigure :

:/# dpkg-reconfigure linux-image-3.2.0-4-686-pae


On réinstalle Grub :

:/# grub-install --recheck --debug /dev/sdb
. . .
+ echo Installation finished. No error reported.
Installation finished. No error reported.
+ exit 0


À noter qu'il n'est pas nécessaire de reconstruire le fichier grub.cfg par la commande update-grub puisque cela a déjà été fait lors du dpkg-reconfigure du noyau. Voilà, on peut maintenant sortir du chroot et démonter le fs, sys, proc et dev :

:/# exit
:~# umount /mnt/system/proc
:~# umount /mnt/system/sys
:~# umount /mnt/system/dev/
:~# umount /mnt/system